DAN % ntski most Brankova venac' Autobuska stanica Lasta ...
Lasta seasar 2015
-
Upload
masahiko-kubo -
Category
Software
-
view
721 -
download
0
Transcript of Lasta seasar 2015
![Page 1: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/1.jpg)
SSeeaassaarrで育ったDDBBFFlluuttee,, スタートアップ現場でのJJaavvaa88とSSeeaassaarrを思う
~~LastaFluteの誕生~~久保雅彦(jjfflluuttee)
![Page 2: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/2.jpg)
もくじ
LL.. SSeeaassaarrとDDBBFFlluutteeの関係
AA.. リーンスタートアップ・ インクリメンタル開発の特徴
SS.. 事業会社でのSSeeaassaarrの価値
TT.. JJaavvaa88でSSeeaassaarrを動かすには?
AA.. LLaassttaaFFlluutteeの誕生
2
![Page 3: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/3.jpg)
SSeeaassaarrとDDBBFFlluutteeの関係
LLAASSTTAA SSeeaassaarrとDDBBFFlluutteeの関係
![Page 4: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/4.jpg)
DDBBFFlluutteeって、SSeeaassaarrプロジェクトだっけ?
4
LLAASSTTAA SSeeaassaarrとDDBBFFlluutteeの関係
![Page 5: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/5.jpg)
独立しました
11..00..xx:: JJaavvaa66,,77 SSeeaassaarrプロジェクト ▶ oorrgg..sseeaassaarr..ddbbfflluuttee
11..11..xx:: JJaavvaa88 DDBBFFlluutteeプロジェクト ▶ oorrgg..ddbbfflluuttee
5
LLAASSTTAA SSeeaassaarrとDDBBFFlluutteeの関係
![Page 6: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/6.jpg)
DDBBFFlluutteeって、SSeeaassaarrでしか
動かないんだっけ?
6
LLAASSTTAA SSeeaassaarrとDDBBFFlluutteeの関係
![Page 7: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/7.jpg)
色々動く
SSeeaassaarrでも動くけど、SSpprriinngg FFrraammeewwoorrkkやGGooooggllee GGuuiicceeなどでも動く
特にSSpprriinngg++DDBBFFlluutteeの現場が増えている
そもそも..NNEETT版もあるし、最近SSccaallaa((パイロット版))でも動く
7
LLAASSTTAA SSeeaassaarrとDDBBFFlluutteeの関係
![Page 8: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/8.jpg)
最近は…
最近は、スタートアップ現場での活躍が増えている。
要求の変化や、仮説検証の過程で発生するDDBB変更、これに耐えられるフレームワークとして、さらなる調整を続けている。
8
LLAASSTTAA SSeeaassaarrとDDBBFFlluutteeの関係
![Page 9: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/9.jpg)
リーンスタートアップ・インクリメンタル開発の特徴
9
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 10: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/10.jpg)
!!注意!! ※あくまでjjfflluutteeの経験や現場への
ヒアリングを、 限りある時間で分析したものです。
10
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 11: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/11.jpg)
事前条件たらたらと......
所詮はケースバイケースで、SSIIといってもスタートアップっぽい開発もあるし、事業会社でお堅い感じにやることもありえるので…
「どちらかといえば」というニュアンス。厳密には......の話をしたら二時間くらいかかるので、((すっごい))シンプルに表現しています。
11
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 12: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/12.jpg)
スタートアップのライフサイクル
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 13: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/13.jpg)
スタートアップのライフサイクル
※ファーストリリースは、導入�期の早い段階
※メンテ期まで数年((22--55年,,nn年))とかかる
※生き残りなので途中ストップの可能性
※衰退期前に次のビジネスをスタートアップ
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 14: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/14.jpg)
11..ビジネス
14
SSII ((受注))
頼まれたものを作ることでお金が入�るバグは損失に直結 ((瑕疵担保、信頼))バグの致命度に関わらず損失になりやすい
スタートアップ
自分たちのビジネスが成功することでお金が入�るバグよりもスピードが大切 ((生き残り:: マーケットフィット))致命的でなければ直さない選択肢もあり((バグのビジネスインパクトの見極めが大切))
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 15: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/15.jpg)
22..リリースタイミング
15
SSII ((受注))
ファーストリリースでわりとたくさん作るそれでおしまいのこともよくある二次三次開発もそれなりのスパンがある
スタートアップ
ファーストリリースはわりとシンプルで期間短いその後、毎週リリース ((最初は毎日!!??))
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 16: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/16.jpg)
33..バグの直しやすさ
16
SSII ((受注))
リリース後は直しづらい((面倒な手続き、客先作業など)ちょっとしたバグでも手間がかかるバグ修正がお金にならないことも ((瑕疵担保))==>> なので、最初からよい品質が求められる
スタートアップ
リリース後でも直しやすい☆これ大きい自分たちのシステム、自分たちの都合で再起動そもそも、最初は使ってる人がまだ少なかったり==>> バグ0よりも、速くビジネスを回したい ((超致命でなきゃ、今は直さないという選択肢も))
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 17: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/17.jpg)
44..作る画面の必要性
17
SSII ((受注))
作る画面は業務的に必要なものである ((ことが前提))時々そうでもなくて泣くときあるけど…なので、コード品質に時間をかけてもOOKK ((時間ないけど......))
スタートアップ
その画面が必要がかどうか、まだわからない運用してみてダメだったら捨てることもあとでガラリと変えるのは日常茶飯事なので、コード品質に時間をかけづらい
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 18: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/18.jpg)
55..画面作りの進み方
18
SSII ((受注))
その画面を作り切ってから、次の画面へ必要だとわかっている機能は一気に作る細切れに作業するとテストし直しコストや抜けのリスクができる
スタートアップ
その画面の一部機能だけ作って、すぐ次の画面へある意味、一部機能だらけの画面たちでリリース((ジャブ、ローキックのようなもの))次の ((oorr もっと先の)) リリースでその続き
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 19: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/19.jpg)
66..DDBB変更しまくる
19
SSII ((受注)) 運用後のDDBB変更はおおごとできるだけ「やらない」って方向�に…
スタートアップ
運用してからのDDBB変更は 息を吸うかのごとく毎週のようにDDBB変更 ((DDBB変更したい))データもプログラムもどんどん修正
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 20: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/20.jpg)
77..ドキュメント
20
SSII ((受注))
ドキュメント作るの基本メンテナンスする会社が別かもしれない ((お客さんとか))ドキュメント自体がお金になることもある ((納品物に含まれてる))
スタートアップ
まずドキュメントは作らないドキュメント作ってもお金にならないドキュメントが変化についていけないので作れない((いつかは作らないといけないけど......のジレンマ))
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 21: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/21.jpg)
88..人員・規模
21
SSII ((受注))
最初から人員の確保 ((しようとする))ある程度の規模感はあらかじめわかっている ((はずだが…))人員確保できなかったら、その仕事断ることも ((れないことも......))
スタートアップ
最初めちゃ少なく、五月雨増加サービスの成長速度にプログラマーの数が追いついかない入�ってきても「いい感じで頼む!」ゆえに、コードの統一性を保つのは難しい少人数のときと大人数のときの激ギャップ
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 22: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/22.jpg)
99..コーディングルール
22
SSII ((受注))
ルールを守ることが大切メンテナンス別会社になるかもしれないしあとでリファクタリングとかしづらいし規模がある程度わかっているので、ルールも作りやすい
スタートアップ
ルールは流行らない最初は人が少ないのでそもそもルールがないそもそも作るものや体制が変動的なのでルール決めが難しい★これでかいルールを守るという精神状態でもない ((動くことが最優先))
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 23: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/23.jpg)
1100..役割分担
23
SSII ((受注))
要件定義、DDBB設計、仕様策定、プログラミングと人が分かれやすいはずだが…いろいろあるけど実装時点で仕様も決まっていることが多い ((はずだが......))
スタートアップ
ひとりの人が一通りやる、少なくとも一つに専念はほぼないそもそも人が少ない ((エンジニアばかりじゃない))ある意味「仕様が決まってない中での実装」に実装しながら決める((仕様という言葉がない))
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 24: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/24.jpg)
その他、スタートアップあるある
24
作業時間作る量のわりには期限が短い((生き残れるかどうかが見積もり基準))状況によっては、作業時間は深夜//土日 ((別の仕事しながらスタートアップも))
プログラミングスキル
役割分担できない分、ひとりに求められるスキルが多岐にわたる技術だけに専念できない ((プログラマーもビジネスに参加))不安定な仕事なので、((優秀で成長著しいとはいえ…))発展途上の若者が多い
精神状態とにかく速く作らなきゃめちゃくちゃ眠い
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 25: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/25.jpg)
アーキテクチャは変わる
くどいようですが「所詮はケースバイケース」ですが、大切なポイントは…
作るものが違えば「大切にすることも変わってくる」
それってつまり、「アーキテクチャも変わってくる」
25
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 26: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/26.jpg)
ずばり!スタートアップは…
TTrriiaall && EErrrroorr の繰り返し既存コードを読む時間が長い!
要求の変化が激しい!画面は変わるし、DDBB変更しまくり
みんなであれこれ、サバイバルコードだらけ人は次々と変わるし、ルール作りは難しいし
26
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 27: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/27.jpg)
だから欲しいもの
身軽な開発環境 ((ホットデプロイ,, 起動の速さ))デバッグのための TTrriiaall && EErrrroorr既存コード解析のための TTrriiaall && EErrrroorr ☆意外に重要再起動が必要にしても、起動が速ければいい再起動で何十秒も待つとかそういう精神状態じゃない((深夜土日にやっているときは特に))
安全な仕組みタイプセーフ、DDBB変更への耐性現象を追跡できるしっかりとしたログ
規約ベース途中参加の人を入�れてルール無しでもわりと統一感が欲しい実装する人がガラリと入�れ替わってもわりと統一感が欲しいその後の大規模化を見越して、そういった仕組み最初から欲しい
27
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 28: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/28.jpg)
あるよ!
SSeeaassaarrが結構持ってる
28
LLAASSTTAA リーンスタートアップ・インクリメンタル開発の特徴
![Page 29: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/29.jpg)
事業会社でのSSeeaassaarrの価値
29
LLAASSTTAA 事業会社でのSSeeaassaarrの価値
![Page 30: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/30.jpg)
マッチするじゃん!
スタートアップをやる事業会社で欲しいものが、SSeeaassaarrの特徴とマッチする。ホットデプロイDDIIレベルでリロードしてくれる「使い方さえ間違えなければ」かなり効く
起動の速さ起動が速いというより、開発時はホットだからLLaazzyyLLooaaddスマートデプロイのコンポーネント増えても、そこまで遅くならない ((220000テーブル超えのアプリでも1100秒切り))
SSAASSttrruuttssが規約ベースNNoo RRuullee でも、AAccttiioonnクラスは綺麗にそろう
30
LLAASSTTAA 事業会社でのSSeeaassaarrの価値
![Page 31: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/31.jpg)
そしてヒアリング!
SSeeaassaarrを使ったスタートアップの開発者のみなさんに聞いてみると… ((厳密には、SSAAFFlluuttee ++ DDBBFFlluuttee))
何気に、SSeeaassaarrに対しての不満の声はそんなに聞こえない。もちろん細かいところはあるけれど、 他のフレームワークにしたい、とまではならない ((ただ、古いからという機能以外の面で不安あり))
※SSIIだと真逆になる印象。((さっきのSSeeaassaarrの特徴が刺さらない))また事業会社でも超大規模フェーズなら話は別
31
LLAASSTTAA 事業会社でのSSeeaassaarrの価値
![Page 32: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/32.jpg)
だかしかしおかし
32
LLAASSTTAA 事業会社でのSSeeaassaarrの価値
![Page 33: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/33.jpg)
JJaavvaa88とSSeeaassaarr
33
LLAASSTTAA JJaavvaa88とSSeeaassaarr
![Page 34: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/34.jpg)
時代はJJaavvaa88
JJaavvaa88で使えなかったら意味がない
というか、JJaavvaa99も来年!!??
34
LLAASSTTAA JJaavvaa88とSSeeaassaarr
![Page 35: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/35.jpg)
JJaavvaa88とSSeeaassaarr
JJaavvaa88でもSSeeaassaarr使えますJJaavvaassssiissttを最新版にすればOOKK
実際に、 SSeeaassaarr ++ DDBBFFlluuttee の JJaavvaa88 版のサービスを幾つか知ってます。((厳密には、SSAAFFlluuttee++DDBBFFlluuttee ですが......)) 安定して動いています。
35
LLAASSTTAA JJaavvaa88とSSeeaassaarr
![Page 36: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/36.jpg)
だかしかしおかし
36
LLAASSTTAA JJaavvaa88とSSeeaassaarr
![Page 37: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/37.jpg)
LLaassttaaFFlluutteeの誕生
37
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 38: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/38.jpg)
古いというイメージ
やっぱり「古い」が払拭できない
いくら機能的にフィットする面があると言っても、スタートアップの経験者は、JJaavvaaの世界にはあまり多くない。((なので、先ほどのマッチ感もあまり理解されない。経験者だけがわかる))
スタートアップで重要な「人集め」に支障が出てくる。
38
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 39: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/39.jpg)
確かに辛いところも
確かに「改�善されていかない」というのは、ハマりポイントも改�善されていかないということなので、つらいことも。((ああ、ここ直ってくれないかなぁ......))((若者たちが、毎年同じことでハマる......))
39
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 40: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/40.jpg)
もやもや
40
SSAAFFlluuttee ++ DDBBFFlluuttee を前面に売り出したいが、なんかそういうこともあって、もやもやしてた。
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 41: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/41.jpg)
そこでFFeessss登場!
41
FessLLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 42: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/42.jpg)
FFeessssとは?
オープンソース全文検索サーバーFFeessss ((フェス))hhttttpp::////ffeessss..ccooddeelliibbss..oorrgg//jjaa//※FFeessss99までは、「SSeeaassaarr ++ SSAASSttrruuttss ++ DDBBFFlluuttee」で作られている
42
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 43: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/43.jpg)
ssuuggaayyaaさんと立ち話
FFeessssの作者、ssuuggaayyaaさん 「SSttrruuttss11依存つらいし、今後の海外展開のためにも、FFeessss を SSeeaassaarr から SSpprriinngg に移行しようとしてるけど、なかなか道のりが険しい......
jjfflluuttee「うーむー、まあ仕方ないですよねぇ......そういえば、SSAAFFlluutteeなんてのありますよぅ笑SSeeaassaarrもJJaavvaa88でフォークしちゃったりしてー」((完全にジョーク!))
43
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 44: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/44.jpg)
ぼくはDDBB屋さんです、はい
jjfflluutteeは、いつも通り、リレーショナルデータベースのお風呂につかりながら......
「いやー、やっぱり画面はなくていいよー会員登録とか、会員にiinnsseerrtt文書かせりゃいいじゃん!DDBBだけあればしあわせだよー、あーいいデータ((湯))だなー」※ほんの少しだけ、デフォルメしております
44
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 45: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/45.jpg)
メールチェック
((ほかほか......))「ふー、RRDDBBのハーブティーでも飲みながら、メール見るかー」
※ほんのわずかだけ、デフォルメしております
45
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 46: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/46.jpg)
いつ頃って何語?
ssuuggaayyaaさん「SSeeaassaarr//SSAASSttrruuttssをJJaavvaa88フォークしたSSAAFFlluuttee、いつ頃 作ります?FFeessss そっちにしようかと」
46
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 47: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/47.jpg)
そのあのことば
あっ、いや…あの、そのあの。。。
47
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 48: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/48.jpg)
言っちゃった
jjfflluuttee「い、いまから作りますよー」
48
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 49: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/49.jpg)
井戸端会議
jjfflluuttee「こんなことやることになってさー、ハッハッハ」
友人AA ((@@pp11uuss22eerr00:: aawwaaaawwaa)) 「ああ、じゃあ来月から始まるサービス開発で使いますよー。いつ頃初版でます?」
友人BB ((@@CCrreeaattiivvee__GGeeaarr:: mmiiyyaassaammaa)) 「いま運用してるサービス、 それに移行しますね。いつ頃使えます?」
jjfflluuttee「ふげー(><」
49
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 50: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/50.jpg)
深夜に盛り上がるSSllaacckk…土日が来たぞ、がっつり実装だ!
50
リーン・スタートアップだ!LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 51: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/51.jpg)
じゃーん
LLaassttaaFFlluuttee || GGiitthhuubbhhttttppss::////ggiitthhuubb..ccoomm//llaassttaafflluuttee//llaassttaafflluuttee
LLaassttaaFFlluuttee日本語ページ ((英語のページも少しずつ))hhttttpp::////ddbbfflluuttee..sseeaassaarr..oorrgg//jjaa//llaassttaafflluuttee//
51
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 52: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/52.jpg)
三つの特徴、その一
リズム&スピードプログラミングスタートアップは、Trial & Error の繰り返しのため、
身軽な開発環境が求められる。
ホットデプロイ:再起動せずに、AAccttiioonnクラスを 修正してすぐに確認できる
起動が速い:再起動が必要になっても、ハイスピードの再起動
思考のリズムを止めない!は、スピード になる
52
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 53: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/53.jpg)
三つの特徴、その二
53
変化できるプログラミング
スタートアップは、要求の変化 の繰り返しのため、安全な仕組みが求められる。
徹底したタイプセーフ:タイプセーフなAAccttiioonn実装、 そして、CCoonnddiittiioonnBBeeaann
攻めのDDBB変更:DDBBFFlluutteeフルパワー、 そして、 FFrreeeeGGeenn
化け物のようなログ:困ったときに 見たくなるようなログ
†
安全!は、スピード になる
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 54: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/54.jpg)
三つの特徴、その三
54
自然とそうなるプログラミング
スタートアップは、人的リソースも変化 の繰り返しのため、自然の力が求められる。
規約ベースAAccttiioonn:UURRLL == クラス名 ++ メソッド名 UURRLLからクラスが探しやすい
少ない選択肢:不要な選択肢を省き、 できる限り実装のブレを少なく
デフォルトセット:一通り揃っている開発環境、 コンフィグの仕組みからメールまで
†
迷わない!は、スピード になる
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 55: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/55.jpg)
LLaassttaaFFlluutteeのキャスト
55
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 56: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/56.jpg)
JJaavvaaならではの
コンパイルセーフを最大限活かした、リーン・スタートアップにチャレンジしてみたい
56
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 57: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/57.jpg)
SSeeaassaarr を JJaavvaa88 でフォーク
57
徹底したスリム化
使わない機能削減、依存ライブラリ削減((依存jjaarrを少なくシンプルに))
デバックしやすいように
コンテナ内で発生したエラーメッセージをDDBBFFlluuttee風に ((いわゆるド派手エラー))
OOGGNNLL改�めJJSS OOGGNNLLの代わりにJJaavvaa同梱のNNaasshhoorrnnのJJaavvaaSSccrriippttエンジンを利用
ホットデプロイはそのまま
欠かせないホットデプロイは変わらず利用できるように
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 58: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/58.jpg)
SSAASSttrruuttss を JJaavvaa88 でフォーク
58
SSttrruuttss11外し 一番のネックだった SSttrruuttss11 への依存のない SSAASSttrruuttss を
ccoommmmoonnssへの依存最小限
古いccoommmmoonnssへの依存を外し、アプリで最新版使えるように
内部フォワードしない フォワードせずとも綺麗なUURRLLを実現
設定ファイル削減
定型化された設定を組み込んで、アプリで管理する設定をシンプルに
シンプルなコード
RReeqquueessttからAAccttiioonnが呼ばれるまでの道のりできるだけシンプルに
HHiibbeerrnnaattee VVaalliiddaattoorr バリデーションにHHiibbeerrnnaattee VVaalliiddaattoorr を使う
規約ベースはそのまま
欠かせない規約ベースUURRLLマッピングは変わらず利用できるように
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 59: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/59.jpg)
LLaassttaaFFlluutteeのコードSSeeaaLLiissttAAccttiioonn :: //sseeaa//lliisstt//33??iikkss==bboonnvvoo
59
@@EExxeeccuutteeppuubblliicc HHttmmllRReessppoonnssee iinnddeexx((iinntt ppaaggeeNNuummbbeerr,,
SSeeaaSSeeaarrcchhFFoorrmm ffoorrmm)) {{ vvaalliiddaattee((ffoorrmm,, mmeessssaaggeess -->> {{}},, (()) -->> {{ rreettuurrnn aassHHttmmll((ppaatthh__SSeeaa__SSeeaaLLiissttJJsspp));; }}));; PPaaggiinnggRReessuullttBBeeaann<<SSeeaa>> sseeaaLLiisstt == sseeaaBBhhvv..sseelleeccttPPaaggee((ccbb -->> ......));; LLiisstt<<RRoowwBBeeaann>> bbeeaannss == sseeaaLLiisstt..mmaappppiinnggLLiisstt((sseeaa -->> ......));; rreettuurrnn aassHHttmmll((ppaatthh__SSeeaa__SSeeaaLLiissttJJsspp))..rreennddeerrWWiitthh((ddaattaa -->> {{ ddaattaa..rreeggiisstteerr((""bbeeaannss"",, bbeeaannss));; }}));;}}
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 60: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/60.jpg)
LLaassttaaFFlluutteeのUURRLLマッピング
AAccttiioonnクラス名 ++ EExxeeccuutteeメソッド名
60
SSeeaaLLaannddAAccttiioonn##iinnddeexx(()) ==>> //sseeaa//llaanndd// IIkkssAAccttiioonn##bboonnvvoo(()) ==>> //iikkss//bboonnvvoo//
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 61: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/61.jpg)
UURRLLパラメータ、FFoorrmmパラメータの定義
61
//// //sseeaa//llaanndd// ((GGEETT oorr PPOOSSTT))SSeeaaLLaannddAAccttiioonn##iinnddeexx((BBoonnvvooFFoorrmm ffoorrmm))
//// //sseeaa//llaanndd//33 ((GGEETT oorr PPOOSSTT))SSeeaaLLaannddAAccttiioonn##iinnddeexx((iinntt iikkss,, BBoonnvvooFFoorrmm ffoorrmm))
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 62: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/62.jpg)
戻りレスポンス
HHTTMMLLテンプレートのパスは自動生成
ランドに移動 ((リダイレクト先は ..ccllaassssで指定))
JJSSOONNで戻す ((JJSSOONN AAPPII方式:: bbeeaannを渡せばJJSSOONNに))
62
rreettuurrnn aassHHttmmll((ppaatthh__SSeeaa__SSeeaaLLiissttJJsspp))..rreennddeerrWWiitthh((ddaattaa -->> {{ ddaattaa..rreeggiisstteerr((""bbeeaannss"",, bbeeaannss));;}}));;
rreettuurrnn rreeddiirreeccttBByyIIdd((LLaannddAAccttiioonn..ccllaassss,, 33));; //// //llaanndd//33
rreettuurrnn aassJJssoonn((bbeeaann));;
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 63: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/63.jpg)
AAccttiioonnのポイント
徹底してタイプセーフに 要は DDBBFFlluuttee っぽく
SSAASSttrruuttssでよくハマってたとこ修正IInnddeexxだらけ問題を回避 ((クラス名検索をしやすいように))リダイレクト//フォワード先コードにすぐにJJuummpp!最小公倍数FFoorrmm//ppuubblliiccフィールドなし…などなど
「こう書いても動く」を極力やらない不要な自由度は削除 ee..gg.. 引数の順序とか、戻り値の表現とか必要な自由度は担保 ee..gg.. vvaalliiddaattoorr ccaallllタイミング、エラー処理
63
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 64: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/64.jpg)
SSAAFFlluutteeの機能はあるそもそも、SSAAFFlluutteeでがっつりリーン・スタートアップにフィットさせていた機能たち、それらはすべて、LLaassttaaFFlluutteeで継承、かつ、さらなる改�善
気軽な前後処理の仕組み ((AAccttiioonnHHooookk))タイプセーフで継承できるPPrrooppeerrttiieess国際化対応 ((LLooccaalleeやTTiimmeezzoonnee))組み込みログイン処理…などなど
そもそも SSAAFFlluuttee とは?hhttttpp::////ddbbfflluuttee..sseeaassaarr..oorrgg//jjaa//mmaannuuaall//ffuunnccttiioonn//hheellppeerr//ssaafflluuttee//
64
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 65: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/65.jpg)
そして、いちどフォークしてしまったら......いろいろと
bbeeffoorree:: ((フラットなddiiccoonn起動ログ))
65
-- SS22CCoonnttaaiinneerrを作成します。ppaatthh==aapppp..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成します。ppaatthh==ccoonnvveennttiioonn..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成しました。ppaatthh==ccoonnvveennttiioonn..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成します。ppaatthh==ssaafflluuttee..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成します。ppaatthh==ssaafflluuttee__ccoorree..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成します。ppaatthh==ssaafflluuttee__aassssiisstt..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成しました。ppaatthh==ssaafflluuttee__aassssiisstt..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成しました。ppaatthh==ssaafflluuttee__ccoorree..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成します。ppaatthh==ssaafflluuttee__ddbb..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成します。ppaatthh==ddbbfflluuttee..ddiiccoonn -- SS22CCoonnttaaiinneerrを作成します。ppaatthh==jj22eeee..ddiiccoonn -- ......
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 66: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/66.jpg)
止ーまらっなーい♪aafftteerr:: ((iinncclluuddeeの階層構造がわかるように))
66
-- ......RReeaaddiinngg aapppp..xxmmll -- ......RReeaaddiinngg ccoonnvveennttiioonn..xxmmll -- ......RReeaaddiinngg eemmbbeeddddeedd__ccoonnvveennttiioonn..xxmmll -- ......RReeaaddiinngg ddbbfflluuttee..xxmmll -- ......RReeaaddiinngg rrddbb..xxmmll -- ......RReeaaddiinngg jjttaa..xxmmll -- ......RReeaaddiinngg jjttaa++uusseerrTTrraannssaaccttiioonn..xxmmll -- ......RReeaaddiinngg jjttaa++ttrraannssaaccttiioonnMMaannaaggeerr..xxmmll -- ......RReeaaddiinngg jjddbbcc..xxmmll -- ......RReeaaddiinngg jjttaa..xxmmll ((rreeccyyccllee)) -- ......RReeaaddiinngg llaassttaafflluuttee__aassssiisstt..xxmmll -- ......
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 67: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/67.jpg)
まだやりたいことあり
もっとタイプセーフにFFoorrmmやメソッド定義の自動生成など
AAccttiioonnクラスから、 ドキュメントを自動生成AAccttiioonnのUURRLL一覧JJSSOONN AAPPIIのインターフェース定義書★フロント側とのやり取りで実は非常に重要
サーバーサイドテンプレートにTThhyymmeelleeaaff
((とまあ発想だけはいくらでもある......))
67
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 68: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/68.jpg)
すでに今日でも実績あり その一
アットパーティー|| 宴会・パーティー予約サイト ((株式会社リブゲート))hhttttppss::////aattppaarrttyy..jjpp//
LLaassttaaFFlluuttee ++ DDBBFFlluuttee ++ aanngguullaarrJJSS
※公開の許可を頂いています。
68
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 69: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/69.jpg)
すでに今日でも実績あり その二
UU--NNEEXXTT<ユーネクスト>|| 日本最大級のビデオ・オンデマンド ((株式会社UU--NNEEXXTT))hhttttpp::////pp..uunneexxtt..jjpp//基幹サービス ((220000テーブル超え)) にて SSAAFFlluuttee++DDBBFFlluuttee を採用新規プロジェクトで LLaassttaaFFlluuttee を採用==>> すでに一つはローンチ済み、==>> もう一つ ((330000テーブル近く)) は開発中
※公開の許可を頂いています。
69
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 70: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/70.jpg)
すでに今日でも実績あり その三
CClloocckk IItt|| タスク管理&タイムマネジメントサービスhhttttppss::////cclloocckk--iitt..ccoomm//SSAAFFlluutteeでスタートアップ、すでにLLaassttaaFFlluutteeに移行
個人でのWWeebbサービスの作り方-- SSAAFFlluutteeでスタートダッシュを決めるhhttttpp::////wwwwww..sslliiddeesshhaarree..nneett//TTaakkeesshhiiKKaattoo//wweebb--ssaafflluuttee
※公開の許可を頂いています。
70
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 71: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/71.jpg)
すでに今日でも実績あり その四
FFeessss バージョン1100 ((リリースまであともうちょい))hhttttppss::////ggiitthhuubb..ccoomm//ccooddeelliibbss//ffeessss
FFeessss99 :: SSeeaassaarr ++ SSAASSttrruuttss ++ DDBBFFlluutteeFFeessss1100 :: LLaassttaa DDii ++ LLaassttaaFFlluuttee ++ EESSFFlluuttee ++ EEllaassttiiccsseeaarrcchh
※公開の許可を頂いています。
71
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 72: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/72.jpg)
前身のSSAAFFlluutteeも実績いろいろ
SSAAFFlluuttee は、LLaassttaaFFlluuttee の前身となったフレームワーク。コンセプトは同じ。
↓↓↓SSAAFFlluutteeの実績は、LLaassttaaのコンセプト実績とも言える。
なので、すでに紹介した「SSAAFFlluuttee から LLaassttaa」の実績に加え......
72
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 73: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/73.jpg)
前身のSSAAFFlluutteeも実績いろいろ
ニクリーチ|| お腹を空かせた学生のための、 肉食就活サイト ((株式会社ビズリーチ))hhttttppss::////2299rreeaacchh..ccoomm//
※厳密には、SSAAFFlluutteeをベースにさらにカスタマイズ※公開の許可を頂いています。
73
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 74: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/74.jpg)
前身のSSAAFFlluutteeも実績いろいろ
zzuukknnooww((ズノウ)) || 友達とクイズで競える学習アプリ ((株式会社ビズリーチ))hhttttppss::////wwwwww..zzuukknnooww..nneett//RReeggiioonnUUpp || SSeeaarrcchh SSiinnggaappoorree JJoobbss--HHoonngg KKoonngg jjoobbss ((株式会社ビズリーチ))hhttttppss::////wwwwww..rreeggiioonnuupp..ccoomm//
※どの現場からも非常に高い評判を頂いています※公開の許可を頂いています。
74
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 75: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/75.jpg)
前身のSSAAFFlluutteeも実績いろいろ
LLUUXXAA RREESSEERRVVEE|| 会員制レストラン予約サイト ((株式会社ルクサ))hhttttpp::////rreesseerrvvee..lluuxxaa..jjpp//
※公開の許可を頂いています。
75
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 76: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/76.jpg)
LLaassttaa DDii だけでも、すでに実績
EEllaassttiiccsseeaarrcchh RRiivveerr WWeebbhhttttppss::////ggiitthhuubb..ccoomm//ccooddeelliibbss//eellaassttiiccsseeaarrcchh--rriivveerr--wweebb
SS22RRoobbootthhttttppss::////ggiitthhuubb..ccoomm//ccooddeelliibbss//ss22rroobboott
※LLaassttaa DDii は、DDBBFFlluutteeにも依存していないので、単独で使うことができます。
76
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 77: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/77.jpg)
余談ですが......
EESSFFlluuttee ((ssuuggaayyaaさん作))EEllaassttiiccsseeaarrcchhのJJSSOONNのスキーマ構造から、 DDBBFFlluuttee の CCoonnddiittiioonnBBeeaann に「うりふたつ」のクラスを自動生成する機能、新しい FFeessss1100 で利用されています
パッと見、どう見ても CCoonnddiittiioonnBBeeaann なのに、 検索してるのは EEllaassttiiccsseeaarrcchh。なんとも不思議
77
LLiisstt<<FFaaiilluurreeUUrrll>> uurrllLLiisstt == ffaaiilluurreeUUrrllBBhhvv..sseelleeccttLLiisstt((ccbb -->> {{ ccbb..qquueerryy(())..sseettCCoonnffiiggIIdd__EEqquuaall((ccoonnffiiggIIdd));; ccbb..qquueerryy(())..sseettEErrrroorrCCoouunntt__GGrreeaatteerrEEqquuaall((ccoouunntt));;}}));;
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 78: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/78.jpg)
余談ですが…22
MMaaiillFFlluuttee hhttttppss::////ggiitthhuubb..ccoomm//ddbbfflluuttee--sseessssiioonn//mmaaiillfflluutteeメールテンプレートから対応クラスを自動生成して、タイプセーフにメール送信!
スタートアップで作るシステムは、大抵メール機能が必須。なので、LLaassttaaFFlluutteeにデフォルト装備。
すでに実運用でバンバンメール飛んでます。
78
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 79: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/79.jpg)
余談ですが…33組み込みJJeettttyy,, 組み込みTToommccaattで運用。 ee..gg.. jjaavvaa --jjaarr hhaannggaarr..wwaarr
JJeettttyyBBooootthhttttppss::////ggiitthhuubb..ccoomm//ddbbfflluuttee--sseessssiioonn//jjeettttyy--bboooott
TToommccaattBBooootthhttttppss::////ggiitthhuubb..ccoomm//ddbbfflluuttee--sseessssiioonn//ttoommccaatt--bboooott
あまり使わない機能 ((jjaarrの中のアノテーションとか)) は、オプションにして、起動スピードを速めています。依存はしていませんが、LLaassttaaFFlluutteeの基本構成です。
79
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 80: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/80.jpg)
続々と若者たちが…
「((プライベートで))BBttooCCのサービスを作りたい! よし、LLaassttaa使おう」なーんてムードに。((すでに、実装中の若者もいます))
80
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 81: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/81.jpg)
ならば、jjfflluutteeも
DDBBだけじゃなく、WWeebb側でも、 スタートアップを支援したい
…RRDDBBのお風呂はどこいった!!??
81
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 82: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/82.jpg)
82
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 83: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/83.jpg)
FFAAQQ11:: QQ
SSpprriinngg FFrraammeewwoorrkk はライバルですか?
83
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 84: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/84.jpg)
FFAAQQ11:: AA
いいえ
そもそも全然敵いませんし、SSpprriinnggが積極的に選択されないような場面での選択肢の一つになればいいなと思っています。それゆえに、リーン・スタートアップなどの、少人数から始める変化の激しいシステム開発に特化しています。
84
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 85: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/85.jpg)
FFAAQQ11:: AA
それどころか、LLaassttaaFFlluutteeは、 SSpprriinngg FFrraammeewwoorrkk,, SSpprriinngg MMVVCC にも、 大きな影響を受けていて、尊敬するフレームワークの一つです。
また、最近のDDBBFFlluutteeは、SSpprriinnggとの組み合わせが多く、jjfflluutteeとしても非常に身近なフレームワークです。
85
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 86: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/86.jpg)
FFAAQQ22:: QQ
RRuubbyy oonn RRaaiillss はライバルですか?
86
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 87: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/87.jpg)
FFAAQQ22:: AA
いいえ
そもそもまったく敵いませんし、RRuubbyyが得意な人がLLaassttaaを使う必要性はあまりないです。
JJaavvaaが得意で、JJaavvaaの特徴を活かしてやっていきたいんだけど、フレームワークどうしようかなぁと迷っている人の選択肢の一つになればいいなと。
87
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 88: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/88.jpg)
FFAAQQ22:: AA
でも、こういろいろと考えると、スタートアップの現場で、なかなかJJaavvaaが使われない理由がよくわかるなぁとしみじみ。。。((SSccrriipptt言語強い))
なおさら、「JJaavvaaならでは」のリーン・スタートアップというのに、チャレンジしたいと。
88
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 89: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/89.jpg)
FFAAQQ22:: AA
コンパイルが凶ではなく、吉と出るようなアーキテクチャを!
89
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 90: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/90.jpg)
FFAAQQ33:: QQ
DDBBFFlluuttee以外のOO//RRマッパーは使えますか?
90
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 91: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/91.jpg)
FFAAQQ33:: AA
ほぼ、いいえ。厳密には、はい。
例えば、FFeessss1100は、EEllaassttiiccsseeaarrcchhなので、 DDBBFFlluutteeのRRDDBB機能は使っていません。((代わりに、EESSFFlluutteeを使っています))
ddbbfflluuttee--rruunnttiimmeeのjjaarrは入�りますが、別のOO//RRマッパーを使うことはできます。
91
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 92: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/92.jpg)
FFAAQQ33:: AA
ですが、そもそも LLaassttaa は、 DDBBFFlluutteeに強く依存をすることで、スムーズにDDBB側と連携することに重きを置いています
そして、LLaassttaa で作るようなサービスであれば、DDBB変更への耐性がキーポイントになると想定されるので、やはり CCoonnddiittiioonnBBeeaann は外せない......とまでいかなくても、RReeppllaacceeSScchheemmaa や AAlltteerrCChheecckk などのDDBB管理支援機能は使うことを強くおススメします。 ((どのみち、FFrreeeeGGeennは必ず使います))
92
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 93: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/93.jpg)
FFAAQQ44:: QQ
SSIIでも使えますか?
93
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 94: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/94.jpg)
FFAAQQ44:: AA
はい
別にSSIIでも、「特徴がスタートアップに近い開発」であれば、フィットすると考えます。
94
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 95: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/95.jpg)
FFAAQQ55:: QQ
逆に向�かない現場は?
95
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 96: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/96.jpg)
FFAAQQ55:: AA
RR&&DD,, oorr RR&&DD要素を含んだ開発jjfflluuttee自身そういった現場を経験していないので、そこの都合はあまり気にせず作っています
ウォーターフォール変化がなければ、変化への耐性もスピードもあまり役に立たないでしょう
お金も人((スキル))も潤沢にある別の方法で問題を解決できるかもしれません
96
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 97: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/97.jpg)
FFAAQQ55:: AA
LLaassttaaでもいいかもしれないけど、LLaassttaaじゃなくてもいいんじゃない?ってニュアンス
97
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 98: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/98.jpg)
FFAAQQ66:: QQ
流行りますか?
98
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 99: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/99.jpg)
FFAAQQ66:: AAいいえ
そもそもJJaavvaaでスタートアップを行うケース、要はJJaavvaaを使う事業会社が少ないと感じるので、そんな大流行りは期待できません。
ただ、LLaassttaaFFlluutteeがそこを支える選択肢となって、「コンパイルセーフを活かした スピードプログラミング」という手法が、少しでも一目置かれて、そういう事業会社が増えたら嬉しいなと。
99
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 100: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/100.jpg)
FFAAQQ66:: AA
流行らせるというよりかは、LLaassttaaがフィットする現場、LLaassttaaなら問題解決しやすい現場で、適切に採用されて適切に使われて、役に立ったら嬉しいです。
100
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 101: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/101.jpg)
FFAAQQ77:: QQ
LLaassttaa って何の略ですか?
101
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 102: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/102.jpg)
FFAAQQ77:: AA
ククク
102
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 103: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/103.jpg)
FFAAQQ77:: AA
それはさておき…
LLaassttaaFFlluuttee自身が「リーン・スタートアップした」と言えるでしょう。
すでに利用者の方々がいらっしゃったので、実際に使って貰いながら開発してきました。さらにこのあと、インクリメンタルに成長させていかないとですね。
103
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 104: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/104.jpg)
FFAAQQ77:: AA
ちなみに、
LLaassttaaFFlluutteeは、こないだ7月26日に誕生しました。((初の正式版リリース日))
DDBBFFlluutteeは…ちょうど9年前の9月26日です。実は今日は、DDBBFFlluutteeの9周�年の誕生日です。((00..11..0011 から9年、11..11..00--sspp99 に))
104
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 105: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/105.jpg)
FFAAQQ88:: QQ
さっそく使いたいんですけど......
105
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 106: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/106.jpg)
FFAAQQ88:: AA
まずは、LLaassttaaFFlluutteeを知る上で、EExxaammpplleeがオススメです。そこから新しいプロジェクトを作成できます。
11.. EExxaammpplleeをggiitt cclloonnee ((LLaassttaaのページにUURRLLあり))22.. SSttaarrttuuppTTeessttで、ドメインとサービス名を修正・実行33.. できた。あとは自分用にカスタマイズ
106
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 107: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/107.jpg)
FFAAQQ88:: AA
シングルプロジェクトか、マルチプロジェクトか?HHTTMMLLスタイルか、JJSSOONN AAPPIIスタイルか?
hhaarrbboorr:: シングルプロジェクトHHTTMMLL,, JJSSOONN AAPPII 混じり
mmaaiihhaammaa:: マルチプロジェクトddoocckkssiiddee -- HHTTMMLLスタイル ((AAjjaaxxは使えるよ))hhaannggaarr -- JJSSOONN AAPPIIスタイル
107
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 108: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/108.jpg)
FFAAQQ88:: AA
例えば、マルチプロジェクトでHHTTMMLLスタイルなら ddoocckkssiiddee
mmaaiihhaammaa--bbaassee:: ベースのppoomm..xxmmllなどmmaaiihhaammaa--ccoommmmoonn:: 共通クラス用、DDBBFFlluutteeここmmaaiihhaammaa--ddoocckkssiiddee:: WWEEBBアプリDDoocckkssiiddeeBBoooottのmmaaiinn(())で起動 ((ブラウザからアクセス))SSttaarrttuuppTTeessttをJJUUnniittで実行すれば、 これをベース新規プロジェクトが作成される
108
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 109: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/109.jpg)
EExxaammpplleeマップ
109
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 110: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/110.jpg)
FFAAQQ88:: AA
まだドキュメントも少ないので、jjfflluutteeに聞いてください。hhttttppss::////ttwwiitttteerr..ccoomm//jjfflluuttee
作者にサクッと聞いて問題を解決、これもスタートアップの極意です。
110
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 111: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/111.jpg)
さいごに
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 112: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/112.jpg)
フォークして、あらためて思ったこと
「SSeeaassaarrってすごいなぁ」としみじみ。これは自分では0から絶対に作れない※コミッタの方々に、22001155年にして、尊敬と感謝の念をたくさん感じてます。素晴らしいコードを、ありがとうございます。
112
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 113: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/113.jpg)
オープンソースのいいところ
プロダクトは静かになっても、ソースは旅立ち、 進化できる。
113
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 114: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/114.jpg)
LLaassttaa DDii tthhaannkkss…
TThhaannkkss,, FFrraammeewwookkss
LLaassttaa DDii ffoorrkkss SSeeaassaarr,,AAOOPP aalllliiaannccee aanndd eexxtteennddss iitt,,tthhaannkkffuull wwoonnddeerrffuull ffuunnccttiioonnss..AAnndd aallssoo ffoorrkkss SS22CCllaassssBBuuiillddeerr((ccaalllleedd RReeddeeffiinneerr iinn LLaassttaa DDii)),, pprroovviiddeess fflleexxiibbllee DDii xxmmll..IIff tthhee ffrraammeewwoorrkkss wweerree nnoott tthheerree,,nnoo LLaassttaa DDii hheerree..
II aapppprreecciiaattee eevveerryy ffrraammeewwoorrkk.. **ffrroomm GGiitthhuubb ppaaggee ooff LLaassttaa DDii
114
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 115: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/115.jpg)
LLaassttaaFFlluuttee tthhaannkkss…
TThhaannkkss,, FFrraammeewwookkss
LLaassttaaFFlluuttee ffoorrkkss SSAASSttrruuttss,, SSttrruuttss aanndd CCoommmmoonnss uuttiilliittiieessaanndd ((hheeaavviillyy)) eexxtteennddss iitt..AAnndd iiss iinnfflluueenncceedd bbyy SSpprriinnggBBoooott,, PPllaayy22..IIff tthhee ffrraammeewwoorrkkss wweerree nnoott tthheerree,,nnoo LLaassttaaFFlluuttee hheerree..
II aapppprreecciiaattee eevveerryy ffrraammeewwoorrkk.. **ffrroomm GGiitthhuubb ppaaggee ooff LLaassttaaFFlluuttee
115
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 116: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/116.jpg)
BBiigg TThhaannkk yyoouu
わらちゃん、ぺろった、らいと、きっとさん、ddoocckkssiiddeeのEExxaammppllee作りありがとう。
ssaawwくん、mmoorriizzoonnee、でこちゃん、 hhaannggaarrのEExxaammppllee作りありがとう。
じゅんぺー、モデル作成ありがとう。
yyaappppyy、特徴のレビューありがとう。
116
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 117: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/117.jpg)
CCrraazzyy TThhaannkk yyoouu
ssuuggaayyaaさん、aawwaaaawwaaさん、mmiiyyaassaammaa、 まだ一行もコードがない状態から「使う!」と言ってくれて、そして、実際に使ってくれて、ありがとうございます。
UU--NNEEXXTTの友人エンジニアのみなさん、LLaassttaaFFlluuttee採用ありがとうございます。
117
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 118: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/118.jpg)
GGrreeaatt TThhaannkk yyoouu
レイハウオリ、ビズリーチ、ルクサに大きな感謝を。ここでの支援経験が、すべて LLaassttaaFFlluuttee につながります。
ビズリーチのスタートアップで DDBBFFlluuttee を選んでくれた ssttaakkeeuucchhii さんに大感謝。 それがなければ LLaassttaa はありませんでした。
118
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 119: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/119.jpg)
SSuuppeerr TThhaannkk yyoouu
DDIIOO様、スライド作成ありがとう。あとでお菓子あげるね。
119
LLAASSTTAA LLaassttaaFFlluutteeの誕生
![Page 120: Lasta seasar 2015](https://reader031.fdocuments.net/reader031/viewer/2022012923/58ec8bf21a28ab613c8b474f/html5/thumbnails/120.jpg)
おしまいごせいちょう
ありがとうございました。
LLAASSTTAA LLaassttaaFFlluutteeの誕生