Monthly Archives: October 2006

symfonyチュートリアル実践【第1~2日目】

24日分に分かれたチュートリアルの1~2日目(3日目は非公式?)は日本語訳もありますがあきらめて英語のチュートリアル参照。 1日目 用意した環境は、FedoraCore5にRPMでPHP5.1.6、apache2.2.2、MySQL5.0.22。 最初に悩んだのが $ pear install symfony/symfony-beta βの方がいいのか?うーん。stable(0.6.3)でいくことにした。 $ pear install symfony/symfony httpd.confの設定でAllowOverride Allとしているのも速度的にどうなんだろう、とこの辺りは本番環境で変える必要がありそうです。 ローカルだけで動かしているマシンではないのでServerName askeetとなっている箇所は削除。 Subversionの設定の箇所は飛ばしました。 Congraturations!が表示されるまでは無事終了。 2日目 リアルに1日ずつやっていたら飽きること間違いなしなので勢いでやりつつブログ書いて自分にプレッシャーかける戦法で。 最初のsvn renameはSubversionを使っていないので単にmv。InnoDBの設定は無視。で、 $ symfony propel-build-model のところで早速、 PHP Fatal error: Class ‘DomDocument’ not found in ~ というエラー。 PHP: DOM XML Functions – Manual これがPHP5にはついているそうですがFedora5のPHPは–disable-domになっていたので # yum install php-dom としてphp-xmlをインストール。これで解決。 最初はそのまますんなりいき、ブラウザで http://askeet/question にアクセス! が、Oops!と怒られ500エラー。apacheのエラーログには何も出てこないので、デバッグの仕方がわからずとりあえずフォーラムで検索。 1日目にちゃんと書いてあったのを読め、という話ですが http://askeet/frontend_dev.php/question [...]

Posted in いじる | Leave a comment

PHP5のフレームワーク、Symfonyの24チュートリアルを実践してみることにした

背景: サーバでFedoraCore5を使っているため、PHP5を本格的に使うようになった やや複雑なウェブアプリを作ろうと思っているが自作フレームワークでは役不足 Yahoo!が自社サービスの構築にSymfonyを使ったという記事が目に入った(symfony PHP5 framework » Yahoo! bookmarks uses symfony) 検討材料: SymfonyはRailsと比べて遅いらしい。(Framework Performance in Ruby on Rails) PHPのフレームワークは、PHP/フレームワークで紹介されているだけでも26個ある。 symfonyの使える?バージョンによると安定性の面で若干不安。 フレームワークの規模が大きいと学習コストがかかる。ドキュメントの豊富さ。 フレームワークの数自体、以前比較した時よりずいぶん増えています。実行速度の比較は気になるところですが、悩んでも仕方ないのでPHP5用で一番ホットなSymfonyを試してみることにしました。 Yahoo!のエンジニアがSymfonyを採用した理由の最初に「Great documentation」を挙げていたのでsymfony advent calendarの24日分のチュートリアルを頭からいきます。

Posted in いじる | 1 Comment

ブログのレイアウトをちょっと変更&かっこいいサイト紹介

11月1日のCSS Rebootにあわせてリニューアルしてもよかったのですが、まぁ。 今回使わせていただいた素材。 Lido STF font family : MyFonts famfamfam.com: Silk Icons Google AJAX Search APIをGblogSearchをCo-opに変更。GblogSearchだと古い記事がヒットしなかったので。 参考: ブログのサイト内検索は、Google Co-op のカスタム・サーチエンジンできまり:Goodpic IE7では動かないらしいですが、、とりあえずいいでしょう。 あとリニューアルに直接関係はないですが、インスパイアされたかっこいいサイトをいくつか。 http://www.coreywecler.com/ 見た目もかっこいいですが何がすごいって、下のURLにアクセスしてみてください。 http://www.coreywecler.com/#corey Flashでちゃんと実装しているサイトを初めて見たような気がする。 [Self Titled] [Copyright © 2006 John Iacoviello] こちらはインタラクティブデザインが心地いい。

Posted in 感動する | Leave a comment

100shikilicious: 百式徹底解剖&開発合宿レポート

開発合宿に誘われて行ってきました。 開発合宿レポート10月版 今回は御殿場で! | i d e a * i d e a 僕が写ってる写真の後ろの部屋が青く光っていて怪しげですがプロジェクターの光です。 メインで作っていたものはまだお披露目できないのですが、開発マシンのCPUがうなりをあげている暇に作ったチョイアプリが以下。 100shikilicious: 百式徹底解剖 夕食前後にあれこれしゃべっている中で百式のデータで何かしよう、というシーズから生まれたアイディア。 百式の2005年から昨日までの記事で紹介されたサイトを、del.icio.usのブックマーク数でランキングしてみました。隣にはてなブックマーク数も載せています。 海外と日本とでだいぶ反応に違いがあることが見てとれます。はてブの方は、百式に影響されてブックマーク数を伸ばしたサイトも多いかもしれません。 合宿自体は、かなり開発が進んだので大満足。アルゴリズムをうんうん唸って考えるのには向いていませんが、コーディングするには程よい緊張感が普段より集中力を増してくれた感じ。 また行きたいですね。 僕的なポイント。 あらかじめ、やることをだいたいリストアップしておく(以前の開発合宿のレポートにそう書いてあったので実践したのがよかったっぽい) スゴイ人と一緒だと細かい会話の中にもスゴイTIPSが潜んでいるので聞き逃せない! 他の人に合わせないでちゃんと寝る(睡眠時間短いとダメな性質なので。スタンドアローンに開発している4人なのでOKでした) 合宿中、天気はかなり荒れていましたが晴れ間の見えた隙に撮った写真をいくつか。

