タグ

ブックマーク / nitsuji.hatenadiary.org (8)

  • perlは記号だらけでよくわからんという件 - libnitsuji.so

    最近「Perlは記号だらけでよくわからん」という話をよく聞くなーと思っていたのでちょっと考えてみた。 まずはよく見かけそうな記号変数(正式な呼称なんだっけ?)を思いつくかぎり列挙してみる。 $_ $! $@ $? @_ <>(これは変数じゃないか) このくらいかな。 で、「記号だからググれない」ということも聞きますが、これは直接Perlのドキュメント(perldoc)を参照するのが手っ取り早いです。 これはperlvarというドキュメントに載ってるので「perldoc perlvar」でググります。そうすると http://perldoc.perl.org/perlvar.html http://perldoc.jp/docs/perl/5.6.1/perlvar.pod とかが出てくるので、あとはブラウザ上で検索すればおkではないかと思います。 また、ブラウザよりもシェルが身近にある人は

    perlは記号だらけでよくわからんという件 - libnitsuji.so
    poppen
    poppen 2008/06/07
  • DBIx::Classでスレーブに接続する - libnitsuji.so

    レプリケーション環境で、更新系クエリはマスター、参照系クエリはスレーブに振り分けるというのはよくあることだと思います。 PerlのO/RマッパーであるDBIx::ClassにはDBIx::Class::Storage::DBI::Replicationというのがあって、これを使うと利用側で接続先を意識することなくクエリを振り分けることができそうです。しかし、どうやら参照系は必ずスレーブへ振り分けてしまうようなので、トランザクションの中ではマスターを参照したいといった場合に対応できないんじゃないかと思いました。 そこで、明示的にスレーブの接続を取得する方法がないかなーと思ったんですが見当たらなかったので書いてみました。 実装するにあたり以下のClass::DBI用に書かれたコードを参考にしてみました。 http://d.hatena.ne.jp/tokuhirom/20060713/1152

    DBIx::Classでスレーブに接続する - libnitsuji.so
  • More about Shipwright - libnitsuji.so

    前回はてきとーなモジュールをShipwrightに突っ込んでインストールしてみる、というところまでやってみたけど実用的なことは何一つやってませんでした。というわけでCatalystおよびcatalyst.pl MyAppしてできたスケルトンをパッケージングしてテストサーバーを起動するとこまでやってみたよ。 パッケージはここにあります。 http://svn.onot.in/public/shipwright/catalyst-myapp/ インストール Shipwrightパッケージはデフォルトでは/tmpの下にインストールされますが、これを/opt以下に変更します(よくわかってないけど気持ちの問題?)。Shipwrightのパッケージは/usrとか/usr/localとかの下にインストールするようなものではなく、このパッケージだけが存在するような状態にインストールするのが正しいようです。

    More about Shipwright - libnitsuji.so
  • Shipwrightを学んだのでまとめとか - libnitsuji.so

    ShipwrightはPerlのモジュールです。CPANで公開されています。 Shipwright - Best Practical Builder - metacpan.org Shipwrightはアプリケーションのためのパッケージングツールです。依存しているソフトウェアおよびバージョンをリポジトリで管理します。たいていのPerlで書かれたアプリケーションはCPANモジュールに依存しているので、何らかの方法でそれをインストールする必要があります。思いつく方法としては以下のような方法があります。 CPANコマンドで地道にインストール アプリケーションのMakefile.PLでModule::Installを使って依存モジュールを自動インストールする rpmなどで自力でパッケージングする(やりかたしらないけど) 専用のPerlパッケージ(perl体含んだ)を作成する この中でお手軽なのは

    Shipwrightを学んだのでまとめとか - libnitsuji.so
  • nitsujiの日記 - vimのplugin

    vimのsnippetsEmuがすばらしい - otsune's SnakeOil - subtech を見て入れてみようと思ったんだけどプラグインなんて使ったことなくて30分くらい苦戦したのでメモ。 Linuxvim7使ってます。 $ mkdir -p ~/.vim/after/ftplugin $ cd ~/temp $ wget http://www.vim.org/scripts/download_script.php?src_id=6951 $ vim snippetsemu1_1.vba :UseVimballそうすると~/.vimの下にいろいろとファイルができる。 プラグインにはグローバルプラグインとファイルタイププラグインの2種類があって、snippetsEmuは後者らしいので、 :filetype plugin onってやらないと有効にならないっぽい。~/.vimrcに

    nitsujiの日記 - vimのplugin
    poppen
    poppen 2007/05/03
  • tail -f よりlessでF - libnitsuji.so

    なんかのデバッグとかでApacheのログをtail -fで流しておくというのはよくやるけど、それよりlessでFしたほうが便利だと思った。 lessしてるときにFと打つとtail -fみたいな動きになってCtrl+Cで元に戻せる。 だからリクエストしてから元に戻せばそのログをゆっくり見ることができるし、またFと打てばログが流れるし。 それだけだけど。 http://www.linux.or.jp/JM/html/GNU_textutils/man1/tail.1.html http://www.linux.or.jp/JM/html/GNU_less/man1/less.1.html

    tail -f よりlessでF - libnitsuji.so
  • perltidyを使ってみました - libnitsuji.so

    perltidyってのは整形ツールです。インデントとか改行とかカッコの位置とかを調整してくれる。 コードが変にならないのかすごく不安なんだけど。とりあえず使ってみる。常用するかどうかはわかんないけど。 インストールはこうする。 $ sudo apt-get install perltidy設定は.perltidyrcをホームディレクトリに置けばそれが使われる(設定ファイル置き場は他にもあるよう)。設定内容はとりあえずPerl Best Practices: Standards and Styles for Developing Maintainable Codeに載ってるやつを使ってみた。 -l=78 # Max line width is 78 cols -i=4 # Indent level is 4 cols -ci=4 # Continuation indent is 4 cols

    perltidyを使ってみました - libnitsuji.so
  • perltidyがらみでvimのコマンドとか調べました - libnitsuji.so

    http://subtech.g.hatena.ne.jp/sekimura/20060507/p1 でvimで保存するときにperltidyを実行する方法を教えていただいたのでやってみた。 というかあまりに初心者なのでまずコマンドの意味がわからなかったので調べるところから。 au BufWritePost *.pl :%! perltidyauはautocmdの略でBufWritePostはバッファをファイルに書き込んだ後で*.plは拡張子がplのファイルで:以降がコマンドで%で全行が対象(特定行なら1,27とか)で!以降がシェルのコマンドでperltidyを実行。 たしかにうざいかも。保存しただけなのに勝手に変わっちゃうのって想像以上に変な感じだ。 map ,ptv <Esc>:'<,'>! perltidy<CR>mapはキーを割り当てる役割でここでは,ptvに割り当てでノーマルモー

    perltidyがらみでvimのコマンドとか調べました - libnitsuji.so
  • 1