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
思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。
"abc"という文字列が何文字か調べてみましょう。 use strict; use warnings; use feature 'say'; my $str = "abc"; say $str. "は、". length($str). "文字です"; 実行結果: abcは、3文字です 問題ありませんね。 では、"あいうえお"が何文字か調べてみましょう。 use strict; use warnings; use feature 'say'; my $str = "abc"; say $str. "は、". length($str). "文字です"; 実行結果: あいうえおは、15文字です はい、15文字ですn… えぇぇぇぇぇ。それ困ります。 このようにマルチバイト文字列の場合見た目の文字数通りカウントできないため 文字列操作で文字数を絡める場合問題となります。 そのため、見た目の文字数と一
The days of just flinging strings around are over. It's well established that modern programs need to be capable of communicating funny accented letters, and things like euro symbols. This means that programmers need new habits. It's easy to program Unicode capable software, but it does require discipline to do it right. 文字列を単に放り出す日々は終わりました。 最近のプログラムでは変わったアクセントのついた文字や、ユーロのマークの ようなものを通信出来る必要があることが確
2012年01月17日11:45 カテゴリアルゴリズム百選Tips Algorithm - 連想配列の実装としてのハッシュはオワコン? 珠玉のプログラミング Jon Bentley / 小林健一郎訳 つまり「終わったコンテナ」。 以前からうすぼんやりと考えて来た危惧が、すこしはっきりと見えてきた。 徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 もうそろそろハッシュ(テーブル)以外の手段の連想配列の実装手段を本格的に模索するべきではないか、と。 そのデータ構造は、君の魂を差し出すに足るものかい? 連想配列(Associative array)がコレクション(Collection)、すなわち数多のデータ構造をまとめるデータ構造としての覇者となったのはもはや疑いようがない事実でしょう「配列で実装されるデータ構造ではなくて、配列を実装するデータ構
最近、パスワードの使い回しをしているユーザーに対する攻撃が出回るようになってきています (参照: パスワード攻撃に対抗するWebサイト側セキュリティ強化策 | 徳丸浩の日記) が、マスタパスワードからサービスごとに異なるパスワードを自動生成するのが簡単な対策ですよね。 プログラマなら(もしくはコマンドライン操作に慣れているのなら)、こんな感じでできるかなーと思います。 $ perl -MDigest::HMAC_SHA1 -wle 'print Digest::HMAC_SHA1->new($ARGV[0])->add($ARGV[1])->b64digest' "my-master-password" example.com Mau83v+ml6dRViOZhcRdHM0NXzY $HMAC 関数にマスターパスワードとサービスのドメイン名を食わせて、その出力をサービス専用のパスワードにす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く