タグ

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

  • IPアドレスから携帯のキャリアを高速に判定するsymfonyプラグインを作った - ベイエリア情報局

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 携帯サイトを作ってるとIPアドレスから携帯キャリアを判別することが多いですが、これを高速に判定するsymfonyプラグインを作りました。 sfMobileIPPlugin - openpear 元ネタ: PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する - グニャラくんのグニャグニャ備忘録@はてな やってることは大体同じです。 隣り合うIPアドレス帯をまとめている 各キャリアが公開しているIPアドレス帯は隣あった領域である事が多いので、連続したIPアドレス帯は一つにまとめるようにしてます。 これにより、検索領域が 1/3 ぐらいに減りました。 まとめたIPアドレス帯はキャッシュしている まとめたIPアドレ

    hiro_y
    hiro_y 2009/04/24
    IPアドレスからキャリア判定するsymfonyプラグイン。高速化の工夫も。
  • 1プロセスだけが実行されることを保証するクラスを作った(PHP) - ベイエリア情報局

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

    hiro_y
    hiro_y 2008/05/05
    「同じプロセスが実行されてない場合は、続きの処理を実行しますが、既に他のプロセスで実行されてた場合は直ちに終了します。」ロックディレクトリ。
  • ベイエリア情報局: ライブラリが直接実行された場合はプログラムとして実行する

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

    hiro_y
    hiro_y 2008/04/30
    他のファイルからincludeされた場合はライブラリとして、直接実行された場合は単体のスクリプトとして動作。
  • phsh(PHPでシェル)を公開します - ベイエリア情報局

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 PHPカンファレンス2007のライトニングトークでPHPでシェルを作るというお題で発表しました 思いっきりウケ狙いで発表したのですが、思いのほか好評なようでよかったです。 プレゼンの資料は公開しておきますが、やっぱりデモでみせないと、あまりインパクトがないですね。 デモでは、実際に使ったり、phsh をログインシェルにしてみたりしましたw ソースコードは個人的な公開リポジトリで管理してますので、ダウンロードして使ってみてください。 煮るなり焼くなりいじってやってくださいな。 phsh 要 PEAR::Console_Getopt, readline, pcntl です 快適なシェルライフを!!

    hiro_y
    hiro_y 2007/09/03
    phsh、公開。
  • PEAR パッケージをローカルでミラーする - ベイエリア情報局

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 以前から PEAR のパッケージをローカルでミラーしたいなと思ってたんだけど、rsync とか ftp とかでローカルに再帰的に一発でミラーっていうのができないみたい。 ELFさんに聞いてみると 「pear list-all でごにょごにょやればいいんじゃない」ってことだったので簡単なスクリプトを作ってみた。使い捨てスクリプトのつもりで適当に作ろうかと思ってたんだけど、どうせなら公開しようと思ってちょっとまじめに作ってみました。 作ったのは pear_mirror.sh というシェルスクリプトです。名前は pear_mirror.sh ですが、PEAR だけでなく PECL のライブラリもダウンロードしてくれます。pe

    hiro_y
    hiro_y 2006/11/06
    PEARのリボジトリをローカルにミラーリングするシェルスクリプト。
  • ベイエリア情報局: MacBook に移行した

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 P1000042 posted from フォト蔵 Web2.0 なエンジニアMac だということで MacBook 買ってきました。 買ったのは 1.83GHz の一番ローエンドのやつ。 昼休みに渋谷のアップルストアに行って買ってきました。 キーボードはもち英語キーボードで。 30分ぐらいで無料で取り替えてくれました。 デフォルトだとメモリが500MBしかないので、バルクのメモリを買う事に。 純正品だと目玉が飛び出るくらい高いので。 僕はバリューランドというところで GH-DW667-1GB という 1GB のメモリを 2つ買いました。 MacBook では PC2-5300 という同容量のメモリを2枚差すようで

    hiro_y
    hiro_y 2006/10/14
    インストールしたソフトウェアの紹介とか。
  • ベイエリア情報局: 環境変数 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

    hiro_y
    hiro_y 2006/02/11
    環境変数PATHを自動で設定するシェル関数。
  • 1