PHP
サマーウォーズ見た。 あれはうんこだった。 デジモンアドベンチャー ぼくらのウォーゲーム!と似てるとか、当時出来なかった事をやっただとか、細田氏の集大成だとかそんな風に聞いて期待してただけに残念。 ぼくらのウォーゲームの時は何もかもが新しく斬…
今日は主に、使う側が呼び出す関数と中身の最適化辺りを重点に。 コンストラクタの引数がにデフォルトをつけたり。 つくったもの インターフェイスの名前と場所を変えた。 Pearのディレクトリで「find . | xargs grep interface」とかやってみたけど、インタ…
PHPでCURLとか使わずにSSL通信したい。 自力と言っても、流石にOpenSSL関数は使うけど。 で、今回はClientHelloとServerHelloについてやってみた。 とりあえず、シリーズ物にする予定。 作ったもの $ tree . . |-- SSL | |-- Certificate.php | |-- CipherSu…
とりあえず晒しとく。 PHP5.3ならもっとPython版に近い感じで書けただろうけど、自分の所の環境にあわせてPHP5.2で。 なんで諦めたかというと、PearのXML_RPCの返り値(XML_RPC_Message)が汚すぎて使う気が起きなかった。 他にもっといいパーサがあるならそっ…
人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか http://okajima.air-nifty.com/b/2010/01/post-abc6.html 昨日、会社に面接来た人がいて、その人にやらせたらしく。 で社長に、その人は何分で出来たかを告げられて、やる?って聞かれて、これ…
Bashとかから普通に使うより遥かに楽。 opensslでパスフレーズなしの秘密鍵と公開鍵を作ってみた。 面倒な対話がなくなってこりゃ便利。 $case[] = array(正規表現, 返す文字列);
今回のメインはdiff。 全体的に大体出来た。 あれがBacklogかBacklogでないかと言われれば、むしろBacklogだったんじゃないかな? いや!!科学的な見解から言ってもBacklogであった確率が高いね!! ユニファイド形式のdiff結果を配列にする
Peclのmemcacheライブラリで接続出来るmemcachedサーバをPHPで作ってみた。 実用性はない。 memcachedプロトコルはかなり楽。 DNSプロトコルについて調べた後だからかも知れないけど。 PHPのmemcachedは11212ポートで動かしておく。 本家のポートの隣。 一発…
オプション--xmlをつければXML形式で出力してくれる。 その結果をSimpleXMLElementの第一引数に入れればObjectの出来上がり。 しかも、listでこのオプションを付けると--verboseをつけても出なかった「年」が出るようになる。 ↓こんな感じでlistをパースして…
前回に続いて、Subversionのリポジトリブラウザを作る話。 listとinfoはそれなりに出来た。 今回は、catの話。 PearのVersionControl_SVNは余りにも使いづらい。 execするクラスを自分で作る事にした。 変数に格納された文字列がテキストかバイナリかを調べ…
世間に自分が気に入るオープンソースのリポジトリブラウザがない。 RedmineもTracも、どっちも使いづらい。 個人的にはBacklogが使いやすいと思ってる。 日本語だし。 そんな感じで、Backlogにインスパイアされたようなリポジトリブラウザを作ってみようかと…
PHPを実行してUDPの53ポートでソケット待ち受け開始。 PHP実行中のマシンをDNSサーバに設定して、PINGとかをどこかに送ってみる。 初めてUDPやったけど、やっぱりUDPはTCPより簡単だった。 リクエストを受け取った瞬間に接続が絶たれるから同時接続云々考え…
ここ数週間、合間を見てちまちま作ってた。 大体出来た。 パッケージ名は、HTTP_OAuthServer。(暫定) 機能 ・2legged OAuth認証。 ・リクエストトークン発行。(3legged OAuth) ・ユーザ認可。(3legged OAuth) ・アクセストークン交換。(3legged OAuth) ・保…
要素の多いフォームを作るのが面倒だったのでフォーム生成ライブラリ作ってみた 実際はSmarty使うだろうからおそらくもっと楽 つかいかた ・addXXX() で要素追加 ・checkXXX() で入力チェック項目追加 ・setValue() で初期値セット ・getForm() でフォーム要…
それじゃあ誰の権限を持ってるか解らない。 今回の変更点。 consumer_keyを内部で持ってるSerialに置き換えた。 person_idもデータベースに入れる。(Authorizeの時) もう少しだけ親切なAuthorizeページ作成。 どうやら今週は土曜も日曜も仕事のようです。 残…
実装してみた。 仕様は前回の記事参照。 作っているうちにどんどん混乱してくるから、先にまとめておいてよかった。 今回の内容は、オフィシャルドキュメントの内容ではなく、個人的にこうやった、というまとめ。 今週の月曜日、mixiアプリが正式コンテンツ…
クエリによって、ソートしたり、オフセット/リミットを指定したり、カラムと値と比較方法を指定してフィルターをかけたり、その他いろいろある事を忘れていた。 その為には一発でデータを引いてくる必要がありそう。 今までperson_idを最初にとってからやっ…
phpinfoでなんかエラー出た。 Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used …
PHPでCRAM-MD5認証を行って、直接プロバイダのメールサーバにメールを送りつけてみる。 プロバイダがCRAM-MD5に対応しているのが前提。 多分この方法なら自分側にSendmail/Postfix/qmailなどのメールサーバが入ってなくても行ける。
サーバ側の認証処理をするクラス。 長いから全部は書かないけど。 header = apache_request_headers(); $this->input = file_get_contents('php://input'); $this->http_method = isset($this->header['HTTP_X_HTTP_METHOD_OVERRIDE']) ? $this->header['HTT…
PHPで。 最近仕事で2-legged OAuthに触れる機会があったので、その延長でOpenSocialのサービスプロバイダっぽいのを個人的に作ってみる。 HTTPメソッド クライアントがPUTとかDELETEとかのメソッドを使えない場合、リクエストヘッダーに"X-HTTP-Method-Overr…