btoメモ

なんか適当に書く

php

pseudoQueue作った(PHP)

php

メッセージキューとは 異なる処理の間でキューを用いてメッセージ交換を行う仕組みのことです。 生産者(キューを登録する)側は単純にキューに対してメッセージを追加します。 消費者(キューを消費する)側は単純にキューからメッセージを取り出して処理を行い…

singleExecutionで強制終了した場合でも大丈夫なように修正

php

昨日作ったsingleExcutionですが、思いのほか好評なようでよかった。^o^ 昨日作ったバージョンだと通常通りにスクリプトが終了すれば問題ないのですが、何らかの原因でプロセスが終了した場合にロックが残ってしまい、手動でロックを削除しないといけなかっ…

PHPで拡張を動的に有効にする汎用的な方法

php

PHPの拡張とは PHPの機能を拡張するためにCで書かれた動的ライブラリのこと。 拡張を有効にするには 拡張を有効にする方法はphp.iniに設定する方法とdl()から動的に呼び出す方法の2つ。 動的に拡張を追加するにはdl()を使います。 dl()を使う問題点 dl('foo'…

どこでもsymfonyコマンド実行できるようにするのって流行ってるの?

php

どこでもsymfonyコマンド実行できるようにするのって流行ってるみたい ぷぎがぽぎ symfonyコマンドwrapper symfonyコマンドラッパのあれこれ symfonyコマンドがプロジェクトトップディレクトリでしか使えない件 symfonyコマンドをどこでも使えるようにする -…

1プロセスだけが実行されることを保証するクラスを作った(PHP)

php

cronにジョブを登録して、バックグランドで定型処理を実行することをよくやるかと思います。 その時に必ず一つのプロセスだけが実行されることを保証したい時があります。 こういう時にみなさんはどのようにやっているでしょうか。 案1: cronに時間間隔をあ…

第1回:スクリプトはどうやって見つける?

[Think IT] 第1回:スクリプトはどうやって見つける? (1/3) ThinkITに記事を書きました。 僕が書いたのは第一回だけで、残りはウノウの別のエンジニアが担当します。 5月の特集で毎週木曜更新予定です。 よろしければご覧ください!!

第32回PHP勉強会に参加してきました

php

第32回PHP勉強会に参加してきました。 LT枠でこの前作ったARGFを紹介させてもらいました。 codereposにあげてあるので、よろしかったらどうぞ!! ARGF 発表に使った資料を公開しておきます。 document.write(''); Read this doc on Scribd: argf var scribd_d…

ライブラリが直接実行された場合はプログラムとして実行する

php

rubyのライブラリとかで、ファイルの最後に次のような感じになってるものがある。 if __FILE__ == $0 ... end こういう風に書いておくと、他のファイルからインクルードした場合はライブラリの機能だけ提供するんだけど、そのライブラリ自体を直接単体のスク…

E_STRICTを一時的に無効にする

php

PHP4,5両対応のライブラリを書こうと思った時にどうしても気になるのがE_STRICTの設定。 PHP4でも動くようにプログラムを書くと、PHP5でE_STRICTを有効にした場合に警告の嵐が orz。 プログラムを分ける そもそもプログラムを分ければ問題なさそう。 ってこ…

ARGFを作った

php

ARGFとは rubyで使える機能で、入力を抽象化してくれます。 ARGFを使うとフィルタプログラムのようなコマンドラインプログラムが簡単に書けます。 ARGF これ、とっても便利でrubyでプログラム書くときは(知らずに)よく使います。 ARGFを使うと入力が標準入力…

Haskell Hackathonに参加してきた

php

昨日はHaskell Hackathonに参加してきました あんまり挑戦者がいなさそうなPHPで挑んでみたのですが、蓋を空けてみると3人もいてびっくり とりあえずやったことをつらつらと書いてく Hugs 98のparse.yを持ってくる Hugs 98にparse.yがあったので、とりあえず…

PHPカンファレンス2007に出る事になりました

php

今週末に開催されるPHPカンファレンス2007に登壇させていただくことになりました PHPカンファレンス2007プログラム概要 ウノウのサービスを大規模などと言うのは大変おこがましいのですが、 PHPカンファレンスに参加される方はどちらかというとこれからサー…

ユニークなPHPの求人

php

JOBS - Open Positions $q1 = Are you a master PHP Ninja? $q2 = Excel at object oriented PHP, MVC pattern, Smarty template engine, caching practices and PEAR? $q3 = Familiar with CSS, Javascript, XHTML, MySQL? $q4 = Experienced with Zend Stu…

初心者向けPHP開発入門講座

php

ThinkITにてインターネットやWebの世界がまだよく分からない初心者向けのPHP開発入門講座「PHP開発はじめの一歩」の連載をさせていただくことになりました。 さきほど第1回が公開されました。 第1回:PHPの基礎とインストール よろしければご覧ください!!

PEAR パッケージをローカルでミラーする

php

以前から PEAR のパッケージをローカルでミラーしたいなと思ってたんだけど、rsync とか ftp とかでローカルに再帰的に一発でミラーっていうのができないみたい。 ELFさんに聞いてみると 「pear list-all でごにょごにょやればいいんじゃない」ってことだっ…

Zend extension を extension_dir からロードできるようにしてみた

php

最近 PHP の拡張である xdebug をインストールしてみた。 使ってみると、なかなか便利。プロファイリングとかとれて、どこが処理のボトルネックになってるかよく分かります。 なんかエラーメッセージとかも分かりやすくなってるし。これはイイ!! xdebug を…

複数のバージョンのPHPを簡単に切り替える

php

PHP のプログラムにはバージョンによって動いたり動かなかったりするものがあります。 特にバージョン4, 5の違いは大きいので、これを簡単に切り替える方法を試行錯誤しながらやってみたら結構うまくいきました。 まず前提として mod_php は使いません。さす…

Yahoo でカスタマイズされた PHP のまとめ

php

昨日のエントリYahoo でカスタマイズされた apache のまとめに引き続き、Yahoo でカスタマイズされている PHP についてのプレゼン資料をまとめてみました。 2002年5月に採用 PHP 以前は yScript という独自のプロプリエタリな言語を使ってた PHP が採択され…

PHP勉強会に参加してきた

php

第8回 PHP 勉強会に参加してきました。 今回はサイボウズのセミナールームでの勉強会。 詳しくはリンク先を参照してください、と逃げる。 僕はPHPの開発環境というお題で発表してきました。 最近導入した svk の調子がすこぶるよいので、その普及活動をして…

PHPの開発環境

php

PHPどうやって開発してる? ということで(?)、僕の開発環境です。 ・VMware PlayerのFedora ・Poderosa(sshターミナル) ・screen ・zsh ・jvim ・subversion ・svk 基本的に Linux マンセーなんだけど、Webアプリ開発者として Windows IE での動作確認は必須…

PHPで2ch風の掲示板

php

2chみたいな掲示板 この掲示板スクリプトは、ネット上で見つけたread.cgi、bbs.cgiをPerlからPHPに移植したものです。 改造、再配布、商用利用等に制限はありませんが、プログラムのバグ等でログが消えたり他の損害がおきても作者は一切の責任を負いません。…

PHPで使えるテクニック

php

Five Things You Didn't Know You Could Do with PHP 結構知らないネタがありました。 switch文の使い方にはびっくりしましたが、 phpのswitchって逐次検索なんですか?