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
REST API#とは
Search
masibw
July 18, 2020
Technology
1
1.3k
REST API#とは
サマーインターン前にツヨツヨになっちゃおうの会で登壇した際の資料です
https://connpass.com/event/181419/
masibw
July 18, 2020
Tweet
Share
More Decks by masibw
See All by masibw
Docker入門
masibw
0
220
Other Decks in Technology
See All in Technology
進化の早すぎる生成 AI と向き合う
satohjohn
0
150
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
480
クラスタ統合リアーキテクチャ全貌~1,000万ユーザーのウェルネスSaaSを再設計~
hacomono
PRO
0
210
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
15k
"なるべくスケジューリングしない" を実現する "PreferNoSchedule" taint
superbrothers
0
120
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
840
mablでリグレッションテストをデイリー実行するまで #mablExperience
bengo4com
0
430
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
17
15k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
4
3.1k
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
200
日経電子版の BCP への取り組みについて/mediajaws1121
nikkei_engineer_recruiting
0
100
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
10k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
A Tale of Four Properties
chriscoyier
162
23k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
We Have a Design System, Now What?
morganepeng
54
7.9k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Thoughts on Productivity
jonyablonski
73
4.9k
Documentation Writing (for coders)
carmenintech
76
5.1k
Done Done
chrislema
186
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Designing for humans not robots
tammielis
254
26k
RailsConf 2023
tenderlove
30
1.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
3&45 "1*ͱ 8&#ΞʔΩςΫνϟελΠϧΛΔ
注意書き εϥΠυதʹग़Δݴ༿ ݱ࣮తͳ༻๏ʹଇ͍ͯ͠ΔͨΊ ݫີͳఆٛͱҧ͏ͱ͜Ζ͕͋Γ·͢
自己紹介 NBTJCX ·͠ UXJUUFS!NBTJCX CMPHIUUQTNFTJNBTJDPN (JUIVC NBTJCX ηΩϡΞใγεςϜݚڀࣨ "UDPEFS ࠷ߴ
৭ ීஈ+BWB (Pͱ͔Λॻ͍ͯ·͢ɻ
3&45 "1* ͬͯ͝ଘͰ͔͢
3&45 GVM "1*とは 3&45ʹ४ڌ͍ͯ͠Δ"1*ͷ͜ͱ
3&45とは 3&QSFTFOUBUJPOBM 4UBUF 5SBOTGFS 8FCͷΞʔΩςΫνϟελΠϧ
3&45とは ΫϥΠΞϯταʔόʔ ελΠϧ ʹ੍ΛՃ͑ͨͷ
੍⁞ʮΫϥΠΞϯταʔόʯ ΫϥΠΞϯτ͕ϦΫΤετΛૹΓɺαʔόʔ ϨεϙϯεΛฦ͢ํࣜ クライアント サーバー
੍⁞ʮΫϥΠΞϯταʔόʯͷϝϦοτ ίϯϙʔωϯτ ߏཁૉ ͕ಠཱ͢ΔͨΊ ΫϥΠΞϯτ ݺͼग़͠ଆ ͕ॊೈʹͳΔ クライアント サーバー 1$ɾεϚϗɾήʔϜػ
FUDʜ
੍ ʮεςʔτϨεʯ • αʔόʔ͕ΫϥΠΞϯτͷଓใΛอ࣋͠ͳ͍ • クライアントは毎回必要な全ての情報をサーバーに送る
੍ ʮεςʔτϨεʯͷϝϦοτ • ϦιʔεΛ͙͢ʹղ์Ͱ͖Δ • εέʔϥϏϦςΟ͕61͢Δ • ࢹʢௐࠪʣͷࡍͷՄࢹੑ͕61͢Δ৴པੑ61
制約❸「キャッシュ」 Ԡ ฦࣄ Λ͍ճ͢ αʔόʔͷෛՙΛݮΒͤΔ
੍ʮ౷ҰΠϯλϑΣʔεʯ ϝιου͕ݶఆ͞Ε͍ͯΔ (&5ɾ1045ͳͲ
੍ʮ౷ҰΠϯλϑΣʔεʯͷϝϦοτ • ΫϥΠΞϯτɾαʔόʔͷಠཱੑ͕ߴ·Δ • શମͷΞʔΩςΫνϟ͕γϯϓϧʹͳΔ
੍ʮ֊ԽγεςϜʯ • ϩʔυόϥϯα ෛՙࢄ • ϓϩΩγ ΞΫηε੍ݶ ͳͲΛઃஔ͍͢͠
੍ʮίʔυΦϯσϚϯυʯ +BWB4DSJQU ͳͲ ΛΫϥΠΞϯτ ʹμϯϩʔυ࣮ͯ͠ߦͰ͖Δ ΫϥΠΞϯτʹػೳΛՃͰ͖Δ
3&45ͷ੍ ΫϥΠΞϯταʔό εςʔτϨε Ωϟογϡ ౷ҰΠϯλϑΣʔε
֊ԽγεςϜ ίʔυΦϯσϚϯυ
݁ہͲΜͳ"1*Λ࣮͢Εྑ͍ʁ
63-ʹ͍ͭͯݟͯΈΑ͏
$PPM 63*TEPO`UDIBOHF dΫʔϧͳ63*มΘΒͳ͍ d 5JN#FSOFST-FF
⁞ʮ"1*ͩͱ໌ࣔ͠όʔδϣϯΛؚΊΔʯ • IUUQBQJFYBNQMFDPNVTFST • IUUQFYBNQMFDPNBQJVTFST "1*ͷόʔδϣϯ্͕͕ͬͯΫϥΠΞϯτଆͰબΔ
ʮ໊ࢺΛ༻ͯ͠ϦιʔεΛද͢ʯ • શମΛද͢߹ෳܗΛ͏ • IUUQBQJFYBNQMFDPNVTFST • ୯ҰͷϦιʔεΛද͢߹ • IUUQBQJFYBNQMFDPNVTFST\VTFSJE^
ʮҰ؏ੑΛ࣋ͨͤΔʯ • εϥογϡ Λ༻͍ͯ֊Λ ඌʹ͚ͭͳ͍ ද͢ • IUUQBQJFYBNQMFDPNVTFST\VTFSJE^ •
ϋΠϑϯΛ͍୯ޠΛͭͳ͛Δ ΞϯμʔείΞͰͳ͍ • IUUQBQJFYBNQMFDPNBENJOVTFST • খจࣈΛ༻͢Δ • ϑΝΠϧ֦ுࢠΛ༻͠ͳ͍
❹「$36%関数名を使わない」 μϝͳྫ • IUUQBQJFYBNQMFDPNVTFSTDSFBUF ৽ن࡞ • IUUQBQJFYBNQMFDPNVTFSTTIPX
औಘ • IUUQBQJFYBNQMFDPNVTFSTVQEBUF ߋ৽ • IUUQBQJFYBNQMFDPNVTFSTEFMFUF আ $36%ͱ<$SFBUF 3FBE 6QEBUF %FMFUF>ͷ͜ͱ
❹「$36%関数名を使わない」 • 1045IUUQBQJFYBNQMFDPNVTFST ৽ن࡞ • (&5IUUQBQJFYBNQMFDPNVTFST औಘ
• 165IUUQBQJFYBNQMFDPNVTFST ߋ৽ • %&-&5&IUUQBQJFYBNQMFDPNVTFST আ )551ϝιουΛ༻͍ͯಈ࡞Λࣔ͢
ʮϑΟϧλʔॲཧΫΤϦύϥϝʔλͰʯ • IUUQBQJFYBNQMFDPNVTFST SFHJPO64" 64"ͷΈදࣔ • IUUQBQJFYBNQMFDPNVTFST TPSUCJSUIEBUF
ੜͰιʔτ ϑΟϧλϦϯάɾιʔτͳͲ
·ͱΊ 3&45$PPMͳ63-ʹ͍ͭͯҙࣝͯ͠ αϚʔΠϯλʔϯʹࢀՃ͠·͠ΐ͏ʂ
ࢀߟࢿྉ • "SDIJUFDUVSBM4UZMFTBOE UIF%FTJHOPG/FUXPSLCBTFE4PGUXBSF"SDIJUFDUVSFT • IUUQTXXXJDTVDJFEVdGJFMEJOHQVCTEJTTFSUBUJPOUPQIUN 3PZ5IPNBT'JFMEJOH • 3&45"1*5VUPSJBM •
IUUQTSFTUGVMBQJOFU • ʮ8FCΛࢧ͑Δٕज़ʯ ࢁຊཅฏ ٕज़ධऀ ॳ൛ • $PPM63*TEPO`UDIBOHF • https://www.w3.org/Provider/Style/URI