2013-01-21 plenvを使ってみた. @tokuhiromさんがplenvという, Perl 5のインストール管理ツールを開発されたそうです. ブログ記事やREADMEをまとめてみると, plenvの特徴は... Rubyのrbenvから影響を受けている. perlbrewと違って, プロダクトごとにperlのバージョンを指定することができる. とても高速で, インストールも簡単. perlbrewのような機能を持つが, 完全な上位互換ではない. ...という感じっぽい. こういう時はグダグダ言わずに入れて試してみるに限る, というわけでさっそく導入してみましょうー! インストール plenvを導入する為にはCPAN/brew/gitを使う方法がありますが, 今回はgitを使って入れてみます. ただ特徴にも書いてあるとおり, どの方法を使うにせよインストールはとても簡単です
実際は 3つぐらいしかないです。 Cinnamon の Minilla 化で @shiba_yu36 先生がハマっていたのでここに記す。 ちなむと、Minilla の現在の HEAD (cb3fc97d4e) で試しているのであり、今後は修正される可能性が大いにあります。 migrate 編 0. とりあえずブランチ切りましょう いつでもあの頃に戻りたい。みんなそう思っている。 # Minilla 化される直前の commit からブランチを作成 $ git checkout -b minilize 0bf8634 あとは、何かあったら以下のコマンドで元通りです。 $ git reset && git checkout . && git clean -df 1. ディレクトリ名とモジュール名が一致していない git repository では全部小文字なんだけど実際のモジュールは大文字だっ
Minillaが流行っていたので、僕もCinnamonをMinillaに対応させてみました。 とりあえず $ cpanm Minilla 次にCinnamonのdirectoryにいって、migrate。 $ cd cinnamon $ minil migrate Cannot retrieve 'abstract' from /Users/shibayu36/development/myprojects/perl/cinnamon なんか怒られた。これはDist名とDirectory名が違っているため、migrateができなくなっていた。 directory名を変えてやってみる。 $ cd .. $ mv cinnamon Cinnamon $ cd Cinnamon $ minil migrate とりあえずこれでmigrateは出来た。続いてFAKE_RELEASEしてみる $ FA
「使っちゃいけない標準モジュール」*1の反響を見ていると、baseが非奨励ということに驚かれた方が少なくありませんでした。そこで、baseについて補足します。 まずbase.pmのドキュメントの最初の文は以下のようになっています。 Unless you are using the fields pragma, consider this module discouraged in favor of the lighter-weight parent. (拙訳: fieldsプラグマを使用しているのでないかぎり、このモジュールは勧められない。かわりに軽量なparent.pmを使う方がよい。) fieldsプラグマは、ハッシュリファレンスのキーを固定したオブジェクトを作成するための機能ですが、あまり一般的ではないためここでは解説しません。特に理由がない限り、ここは素直に忠告に従った方がいいでし
Catalyst 5.7001 を見ていたら Class::Inspector が使われていました。Catalyst の 5.70_01 から使われるようになったようです。 パッケージ・ファイルを求めたり、パッケージで定義されたサブルーチン名やそのコード・リファレンスを求めることができるようです。さらに、@パッケージ::ISA で継承したメソッドを含め、メソッド名・定義クラス・コードリファレンスを求めることもできるようです。サブクラスの一覧を探す機能もありますね。 ⇒ http://search.cpan.org/~adamk/Class-Inspector-1.16/ POD の説明を読むと、クラスメソッドでパッケージの情報を取得できるようになっています。UNIVERSAL::can や @INC、%INC 辿りや、シンボルテーブル参照をスマートにカプセル化してあり便利そうです。以下、P
2013.08.12 [Rails 4.0] 巨大なテーブルやserializeを使うときのActiveRecordオーバーヘッドを測定してみた Railsは遅い!とよく言われますが、高速化ポイントのうち最有力候補の1つがDB/モデル周りです。 N+1問題を修正するだけでも、体感できるレベルの高速化が期待できます。 しかし、RubyKaigiでCookPadの方も言っていたように、RDBMSがSQLを実行する時間だけでなく、ActiveRecordオブジェクトの処理は非常に重いです。 モデル周りの最適化と聞いて、一生懸命SQLをEXPLAINするのも大事ですが、ログに出力される「Prefecture Load (0.5ms)」のような数値にはActiveRecordオブジェクト部分のオーバーヘッドが含まれていないため、全体でどの部分が遅いのかを理解しないと徒労に終わってしまう可能性がありま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く