Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
play2stub さらっと概要
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoshi Kobayashi
February 21, 2015
Technology
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
play2stub さらっと概要
play2stub の概要を少し作成しました。処理イメージのページを中心に御覧ください。
Satoshi Kobayashi
February 21, 2015
More Decks by Satoshi Kobayashi
See All by Satoshi Kobayashi
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
1.5k
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
1.9k
Other Decks in Technology
See All in Technology
Type-safe IaC for Dart
coborinai
0
180
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
300
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
200
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
210
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
200
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
24
10k
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
930
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
150
複数プロダクト組織のAIネイティブ化における戦略 / AICon2026_kude
rakus_dev
0
300
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
2
170
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
160
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
470
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
340
Skip the Path - Find Your Career Trail
mkilby
1
170
For a Future-Friendly Web
brad_frost
183
10k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
Fireside Chat
paigeccino
42
4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
380
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
410
Discover your Explorer Soul
emna__ayadi
2
1.2k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Building the Perfect Custom Keyboard
takai
2
820
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Transcript
play2stub さらっと概要 @scova0731 as of 2015.02.21
play2stub のユースケース play2stubの役割がわかりにくいということで軽く文書化。 ✓ クライアント開発時のスタブサーバとして ✓ あるリクエストにはあるJSONを返す、特定のHTMLを描画して返す。 ✓ Aeromock さんに出発点は似てそうですが、もっと簡易で、Play
Framework に 依存。 ✓ プロキシっぽいサーバとして ✓ クライアントからのJSONでのリクエストを、更に内部の API サーバに経由し、 レスポンスをそのまま返したい場合 ✓ 一方、認証やHTML生成、HTTPヘッダーの修正などもおこないたい
play2stub を使うメリット 1. 前提知識は Play だけ。Play 環境のためのツール。 Play Framework に大部分を依存しているので、独自
感が薄い 2. とりあえずダミーレスポンスをおいて、クライアント開発を並行に進められる。ダミーのレスポンスは段階的 に本実装に置き換えていける 3. 簡単で冗長な部分が設定のみでよくなる 4. Filter、Processor、Renderer など処理の各所を変更可 (次ページ) 5. play2stub 自体が Play のプラグインに過ぎないので、使えない部分は普通にコードを書けばいいという安 心感 6. メンバーが多い時にコードに一定の規律を与えられるという副作用
処理イメージ Web Server (Play) HTML JSON Controller play2stub Controller Before
Filter After Filter Processor Param Injector API Server (Play) Template Resolver ・・・ Device Aware Template Resolver Renderer Handlebars Template Processor JSON Processor Proxy Processor Add Special Header Form to JSON Error Pages Rendering JSON 特定のエラーの場合 (Forbidden)に、 エラーページを描画する 例えばヘッダーを加えたりとか、 フォームの値は、すべて JSONに置換 したりとか。 たとえば、モバイルの場合にテンプ レートを分けることができる テンプレートで、 QueryStringやURL の情報を使えるようにする サーブレット的な発想。 Before Filter で Request を変更したり(イミュー タブルなので実際にはコピーすることになりそうですが )し、Processor で Result を作成、その後に After Filter で Result を改変したりする。 your play app. play2stub 特別なリクエストは特別なコード を書く。ここから部分的に Processorだけ呼んだり等も可能 開発時には、 Proxyを経由せずに Template/JSONで直接返せる (もとも とのstubの由来) 開発時には、 Proxyを経由せずに Template/JSONで直接返せる
Getting Started とりあえず動かしてみましょう。 $ git clone
[email protected]
:bizreach/play2-stub.git $ cd play2-stub/src/test/play2-sample1-stub
$ ./activator run http://localhost:9000/ にアクセス! - conf/routes をチェック - conf/application.conf をチェック
FAQ Q. 実績は?継続してメンテされるの? A. BizReach の新サービス中の複数の Play サーバで利用されています。しばらくは継 続的に更新されるのではないかと。 Q.
中を見てみたんですが・・・ A. はい、微妙です。テストコードはなく、可読性が低い箇所も。。