2011-06-01から1ヶ月間の記事一覧

MacRubyでアプリケーションを作る前準備

MacRubyをインストールする % rvm install macruby RVMでやるのがかんたん。 HotCocoaをインストールする ferrous26/hotcocoa · GitHub rubygems.orgにアップロードされているバージョンはMacRuby 0.10だとうまく動かないけど開発が滞ってるっぽい。forkした…

Vimの正規表現よくわからない

vim

let g:neocomplcache_keyword_patterns.ruby = '^=\%(b\%[egin]\|e\%[nd]\)\|\%(@@\|[:$@]\)\h\w*\|\h\w*\%(::\w*\)*[!?]\?\%(()\?\|\s\?\%(do\|{\)\s\?\)\?' このVim scriptの正規表現って neocomplcache_keyword_patterns_ruby = /(?:b(?:egin)|e(?:nd))|(…

Terminal.appが壊れたらインストールディスクからコピーできる

mac

VisorというSIMBLプラグインをつかっていつでもどこからでもターミナルを呼び出す生活をしているのだけど、アプリケーション・スイッチャとかDockにアイコン出てきても邪魔だなー、とおもったのでProperty Listをいじって LSUIElement を true にすればいけ…

静的型付けについて

戻り値と引数の型を宣言しておくことで、つまらないエラーとそれを捉えるためのテストを書く手間が省ける、というのが利点のひとつとして挙げられるとおもうけど、これって要するに戻り値や引数の型を宣言できる、ということが肝要なのだから、べつに動的型…

『Masterminds of Programming 言語設計者たちが考えること』の読書メモ (Python)

言語設計者たちが考えること (Theory in practice)作者: Federico Biancuzzi,Shane Warden,伊藤真浩,頃末和義,佐藤嘉一,鈴木幸敏,村上雅章出版社/メーカー: オライリージャパン発売日: 2010/09/27メディア: 大型本購入: 9人 クリック: 368回…

git-svnで安全にpush/pullするalias

Git

[alias] svn-push = !git stash && git svn dcommit && git stash pop svn-pull = !git stash && git svn rebase && git stash pop Subversionをつかっているプロジェクトにはできるだけ関わりたくないです。 @aereal save する stash がなかったら無関係の …

access_hatena.jsではてダ以外のホストを指定したときに、サブダイアリを補完候補に出さないように

ignore sub-diary accounts when not specified a host of Hatena Diary · f2fded5 · vimpr/vimperator-plugins · GitHub そのようにしました。Firefoxだと配列内包記法が使えるんですね、知らなかった……。

移動します

d:id:aereal+techで書きます

こっちで書くようにする

foo(&nil)

nil.respond_to? :to_proc # -> false [].map(&nil) # -> #<Enumerator: []:map> なんでEnumeratorがかえってくるんだ? としばし悩んだ。 def foo block_given? ? yield : puts("not given") end foo(&nil) # -> "not given" foo { puts "Hello" } # -> "Hello" つまりブロック引</enumerator:>…

access_hatena.jsでサブダイアリも補完できるようにした (あとvimprのコミッタになった)

fixed complement sub diaries · dd01081 · vimpr/vimperator-plugins · GitHub しかし d.hatena.ne.jp 以外では404になるので、dでのみ補完対象にするというのもアリかとおもわれます。

git-svnのある生活

リポジトリをもってくる % git svn clone -s svn+ssh://user@example.com/path/to/repos/trunk 作業用ブランチを切って作業 % git checkout -b working % touch README % git commit -a -m 'add README' Subversionのリポジトリにコミット % git checkout ma…

他の言語から学ぶべきこと

Ruby Pros if文などが式である (値をもつ) ブロックの構文いいよね すべてがオブジェクトなのいいよね 豊富なリフレクションAPI duck typing Cons Fileクラスとか雑然としている IOとFileとDirとPathnameを統合すべきだとおもう ファイルパスの表現としてのP…

Swafというswf_rubyのラッパを書いた

swaf | RubyGems.org | your community gem host aereal/swaf · GitHub swf_rubyという、SWFのバイナリを動的に書き換えるライブラリがあるのですが、インターフェースが少々低水準で再利用するときに冗長になりがちだったので、抽象化したインターフェース…

あたらしくGemをつくるときもBundlerで

% bundle gem mygem これで mygem というディレクトリが作られてその配下にいろいろつくられます。ちなみにかってにGitのリポジトリがつくられるので、Mercurialとかつかってる人やおれみたいにgit-flowをつかいたいよ、っていう人は rm -rf .git/ してから…