Posted in つくる | 1 Comment

PostgreSQLで巨大データを扱うときのTIPS

1つ目が「indexは後からつける」 create table test ( id integer, title varchar(255) ); こんなテーブルにCOPYでインポートするとき、 create index test_idx on test(title); こういったindexを先につけてから実行すると30万行のデータで10分程度。6000万行あると72時間程度経っても終わらず。 indexなしなら10分で6000万行いけました。データが入った後のcreate indexには1~2時間。 動作環境はCPU 2.80GHz、Memory 1GでFedoraCore5にPostgreSQL8.1.4。 2つ目が「テーブルごとにデータをエクスポートするときはpg_dumpではなくてCOPY」 バックアップ用のpg_dumpを使うと簡単ですが、-tでテーブルを指定するとCOPY文にならずにINSERT文で出力される。オプションで指定しなくてもそうなってしまうのでちょっと謎。COPY TO~でエクスポートすれば確実にCOPY用のタブ区切りテキストで出力される。 3つ目が「pg_ctl kill TERM [PID]で無理矢理止める」 長時間かかるSQLをnohupなどで実行した時はpsでプロセスIDを確認したあと pg_ctl kill TERM 10190 などとして止める。ちなみにMySQLのときは mysqladmin processlist(idのリストが表示される) mysqladmin kill id 巨大データ関係では、MLでも質問が出ていました。 [pgsql-jp: 35499] 巨大なテーブルの移行 PowerGresは速いらしい。 第 3 回 高速 COPY コマンドの活用 – 性能チューニングのポイント

Posted in いじる | 3 Comments

eAccelerator 0.9.5 PHP5.1, 5.2に対応してリリース

Release-0.9.5 – eAccelerator – Trac PHP5.1系及びもうすぐ登場するであろう5.2に対応してくれました!

Posted in いじる | Leave a comment

WordPressの便利なプラグイン(英語圏向け)

My Top 10 Best WordPress Plugins « John Chow dot Com WordPressのステキなプラグイン10個が紹介されています。 Sidebar Widget AdSense Deluxe Digg This Feedburner Feed Replacement Related Posts Recent Comments Optimal Title Google Sitemap Generator Akismet Comment Spam Killer WordPress Database Backup それぞれのリンクは上記ブログから辿ってください。 この中で自分も使っているのはAkismetと改造したRecent Commentsだけですが、ちょっと気になったのはRelated Posts。プラグインの作者がMr.WASABI。 WASABI » Blog Archive » WordPress Related Entries 2.0 MySQLの全文検索を使っている。 MySQL 4.1 リファレンスマニュアル :: [...]

Posted in いじる | Leave a comment

はてブカウンタのXML-RPC API用のシンプルなPHPコード

引数にホスト名、返り値がブックマーク数だけなので何十kもあるXML-RPCのライブラリをインクルードするのが無駄に思えて、HTTPの通信ごと自前で書いてみました。富豪的プログラミングにあるまじき汎用性のない行為ですが。 <?php function getHatenaBookmarkCount($query) { $host = ‘b.hatena.ne.jp’; $fp = fsockopen($host, 80); if (!$fp) { die("cannot connect b.hatena.ne.jp\\n"); } $xml = ‘<?xml version="1.0"?><methodCall><methodName>bookmark.getTotalCount</methodName><params><param><value><string>’.$query.’</string></value></param></params></methodCall>’; $len = strlen($xml); $request = "POST /xmlrpc HTTP/1.0\\r\\nHost: $host\\r\\nUser-Agent: zuzara-http-client\\r\\nContent-Type: text/xml\\r\\nContent-Length: $len\\r\\n\\r\\n"; $request .= $xml."\\r\\n\\r\\n"; fwrite($fp, $request); $res = ”; while (!feof($fp)) { $buf = fgets($fp); $res .= $buf; } fclose($fp); if [...]

Posted in いじる | Leave a comment

Google Code Search来たる

Google Code Search 待ってました!

Posted in 感動する | Leave a comment

忘れた頃にDukeマウスが届いた

7月に出したSun×RECRUIT Mash up Awardは全然ダメでしたが早めに出したのが功を奏して、先着30名の参加賞のDukeマウスがもらえました。滑り心地がよくて案外悪くない。 ちなみにマウスはここ5年程、ELECOMのM-FG2UP2RBKを愛用しています。

Posted in 感動する | Leave a comment

Page optimized by WP Minify WordPress Plugin