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
クライアントサイドから考えるマイクロサービス
Search
neonankiti
October 30, 2018
Programming
0
3.1k
クライアントサイドから考える マイクロサービス
・マイクロサービスとクライアント
・マイクロサービス運用の課題と解決
・マイクロアプリ化について
neonankiti
October 30, 2018
Tweet
Share
More Decks by neonankiti
See All by neonankiti
マルチモーダルデータ基盤の課題と観点
neonankiti
1
290
GPTsによるアシスタント業務の改善
neonankiti
3
2k
LLM_robustness_and_ops_in_production.pdf
neonankiti
5
2.5k
レストランにおける分散システムの構築と改善.pdf
neonankiti
0
170
外食DXにおけるエンジニアリングデザイン
neonankiti
0
420
分散処理システム(IoT)によるトレーサビリティの向上
neonankiti
0
190
Androidにおけるパフォーマンスチューニング実践
neonankiti
8
12k
Elastic Team Building
neonankiti
4
7.9k
Other Decks in Programming
See All in Programming
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
1
220
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
250
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
180
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
170
AWS Step Functions は CDK で書こう!
konokenj
5
870
AIプログラミング雑キャッチアップ
yuheinakasaka
20
5.2k
PRレビューのお供にDanger
stoticdev
1
240
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
430
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
160
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
210
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
130
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
170
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
540
Designing Experiences People Love
moore
140
23k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
380
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Git: the NoSQL Database
bkeepers
PRO
428
65k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Transcript
FiNC Technologies Inc. / Engineer
Department Yuki Nanri
2 Who am I l ໊લೆཬ༐ؾ ͳΜΓ Ώ͏͖ !OFPOBOLJUJ l
໊͋ͩόΠιϯ l גࣜձࣾ'J/$5FDIOPMPHJFT l ΫϥΠΞϯταΠυ J04"OESPJE։ൃ l ࠷ۙɺ'MVUUFSʹڵຯ͕͋Δ
3 l ϚΠΫϩαʔϏεͱΫϥΠΞϯτ l ϚΠΫϩαʔϏεӡ༻ͷ՝ͱղܾ l ϚΠΫϩΞϓϦԽʹ͍ͭͯ l ·ͱΊ
5 l 4FSWJDF૿Ճ 㲈*OUFSGBDFͷ૿Ճ l ը໘ খ͞ͳίϯϙʔωϯτʹׂ͞ΕΔ
l ը໘ʹෳαʔϏε͕ඥͮ͘
8 l αʔόʔͷαʔϏεؒͷࠩҟ l αʔόʔͷαʔϏεؒͷࠩҟͷٵऩ l J04"OESPJEʹ͓͚ΔυϝΠϯઃܭͷζϨ
9 MS MS MS MS
11 MS MS
MS MS
12 l αʔϏεؒͰಉ͡Ϧιʔε ఏڙ͢ΔKTPO ʹର͢Δදݱ͕ҟͳΔ l ը૾Λදݱ͢ΔϦιʔεͷྫ “image”: {
“url”: “https://example”, “thumb_url”: “https://example”, “thumb_small_url”: “https://example” , “width”: 144, “height”: 144 } “image”: { “original”: “https://example”, “medium”: “https://example”, “small”: “https://example” } “image”: { “original”: { “url”: “https://example”, “thumb_url”: “https://example”, “thumb_small_url”: “https://example” , “width”: 144, “height”: 144 }, “medium”: {}, “small”: {} }
13 l αʔϏεؒͰ࣮࣭ಉ͡υϝΠϯϞσϧͰ͋Δ l ʹؔΘΒͣɺ$POUFYU͝ͱʹҧ͏Ϧιʔε KTPO
Λฦ͢
14 l ϞσϧͱίʔυϕʔεશମΛશʹಉظͤ͞ΔͱΦʔόʔϔου͕େ͖ ͘ͳΓ͗͢Δ͔͠Εͳ͍͕ɺ৻ॏʹબͨ͠αϒηοτΛಉظ͢Δͷ Ͱ͋Εɺগͳ͍ίετͰརӹͷ΄ͱΜͲΛಘΒΕΔɻ ΤϦοΫɾΤ ϰΝϯε ෳͷίϯςΩετͰڞ༗ͷϞσϧΛ࣋ͭ͜ͱ
15 l νʔϜͰڞ༗͢Δ͜ͱʹ߹ҙͨ͠υϝΠϯϞσϧͰ͋Δ l ڞ༗νʔϜʹ૬ஊͳ͠ͰมߋͰ͖ͳ͍ l ςετΛ࣮ߦ͢Δ͜ͱ
16 Image l ֎෦ʹެ։͢Δ"1*ͷΨΠυϥΠϯͷ࡞ͱӡ༻ αʔόʔ l ڞ༗Χʔωϧ Ϟσϧɺσʔλϕʔεઃܭ
Λ౷Ұͨ͠Θ͚Ͱͳ͍ɻ
18 MS MS MS
MS
19 l αʔϏεؒͰಉ͡Ϧιʔεʹର͢Δදݱ͕ҟͳΔ߹͕͋Δ l αʔόʔڞ༗Χʔωϧͱͯ͜͠ΕΛղܾ͢Δ͖ l ΞϓϦͰɺಉ͡Ϧιʔεಉ͡Ϟσϧͱͯ͠ѻ͍1SFTFOUBUJPOͱ %PNBJOΛదʹ͍ͨ͠
l #''
20 FiNC (Image) l αʔόʔ͕ಉҰϦιʔεʹҧ͏KTPOΛฦ͢͜ͱΛఆ͍ͯ͠ͳ͍ l ΫϥΠΞϯτυϝΠϯͰ࣮ऀ͕ಠࣗͷυϝΠϯϞσϧΛఆٛ͢Δɻ
21 l αʔόʔ͕ಉҰϦιʔεʹҧ͏KTPOΛฦ͢͜ͱΛఆ͍ͯ͠ͳ͍ l %%%ʹ͓͚Δڥք͚ͮΒΕͨ$POUFYUͷଘࡏͷೝࣝ l ΫϥΠΞϯτυϝΠϯͰ࣮ऀ͕ಠࣗͷυϝΠϯϞσϧΛఆٛ͢Δɻ l
ΫϥΠΞϯτ$POUFYUͰͷυϝΠϯͷίϯηϯαε
22 l l
ΞϓϦϋϒͰ͋Δ l αʔόʔνʔϜΫϥΠΞϯτνʔϜͱஅ͞Ε͍ͯΔ ιϑτ ΣΞతʹ$POUFYU͕ҧ͏ அ͢Δඞཁ͕͋Δ
23 l ಉҰ৬ೳͰͷίϛϡχέʔγϣϯڧԽ l "OESPJE4IBSF
"OESPJEि࣍ϛʔςΟϯά l ਫ༵Ͳ͏Ͱ͠ΐ͏ J04ि࣍ϛʔςΟϯά l తɺγΣΞͱ߹ҙܗͷσΟεΧογϣϯ
24 l %%%ʹ͓͚Δڥք͚ͮΒΕͨ$POUFYUͷଘࡏͷೝࣝ l ഊࢭͷઃஔ l ΫϥΠΞϯτ$POUFYUͰͷυϝΠϯͷίϯηϯαε l ಉҰ৬ೳͷίϯηϯαεڧԽ
25 l αʔόʔؒͷࠩҟڊେͳϞϊϦγοΫͰى͜Γ͏Δ l ϚΠΫϩαʔϏεΫϥΠΞϯτͷજࡏత՝Λൃݟ͢Δ͖͔͚ͬʹա ͗ͳ͍
l 'J/$5FDIOPMPHJFTͰͨ·ͨ·ɺϚΠΫϩαʔϏεͩͬͨ l ͪΖΜzى͜Γ͢͞z͋Δ
iOS/Android
27 iOS/Android MS MS MS MS
28 l ৬ೳ͝ͱͷνʔϜମ੍ l J04"OESPJEͰίϛϡχέʔγϣϯ͕அ͞Ε͍ͯΔɻ
29 l J04"OESPJEʹ͓͚Δઃܭͷ૬ҧ l J04"OESPJEؒͷυϝΠϯϞσϧͷࠩҟ l ձٞʹJ04"OESPJEͷΤϯδχΞ͕Ұਓͣͭඞཁ
30 Client Fusion l $MJFOU'VTJPOͱʁ l J04"OESPJEͷஅ͞Εͨίϛϡχέʔγϣϯͷڮ͠ l త l
J04"OESPJEʹ͓͚Δ࣮ઃܭͷࠩͷղফ l ίϛϡχέʔγϣϯίετͷݮ ձٞͳͲ l J04"OESPJEͷ૬ޓͷϑϨʔϜϫʔΫཧղ 4XJGU ,PUMJO
31 l ΫϥΠΞϯτશମఆྫ l J04"OESPJEͷ։ൃϝϯόʔ͕ू·Δ l ՝ͷڞ௨ೝࣝͷػձͷఏڙ
l ΫϥΠΞϯτԣஅతͳٕज़ͷγΣΞ l ΫϥΠΞϯτϦʔυఆྫ l J04"OESPJEͷ5FDI-FBE͕'VTJPO͢ΔͨΊͷઓུΛཱͯΔ
32 l ݱঢ়΄΅ᴥᴪ͕ͳ͍ l ଈޮੑͳ͍ l ࠷ॳ࣭ΑΓසʹϑΥʔΧε͢Δɻ l தظతʹΈΔͱ
l ࣄલʹઃܭΛγΣΞ͢Δश׳͕Ͱ͖Δ l ϨϏϡʔ࣌ʹؾ͖͍͢
33 l J04"OESPJEԣஅͷίϛϡχέʔγϣϯػձࣗମ(PPE l ؔΘΔਓ͕ଟ͍ ҙࢥܾఆͷεϐʔυͷԼ l
J04"OESPJEΤϯδχΞͷΈͰू·Δͱʮ͖ʯͷൺॏ͕ॏ͘ͳΓ ͍͢ɻ l ϏδωεΠϯύΫτͷ؍͕ബΕ͕ͪ
34 l αʔϏε ϏδωεΠϯύΫτͷ࠷খ୯ҐʹॏΛஔ͍ͨνʔϜମ੍ l ΤϯδχΞͷΈͳΒͣɺσΟϨΫλʔɺσβΠφʔΛؚΜͩνʔϜΛͭ ͷ୯Ґʹ
35 vs l ίϯΣΠͷ๏ଇ l ৫ͱιϑτΣΞͷߏಉ͡ʹͳΔ l
ঢ়گʹԠͯ͡ɺॎԣʹνʔϜΛஅͰ͖Δ͜ͱ͕ॏཁ l εϞʔϧνʔϜͰੜ࢈ੑΛߴΊΔ
37 l ΫϥΠΞϯτΞϓϦͷׂ͞ΕͨϚΠΫϩαʔϏε ػೳ l ֤υϝΠϯ͕ΞϓϦϓϩηεΛ࣋ͭ l υϝΠϯຖͷΞϓϦΠϯετʔϧ
l ࣗੑ ಠཱͨ͠σϓϩΠϝϯτ l ˞ 'J/$5FDIOPMPHJFTͰউखʹ໋໊
38 (iOS/Android) l 8FCͱΞϓϦͷγʔϜϨεͳମݧ͕ग़དྷͳ͍ l 8FCΞϓϦʹ͓͍ͯɺະΠϯετʔϧ࣌ʹΠϯετʔϧ͕ඞཁ l ΞϓϦαΠζ͕େ͖͍ l Ұ෦ͷίϯςϯπͷͨΊʹશମΛΠϯετʔϧͨ͘͠ͳ͍
39 l Πϯετʔϧεςοϓͷݮ l ΞϓϦαΠζͷݮ l ࢀߟ l
*OTUBOU"QQTIUUQTEFWFMPQFSBOESPJEDPNUPQJDHPPHMF QMBZJOTUBOU l "UMBTTJBOͷ+JSBͳͲରԠ "OESPJE
40 ≒ l ϚϧνϞδϡʔϧԽ l ॎԣͷஅ
l ྫ <ॎ>ϝσΟΞػೳͷΓग़͠ <ԣ>ೝূػೳ l ϚϧνϞδϡʔϧͷ͢ʍΊ l IUUQTTQFBLFSEFDLDPNLHNZTIJONVMUJNPEVMFOP TVTVNF
41 l ϚΠΫϩΞϓϦ͍ۙະདྷʹ͘Δɻ l ΑΓ8FCʹ͍ۙγʔϜϨεͳମݧ l ϚΠΫϩΞϓϦʹඋ͑ͨୈҰาϚϧνϞδϡʔϧԽ͔Β࢝·Δ
42 l ϚΠΫϩαʔϏεΫϥΠΞϯτͷજࡏతͳΛݕ͢ΔͨΊͷ͖ͬ ͔͚ʹ͗͢ͳ͍ l ৫ମ੍ΛॎԣͱॊೈʹมߋͰ͖Δ͜ͱɺ·ͨιϑτΣΞΞʔΩςΫ νϟ͕ಉ༷ʹมߋՄೳ͔ʁ l ϚΠΫϩΞϓϦԽͷํʹਐΜͰ͍Δ