Monthly Archives: September 2005

WinBinder: A native Windows binding for PHPを試してみた

WinBinder: A native Windows binding for PHP PHP-GTKというのは数年前使ったことがありましたが、こちらは初めて。実行すると普通のWindowsのアプリケーションっぽいインターフェイスで表示されます。 C:\WinBinder\Code\Samples>..\..\PHP\PHP4\php.exe hello.phpw Welcome to WinBinderというショートカットがデスクトップに作られるもののエラーで起動しなかったりソースが相対パスで書かれているので実行時にNo such fileとエラーが出たりしました。。 依存関係なしで全部まとめてexeにして作ったアプリを配布できるようにしてくれると、使ってみようという気になるのですがそれは無理みたいです。

Posted in いじる | 1 Comment

vimをIDE並にする.vimrc:もっと早く知っていればよかった

周囲ではどうも市民権を得られていませんが、エディターはvim派です。 Comfortable PHP editing with VIM -3- – Tobias Schlitt – a passion for php シリーズものの記事になっていて、最新は4。ここに載っている.vimrcはすごい!百聞は一見にしかず、ですがTabで関数名自動補完や括弧とダブルクォーテーションを自動挿入してカーソルを移動してくれる機能はVisualStudio以上とも思えます。 KaoriYa.netのそれとあわせて自分用に直してみました。一応、WindowsのgVim用です。(vimrc) 別途、funclist.txtというPHPの関数が羅列されたファイルも必要です。あとはフォントがOsakaだったり色はmidnight2を使っていたり。minibufexplというタブっぽくできるscriptも愛用中。 PHPのマニュアルは上記ブログではphpmというのが勧められていますがPHP5が必要なので使っていません。vim / Y’s memoに載っている PHP Manual in VIM(関数の上でShift-kを押すとマニュアル登場、UNIXのman風)が便利。 PEARなどソースを見ると、ぁ、vim使って書いてる、というのをちらほら見かけるので結構いるはずなのですがどうも肩身の狭いvim。リモートのLinux上でscreenとあわせてぽちぽち開発をするには非常にいいと思うので別の機会に紹介したいと思います。

Posted in いじる | 1 Comment

PHP Framework 比較表

各種PHPフレームワークの比較表を作ってみました。無数にあるのでGoogleで簡単に検索できたものをメインに試しています。より多くのフレームワークのリストはEthnaのページ(リンク切れ)が参考になります。主観はなるべく入らないようにしました。 » Compare PHP Frameworks / PHPフレームワーク比較表 表の項目の補足: Zip File Size:ダウンロードしたファイルのサイズ、基本的にZip Coding Standards:PEAR準拠か否か Requirement:PHP5とあるものはPHP4では動かない プロトタイプを作るために使える、という視点で見るとほとんどのフレームワークは巨大過ぎます。Biscuitのように小規模なものだと今度は設計にやや難があったり、自作した方が手になじむかもしれません。他人が書いたコードを理解するのには時間がかかるわけで自分で作ったほうが速い、となればフレームワーク自体が無数に作られているのもうなずけます。 とはいえ和製のEthnaとguessworkは小規模でドキュメントやサンプルも十分あるのでもう少し深く使ってみてもいいかな、と思いました。 2006年11月3日追記: PHP5のフレームワーク、Symfonyの24チュートリアルを実践してみることにした

Posted in いじる | Leave a comment

PEAR::DBより高速なADOdb(PHP版とExtension版)を試す

ADOdb Database Abstraction Library for PHP (and Python) for MySQL, PostgreSQL and many other databases PHPでデータベースへの接続は、今までPEAR::DBに頼っていましたが高速だと言うADOdbを試してみました。マニュアルは日本語訳もあり。 PHPで書かれた方は上記マニュアルの最小インストールに従い、ダウンロードした中からファイルを選んでパスの通るディレクトリに設置。DBはPostgreSQL7.3にしたのでdriversにはadodb-postgres7.inc.phpとadodb-postgres64.inc.phpが必要。PEAR::DBではTCP/IPではなくUNIXソケットでアクセスできましたが、$serverを”unix(/tmp)”だと動かなかったのでpostgresql.confやpg_hba.confを変更しました。 <?php include(‘adodb.inc.php’); $conn = ADONewConnection("postgres"); $conn->debug = true; $conn->Connect("localhost", "testuser", "test", "testdb"); $rs = $conn->Execute(‘select * from channel’); print "<pre>"; print_r($rs->GetRows()); print "</pre>"; ?> adodb.inc.phpをはじめ、コードを見るとPEARのコーディング規約には沿っておらず少々読みづらい。PEAR::DBとは関数名など使い方が違うので移行、という点では慣れるまでしばらくかかりそうです。データがなかったらINSERT、データがあったらUPDATEというのをReplaceという関数で簡単に記述できるそうなので(参考:(-_-)zzz….の記事)TRIGGERをセットするのが面倒な場合はいいかも。 もうひとつ、「Speed Up Your PHP Code with the ADOdb extension」という方も試してみました。こちらはCで書かれていて組み込みなので先ほどのPHPで書かれたものより速い。ダウンロードして解凍するとVisualStudio用のファイルがあってあれWindows用?と思いましたがREADME.txtを読むとそのままUNIX系でも大丈夫らしい。 解凍したディレクトリ内で、 # phpize(RPMの場合、php-devel必要) # [...]

Posted in いじる | Leave a comment

かっこいいFlashサイト:PICK UP THE BIG BLACK PENCIL

