<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>SNS構築の手嶋屋 &#187; 開発者ブログ</title>
	<atom:link href="http://www.tejimaya.com/category/developer/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tejimaya.com</link>
	<description>ゲームから大企業まであらゆる組織のSNSを成功に導きます</description>
	<lastBuildDate>Sat, 31 Jul 2010 14:56:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/category/developer/feed" />
		<item>
		<title>Have a good Symfony Day!</title>
		<link>http://www.tejimaya.com/archives/4513</link>
		<comments>http://www.tejimaya.com/archives/4513#comments</comments>
		<pubDate>Tue, 01 Dec 2009 16:22:26 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=4513</guid>
		<description><![CDATA[				
				開発部の海老原です。
				日本時間の昨日（2009/12/01）、 OpenPNE3 で使っている symfony 1.2.10、 symfony 1.3.0、 symfony 1.4.0 のリリー [...]]]></description>
			<content:encoded><![CDATA[				<p><img src="http://www.tejimaya.com/wp-content/uploads/2009/12/picture（2009-12-02-1.18.21）.PNG" alt="picture（2009-12-02 1.18.21）" title="picture（2009-12-02 1.18.21）" width="527" height="212" class="aligncenter size-full wp-image-4518" /><br />
				開発部の海老原です。</p>
				<p>日本時間の昨日（2009/12/01）、 OpenPNE3 で使っている symfony 1.2.10、 symfony 1.3.0、 symfony 1.4.0 のリリースがありました。そして今日、 <a href="http://www.symfony-project.org/blog/2009/12/01/one-more-thing">なんと新しいアドベントカレンダーがはじまりました！</a>（しかも、<a href="http://www.symfony-project.org/advent_calendar/1/ja">もう日本語でも読むことができます！</a>）<br />
				この「アドベントカレンダー」というのは、 symfony 1.0 がリリースされた 2005 年の 12 月、そして symfony 1.2 がリリースされた 2008 年の 12 月におこなわれた、 12 月 1 日からクリスマスまでの間、チュートリアルを 1 日 1 章 symfony の公式ブログで公開していくという試みです。</p>
				<p><a href="http://www.symfony-project.org/advent_calendar/"><img alt="More with symfony" src="http://books.sensiolabs.com/images/covers/9782918390176-3d.jpg" title="More with symfony" width="260" height="321" /></a></p>
				<p>さて、この新しいアドベントカレンダー、 「もっと知りたいsymfony(More with symfony)」 ですが、 1 日目の中程に僕の名前があるのに気がついた方はいらっしゃるでしょうか。</p>
				<p><img src="http://www.tejimaya.com/wp-content/uploads/2009/12/picture（2009-12-01-22.03.49）.PNG" alt="picture（2009-12-01 22.03.49）" title="picture（2009-12-01 22.03.49）" width="227" height="95" class="alignnone size-full wp-image-4514" /></p>
				<p>実は今回のアドベントカレンダーの翻訳では僕も参加しており、微力ながらプロジェクトに貢献をさせていただきました。<br />
				僕が翻訳を担当した章の公開はもう少し先の話になりますが、どの章をとっても symfony ユーザー垂涎ものの内容ばかりですので、毎日を楽しみにしていてください！</p>
				<p>日本時間ではもう 12 月 1 日が終わってしまいましたが、 symfony はフランス製。まだまだ <a href="http://twitter.com/fabpot/status/6228589906">2009 年の Symfony Day</a> はこれからです。<br />
				というわけで、まだ symfony を触ったことがない！　という方も、 1.x の最後の LTS (長期サポートのバージョン) が出て、翻訳チームの方々の尽力により日本語のドキュメントもばっちり揃ったこの記念すべき Symfony Day をきっかけに、是非 symfony の世界に足を踏み入れてはいかがでしょうか。<br />
				（そして symfony に慣れてきたら、どうぞ OpenPNE 開発にも足を踏み入れてみてください！　お待ちしています！）<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/2951" rel="bookmark" title="2009/07/16">社内勉強会で『symfony 開発見学ツアー+symfony 1.3 ってなんなんだー』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/328" rel="bookmark" title="2008/05/25">手嶋ゼミでの休日プログラミング</a></li>
				<li><a href="http://www.tejimaya.com/archives/327" rel="bookmark" title="2008/05/25">休日プログラミング：Day2</a></li>
				<li><a href="http://www.tejimaya.com/archives/3618" rel="bookmark" title="2009/09/21">symfony 1.3 で Symfony Templating を試してみた</a></li>
				<li><a href="http://www.tejimaya.com/archives/1723" rel="bookmark" title="2009/05/18">symfony勉強会/懇親会で『ルーティングを使ってシンプルなアプリケーション開発を』という発表をしてきました</a></li>
				</ul>
				<p><!-- Similar Posts took 4.944 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/4513/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/4513" />
	</item>
		<item>
		<title>OSS を育てるために僕らができること</title>
		<link>http://www.tejimaya.com/archives/4183</link>
		<comments>http://www.tejimaya.com/archives/4183#comments</comments>
		<pubDate>Fri, 09 Oct 2009 20:24:16 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=4183</guid>
		<description><![CDATA[				開発部の海老原です。
				先日、 htmlspecialchars() の文字エンコーディングのチェックが甘く、これを利用して XSS に利用される危険があるということで日本人の岩本さんがパッチを提供しました [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部の海老原です。</p>
				<p>先日、 <a href="http://d.hatena.ne.jp/IwamotoTakashi/20091006/p1">htmlspecialchars() の文字エンコーディングのチェックが甘く、これを利用して XSS に利用される危険があるということで日本人の岩本さんがパッチを提供しましたが、却下されてしまっていました</a>。<br />
				（ただ現時点で、 <a href="http://d.hatena.ne.jp/moriyoshi/">id:moriyoshi</a> さんにより Subversion 上の PHP では<a href="http://bugs.php.net/bug.php?id=49785">対応済み</a>です。ありがとうございます）</p>
				<p>この件について各所で議論がされていました。<br />
				大まかな流れについては、<a href="http://www.tokumaru.org/d/20091009.html#p01">徳丸浩さんがブログでまとめておられます</a>。<br />
				このエントリ中で、「このあたりから、一連の流れが広く知られるようになって、『もっと効果的な訴求方法があるよ』とか、海老原昂輔さんからもバグレポートが投稿されるなどの働きかけが始まっているようです。海老原さんのレポートには私のエントリも英訳されていて、本当にありがとうございます。」という風に述べられているように、僕も<a href="http://marc.info/?l=php-internals&#038;m=125503005412795&#038;w=2">バグレポートの reject に対して抗議をしたり</a>、その抗議のよりどころとして<a href="http://www.tokumaru.org/d/20090930.html#p01">徳丸浩さんのエントリ</a>と <a href="http://d.hatena.ne.jp/t_komura/20091004/1254665511">id:t_komura のエントリ</a>を英訳し、<a href="http://co3k.org/sample/php_bugs_49785.html">レポートとしてまとめたり</a>しました（お二方にはこの場を借りて厚く御礼申し上げます）（僕のひどい英語についてはとりあえず目を瞑ってください……）。</p>
				<p>ここまで読んで、こんな疑問を思った方はいらっしゃるでしょうか。「なぜ手嶋屋というアプリ屋の人間が / OpenPNE の開発者が PHP 内部のことに口を出すのだろう」と。<br />
				僕個人はあまり PHP に愛着を持っているわけではありませんし、文字エンコーディングについて精通しているわけでもありません。ただ、僕は、ひとりの OSS 開発者としてこの問題を見過ごせなかったのです。</p>
				<p>ちょっと長くなってしまいましたが、このエントリでは、「なぜ海老原がそんなことを」ということから「OSS を育てるには？」というところをお話ししたいと思っています。<br />
				もちろん一口に OSS といっても様々ですので、すべてのプロジェクトに当てはまるとは思っていませんが、みなさんが「自分ももっと OSS に貢献してみよう」と思うきっかけになれば幸いです。<br />
				<span id="more-4183"></span><br />
				僕は 2005 年 12 月、 17 歳の時から手嶋屋で OpenPNE プロジェクトに携わってきました。まだまだ未熟者ではありますが、 OSS 開発の素晴らしさや辛さを身をもって知り、 現在では OpenPNE の lead として毎日できるだけ多くの時間を OpenPNE を発展させるために注いでいます。</p>
				<p>僕は日本大学芸術学部演劇学科を中退し、現職に就いています。細々と演劇をやってきた僕が最近思うのが、「ああ、 OSS と演劇ってすごく似ているな」ということです。<br />
				演劇の三大要素として「脚本」（もしくは「舞台」）、「役者」、「観客」というものがあります。 OSS でも、「ソフトウェア」、「開発者」はもちろんのこと、「ユーザ」の存在が重要だと思っています。</p>
				<p>観客がいない芝居は存在しないのと同じです。観客を意識してこそ受け入れられる芝居作りができます。演劇は「今、ここに」の芸術で、何度同じ題目の芝居をやってもまったく同じ作品になるということはなく、その上演の観客のリアクションや会場の雰囲気、役者やスタッフのモチベーションや脚本への理解度など様々な要素によって大きく変化していきます。<br />
				これを OSS に置き換えて読んでみてください。なんとなく似ているなという気がしません？</p>
				<p>OSS を支えるもっとも大きな力となっているのは開発者ではありません。ユーザです。<br />
				たとえば、 OpenPNE3 からは国際化対応が可能になったものの、実際はそれを希求するユーザが少なかったために優先度が下がっていました。ところが先ほど、台湾の <a href="http://twitter.com/finjonkiang">Finjon Kiang</a> さんから質問を受けチャットでお話しさせていただいたことをきっかけに、海老原が重い腰を上げて <a href="http://twitter.com/co3k/status/4732776151">まずは第一歩として日曜日までに英語のドキュメントを揃える約束をしました</a>。また、彼からフィードバックを受け、非日本語圏ユーザの対応を進める考えを持っています。彼から相談を受けなければ僕は現時点で行動することはなかったでしょう。ユーザの力というのはそれほど重要のものなのです。</p>
				<p>ただ、 Finjon さんにはお会いしたことがあったり、たまたま僕の仕事が一段落したところで親切に対応する余裕があった、ということで前述の件はあくまでうまくいった例に過ぎません。実際はそんなに簡単に行かないこともあると思います。今回の htmlspecialchars() の件のように。</p>
				<p>OSS 開発者も一人の人間ですから、認識が甘かったり視野が狭かったり思い込みが激しかったり体調が悪かったりなどあると思います。たとえば僕にはアラビア語のように右から左に読む言語についての知識が皆無ですし、アラビア語圏の人々に関する理解もまったくありません。そんななかで「OpenPNE をアラビア語に対応してくれ」と言われても渋ってしまうでしょう。しかし、たとえば、「アラビア語に対応するにはこんなビューの設計じゃダメだ、こうしなくては」と提案をもらったり、「エジプトでは SNS のようなコミュニティサイトが強く求められているのだ」というような要望をもらい続ければ、やはり人間ですから、「ああ、なんとかしなくてはな」と動き出すに違いありません。たとえそうならなかったとしても、公開の場で「この海老原というリードデベロッパーは頭の固い奴でアラビア語の一つもロクに対応してくれない卑劣な人間だ。なんとかしてくれ」と他の開発者やユーザに泣きつけば、僕がひどいバッシングを受けてしぶしぶ対応するか、もしくは他の意欲的な人が対応を進めてくれるかもしれません。<br />
				ただ、最初の要望の段階で「ああやっぱりアラビア語なんかには対応してくれないのか」と諦めてしまっては、そこで終わりです。たぶん僕も「ああその程度の熱意だったのね」と感じで別のバグや要望に取りかかって忘れ去ってしまうことでしょう。これは、ソフトウェアを使いたいユーザにとっても、ソフトウェアを使ってもらいたい開発者にとっても、お互いに損でしかありません。</p>
				<p>僕は今回、htmlspecialchars() の問題を遠巻きに見ていましたが、今回パッチを提供された岩本隆史さんが諦めそうになっていたことを<a href="http://akimoto.jp/blog/2009/10/08/bug-report-in-foreign-language/">秋元さんのエントリ</a>で知り、とても辛い気持ちになりました。同じく OSS にかかわる人間として、 jani さんの対応はひどいなと思うのと同時に、 reject した彼の気持ちもわかるのです。 PHP のバグレポートの量やバグの複雑さといったら、とても OpenPNE の比ではないでしょう。そんななか PHP を進化させるためにバグレポートをトリアージしていく労力といったら、察するにあまりあるほどです。そこで一つのチケットを誤ってぞんざいに処理してしまったとしたら、それは非難されて当然とはいえ仕方がないことだともいえます。<br />
				一方で、岩本さんの辛さもわかるのです。僕もいくつかのプロジェクトにユーザとして英語でバグレポートを書いたりパッチを提供したりしていますが、そのうちのいくつかは通りいくつかは reject されました。せっかく慣れない英語で時間をかけてレポートを書き上げたのに理不尽な理由で reject されたときや、「もう 1 ヶ月前にその問題は自分が見つけたから待っててよ」などと言われた日には、ついふて腐れて反論する気も失せてしまいますよね。</p>
				<p>ただ、ここまできてこの問題がそのままになってしまうのは、先ほども申し上げたとおり両者にとってデメリットです。僕は OSS にユーザと開発者の両方の立場で携わるものとして、一つのコントリビュートが死んでしまうのを見るのは耐えられなかったのです。そして、なんとかこの問題をあらゆる人が納得のいく結末まで持って行きたい、というその一心で、下手でめちゃくちゃな英語ですが ML に抗議をし、参考になる日本語のエントリを超訳で英訳するという行動を起こすに至ったのです。</p>
				<p>秋元さんはかなりヘビーなところまで要求されていましたが、幸運にも本件はすぐに多くの人々から注目を浴び、多くの人が行動を起こし、ついに Subversion にコミットされるに至りました。<br />
				しかしこれはあくまでたまたまこれが注目を浴びたからであって、運が悪ければ、場合によっては秋元さんが挙げておられるような手段をいくらでも用いて、熱意を持って根気強く、対応されるまで努力し続ける必要があったとしてもおかしくありません。</p>
				<p>OSS は言うなれば、「ユーザ参加型ソフトウェア」です。<br />
				ユーザは質のいいアプリケーションをほとんど自由に使うことができるようになると同時に、「品質向上のためには自分もユーザとして行動しなければならない」という責務を負います（もちろん質に満足していればその必要はないです）。<br />
				本当にソフトウェアをよくしたいのであれば、たとえ開発者がダメな人間ばかりであったとしても、行動するべきです。今回岩本さんをはじめとする多くの人々がそうしたように。</p>
				<p>ということで、みなさん、普段使っている OSS に対して不満はありませんか？　もしあれば、解決するために行動してみませんか？　みなさんは既にユーザとしてソフトウェアをよくする切符を持っているわけで、それを使わないのはもったいないと思います。気が向いたときにでも是非やってみてください。 OSS の成長に貢献するのは、きっと想像以上に面白いはずですよ。<br />
				（もし不満のある OSS がないという方は、まだ発展途上の OpenPNE3 のユーザになってみてください。きっとやりがいがあるんじゃないかと思います）<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/414" rel="bookmark" title="2007/05/08">OpenPNEプロジェクトのレポジトリ構造を作っています。</a></li>
				<li><a href="http://www.tejimaya.com/archives/4471" rel="bookmark" title="2009/11/24">OpenPNEでソフトウエア産業を生き残る技を磨く</a></li>
				<li><a href="http://www.tejimaya.com/archives/5388" rel="bookmark" title="2010/04/12">テクノロジストのアウトドア入門</a></li>
				<li><a href="http://www.tejimaya.com/archives/1310" rel="bookmark" title="2009/03/03">Dropboxが友達紹介キャンペーンを始めた</a></li>
				<li><a href="http://www.tejimaya.com/archives/1362" rel="bookmark" title="2009/03/07">OpenPNE 開発者流のソースコードの追い方 #1 &#8211; ack 編</a></li>
				</ul>
				<p><!-- Similar Posts took 5.089 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/4183/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/4183" />
	</item>
		<item>
		<title>コミットメッセージに Issue ID を含むことを強制させる Git のフックスクリプトを書きました</title>
		<link>http://www.tejimaya.com/archives/4104</link>
		<comments>http://www.tejimaya.com/archives/4104#comments</comments>
		<pubDate>Tue, 06 Oct 2009 13:50:55 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=4104</guid>
		<description><![CDATA[				開発部の海老原です。
				OpenPNE プロジェクトで必要になったので、コミットメッセージに Issue ID を含むことを強制させる Git のフックスクリプトを書いてみました。
				gist にコー [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部の海老原です。</p>
				<p>OpenPNE プロジェクトで必要になったので、コミットメッセージに Issue ID を含むことを強制させる Git のフックスクリプトを書いてみました。<br />
				<a href="http://gist.github.com/202866">gist にコードをあげたので</a>、是非ご自分の clone の .git/hooks/commit-msg 向けに変更して使ってみてください。<br />
				（僕はあまりシェルスクリプトを書き慣れてはいないので、指摘などもお待ちしています）</p>
				<p><script src="http://gist.github.com/202866.js"></script></p>
				<p>これを使うことで、たとえばコミットメッセージを含まないメッセージを記述した場合、エラーとなってコミットできないようになります。<br />
				<img src="http://www.tejimaya.com/wp-content/uploads/2009/10/picture（2009-10-06-22.44.05）.PNG" alt="picture（2009-10-06 22.44.05）" title="picture（2009-10-06 22.44.05）" width="299" height="33" class="alignnone size-full wp-image-4105" /></p>
				<p>また、 curl が実行可能な場合、 http://redmine.openpne.jp/ から Issue のタイトルを取得して表示させます。もし間違えた Issue を指定した場合でも、 git commit &#8211;amend ですぐにコミットを訂正することができます。</p>
				<p><img src="http://www.tejimaya.com/wp-content/uploads/2009/10/picture（2009-10-06-22.47.12）.PNG" alt="picture（2009-10-06 22.47.12）" title="picture（2009-10-06 22.47.12）" width="457" height="72" class="alignnone size-full wp-image-4106" /></p>
				<p>OpenPNE プロジェクトや手嶋屋での開発のように、チケットや Issue に強く依った開発をしている場合、コミット毎に Issue ID を強制することはかなり有効に働くはずです。是非活用してみてください。<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/5811" rel="bookmark" title="2010/06/22">ソーシャルＣＲＭについてのセミナーを開催@四谷三丁目 （7/1 7/16 16:00〜）</a></li>
				<li><a href="http://www.tejimaya.com/archives/5000" rel="bookmark" title="2010/01/30">はまったレポート：OpenPNE3プラグイン公開の手続き</a></li>
				<li><a href="http://www.tejimaya.com/archives/3618" rel="bookmark" title="2009/09/21">symfony 1.3 で Symfony Templating を試してみた</a></li>
				<li><a href="http://www.tejimaya.com/archives/1628" rel="bookmark" title="2008/08/05">【イベント】エンジニア・アワード報告　-前編-</a></li>
				<li><a href="http://www.tejimaya.com/archives/5980" rel="bookmark" title="2010/07/13">「オープン・コア・ビジネスモデルはよろしくない」From:八田さんつぶやき</a></li>
				</ul>
				<p><!-- Similar Posts took 6.333 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/4104/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/4104" />
	</item>
		<item>
		<title>symfony 1.3 で Symfony Templating を試してみた</title>
		<link>http://www.tejimaya.com/archives/3618</link>
		<comments>http://www.tejimaya.com/archives/3618#comments</comments>
		<pubDate>Mon, 21 Sep 2009 10:52:53 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=3618</guid>
		<description><![CDATA[				開発部の海老原です。
				本日、 Symfony Components に Symfony Templating が追加されました。
				Symfony Components というのは Symfony  [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部の海老原です。</p>
				<p>本日、 <a href="http://components.symfony-project.org/">Symfony Components</a> に <a href="http://components.symfony-project.org/templating/documentation">Symfony Templating</a> が追加されました。</p>
				<p>Symfony Components というのは Symfony 2 の構成要素となるライブラリ群のことですが、これらのライブラリは Symfony 2 とは関係なく独立して使用することができます。公開当初からドキュメントが完全に揃っていたり、ユニットテストのカバレッジが 100 % と謳われているなど、 symfony 以外で利用する場合でも魅力的なのではないでしょうか。</p>
				<p>個人的にこのコンポーネントには <a href="http://fabien.potencier.org/talk/23/phpday-2009-symfony-2">Symfony2 に関するプレゼンテーション</a> が公開されたときから注目していました。</p>
				<p>Symfony Templating はいくつかの機能を備えています。ヘルパーはもちろん、テンプレートの継承や、ファイルだけでなくデータベース、メモリからのテンプレートの読み込みを可能にする機構（デフォルトはファイルのみ）、Smarty などの複数のパーサの利用を可能にする機構（デフォルトは PHP のみ）などです。<br />
				※かなりおおざっぱに紹介しているので、詳細は <a href="http://components.symfony-project.org/templating/documentation">ドキュメント</a> を参考にしてください。</p>
				<p>管理画面からテンプレートの設定などをおこなう OpenPNE のようなソフトウェアにとって、複数のあるストレージやパーサを利用できるというのは非常に魅力的です。</p>
				<p>ということでさっそく symfony 1.3 で Symfony Templating を使ってみたので紹介してみます。</p>
				<p>※symfony ユーザとして世界ではじめて Symfony Templating を使う、というのを目指してみましたが、実のところどうだったんでしょう……</p>
				<h3>試してみたときのコード</h3>
				<p>試してみたときのコードを GitHub で公開しています。<br />
				<a href="http://github.com/ebihara/examine-template/tree/master">http://github.com/ebihara/examine-template/tree/master</a></p>
				<p>たいしたものではないですが clone や fork や pull リクエストはご自由にどうぞ！</p>
				<h3>symfony で使う手順</h3>
				<h4>プロジェクトなどの生成</h4>
				<p>プロジェクト、アプリケーション、モジュールを生成してください。</p>
				<h4>Symfony Templating の追加</h4>
				<p>lib/vendor 以下に Symfony Templating を追加してください。</p>
				<p><code>$ svn co http://svn.symfony-project.com/components/templating/trunk/lib/ lib/vendor/SymfonyTemplating</code></p>
				<h4>sfTemplatingComponentView.class.php の追加</h4>
				<p>lib/view 以下に拙作の sfTemplatingComponentView.class.php を追加してください</p>
				<p><code>$ curl http://github.com/ebihara/examine-template/raw/master/lib/view/sfTemplatingComponentView.class.php > lib/view/sfTemplatingComponentView.class.php</code></p>
				<h4>オートローダーの設定</h4>
				<p>Symfony Templating 内のクラスがオートロードされるようにします。</p>
				<p>config/ProjectConfiguration.class.php を以下のように変更してください。<br />
				<a href="http://github.com/ebihara/examine-template/commit/a2bf730058cd1fc58c1058b3f676b3e4b8422eba">http://github.com/ebihara/examine-template/commit/a2bf730058cd1fc58c1058b3f676b3e4b8422eba</a></p>
				<h4>View で Symfony Templating を使うように変更する</h4>
				<p><a href="http://github.com/ebihara/examine-template/commit/62ce58a3a653ae390374e2f1b882c1e06f1ff992">http://github.com/ebihara/examine-template/commit/62ce58a3a653ae390374e2f1b882c1e06f1ff992</a> の通りにやれば OK だと思います。以下にかみ砕いて説明します。</p>
				<p>まず、ビュークラスとして拙作の sfTemplatingComponentView を使用するようにモジュールの module.yml に設定を記述します。</p>
				<blockquote><pre><code>
default:
  view_class: sfTemplatingComponent
</code></pre>
				</blockquote>
				<p>また、アプリケーションの layout.php を、 Symfony Templating 向けに書き換えます。<br />
				layout.php で $sf_content を出力しているところを、 $this->get(&#8217;content&#8217;) の返り値を出力するように変更します。</p>
				<blockquote><pre><code>
&lt;?php echo $this-&gt;get('content') ?&gt;
</code></pre>
				</blockquote>
				<p>テンプレートでは、先ほどの layout.php を継承するために記述を加えます。</p>
				<blockquote><pre><code>
&lt;?php $this-&gt;extend('layout.php') ?&gt;
</code></pre>
				</blockquote>
				<p>これで晴れて Symfony Templating が使えるようになるはずです！</p>
				<p>sfTemplatingComponentView でいろいろやっているので、アクションからアサインされた変数を使用したり、ヘルパー関数を呼んだり、ということもいままで通りできます。</p>
				<h4>それからどうするの？</h4>
				<p>ここまででとりあえず Symfony Templating が手軽に使えるようになったと思います。</p>
				<p>Symfony Templating の使用方法については <a href="http://components.symfony-project.org/templating/documentation">ドキュメント</a> に詳細な解説があるのでそちらを参考にしてください。</p>
				<p>また時間があるときに、 Symfony Templating 自体の具体的な活用方法について紹介していければと思います！<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/2951" rel="bookmark" title="2009/07/16">社内勉強会で『symfony 開発見学ツアー+symfony 1.3 ってなんなんだー』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/5820" rel="bookmark" title="2010/06/23">【OP3TIPS】イベントフックの方法</a></li>
				<li><a href="http://www.tejimaya.com/archives/1723" rel="bookmark" title="2009/05/18">symfony勉強会/懇親会で『ルーティングを使ってシンプルなアプリケーション開発を』という発表をしてきました</a></li>
				<li><a href="http://www.tejimaya.com/archives/5973" rel="bookmark" title="2010/07/09">【OP3TIPS】無ドキュメント時代の関数リファレンス</a></li>
				<li><a href="http://www.tejimaya.com/archives/1354" rel="bookmark" title="2009/03/05">symfony 開発者の Fabien Potencier さんにお会いしました</a></li>
				</ul>
				<p><!-- Similar Posts took 6.727 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/3618/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/3618" />
	</item>
		<item>
		<title>社内勉強会で『OpenPNE3とOAuth』という発表をしました</title>
		<link>http://www.tejimaya.com/archives/3317</link>
		<comments>http://www.tejimaya.com/archives/3317#comments</comments>
		<pubDate>Tue, 18 Aug 2009 02:12:18 +0000</pubDate>
		<dc:creator>Shogo Kawahara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=3317</guid>
		<description><![CDATA[				開発部アルバイト川原です。
				今日も元気に開発中のOpenPNE3ですが、
				OpenPNE3.1.2からOAuthによるアクセス制御なるものが実装されるぜ！　(trunkでは既にできている）
			 [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部アルバイト川原です。<br />
				今日も元気に開発中のOpenPNE3ですが、<br />
				OpenPNE3.1.2からOAuthによるアクセス制御なるものが実装されるぜ！　(trunkでは既にできている）<br />
				ということなので、この題材を扱ってみました。</p>
				<div style="width:425px;text-align:left" id="__ss_1874460"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ooharabucyou/oauth-with-openpne3" title="OAuth with OpenPNE3">OAuth with OpenPNE3</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openpne3oauth-090817202320-phpapp02&#038;stripped_title=oauth-with-openpne3" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openpne3oauth-090817202320-phpapp02&#038;stripped_title=oauth-with-openpne3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
				<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ooharabucyou">Shogo Kawahara</a>.</div>
				</div>
				<p>まだまだ、改善の余地がありますが（特に認可画面）、<br />
				興味のある方は是非ともいろいろ実験してみてください。<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/2108" rel="bookmark" title="2009/06/22">社内勉強会で『OAuthで気持ちのいいアクセス制御を』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/4446" rel="bookmark" title="2009/11/14">twitter投稿クライアント名を指定する。</a></li>
				<li><a href="http://www.tejimaya.com/archives/3393" rel="bookmark" title="2009/08/28">チームでオリジナルのG-SHOCKをオーダーできるサービス。</a></li>
				<li><a href="http://www.tejimaya.com/archives/448" rel="bookmark" title="2006/08/24">SonyAmericaが買収したGrouperを小窓にしてみた。</a></li>
				<li><a href="http://www.tejimaya.com/archives/5948" rel="bookmark" title="2010/07/06">OpenPNE3をベースにTwitterクローンをつくる</a></li>
				</ul>
				<p><!-- Similar Posts took 6.211 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/3317/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/3317" />
	</item>
		<item>
		<title>社内勉強会で『symfony 開発見学ツアー+symfony 1.3 ってなんなんだー』という発表をしました</title>
		<link>http://www.tejimaya.com/archives/2951</link>
		<comments>http://www.tejimaya.com/archives/2951#comments</comments>
		<pubDate>Wed, 15 Jul 2009 16:20:26 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://0625.tejimaya.com/?p=2951</guid>
		<description><![CDATA[				開発部の海老原です。みなさん今日も symfony 1.3 使ってますか？
				ということで技術ネタです。
				# 最近勉強会ネタばかりになってしまっていますが、落ち着いたら「コードの追い方」シリーズのよ [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部の海老原です。みなさん今日も symfony 1.3 使ってますか？<br />
				ということで技術ネタです。<br />
				# 最近勉強会ネタばかりになってしまっていますが、落ち着いたら「コードの追い方」シリーズのようなものをまた連載していこうと思います。</p>
				<p>今日、社内勉強会で、『symfony 開発見学ツアー+symfony 1.3 ってなんなんだー』というタイトルで発表したので、その資料を公開します。</p>
				<div style="width:425px;text-align:left" id="__ss_1729064"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ebihara/introduction-of-symfony-development-process-whats-symfony-13" title="Introduction of symfony development process &amp; What&#39;s symfony 1.3?">Introduction of symfony development process &amp; What&#39;s symfony 1.3?</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony13nannanda-090716053858-phpapp01&#038;stripped_title=introduction-of-symfony-development-process-whats-symfony-13" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony13nannanda-090716053858-phpapp01&#038;stripped_title=introduction-of-symfony-development-process-whats-symfony-13" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
				<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ebihara">ebihara</a>.</div>
				</div>
				<p>弊社開発部はプログラマでないスタッフも多いので、前半はそういったスタッフ向けに、後半はバリバリに symfony 1.2 で開発をしているスタッフ向けにという二部構成で発表をおこないました。</p>
				<p>OpenPNE 開発の中心となっている身として、 symfony の開発体制などから学ぶところはとても大きいです。他のスタッフもそういった視点でも symfony を見るきっかけになったようで、 発表者としてはとても嬉しい結果となりました。</p>
				<p>開発者としてはやはり symfony 1.3 の痒いところに手が届く機能改善はかなり魅力的で、早くも symfony 1.3 使いたい病にかかってしまったスタッフが現れて、これも発表者としては嬉しい限りです。これからも引き続き symfony 1.3 に注目していきたいと思います。</p>
				<p>みなさんも是非 symfony 1.3 の動向を見守ってみませんか？<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/1723" rel="bookmark" title="2009/05/18">symfony勉強会/懇親会で『ルーティングを使ってシンプルなアプリケーション開発を』という発表をしてきました</a></li>
				<li><a href="http://www.tejimaya.com/archives/3618" rel="bookmark" title="2009/09/21">symfony 1.3 で Symfony Templating を試してみた</a></li>
				<li><a href="http://www.tejimaya.com/archives/2108" rel="bookmark" title="2009/06/22">社内勉強会で『OAuthで気持ちのいいアクセス制御を』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/1799" rel="bookmark" title="2009/05/21">社内勉強会で『PHP5.3ってなんなんだー』という発表をしてきました</a></li>
				<li><a href="http://www.tejimaya.com/archives/1354" rel="bookmark" title="2009/03/05">symfony 開発者の Fabien Potencier さんにお会いしました</a></li>
				</ul>
				<p><!-- Similar Posts took 6.330 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/2951/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/2951" />
	</item>
		<item>
		<title>社内勉強会で『OAuthで気持ちのいいアクセス制御を』という発表をしました</title>
		<link>http://www.tejimaya.com/archives/2108</link>
		<comments>http://www.tejimaya.com/archives/2108#comments</comments>
		<pubDate>Mon, 22 Jun 2009 12:07:57 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=2108</guid>
		<description><![CDATA[				開発部の海老原です。みなさん今日も OAuth 使ってますか？
				ということで技術ネタです。
				今日、社内勉強会で、『OAuthで気持ちのいいアクセス制御を』というタイトルで発表したので、その資料を [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部の海老原です。みなさん今日も OAuth 使ってますか？<br />
				ということで技術ネタです。</p>
				<p>今日、社内勉強会で、『OAuthで気持ちのいいアクセス制御を』というタイトルで発表したので、その資料を公開します。</p>
				<div style="width:425px;text-align:left" id="__ss_1618214"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ebihara/oauth-1618214?type=powerpoint" title="OAuthで気持ちのいいアクセス制御を">OAuthで気持ちのいいアクセス制御を</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=oauth-090622032634-phpapp02&#038;stripped_title=oauth-1618214" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=oauth-090622032634-phpapp02&#038;stripped_title=oauth-1618214" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
				<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">OpenOffice presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ebihara">ebihara</a>.</div>
				</div>
				<p>発表中に出てくる、「<a href="http://co3k.org/twitter/">うべったー（http://co3k.org/twitter/）</a>」のソースコードは <a href="http://gist.github.com/133912">gist 上で公開しているので（突貫すぎてクオリティは高くありませんが）</a>ご興味のある方はご覧いただけると嬉しいです。<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/4446" rel="bookmark" title="2009/11/14">twitter投稿クライアント名を指定する。</a></li>
				<li><a href="http://www.tejimaya.com/archives/3317" rel="bookmark" title="2009/08/18">社内勉強会で『OpenPNE3とOAuth』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/1799" rel="bookmark" title="2009/05/21">社内勉強会で『PHP5.3ってなんなんだー』という発表をしてきました</a></li>
				<li><a href="http://www.tejimaya.com/archives/3618" rel="bookmark" title="2009/09/21">symfony 1.3 で Symfony Templating を試してみた</a></li>
				<li><a href="http://www.tejimaya.com/archives/1723" rel="bookmark" title="2009/05/18">symfony勉強会/懇親会で『ルーティングを使ってシンプルなアプリケーション開発を』という発表をしてきました</a></li>
				</ul>
				<p><!-- Similar Posts took 7.648 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/2108/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/2108" />
	</item>
		<item>
		<title>社内勉強会で『PHP5.3ってなんなんだー』という発表をしてきました</title>
		<link>http://www.tejimaya.com/archives/1799</link>
		<comments>http://www.tejimaya.com/archives/1799#comments</comments>
		<pubDate>Thu, 21 May 2009 10:30:50 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=1799</guid>
		<description><![CDATA[				開発部の海老原です。みなさん今日も PHP5.3 使ってますか？
				ということで技術ネタです。
				手嶋屋の開発部では、週2回、社内MTGルームで勉強会をおこなっています。
				今日、『PHP5.3 [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部の海老原です。みなさん今日も PHP5.3 使ってますか？<br />
				ということで技術ネタです。</p>
				<p>手嶋屋の開発部では、週2回、社内MTGルームで勉強会をおこなっています。<br />
				今日、『PHP5.3ってなんなんだー』というタイトルで発表したので、その資料を公開します。</p>
				<div style="width:425px;text-align:left" id="__ss_1468918"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ebihara/php53-1468918?type=powerpoint" title="Php5.3ってなんなんだー">Php5.3ってなんなんだー</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=php5-3-090521052256-phpapp01&#038;stripped_title=php53-1468918" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=php5-3-090521052256-phpapp01&#038;stripped_title=php53-1468918" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
				<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ebihara">ebihara</a>.</div>
				</div>
				<p>ちなみに、今回主に参考にしたのが <a href="http://wiki.php.net/doc/scratchpad/upgrade/53">PHP 5.3 upgrading notes</a> です。こちらもあわせてご覧ください。</p>
				<p>PHP5.3、もう楽しみで仕方がないです！　さっそくRC版で Phar アーカイブの作成など試してみようと思います。<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/2108" rel="bookmark" title="2009/06/22">社内勉強会で『OAuthで気持ちのいいアクセス制御を』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/1723" rel="bookmark" title="2009/05/18">symfony勉強会/懇親会で『ルーティングを使ってシンプルなアプリケーション開発を』という発表をしてきました</a></li>
				<li><a href="http://www.tejimaya.com/archives/2951" rel="bookmark" title="2009/07/16">社内勉強会で『symfony 開発見学ツアー+symfony 1.3 ってなんなんだー』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/443" rel="bookmark" title="2006/09/25">OpenPNE2.4リリース間近！</a></li>
				<li><a href="http://www.tejimaya.com/archives/6001" rel="bookmark" title="2010/07/16">TheApacheWay オープンソースコミュニティの運営について</a></li>
				</ul>
				<p><!-- Similar Posts took 6.250 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/1799/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/1799" />
	</item>
		<item>
		<title>symfony勉強会/懇親会で『ルーティングを使ってシンプルなアプリケーション開発を』という発表をしてきました</title>
		<link>http://www.tejimaya.com/archives/1723</link>
		<comments>http://www.tejimaya.com/archives/1723#comments</comments>
		<pubDate>Sun, 17 May 2009 15:28:18 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=1723</guid>
		<description><![CDATA[				開発部の海老原です。みなさん今日も元気に symfony してますか？
				ということで、技術ネタです。
				5/15 (金) に開催されたsymfony勉強会/懇親会にて、
				『ルーティングを使っ [...]]]></description>
			<content:encoded><![CDATA[				<p>開発部の海老原です。みなさん今日も元気に symfony してますか？<br />
				ということで、技術ネタです。</p>
				<p>5/15 (金) に開催された<a href="http://events.php.gr.jp/events/show/78">symfony勉強会/懇親会</a>にて、<br />
				『ルーティングを使ってシンプルなアプリケーション開発を』<br />
				という発表をしてきました。</p>
				<p>発表資料は以下になりますので、興味のある方は是非ご覧ください！</p>
				<div id="__ss_1447653" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="ルーティングを使ってシンプルなアプリケーション開発を" href="http://www.slideshare.net/ebihara/ss-1447653?type=presentation">ルーティングを使ってシンプルなアプリケーション開発を</a><object width="425" height="355" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=random-090517100303-phpapp02&amp;stripped_title=ss-1447653" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=random-090517100303-phpapp02&amp;stripped_title=ss-1447653" /><param name="allowfullscreen" value="true" /></object></p>
				<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ebihara">ebihara</a>.</div>
				</div>
				<p>symfony 1.2 が出たばかりの頃ならともかく、いまこのネタをやるにはちょっと鮮度が落ちすぎているのではないか……と心配だったのですが、<br />
				聞いてみると意外に好評だったようで、これはこれでよかったのかな、と思います。<br />
				自分としてはもっと突っ込んだ話をしていきたかったので<br />
				それなりに悔いは残っていますが、また発表の機会があればそこで挽回したいです。</p>
				<p>ともあれ、会場提供してくださった<a href="http://www.dino.co.jp/">株式会社ディノ様</a>、進行をしてくださった月宮さん、<br />
				つたないプレゼンを最後までお聴きいただいた参加者のみなさん、本当にありがとうございました！</p>
				<p>※懇親会にも参加したのでそのときの様子もお伝えしたいのですが、<br />
				同行していた國忠さんがカメラでなにやら色々撮っていた気がするので、<br />
				その写真を入手して改めてエントリを書きたいと思います。もしくは國忠さんが書いてくれると思います。<br /><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/2951" rel="bookmark" title="2009/07/16">社内勉強会で『symfony 開発見学ツアー+symfony 1.3 ってなんなんだー』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/3618" rel="bookmark" title="2009/09/21">symfony 1.3 で Symfony Templating を試してみた</a></li>
				<li><a href="http://www.tejimaya.com/archives/2108" rel="bookmark" title="2009/06/22">社内勉強会で『OAuthで気持ちのいいアクセス制御を』という発表をしました</a></li>
				<li><a href="http://www.tejimaya.com/archives/1799" rel="bookmark" title="2009/05/21">社内勉強会で『PHP5.3ってなんなんだー』という発表をしてきました</a></li>
				<li><a href="http://www.tejimaya.com/archives/1354" rel="bookmark" title="2009/03/05">symfony 開発者の Fabien Potencier さんにお会いしました</a></li>
				</ul>
				<p><!-- Similar Posts took 6.305 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/1723/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/1723" />
	</item>
		<item>
		<title>OpenPNE 開発者流のソースコードの追い方 #3 &#8211; vim + ctags 編</title>
		<link>http://www.tejimaya.com/archives/1383</link>
		<comments>http://www.tejimaya.com/archives/1383#comments</comments>
		<pubDate>Sun, 22 Mar 2009 06:16:11 +0000</pubDate>
		<dc:creator>ebihara</dc:creator>
				<category><![CDATA[開発者ブログ]]></category>

		<guid isPermaLink="false">http://www.tejimaya.com/?p=1383</guid>
		<description><![CDATA[				開発チームの海老原です。
								仕事で疲れた日もソースコードを追えばたちまち元気になりますよね！　ということで今回も技術ネタです。
				ソースコードを追うための必需品といえばやはりエディタです。
	 [...]]]></description>
			<content:encoded><![CDATA[				<p>開発チームの海老原です。<br />
								仕事で疲れた日もソースコードを追えばたちまち元気になりますよね！　ということで今回も技術ネタです。</p>
				<p>ソースコードを追うための必需品といえばやはりエディタです。<br />
								そんなわけで今回はエディタを使ってソースコードを追っていきましょう。</p>
				<p>ちなみに僕は開発でもバリバリに Vim を使っているため、ここでは Vim (version 7.2) 前提で解説します。</p>
				<p>				他のエディタを使われている方は適宜読み替えてください。</p>
				<h3>■ Ctags を導入する</h3>
				<p>今回は Ctags を使います。 Ctags はソースコードなどから識別子のタグファイル（インデックスファイル）<br />
								を生成するプログラムです。おそらく Unix 系 OS には標準で含まれているはずです。<br />
								お使いの環境に入っていない場合は以下のようなコマンドによって入手してください（例は Debian）。</p>
				<blockquote><p># apt-get install ctags</p>
				</blockquote>
				<p>Ctags には Exuberant Ctags や Etags、 gtags などといった派生版も存在します。<br />
								どれを使っても基本は同じですので、お好みのものを選んでください。</p>
				<p>Ctags を導入したら、プロジェクトのルートディレクトリで以下のコマンドを実行してください。</p>
				<blockquote><p>$ ctags -R</p>
				</blockquote>
				<p>これで tags というタグファイルが自動的に生成されるはずです。</p>
				<p>以下のように指定することでタグファイルの対象を限定することもできます。（これについてはまた後日）</p>
				<blockquote><p>$ ctags &#8211;langmap=PHP:.php</p>
				</blockquote>
				<h3>■ Vim からタグファイルを読みに行く</h3>
				<p>Vim にタグファイルの場所を教えます。<br />
								$HOME/.vimrc に以下の設定を追記してください。</p>
				<blockquote><p><code>set tags+=tags</code></p>
				</blockquote>
				<h3>■ いざタグジャンプ！</h3>
				<p>Vim でソースコードを開き、定義を知りたい識別子にカーソルを合わせ、<br />
								<kbd>Ctrl</kbd> + <kbd>]</kbd><br />
								をタイプしてください。</p>
				<p>これだけで定義元にジャンプすることができます。</p>
				<p>これはすごい！　便利！　それに速い！</p>
				<p>ジャンプ前に戻りたい場合は<br />
								<kbd>Ctrl</kbd> + <kbd>t</kbd><br />
								をタイプしてください。</p>
				<p>これさえマスターすれば、巨大なソースコードであっても充分読んでいくことができます。</p>
				<p>……とはいえ、 <kbd>Ctrl</kbd> + <kbd>]</kbd> は正直言って打ちづらいです。</p>
				<p>				タグジャンプは頻繁に使っていくものなので、ちょっとこれはなんとかしたいところです。<br />
								ということで、海老原は以下の設定を $HOME/.vimrc に書いています。</p>
				<blockquote><p><code>map t <C-]></code></p>
				</blockquote>
				<p>これで、 <kbd>t</kbd> をタイプするだけでタグジャンプできます。もうやみつきです。</p>
				<h3>■ 識別名を直接指定する</h3>
				<p>定義を知りたいクラス名などがカーソルを合わせるでもなく分かっている場合、あなたならどうしますか？<br />
								ここでソースコード検索をしたり諦めて API リファレンスに逃げたりしてしまう方に朗報です。</p>
				<p>おもむろに Vim を開き、以下を入力してください。</p>
				<blockquote><p><code>:tag 【識別名】</code></p>
				</blockquote>
				<p>すると、指定した識別子の定義元にジャンプすることができます。</p>
				<p>これまた便利です。</p>
				<p>さらに、指定する識別子は <kbd>tab</kbd> で補完することができます。<br />
								<code>op*Form</code> というような曖昧な指定もばっちりサポート！</p>
				<h3>■次回は？</h3>
				<p>ctags で生成することのできるタグファイルについて深く突っ込んでいきます。乞うご期待！</p>
				<p>それではみなさん、今日もハッピーなコードリーディングライフをお過ごしください！</p>
				<p><strong>関連記事:</strong>
				<ul class="similar-posts">
				<li><a href="http://www.tejimaya.com/archives/1362" rel="bookmark" title="2009/03/07">OpenPNE 開発者流のソースコードの追い方 #1 &#8211; ack 編</a></li>
				<li><a href="http://www.tejimaya.com/archives/1372" rel="bookmark" title="2009/03/12">OpenPNE 開発者流のソースコードの追い方 #2 &#8211; Rak 編</a></li>
				<li><a href="http://www.tejimaya.com/archives/5601" rel="bookmark" title="2010/05/26">Si ForumでOpenPNEの開発秘話について講演@品川（6/17 13:00）</a></li>
				<li><a href="http://www.tejimaya.com/archives/5973" rel="bookmark" title="2010/07/09">【OP3TIPS】無ドキュメント時代の関数リファレンス</a></li>
				<li><a href="http://www.tejimaya.com/archives/417" rel="bookmark" title="2007/04/10">【TRAC+OpenPNE】 TRACのSlave化が出来た</a></li>
				</ul>
				<p><!-- Similar Posts took 6.430 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tejimaya.com/archives/1383/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tejimaya.com/archives/1383" />
	</item>
	</channel>
</rss>
