2009-01-01から1年間の記事一覧
自宅の開発マシン(MacBook)と自宅サーバー(色々)のCPANはlocal::libで インストールしたのを1つのgitリポジトリにしているのですが、 .modulebuildrcのpathがフルパスになっていてハマったのでいちおうメモ。 diff --git a/.modulebuildrc b/.modulebuildrc …
25歳になりました。それはさておき、1.6.6が出たらしいので例によってRelnoteをピックアップして気になったところにコメントしてみる。個人的には、設定ファイルの~/を展開してくれる機能だけでもupdateする価値はあるなぁといった感じで他にも細かいけどよ…
http://atnd.org/events/2512元々はkazuhoさんにShibuya.pmの懇親会でお金を借りてしまってて、年内に返したかったという非常に個人的な事情で参加して、tritonnの開発者の人に会えたりする機会はあんまりなさそうだし、運用とかに関して色々聞いてみようか…
MogileFS::Clientは通常、get_pathsで得られた結果をperlbal側にX-REPROX-CACHE-FORでキャッシュさせることでtracker(MySQL)へのアクセスを抑えるように運用するのが一般的ですが、たまにアプリ内でget_file_dataしてそれをもとに微妙にカスタマイズして画像…
Text::MicroTemplateで書かれているHTMLのテンプレを素のvimのシンタックスハイライトを有効にした状態で開いていると、ひどい状態になってしまいます。というわけで、eruby.vimを参考にしつつid:mikihoshiが書いていたのを、色々細々調整してみてだいたい変…
テストライブラリを書くときに local Test::More::Level += 1 を忘れるとテストがこけたときに呼び出し元がおかしくてどのテストを直せばよいかわからないということになってしまいます。ということでしっかりそういうテストも書いておきたいですね。Test::B…
先日書いた、複数のgitのレポジトリを巡回するスクリプトは結構便利なのだけど、「その日にwatchしたプロジェクトとかはcloneしてこないとupdateをチェックできない」という欠点があって、IRCとかで話題になって興味を持って、家に帰ったらチェックしようと…
もう数日経ってますが、git 1.6.5が出たっぽいので大雑把にRelNote-1.6.5.txtを訳しつつ、個人的に興味があったところを引っぱってみる。 いまいちわかっていないところもまずまずあったりはするので、コメント等で補足していただけるとありがたいです。 GIT…
ここ最近perl界隈の人たちもgithubに移行してきてて、watchしてるプロジェクトが大幅に増えてくると、githubのtimelineを全部みることもできないし、リポジトリの更新をサボりがちだったのですが、各プロジェクトを巡回してupdateだけ取ってくるスクリプトを…
svnリポジトリを別のサーバーに移して、 svn switch --relocate svn+ssh://old.example.com/path/to/project svn+ssh://new.example.com/path/to/projectみたいなのでワーキングコピーを切り変えるようなケースをgit-svnでやってみたメモ。まず.git/configの…
CPAN::Packagerの設定ファイルの前提として、 なるべくなら設定しなくてよいのがベター(CPAN最新が依存関係が適切に設定されているならそれが一番望ましく、問題を見つけた場合はなるべくチケットを出すなりした方がよいかなと。) 独自パッチを当てる場合で…
http://d.hatena.ne.jp/tokuhirom/20090612/1244764189ちょっと面白そうだったので、軽く調べた感じだと今のところなさそうだったので、上でやってることができるぐらいに作ってみた。ちょっと時間があまりなくてまだベンチマークとかはとったりできてない。…
Debianパッケージはぱっとみ概念とかがわかりにくいので、色々省きつつ大雑把にとりあえず作ったりする上で必要な情報を説明してみる試み。簡単なdebはとりあえず作ったりできるようになってみて、個人的にはこういう情報がまとまってると楽だったなーという…
ふつうに使ってるのですが、そういえばメモしてなかったなーと思い、なんとなくメモしておく。ちょっとBKなんですがもっとスマートなやり方はないものか。。。 $ git checkout -b working_branch $ git svn info # => trunkのURLになる # 何かしら作業する $…
そういえば、githubに頼りっぱなしで、共有リポジトリを作ってどうのこうのというのは試してなかったなと思いこんな感じでやってみた。 $ sudo useradd -d /home/git -s /bin/rbash -c "" -m -k '' git $ cd /home/git/ $ sudo cat > .bash_profile export P…
先日書いたequivsは非常に便利なのですが、設定ファイルのフォーマットが依存関係が多くなってくると改行ができなかったりする関係で非常に見通しが悪くなってしまいます。そこで、YAMLで設定を書けるようにしたものを書いてみました。こんな感じに設定が書…
自分の環境とかを作るときに依存関係のみを記述したdebとかがあると気軽に環境を再構築しなおせたりして便利。equivsというパッケージを使うと依存関係のみを記述したパッケージを簡単に作れるらしい。 $ equivs-control walf443-setup $ vi walf443-setup #…
wig.rbを1.9環境で動かしてみようかなと思い、 lennyでaptitude install ruby1.9してみたが、正規表現を作ってるところでinvalid multibyte ...みたいなコンパイルエラーが出るようで、こういうのは、1.9.1にあげれば直るんじゃないかと思い、debを作ってみ…
ふと目にしたCのコードでa == b == c と書いてある箇所を目にしてこれコンパイルできるのかなと思ってやってみるとコンパイルできたので見てみた。 yoshimi% cat test.c #include <stdio.h> int main () { int a, b, c; a = 0; b = 0; c = 0; if ( a == b == c ) { pr</stdio.h>…
もう何回目か数えるのもめんどくさくなってきましたが、今日もひたすら前回の続きをしてました。Rackの上で書いていると、 def action return not_found if cond1 return not_found if cond2 return not_found if cond3 [ 200, { 'Content-Type' => 'text/pl…
ふとYARVの気持にふれてみようと思ったんですが、どうやるんだったかよく忘れてしまうのでメモ。 yoshimi% ruby -e 'puts RubyVM::InstructionSequence.compile("(0..100).each {|i| }").disasm' == disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>========== == catch table | catch type: brea</compiled></rubyvm::instructionsequence:<compiled>…
今回も前回の続きで、仮実装で済ませていたモデルの部分を実装してみました。このアプリはどうせあまり実用目的で使う予定はないので、実験的にTokyoTyrantのTCTDB形式で使用してみることにしました。http://github.com/walf443/todoit/blob/a23d4a2405cda2c…
ベンチマークをまとめて走らせるプログラムなどを書いているようなときは、 system('/usr/bin/ruby some_script.rb')とか書きがちなのですが、 /usr/bin/rubyと固定で書いてると、 別のところにある1.9.1とかでふと実行してしようと思ったときにスクリプトを…
今日は一人だったので大崎広小路のベローチェの2階でひたすら前回やってた続きを作ってました。http://github.com/walf443/todoit/commits/masterあとこの前のincludeした関数を明示的に書くやつは、もともとこのプロジェクトで使いたくて作ったので、改良し…
rubyで次のようなコードはわりとよくあると思います。 # some/utils.rb module Utils module_function def html_escape str # ... end def html_unescape str # ... end end # some/more_utils module MoreUtils module_function def some_func end end # so…
今日は一人だったので、前回ちょっと進めてたRackレベルで書くようなWebアプリをオレオレ構成で作ってました。http://github.com/walf443/todoit/tree/masterタスク管理する何かがすごく作りたいかというとそうでもなく、最近RackがMerbブームとかの影響でか…
classxではちょっとベンチマークスクリプトを書いてみると、通常のクラスよりも非常に遅いこともあり、定期的にベンチマークを取って、あとからリビジョンも追えるように以下のようにリビジョンを残しつつ、結果をベンチマークスクリプト内にコメントとして…
いつも通り月曜8時から大崎広小路のベローチェにて。今回はnikuさんが書いているYma4rというモジュールでclassxが使われてるらしいので、nikuさんと一緒にコードリーディングした。http://github.com/niku/yma4r/tree/fe5360f0c908a18116c91f4e9be0b79300962…
とりあえず毎週月曜20時ごろから、大崎広小路にあるベローチェ2階でやってみようかと思います。とはいっても特に参加登録とかはないです。特にやることは決まってなくて、それぞれが今興味持ってるネタをコード書いたり、本を写経したり、ペアプロしたりしま…