2015/04/11 第4回g-study発表資料 risoluto開発に見る車輪の再発明

Post on 20-Jul-2015

569 Views

Category:

Engineering

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Risoluto開発にみる 車輪の再発明

2015年4月11日 第4回G-Study発表資料

自己紹介• ハムスターとペペロンチーノをこよなく愛する自称GNU/Linux&PHP使いのエンジニア(かわいい系NEKOMIMI男子)

• 株式会社グロージェントという会社でお仕事してます。

• PHP向けフレームワーク「Risoluto」の自称プロマネやってます

• もうごーるしてもいいよね(白目

• 詳しくはこちら!http://about.me/yuta.hayakawa

私はなぜ PHP向けフレームワーク

という車輪を再発明したのか

その前に…… 「車輪の再発明」とは何ですか?

Wikipedia先生曰く、こういうこと出典:http://ja.wikipedia.org/wiki/%E8%BB%8A%E8%BC%AA%E3%81%AE

%E5%86%8D%E7%99%BA%E6%98%8E

非常にネガティブなワード (´・ω・`)

でもちょっと待って! その下に良いこと書いてある!

あえての「車輪の再発明」出典:http://ja.wikipedia.org/wiki/%E8%BB%8A%E8%BC%AA%E3%81%AE

%E5%86%8D%E7%99%BA%E6%98%8E

そうなんです! 「あえて」しているんです!(震え声

自己肯定 done. (`・ω・´)b

PHP向け Webアプリケーション フレームワーク

「Risoluto」 (リゾルート)

http://www.risoluto.org/

Risolutoの特長• Ver.1は2008年12月から開発スタート

• 「シンプルで軽い」がコンセプト

• PHPさえ知っていれば使える

• フレームワークとしてのルールが少ない

• セットアップも簡単

• PHP5.5系以上で動く!PHP5.6でももちろんOK!

最新のPHPを楽しむための マイクロフレームワーク

「Risoluto」http://www.risoluto.org/

すでに山ほど存在する Webアプリケーションフレームワーク

私はなぜPHP向けフレームワーク という車輪を再発明したのか

それがぼくには楽しかったから Just For Fun

おしょうしな!訳:ありがとう_ノ乙(、ン、)_

……コレで終わると時間が余りまくりなので……

真の理由をおはなししましょう(キリッ

フレームワークを 自作することで見えてくるモノ

フレームワークを自作すると見えてくるモノ

• ブートシーケンスの作りはどうなっているのか

• クラスのオートロードはどうするのか

• ライブラリとして何をどういう粒度で用意するか

• QA(Quality Assurance)への考慮はどうすべきか

• PHPの標準規格(PSR-* etc…)はどう扱うか

Risoluto作るときに考えたこと

ブートシーケンスの作りはどうなっているのか

• スタートはひとつのPHPプログラム

• それが必要な処理を順番に行う

• 色々なクラスを呼び出し……

• ユーザアプリケーションを呼び出す……

• ココが長いとオーバーヘッドになり得る

• 最終的に貴方のお手元に届くまでの道のりをどうする?

クラスのオートロードはどうするのか

• require/include系はダサイ、ナウくない

• 今はnewとかしたら自動でロードしてくれる

• どうやってるの?

• PSR-0/4に準拠しておくと、オートロードしてくれるアレが沢山あってアレ

• 依存性管理ツールであるComposerを使うとオートローダももれなくついてくる

ライブラリとして何をどういう粒度で用意するか

• 思いついたモノを片っ端から用意するのも正解

• 選りすぐりの厳選したブツだけ用意するのも正解

• フレームワークの立ち位置、使えるリソースで考慮が吉

• 何を「再発明」するのかを決める

QA(Quality Assurance)への考慮はどうすべきか

• 動かないモノはゴミ!動かないことには始まらない!

• 動くだけのモノはゴミ!動いただけじゃ終わらない!

• いかに品質をキープするか、どの程度の品質を担保するのか

• TDD(Test Driven Development)やってみる?

PHPの標準規格(PSR-* etc…)はどう扱うか

• 標準に配慮すると相互運用性が高まる

• 全部まともにやろうとすると結構大変だったり

• どこまでやるの?どこからやるの?順番はどうするの?

• 標準もいろいろ追加されたり変更されたりする

• どういうペースで追随していくの?

ほんの少し考えただけで こんなに沢山見えてくる

便利なモノは 複雑ななにかの寄せ集めでできている

ためになったね!(`・ω・´)b

ここからは、ついでのお話。

便利なモノ = 複雑ななにかの寄せ集め

複雑ななにか = ?

複雑ななにか = シンプルななにかの寄せ集め

「シンプルななにか」を知ることで、 「複雑ななにか」を知ることができる

でも、遠回りだよね(´・ω・`) 遠回りは嫌だよね(´・ω・`)

そんな皆さんには 偉大なる先人の歌を授けましょう

– 柴屋軒宗長(室町時代後期の連歌師)

“武士(もののふ)の矢橋(やばせ)の船は速けれど

急がば回れ瀬田(せた)の長橋”

出典:http://ja.wiktionary.org/wiki/%E6%80%A5%E3%81%8C%E3%81%B0%E5%9B%9E%E3%82%8C

滋賀から京都に行くなら、 八橋からの船で琵琶湖を渡った方がはやいお(`・ω・´)b でも比叡山からの風が強くて大変だし危険だお(´・ω・`)

着実安全に行くなら瀬田の唐橋(長橋)経由がおすすめだお(´▽`*)

要は、「急がば回れ」 近道が常に正しいとは限らない

例えば、こんな「急がば回れ」

フルスタックなフレームワークを習得したい

でもその前に

その言語についてちゃんと理解しよう

これ、アリじゃないですか?(Y/n)

今度こそ本当におしょうしな!訳:ありがとう_ノ乙(、ン、)_

top related