2008-01-01から1年間の記事一覧
追記: id:mattnさんが以下のパッチを改良していただいて、本家にコミットされましたので本パッチは不要になりました。 動画一覧の表示のところで、j, kで上下に移動して、oで動画を再生できるようにいじってみた。 diff --git root/static/js/remedie.js roo…
ググってみると色々あったのですが、あまりシンプルなのがなかったので調べつつやってみましたgit name-rev HEAD --name-onlyみたいなものがあるだろうなとは思いつつ、コマンドが多くてなかなか見つかりませんでした。 _set_env_git_current_branch() { GIT…
svnやsvkをつかっていて今まで一番不満だったのは、 $ svn updateなどをしたときに、リビジョンがいくつになったというのは表示されるのだけど、アップデートする前にsvn infoを打たないとアップデートする前はどのリビジョンだったかわからなくなってしまう…
# ok. bl1 = proc { p "called!!" } #=> #<Proc:0x00636a14@(irb):1> bl2 = proc { [1, 2].each(&bl1) } #=> #<Proc:0x00633788@(irb):2> bl2.call "called!!" "called!!" #=> [1, 2] ふつうは上記のような挙動をするが、 bl = proc { p "called!!" } #=> #<Proc:0x006369b0@(irb):1> bl = proc { [1, 2].each(&bl) } #=> #</proc:0x006369b0@(irb):1></proc:0x00633788@(irb):2></proc:0x00636a14@(irb):1>
jpmobileでいつもパッチなどを送らせていただいてるid:darashiさんや、wassr上でよくやりとりしてるid:h-sbtさんなど、札幌の面々はいろいろふだんからつきあいがあり、実際に会いたかったので、札幌にいってきた。wassrでの位置情報の地図はこんな感じ以下…
今まで設定ファイルに関してはSubversionで管理した方が単純でよいかなと思っていたのですが、codereposみたいに人ごとにばらばらのファイルを作るよりgitで人ごとに別のブランチの方が、ある変更を見てその一部分の設定だけ自分の設定に取りこんだりとかし…
経験をしたことはありませんでしょうか?自分はなりました。えらい目といってもコミットフックで飛ばしたメールが画像をテキストで表示しようとしててすごいことになっただけですが;) その回避方法はあまり調べても書いてなかったりするのでメモっておきます…
今までgit単体ではそこそこ使ってきたのですが、svnに入れる際はあまり使っていなかったのですが慣れてくると使いたくなったので少し調べてみました。ほとんどマニュアルに書いてあることなのですが、個人的にまとめた方が頭に入るのでまとめておきます。 ch…
gitメンテナの濱野さんという方の話を聞けるそうなので聞きにいってきました。http://atnd.org/events/93内容の詳細は、既にkinnekoさんが詳しくまとめてくださっているので、自分が感心したところなどを掘りさげてメモ。git commitにvオプションをつけると…
gitを話を聞きに第33回git勉強会に行ってきました。詳しいまとめは http://d.hatena.ne.jp/conceal-rs/20080928/1222612534 http://wota.jp/ac/?date=20080928#p01 などがあるので割愛します。git stashの話が出てきたときに、git stashがいつごろから入った…
gemをインストールはしたくないけど、展開して中身を見たいときのやりかた コマンドラインからやるなら以下のようにすれば一応展開できてるっぽい。 mkdir classx-0.0.4 tar xvf classx-0.0.4.gem -C classx-0.0.4 cd classx-0.0.4 tar xvzf data.tar.gz意外…
http://d.hatena.ne.jp/fbis/20080918/1221717538metaクラスからたどって直接呼び出した方がわかりやすいんではないかと思ったりしました。 package Foo; use Moose; has hoge => ( is => 'rw', lazy => 1, default => sub { 100 }, ); __PACKAGE__->meta->m…
Rubyのクラス属性まわりは個人的には結構ややこしいと思っています。クラスに保存できるデータには以下のようなものがあります。 クラス変数 クラスローカル変数( クラスインスタンス変数? ) メソッド クラス変数 @@variableのように表記します。以下1.8での…
以前 http://d.hatena.ne.jp/walf443/20080523/1211497763 でGithubのHookを受けてIRCにポストしたりするやつを紹介したのですが、Github以外の場合からも同じコネクションを叩きたかったりしたので、その部分を分離してJSONから叩けるようにしてみました。c…
ClassXなクラスにこいつをincludeしてやると、標準ライブラリのloggerがattributeとして使えるようになります。 require 'classx/role/logger' class YourApp include ClassX extends ClassX::Commandable include ClassX::Role::Logger def run self.logger…
東京Ruby会議01で発表したところ、ClassXがclassじゃなくてmoduleの方が便利じゃね?とか、使いたいけど、classになってるばかりに使えなさそう。と言う声が多かったので、どうせ誰も使ってないよね?ということで変えてしまいまいた。つまりこういうふうに使…
東京Ruby会議の懇親会で一番反響が良かったのはClassX::Commandableだったということでブログでもあたらめて紹介しておく。MooseにはMooseX::GetoptとかMooseX::App::Cmdという便利なモジュールがあったのでMooseX::GetoptをパクってClassX::Commandableとい…
Akasaka.rbの活動の一環として東京Ruby会議01でClassXについて発表してきました。スライドは http://github.com/walf443/classx/tree/master%2Fdoc%2FTokyoRubyKaigi01_classX.pdf?raw=trueからDLできます。発表すると、 http://github.com/walf443/classx/t…
東京Ruby会議01で高井さんにどうよといわれたやつ。 http://github.com/walf443/classx/tree/28f1694a54968cb56c674fe62a6f2b6ad35a46b9/lib/classx/declare.rb↑のやつには使うとどんな風にできるかの説明がなかったので書いておきます。http://gist.github.…
http://subtech.g.hatena.ne.jp/secondlife/20080709/1215530958のFluent InterfaceはRubyCocoaの呼びだしで使えたらうれしいかもと思った。今はobjc_sendをつかって、 NSTimer.objc_send(:scheduledTimerWithTimeInterval, 120,- :target, self, :selector,…
http://d.hatena.ne.jp/rubikitch/20080710/1215641240メソッドの引数にHashをとるのはいっぱいあるときでもきれいに書けるので個人的にはあまり嫌いではない。classXを使うとHashのチェックが柔軟にできるよというおはなし。 require 'classx/validate' cla…
http://d.hatena.ne.jp/walf443/20080524/1211650071前の記事でコンストラクタに渡せるHashのキーと値を宣言的に書くことで見通しが良くなると書きましたが、コンストラクタに限らず、メソッドにオプションとして渡すHashもきっちりチェックしたいはず。とい…
classXで、Mooseをなぞるのをやめてアクセサの宣言のデフォルトの設定を変更しました。 :writableオプションを指定しない限りは、アクセサはwriterをpublicにしないようになりました。これは、単にreaderを定義する時は、オプションを明示的に定義する必要は…
http://d.hatena.ne.jp/walf443/20080524/1211650071前の記事でコンストラクタに渡せるHashのキーと値を宣言的に書くことで見通しが良くなると書きましたが、コンストラクタに限らず、メソッドにオプションとして渡すHashもきっちりチェックしたいはず。とい…
GitHubPostRecieverでGitHub以外からのpostは受け付けたくなかったのでRackでIPのアクセス制限ができるRack::Auth::IPというミドルウェアを作ってみました。rackupのファイルの中で、 require 'rack/auth/ip' # ローカルネットワークにアクセスを制限する us…
http://d.hatena.ne.jp/walf443/20080520/1211239672で触れた宣言的なアクセサをGitHubPostRecieverに試しに適用してみた + has :host, :is => :ro, :kind_of => String, :required => true + has :port, :is => :ro, :kind_of => Integer, :default => 6667…
GitHubでは、プロジェクトのコミットをfollowして興味のあるプロジェクトのコミットのみをまとめてみれるのですが、毎日それらを全部見るのはなかなか大変だったりします。興味のあるプロジェクトの場合、割とfreenodeにIRCのチャンネルがあって、そこにjoin…
最近perl界隈で話題のMooseをちょくちょく弄ってみたりしているのですが、宣言的なアクセサは見通しも良くなるし、なかなか良いなと思ったんでRubyでもそれっぽく動作するやつを書いてみました。Mooseっぽくコンストラクタも勝手に用意するようにしてみたの…
DSLみたいなものを作ろうとしてると、どうしてもブロックを俺俺文法で解釈させたくなって調べてみた。ParseTreeというライブラリを使うとRubyのコードをS式に変換することが出来る。 S式に変換できるのは、モジュール単位、モジュールのメソッド単位、文字列…
先日言っていた機能はまだ足してはないのですが、一通り個人的に使いたい機能を動くようにして、テストも充実させたのでgemにしました。 gem install rspec-fixtureでインストールできます。http://coderepos.org/share/changeset/6563で、単純なテストがい…