Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
play2stub さらっと概要
Search
Satoshi Kobayashi
February 21, 2015
Technology
0
320
play2stub さらっと概要
play2stub の概要を少し作成しました。処理イメージのページを中心に御覧ください。
Satoshi Kobayashi
February 21, 2015
Tweet
Share
More Decks by Satoshi Kobayashi
See All by Satoshi Kobayashi
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
340
Other Decks in Technology
See All in Technology
品質のための共通認識
kakehashi
PRO
4
370
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
550
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
12
590
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
270
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
160
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
420
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
210
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
380
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
regrowth_tokyo_2025_securityagent
hiashisan
0
260
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
3
270
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
2
180
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
26
Statistics for Hackers
jakevdp
799
230k
Building an army of robots
kneath
306
46k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
47
33k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How to Ace a Technical Interview
jacobian
281
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
62
Are puppies a ranking factor?
jonoalderson
0
2.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.3k
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. はい、微妙です。テストコードはなく、可読性が低い箇所も。。