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
APIドキュメントにまつわる試行錯誤 #gotandajs
Search
mizuki_r
September 02, 2016
Technology
1
890
APIドキュメントにまつわる試行錯誤 #gotandajs
2016-09-02 Gotanda.js #5 の発表資料
mizuki_r
September 02, 2016
Tweet
Share
More Decks by mizuki_r
See All by mizuki_r
FrontendUp_新規事業で_Remixを採用した理由と対策.pdf
rymizuki
0
230
税理士ドットコムの 技術的挑戦 #tapioca_lt
rymizuki
0
290
PHPを始めて1年、レガシーシステムにどう向き合っているか #phpstudy
rymizuki
1
800
モダンとレガシー #gotandaem
rymizuki
0
580
Vuexに型を付けるパターンを調べた #gotandajs
rymizuki
0
140
DockerでNodeの開発は厳しいのか? #gotandajs
rymizuki
3
410
マネージャー!きみは何者だ! #gotandaem
rymizuki
0
1.8k
物語を楽しむための物語論
rymizuki
0
540
失敗と向き合う
rymizuki
0
1.5k
Other Decks in Technology
See All in Technology
Agent Payments Protocolで実装するAIエージェント間取引
tokio007
0
110
LLMOpsのこれまでとこれからを学ぶ
nsakki55
2
640
AWSが推進するAI駆動開発ライフサイクル入門 〜 AI駆動開発時代に必要な人材とは 〜/ introduction_to_aidlc_and_skills
fatsushi
7
3.5k
30分でわかるアーキテクチャモダナイゼーション
nwiizo
6
2.9k
判断は人、準備はAI - チケット管理で見えた仕事の境界
yusukeshimizu
3
140
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
4
7.9k
EMから現場に戻って見えた2026年の開発者視点
sudoakiy
1
220
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
94k
Agent Skils
dip_tech
PRO
0
200
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
350
Amazon Rekognitionで 「信玄餅きなこ問題」を解決する
usanchuu
1
460
技術書を出版するまでの1161時間50分38秒
kakeami
0
140
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
270
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
370
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
110
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
160
Automating Front-end Workflow
addyosmani
1371
200k
4 Signs Your Business is Dying
shpigford
187
22k
Music & Morning Musume
bryan
47
7.1k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
200
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
72
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.3k
Transcript
APIドキュメントにまつわる 試行錯誤 2016/09/02 Gotanda.JS #5 @mizuki_r
@mizuki_r (株)モバイルファクトリー フロントエンドエンジニア JS, Perl Angular, Vue, Riot “HTMLは情報設計言語です!” 2
本日のお題 3
APIドキュメントにまつわる 試行錯誤
――を妄想している、 という話をします。
背景
最近の開発スタイル ʘUIϑΝʔετʗ ཁ݅ UI API ϞοΫ API αʔ ό ʔ
·ͣUI ใΛཧ͠ αʔόΛ ࡞Γ UIʹө͢Δ
最近の開発スタイル • ϑϩϯτerͰAPIϞοΫΛ࡞Δ • αʔόerϞοΫΛݩʹAPIΛ࡞Δ ʘAPIϞοΫͱ͍͏ίϛϡχέʔγϣϯπʔϧʗ
ユーザに対して どういう価値を提供するか? を土台に作れる! (๑•̀Ŷ•́๑)✧
悩み
モックの例 (&5BQJVTFSVTFS@OBNF ݸਓใΛͱͬͯ͘Δ \ OBNFʠVTFS@OBNFʡ BHF ^ ʘJSON5ʗ
よくあること • APIϞοΫͱαʔόͷϨεϙϯε͕ζϨΔ • POSTͷϦΫΤετύϥϝʔλ͕Θ͔Βͳ͍ • Ωʔ͕ԿΛ͍ࣔͯ͠Δͷ͔Θ͔Βͳ͍ • ফ͑ͨͣͷ༷͕ίϝϯτʹ͍ͬͯΔ ʘυΩϡϝϯςʔγϣϯෆʂʗ
問題… • ࡞ऀʹ༷Λ֬ೝ͢Δ • ίʔυΛಡΉ • ࣏͢… ʘ͜ɺίϛϡχέʔγϣϯπʔϧʂʗ
ツールで解決
API-Blueprint • MarkdownϕʔεͰυΩϡϝϯτΛهड़Ͱ͖ Δ • ύʔαʔΛఏڙ͠ɺ༷ʑͳ֦ு͕͋Δ
API-Blueprint • https://apiblueprint.org/ • MarkdownϕʔεͰυΩϡϝϯτΛهड़Ͱ͖ Δ • ύʔαʔΛఏڙ͠ɺ༷ʑͳ֦ு͕͋Δ
API-Blueprint
with Tools • aglio - HTMLʹυΩϡϝϯτΛܗ͢Δ • hariko - ϞοΫαʔόΛ্ཱͪ͛Δ
with Tools ཁ݅ UI API Blueprint API αʔ ό ʔ
UIΛઃܭ ใΛཧ αʔόͷߏங UIʹө API υΩϡϝϯτ API ϞοΫ ࣗಈੜ
解決できそう • ༷Λ໌จԽͰ͖Δ • ॻ͍ͨͷ͕ͦͷ··ಈ࡞͢Δ • ͕ٙ͋ͬͨΒه͢Ε͍͍ʂ ʘίϛϡχέʔγϣϯπʔϧʂʗ
でも…
問題は残る… • αʔόͱϞοΫͷ࣮ࠩ • API-Blueprintͷେͳ༷ • ֶशίετɺϝϯςίετ ʘӡ༻͕ΊΜͲͦ͘͞͏ʗ
妄想 • ͏Ұཉ͍͠ • αʔόͱͷ࣮ࠩΛิͰ͖Δ • ֶशίετʹݟ߹͏ޮԽ͕Ͱ͖Δ
あっ (゚∀゚)!
API-Blueprintのデータで Controllerくらいなら 作れんじゃね? (゚∀゚)!!
人類はどこまで 自動化できるのか〜?
API-Blueprintから取れるもの • ز͔ͭͷσʔλͷωετߏ • category, resource, action,transaction,httpTransaction,httpRequest,ht tpResponse,etc…
Controllerが要求するもの • ϦΫΤετͷஅ • Method, URL, Parameters • ॲཧͷஅ •
Modelͱ͔Serviceͷ໊લۭؒ • Ϩεϙϯεߏ • HttpStatus, Body, Header
use Amon2::Lite; use JSON::Types; get '/api/user/:user_name' => sub { my
($c, $args) = @_; my $params = $c->req->parametes; my %args = map { $_ => $params->{$_} or $args->{$_} } qw(user_name); my $entity = $c->factory('User')->get(%args); return $c->render_json(+{ name => string($entity->name), age => number($entity->age), }); }; __PACKAGE__->to_app;
(SPVQ6TFS (&5BQJVTFS\VTFS@OBNF^ 1BSBNFUFST VTFS@OBNF TUSJOH ʜϢʔβͷࣝผࢠ 3FTQPOTF BQQMJDBUJPOKTPO #PEZ
OBNF TUSJOH Ϣʔβͷࣝผࢠ BHF OVNCFS ྸ #PEZ \ OBNFʠNJ[VLJʡ BHF ^
ͳΜ͔ɺ Πέͦ͏ͳؾ͕͢Δʜ
DEMO https://gist.github.com/rymizuki/ab99a288dfafa841983182eddc0408c9
まとめ
まとめ • API-Blueprint with aglio x hariko x ??? •
API-BlueprintΛ༻͍ͨίʔυͷࣗಈੜ
所感 • υΩϡϝϯτͱϞοΫͱίʔυ͕࿈ಈ • ཧ্࠷ڧ • Ζ͏ͱࢥ͑ߦ͚Δ • ͰͦͷྔʹνʔϜ͍ͭͯ͜ΕΔ͔…? •
ߟྀ͢Δ͜ͱ͕߹ͤരൃͯ͠ࢮʹͦ͏…
やるなら 有効そう な無茶をしましょう!
ご清聴ありがとうございまし た