lsコマンドをハックしてみよう - Yahoo! JAPAN Tech Blog 勉強用ならGNU Helloもオススメです。 GNU標準のディレクトリ構成 autoconf,automakeなどAutotoolsの使い方 メッセージ国際化libintl(gettext) オプション処理getoptの使い方 マルチプラットフォーム ソースコードが短い といった感じ。 あとHello, world!を表示するために命を掛けているかのような技術屋魂が感じられるのもポイント。
http://hirkaz.blogspot.com/2008/09/blog-post_01.html こういうのを見るとどうしても $ find ~/dev/php -name '*.php' -a -print0 | xargs -0 nkf --overwrite -w -Lu と書き直したくなる。元のままだとスペースを含んだファイル名を扱えないからね。 一応説明しておくと、元のコードでは"foo bar.php"というファイルがあった場合、xargsが"foo"と"bar.php"を処理しようとしてエラーになってしまう。 そこで、findで-print0を使うと"\0"区切りで出力してくれて、xargsに-0を指定すると引数を"\0"区切りとして扱ってくれるので"foo bar.php"として処理してくれる。 ファイル名にスペース入れるなっていう話もあるけど、Windowsな人は
EmacsでPerl開発する上で必須な設定 #2 - flymake - Kentaro Kuribayashi's blog Catalystで、C::E::HTTP::Restarterを使ってると、flymakeが作ったFoo_flymake.pmを検出して勝手に再起動しまくるので超困る。 C::E::HTTP::RestarterがFoo_flymake.pmを認識できなくなればいいのですが、生成ディレクトリを変えてしまうとINCのパスがあわなくなってしまうので、ファイル名が*.pmにならないようにして使ってます。 (defun flymake-perl-init () - (let* ((temp-file (flymake-init-create-temp-buffer-copy - 'flymake-create-temp-inplace)) + (let* ((buffer
参考:Shipwright - dann@catalyst - Catalystグループ Shipwright-1.01使ってみたよ。CPANモジュール群をSubversionリポジトリで管理できるよ。 どっかの誰かが『CPANモジュール群のバージョンを各マシンで合わせるためにrpmに変換して云々』ってのをやってたと思うけど、Shipwrightの用途は多分そんな感じです。 Subversionリポジトリにコミットすることになるので、野良パッチのバージョン管理も出来るかもね。 インストール 普通にCPANから。 # cpan Shipwright Shipwrightはsvnが必要です。 svkにも対応していてsvkが無い環境だとインストール時にエラーになるけど、運用上svkを使わないんだったらcpan -f Shipwrightで問題無いよ。 初期化 $ shipwright creat
XKeymacs(XKeymacs)と窓使いの憂鬱(窓使いの憂鬱)は、Windowsを再インストールするたびにどちらかを入れるのですが、今はXKeymacsを使っています。 キーボードは、既に販売終了になっていますがHappy Hacking Keyboard Lite 日本語配列 PS/2 黒(Happy Hacking Keyboard | 株式会社PFU)を使っています。Windowsキーは、XKeymacsのキーボードレイアウトを使ってHHKの半角/全角キーの場所に割り当てて、Fnを使わずにワンキーで押せるようにしてあります。半角/全角キーは殺しています。日本語入力はC-\を使うので半角/全角キーは不要です。 なんてことを書いていたのですが、この度窓使いの憂鬱に戻しました。 戻した理由は、XKeymacsがたまにミスるからなのです。 例えばFirefoxのtextareaで選択文字
今回は筆者のEmacs(と言ってもMeadow2なんですが)のPerlに関する設定を一部抜粋してみようと思います。 (autoload 'cperl-mode "cperl-mode" nil t) ;; cperl-modeを使ってます。 (add-to-list 'interpreter-mode-alist '("perl" . cperl-mode)) ;; shebang(#!…)に"perl"があったらcperl-mode (add-to-list 'auto-mode-alist '("\\.\\(p[lm]\\|f?cgi\\|t\\)$" . cperl-mode)) ;; こういう拡張子もcperl-mode (defalias 'perl-mode 'cperl-mode) ;; perl-modeもcperl-mode ;; 色が気に入らないので直してみたり (se
次、SQLLiteのpath をフルパスにしないといけないっぽい件。path_toメソッド使って気分すっきりしました。 connect_info => [ 'dbi:SQLite:' . YourApp->path_to('db/your_db.db'), ], これ見て思い出したんですが、この設定をmyapp.ymlに書く場合は connect_info: - dbi:SQLite:__path_to(db/your_db.db)__ と書きます。C::P::ConfigLoaderが __path_to(...)__ ⇒ $c->path_to( split( '/', ... ) ) __HOME__ ⇒ $c->path_to( '' ) という展開をしてくれます。 ドキュメントにもちゃんと載っているんですが、これを知ったのは先週ぐらいだったと思います。 使う場面が無かったというの
普通に作るとプラグインの読み込み方は以下のようになります。 package MyApp; use Catalyst qw/-Debug ConfigLoader Static::Simple/; __PACKAGE__->setup; でもこれだと条件によって読み込むプラグインを変えたい時は、その条件分岐をBEGINに突っ込んだりしなきゃいけなくなるので、以下のように書く方が良いです。 package MyApp; use Catalyst; __PACKAGE__->setup(qw/-Debug ConfigLoader Static::Simple/); 例えば、ちゃんとしたWebServerに静的コンテンツを配信させるからStatic::Simpleは不要だけど、テスト用にmyapp_server.plを使う場合はStatic::Simpleが欲しいなんて場合は my @plugi
前回のCatalyst+Template-Toolkit(Catalyst::View::TT)で国際化 - ヒルズで働く@robarioの技ログはCatalyst::Plugin::I18Nでできるよとのコメントをいただきましたので、それでやることにしました。 Catalyst::Plugin::I18Nで国際化 lib/MyApp/L10Nではなく lib/MyApp/I18N を用意します。 lib/MyApp/I18N/en.pm package MyApp::I18N::en; use base qw(MyApp::I18N); our %Lexicon = ( '_AUTO' => 1, ); lib/MyApp/I18N/ja.pm package MyApp::I18::ja; use base qw(MyApp::I18N); our %Lexicon = ( '_AUT
はてぶコメントより、typesterさん曰くCatalyst::Plugin::I18N - I18N for Catalyst - metacpan.orgでできるよとのこと。お〜。名前は昔見たことがあったのですが中身まで見てませんでした。今回の話(と次に書こうと思っていた話)のほとんどがCatalyst::Plugin::I18Nに含まれていますね。Template周りをちょこっといじるだけで良さそうです。コメント本当にありがとうございました。助かります。 このエントリは「Locale::Maketextの使い方」ということでお願いします。 はじめに 同じ内容のページを、ユーザの環境に応じて英語版と日本語版を切り替えたい。という話です。 よくある「使用するテンプレートを言語毎に用意する」という方法では、英語版テンプレートと日本語版テンプレートの同期を取るのが非常に面倒になります。そこで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く