2012-01-01から1年間の記事一覧
XHR2で画像とかのバイナリデータを送るのにFormDataっていうのが使えて <form> <input type="file" name="file"> <input type="submit"> </form> var form = document.querySelector('form'); form.addEventListener('submit', function() { e.preventDefault(); var formData = new FormData(form); var xhr = new XMLHttpRequ…
URLのバリデーションをしつつ未入力も許可する場合のvalidate。 validates :url, { :allow_blank => true, :format => URI::regexp(%w(http https)), } allow_nilじゃなくてallow_blankを使うと空文字もOKになるらしい。
jekyllのkramdownでiframe使ったらエスケープされて表示されたのでなんぞと思って調べたらkramdown側で特定のタグはエスケープするように設定されてるみたいで、その場合は次のように書けばいいらしい。 {::nomarkdown} <iframe src="/path/to/html"></iframe> {:/nomarkdown}
jekyllの実行が20秒〜30秒くらいかかってさすがにかかりすぎなので原因を調べてみたらコードハイライトに使ってるpygamentsが原因だった。今現在gemでインストールできるjekyllはコードハイライトにalbinoっていうモジュールを使ってみるみたいで、こいつは…
サイト内検索を実装するのが難しいときはgoogleの検索で 検索ワード site:mydomein.comっていう検索ワードになるようにフォームで飛ばすのが簡単なんだけど、これをform要素だけでやるときsite:mydomein.comの部分はどうやって指定すればいいかというと、sit…
Jekyllはコードのハイライトにpygmentsを使っていて、PHPをハイライトするときは {% highlight php %} $foo = 'bar'; echo $foo; {% endhighlight %}とか書くんだけど、pygamentsのPHPのlexerはデフォルトだと
僕がpull requestして取り込んでもらったcontextが消えて残念思ったんだけど https://github.com/visionmedia/mocha/commit/914c73654ecdc7c8c9431cfa48b13d59241b201d次の日にrevertされてたw https://github.com/visionmedia/mocha/commit/c44cf13773ab9b…
window.onerrorが正常に動いてるか確認したくてコンソールで throw new Error('foo'); ってやったけどなぜか発火しなかった。アドレスバーにjavascriptスキームで javascript: throw new Error('foo'); ってやったら発火した。
Snow Leopardはプレビュー.appの書き出しのフォーマットにMicroSoftアイコンっていうのがあってそれでfaviconファイルを書き出せてたんだんだけど、LionでMicroSoftアイコンっていう項目がなくなっててデグレしたのかと思ったらOptionキー押しながらプルダウ…
RailsでPostgreSQL使ってたらこんな感じのNOTICEが毎回出てうざいかったので消したかったという話。 NOTICE: CREATE TABLE will create implicit sequence "users_id_seq" for serial column "users.id" NOTICE: CREATE TABLE / PRIMARY KEY will create imp…
herokuのworkerプロセスは再起動するときまずSIGTERMを送る。のでworkerはSIGTERMを受け取ったらやりのこしたジョブを終わらせたりするなどして、安全にプロセスを終了すればいい。SIGTERM送って10秒まってもプロセスが終了してなかったらSIGKILLにより殺さ…
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.appっていうよくわからん場所にあってとても起動しにくいので/Applicationにシンボリックリンクはった。 $ ln -s /Applications/…
補完関数書いた。 https://github.com/hokaccha/nodebrew/blob/master/completions/zsh/_nodebrewこれを$fpathがとおってるところに置くと動くはず。ホームディレクトリとかに補完関数を置きたいなら.zshrcに fpath=($HOME/.zsh_fun $fpath)とか書いて ~/.zs…
やりたかったこととしては、本番環境ではminifyしたファイルを読み込んで開発環境ではminifyする前のファイルを読み込みたいってやつ。ファイルは事前にscript.jsとscript.min.jsがあるとして <script src="/js/script.{% if site.env == 'production' %}min.{% endif %}js"></script> こんな感じで書いとくと $ JEKYLL_ENV=production jekyllとかす…
rbenv-bundlerっていうプラグインがあった。 https://github.com/carsomyr/rbenv-bundler細かい挙動がよくわからなんけど、なんかできてるっぽいので使ってみる。
色々な言語に対応したシンタックスチェックのプラグイン。けっこうよさげなので使ってみる。 https://github.com/scrooloose/syntastic設定はこんなん。 " syntastic let g:syntastic_mode_map = { 'mode': 'active', \ 'active_filetypes': [], \ 'passive_…
jshintで (function() { 'use strict'; var foo = Backbone.Model.extend({...}); })(); とか書くとBackboneがないよこのやろうって怒られる。jsのファイルに /*global Backbone: true*/って書くけばいいんだけど、全ファイルに書きたくない。調べたら.jshin…
{ :foo => ['bar'], :hoge => ['fuga'] } みたいなhashを { :foo => 'bar', :hoge => 'fuga' } にしたかったんだけど h = { :foo => ['bar'], :hoge => ['fuga'] } Hash[h.map{|k, v| [k, v[0]]}] こんな感じでいいのかな。
buildpackで動かしてるNode.jsで、1回インストールされたnpmのモジュールがpackage.jsonから消えないのでbuildpackのスクリプトに npm prune を追記した。 https://github.com/hokaccha/heroku-buildpack-nodejs/commit/e942d5a91e24fe5850b9e2cbe072a4f2c6a…
昨日のやつ、出力をTAPにしただけじゃTAPの意味ないということに気づいたのでTAP Plugin入れた。 https://wiki.jenkins-ci.org/display/JENKINS/TAP+Pluginすでにhakoberaさんがやってた。 http://d.hatena.ne.jp/scalar/20111220/1324351134テストの実行ス…
Node.jsでつくったサービスをJenkinsで自動テスト走らせるようにした。gitでpushしたら自動でテストが走って失敗したらメールとかチャットに通知してくれる。便利。 インストール サーバーはUbuntu(v10.04@sakura vps)なのでここに書いてある通りにする。 …
github pagesはプラグイン使えないので、プラグイン使いたい場合はローカルでコンパイルして静的ファイルをpushする必要があるんだけど、その場合ソースファイルの管理どうすればいいんだってのが問題になる。URLを http://<username>.github.com/<reponame>/_site/とかにすれば</reponame></username>…
最近jekyllがマイブームなので自分で使うようのテンプレート作ってみた。 https://github.com/hokaccha/jekyll-templateSassのコンパイルとJSのコンパイルをやるjekyllのプラグインつくったので $ jekyllだけでHTML、JS、Sassをコンパイルしてくれるのがポイ…
git push/pullは何気なく使ってるけど実はよくわかってなかった。ことのきっかけはこういう質問。 hogeというリモートブランチをローカルのhogeブランチにもってきたい hogeをローカルのmasterにはマージしたくない pullでなんかこんな感じでいけそう? $ gi…
なんか流行ってるみたいなので便乗してみる。なぜ CoffeeScript がダメか - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech なぜ CoffeeScript がよいか - 0xff.toBlog() CoffeeScriptは自分にとっては有益だった - Takazudo hamalog基…
rbenvで1.9.2を入れようと思ったらはまった。 $ brew install rbenv $ brew install ruby-buildで.zshrcにこれ書いて eval "$(rbenv init -)"$ rbenv install 1.9.2-p290したけどビルドでエラる。なんか調べてみたらgccの問題らしい $ ls -l /usr/bin/gcc lr…
my $text = do { local $/; <$fh> }; ってすればいい。 while (<$fh>) {...} とかせんでもいいのね。昔Perl書いてころは$/の方法でやってた気もするけどさっぱり忘れてる。
aliasとunaliasというコマンドを追加したnodebrew v0.5.0をリリースした。 https://github.com/hokaccha/nodebrew僕は常に最新版のnodeを使ってるわけじゃなくて一個固定のやつ(今はv0.6.6)を使ってて、必要な時に必要なバージョンをuseして、終わったらま…
sinon.jsのuseFakeTimersでDateを上書きするとmochaでテストにかかった時間を計測するところがバグって変なことになる。報告しようと思ったけどすでにissueあがってた。 https://github.com/visionmedia/mocha/issues/237ブラウザで使う場合はmocha.js本体に…
例えばこんな感じで文字列で渡した日付をDateオブジェクトに変換みたいなことがしたい。 var myModel = new MyModel({ date: '2012-02-02' }); console.log( myModel.get('date') ); // Date Object myModel.set('date', '2012-02-03'); console.log( myMode…