Big Ideas come out of Big Pencils 動きがしゃれているだけじゃなくてナビゲーションもしっかり。 uncomputable.org – world of bugs – 今流行りの甲虫。こちらもマウスカーソルがちょっと不思議な感じ。IE限定のようです。投稿形式のパソコンにまつわるbug集があったりします。

Posted in 感動する | Leave a comment

Ruby on Railsについて調べる

PHPのFrameworkをいろいろ試すかたわら、試すきっかけになったRailsについても調べてみました。 capsctrlの翻訳 – Ruby on Rails: David Heinemeier Hanssonへのインタビュー IBM dW : linux :Ruby on RailsによるWebアプリケーションの高速開発 – Japan Railsに懐疑的な意見も。この記事は言いたいことがわかりやすかったし共感できたが、PHPとRailsの比較は使う状況を特定しない限り、コメントにもあるようにリンゴとオレンジの比較のようで個人の好き嫌い、場合による、としか結論が出ない。 Quoderat ? Rails vs. PHP: MVC or view-centric? 僕がウェブアプリにPHPを使っている理由は、最初に覚えた言語だから、というのと「デバッグのしやすさ」「ドキュメントが適量で検索しやすい」この2つが大きい。豊富なネイティブ関数といい加減なコーディングを容認する手軽さも、とりあえず動くプロトタイプを作りたいホリデープログラミング向き。 PHPのフレームワークの比較にはもう少し時間がかかりそうです。

Posted in いじる | Leave a comment

Google Mapsで地図に線を引いてルートを友達に教えられるツール:GoogleMapsAPI+JSON-PHP

ホリデープログラミング。思わず夜更かし。 Google Maps Line Saver Google Maps APIを用いて地図上に線を引いて(クリックしていくと直線が引けます)Saveボタンを押すと固有のURLを作って保存することができます。渋谷の~って飲み屋で待ち合わせ、が、詳細な地図がない、というときにルートを書いてメールでURLを送れます。 Mapsにクリックして直線を引く方法はAhn Dal-Sooさんの日記を参考にさせていただいました。GPolylineというAPIの関数を使います。 JavaScriptから線の各頂点の座標を保存する際にXMLHttpRequestのPOSTで送るのですが書式にJSONを使ってみました。PHPはPEARのServices_JSONを利用。JavaScript部分はdumpだけですが「JKL.ParseXML – XML→JSON展開クラス」を利用させていただきました。簡単なデータの受け渡しはGETで十分ですが、複雑なときはJSONが便利そうです。 PHPで保存する部分では普段あまり使わないob_start()を使ってソースコード中にHTMLを書きやすくしてみました。ソースも公開しておきます。(save.phps) 2008年3月24日追記: save.phpsは問題のあるコードだったので少し修正しました。

Posted in つくる | 6 Comments

エレベーターアルゴリズム:頭の悪いエレベーター

たまに、不具合だろっ、と言いたくなるような動きをするエレベーターを見かけます。そういえばどんなアルゴリズムで動作しているんだろう、と思い軽く調べてみました。 Cagylogic: エレベーターアルゴリズム RED PONDUS DIRUPTIO: 会社のエレベータが馬鹿な点について 同じことを考えている人が見つかると嬉しい。 論文も出ているのだろうか、とGoogleScholarで検索すると、 Intelligent Elevator Control By Ordinal Structure Fuzzy Logic Algorithm リファーに日本人の論文がいくつかあって、さすが日本、と思いました。 ちょっと前にTVCMでも見かけたエレベーターのゲームもあります。 The Tower SP エレベーターのキャンセル技なるものも存在するようです。禁断の技のような気がしてまだ試していません。。 ビルの階数が低くエレベーターの台数が少ないときはいいですが、多くなったときはかなり複雑なアルゴリズムになることがわかりました。頭悪いなぁ、と思っても自分では直せなさそうです。

Posted in 感動する | Leave a comment

Google Blog Searchに「日本語のページを検索」を追加するGreasemonkey

意外とてこずりましたがGoogle Blog Searchに「日本語のページを検索」のオプションを追加するGreasemonkeyをつくってみました。ちょっと便利になったかな? googleblogsearchja.user.js 実際にはGoogleのそれとは違い、ラジオボタンをクリックするだけで再読み込みします。ちょっと急作りなので不具合があったら教えていただけるとうれしいです。 Google Suggestがついたらいいなぁ、と思いました。

Posted in つくる | 1 Comment

Microsoft Maxは言語の壁に阻まれ試せず

マイクロソフト、無償の写真共有ツール「Max」を公開 ロサンゼルス発–Microsoftは米国時間13日、次期バージョンのWindowsに組み込まれるグラフィックス処理機能を披露する目的でつくられた、無償の写真共有プログラムをリリースした。 Maxのサイトがかっこいいので試したかったのですが、にっくきエラーに阻まれ断念。WinFSのときも同じエラーが出たのですが今回はVirtualPCでは推奨スペックに満たないのであきらめました。今後のことを考えて、XPを英語版にしておくのも悪くないか。。 OSNewsによると(Vista’s Sidebar, Gadgets Unveiled; MS Releases Max, Monad Beta 2 – OSNews.com)他にもSidebarのGadgetのスクリーンショットも出ています。 Microsoft Gadgets Yahoo!が買収したKonfabulator(米Yahoo!、Konfabulatorを買収 – Yahoo! Widgetsとして無償公開へ (MYCOM PC WEB))と完全に競合するのでどうなるか。先のエントリーに書いたStart.comのGadgetと連携するようですがどんな風になるのか興味深いです。

Posted in いじる | Leave a comment

Page optimized by WP Minify WordPress Plugin