タグ

ブックマーク / blog.bz2.jp (6)

  • ライブラリが直接実行された場合はプログラムとして実行する - ベイエリア情報局

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 rubyのライブラリとかで、ファイルの最後に次のような感じになってるものがある。 if __FILE__ == $0 ... end こういう風に書いておくと、他のファイルからインクルードした場合はライブラリの機能だけ提供するんだけど、そのライブラリ自体を直接単体のスクリプトとして実行できるようにもなる。 でもこれはスクリプトとして使われることを意図してなくて、単なるサンプルプログラムとして提供されています。 これ結構便利なんですよね。 簡単なライブラリの使い方がすぐに分かるし、ちょっとお試しで使ってみるのも簡単にできる。 ドキュメント読むよりも、プログラム見た方が早いし。 でも、PHPでやってるのはあんまりみないな。

    sunaoka
    sunaoka 2010/05/12
  • ベイエリア情報局: ライブラリが直接実行された場合はプログラムとして実行する

    元Vine SPARC開発者。2003年度未踏ユース採択者。海外でも活躍できる国際的なLinuxエンジニアになることを夢見て日で頑張っています。ウノウ株式会社にて写真共有SNS「フォト蔵」を開発中。 rubyのライブラリとかで、ファイルの最後に次のような感じになってるものがある。 if __FILE__ == $0 ... end こういう風に書いておくと、他のファイルからインクルードした場合はライブラリの機能だけ提供するんだけど、そのライブラリ自体を直接単体のスクリプトとして実行できるようにもなる。 でもこれはスクリプトとして使われることを意図してなくて、単なるサンプルプログラムとして提供されています。 これ結構便利なんですよね。 簡単なライブラリの使い方がすぐに分かるし、ちょっとお試しで使ってみるのも簡単にできる。 ドキュメント読むよりも、プログラム見た方が早いし。 でも、PHPでや

    sunaoka
    sunaoka 2009/02/04
  • ベイエリア情報局: tarballからインストールしたソフトウェアを簡単に管理する

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 普通 tarball からインストールする時は ./configure make sudo make install のようにインストールします。この場合は全てのファイルが /usr/local に入るわけですが、 これだと複数のソフトウェアをインストールした場合に、どのファイルがどのソフトウェアに所属するのか分からなくなって、アンインストールができなくなります。 なので僕はいつも tarball からソフトウェアをインストールする場合は、 例えば hoge というソフトウェアをインストールする場合、必ず /opt/hoge にインストールしています。 ./configure --prefix=/opt/hoge ma

    sunaoka
    sunaoka 2009/01/15
  • ベイエリア情報局: 環境変数 PATH を自動で設定する方法

    元Vine SPARC開発者。2003年度未踏ユース採択者。海外でも活躍できる国際的なLinuxエンジニアになることを夢見て日で頑張っています。ウノウ株式会社にて写真共有SNS「フォト蔵」を開発中。 みなさんは UNIX系 OS で環境変数 PATH の設定をどうしてますか? UNIX系 OS では微妙にディレクトリ構成が違ってたり、 同じ OS でも後から追加したパッケージの関係で PATH が違ってたりして面倒です。 僕の場合、環境変数 PATH は自動で設定するようにしているので、 ほとんど数年間シェルの設定は変わっていません。 すごく便利なので、僕が使ってる方法を紹介します。 まずは次のようなシェル関数を定義する。 function add_env(){ env_name=$1 shift for i in $@; do if ! dirs=`eval echo $i` > /d

    sunaoka
    sunaoka 2009/01/15
  • 1プロセスだけが実行されることを保証するクラスを作った(PHP) - ベイエリア情報局

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 cronにジョブを登録して、バックグランドで定型処理を実行することをよくやるかと思います。 その時に必ず一つのプロセスだけが実行されることを保証したい時があります。 こういう時にみなさんはどのようにやっているでしょうか。 案1: cronに時間間隔をある程度あけて実行する 毎分実行するとかじゃなくて、5分くらい間隔を開けて実行するようにする。 5分以内に処理が終われば、複数プロセスで実行されることはありません。 cronの設定をちょこっと変えるだけで簡単にできます。 でも、こういうことするとメンテナンスが面倒だし、いつの間にか複数プロセスが立ち上がってたりするんですよね ToT 案2: ロック処理をいれる ロック処理を

    sunaoka
    sunaoka 2008/05/06
  • ベイエリア情報局: Yahoo でカスタマイズされた apache のまとめ

    元Vine SPARC開発者。2003年度未踏ユース採択者。海外でも活躍できる国際的なLinuxエンジニアになることを夢見て日で頑張っています。ウノウ株式会社にて写真共有SNS「フォト蔵」を開発中。 Yahoo で使用されている独自カスタマイズされた apache についてのプレゼンテーション資料が公開されていたので、自分なりにまとめてみました。 Hacking Apache HTTP Server at Yahoo! HTTPヘッダーの "Server:" は出力しない apache 1.3 がベース 安定動作が重要 スレッドは使用しない(動作が複雑) ログフォーマットは独自フォーマット ログローテンションは独自の仕組みを持つ。シグナルもパイプも使用しない レスポンスコード 30x は最小限のものだけ出力 コンテンツは gzip 圧縮して出力(HTTP/1.1)。CPU 使用率が 90

    sunaoka
    sunaoka 2006/01/31
  • 1