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

43
Risoluto 開発にみる 車輪の再発明 2015 4 11 日 第 4 G-Study 発表資料

Upload: yuta-hayakawa

Post on 20-Jul-2015

569 views

Category:

Engineering


7 download

TRANSCRIPT

Page 1: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

Page 2: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

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

Page 3: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

Page 4: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 5: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

Page 6: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 7: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 8: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

Page 9: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 10: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 11: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

「Risoluto」 (リゾルート)

http://www.risoluto.org/

Page 12: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

• セットアップも簡単

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

Page 13: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

Page 14: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 15: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 16: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 17: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 18: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

Page 19: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 20: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

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

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

Page 21: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

Risoluto作るときに考えたこと

Page 22: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

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

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

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

Page 23: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

• どうやってるの?

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

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

Page 24: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

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

Page 25: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

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

Page 26: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

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

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

Page 27: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 28: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 29: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 30: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 31: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 32: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

複雑ななにか = ?

Page 33: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 34: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 35: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 36: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 37: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

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

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

Page 38: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

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

Page 39: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 40: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 41: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

でもその前に

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

Page 42: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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

Page 43: 2015/04/11 第4回G-Study発表資料 Risoluto開発に見る車輪の再発明

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