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
880
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
220
税理士ドットコムの 技術的挑戦 #tapioca_lt
rymizuki
0
280
PHPを始めて1年、レガシーシステムにどう向き合っているか #phpstudy
rymizuki
1
780
モダンとレガシー #gotandaem
rymizuki
0
580
Vuexに型を付けるパターンを調べた #gotandajs
rymizuki
0
140
DockerでNodeの開発は厳しいのか? #gotandajs
rymizuki
3
400
マネージャー!きみは何者だ! #gotandaem
rymizuki
0
1.8k
物語を楽しむための物語論
rymizuki
0
530
失敗と向き合う
rymizuki
0
1.5k
Other Decks in Technology
See All in Technology
さくらのクラウド開発ふりかえり2025
kazeburo
2
1.3k
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
430
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
240
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
490
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
270
AI with TiDD
shiraji
1
330
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
190
Redshift認可、アップデートでどう変わった?
handy
1
120
Everything As Code
yosuke_ai
0
460
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
0
390
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
HDC tutorial
michielstock
1
280
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Site-Speed That Sticks
csswizardry
13
1k
Rails Girls Zürich Keynote
gr2m
95
14k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
34
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
75
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
880
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Λ༻͍ͨίʔυͷࣗಈੜ
所感 • υΩϡϝϯτͱϞοΫͱίʔυ͕࿈ಈ • ཧ্࠷ڧ • Ζ͏ͱࢥ͑ߦ͚Δ • ͰͦͷྔʹνʔϜ͍ͭͯ͜ΕΔ͔…? •
ߟྀ͢Δ͜ͱ͕߹ͤരൃͯ͠ࢮʹͦ͏…
やるなら 有効そう な無茶をしましょう!
ご清聴ありがとうございまし た