Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Henry のサーバーサイドアーキテクチャ 狙いと課題 2022.08.25 / Server...
Search
Agata Naomichi
August 25, 2022
3
5.7k
Henry のサーバーサイドアーキテクチャ 狙いと課題 2022.08.25 / Server-Side Architecture at Henry, Inc.
Agata Naomichi
August 25, 2022
Tweet
Share
More Decks by Agata Naomichi
See All by Agata Naomichi
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.3k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
21k
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
2
630
医療系スタートアップが経験した 認知負荷問題の症状分析と処方箋 チーム分割による認知負荷の軽減 / Cognitive Load Busters
agatan
2
560
専門性の高い領域をいかに開発し、 テストするか / How to test and develop complicated systems with Domain Experts!
agatan
3
860
The Web Conference 2020 - Participation Report
agatan
1
720
○○2vec 再考
agatan
1
4.6k
Improving "People You May Know" on Directed Social Graph
agatan
4
2.7k
Machine Learning and Feedback
agatan
1
1.5k
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
What's in a price? How to price your products and services
michaelherold
246
13k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How GitHub (no longer) Works
holman
316
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
For a Future-Friendly Web
brad_frost
180
10k
Transcript
4FSWFSTJEF,PUMJOⲰ䍚⚡ )FOSZסئ٭ف٭ئؕغؓ٭؞طؠزٔ 斤ַכ鐐갭
/BPNJDIJ"HBUB ˝ _8BOUFEMZ *OD ˝ ئ٭ف٭ئؕغ 嚀危㰢綗 ظ٭ذ㓹泅 ˝ _)FOSZ
*OD ˝ ئ٭ف٭ئؕغ 舅䄕磆☭ !BHBUBO!BHBUBO@
)FOSZס舅䄕磆☭⪵ניյئ٭لتסؓ٭؞طؠزٔכאס斤ַמ חַיֽ鎇ױն ˝ )FOSZע⛰⛼זיַס־ ˝ "SDIJUFDUVSF0WFSWJFX ˝ 䤗软鹟㲊ס斤ַ ˝ )FOSZסꝧ氦تذٜؕ
˝ ☪仼ױךסר־ֻ ˝ ☪䏲מ⺸ׄי ☪仼鎇׆כ
)FOSZע⛰⛼זיַס־ ؓ٭؞طؠزٔ٬䤗软鹟㲊ס⯥䬠ס⪦僗
IUUQTTQFBLFSEFDLDPNIFOSZPDJBMIFOSZDVMUVSFEFDL TMJEF )FOSZע⛰חׂזיַס־
)FOSZע⛰חׂזיַס־ ˝ זׂրٝجؤ٤┉⛮㑔꧅㯸ٜطցכַסחׂזיַױն ˝ ꧅㯸ٜط殴䗯㕔鋗ꎰ٬畘杼خنعؘؗؓ ˝ ٝجؤ٤ ٝجوعؤ٤مٖ٭ذ 錚殴㕔ꀥ⯆䈱מ㓹טַג⚡銶䗯㕔畘 杼خنعؘؗؓ
˝ 攐מٝجؤ٤ֿ攐墤ךـ٭غ˟! ˝ غْؕ٤湳閁ס釐姲ٝيֿٜ냕ַ ˝ ⸬劲מٜ٭ٜמ⯞׆כֿ姲״
"SDIJUFDUVSF0WFSWJFX
"SDIJUFDUVSF0WFSWJFX
"SDIJUFDUVSF0WFSWJFX
3FBDU邮نٞ٤عؙ٤غ "QPMMP$MJFOU 5ZQF4DSJQU邮 鏀錞յ(SBQI2-̭H31$ ,PUMJO邮 H31$+BWB⮵榫 ,PUMJO邮 H31$+BWB⮵榫 &YQPTFE 03.
⮵榫 "SDIJUFDUVSF0WFSWJFX OFYUע/FYUKTכע扛꞊➟ך
䤗软鹟㲊ס斤ַ
"SDIJUFDUVSF0WFSWJFX
8IZ#'' 8IZ(SBQI2- ˝ فشؠؙ٤غئ٭لت⮆Ⱏ⮭了ֿ⩝מֵזג 䏲鳭 ˝ ̜نٞ٤عؙ٤غֿ⹆拨ئ٭ف٭硜יֽ׀גַ ˝ ̜鏀錞┉甙䢥ךגַ
˝ نٞ٤عؙ٤غ釱憠ס釐姲 ˝ ̜نٞ٤عؙ٤غꝧ氦מت؞٭ֿُ培ַ ˝ ̜"QPMMP$MJFOUס敯䛜畘杼מסז־גַ
8IZ#'' 8IZ(SBQI2- ˝ #''ס㲔逷עյH31$סت؞٭ُ㲊紶־ⶐ舅Ⳃ氳מؤ٭غ榟䡗יַ ˝ H31$כ(SBQI2-ס◅ꄆت؞٭ُ畘杼ゖ갭鉮寕 ˝ ٞةشؠֿ┘䑒釐מ丆鶱׆כꡔ׃ ˝ QSPUP־כ؆לסؤ٭غ榟䡗ֿյ(SBQIכיחםׁ׆؆ד
鼧⮆ע䣆Ⳃ
"SDIJUFDUVSF0WFSWJFX
8IZ,PUMJO ˝ ꪐ氳㑔♀銧鏤ךֵ ˝ غْؕ٤ֿ邾ꥭյ־ח㓹䇠بتطّכיס㔋擱䓪ֿ姲״ ˝ 䫑榫ס ˝ 銧鏤☔ס䇶
˝ ٓر٤ם銧鏤ךֵחחյ☽ס銧鏤־סتؕشز٤ءؤتعֿ⛥ַ ˝ 㓹䇠بتطّ+BWBך傴ַג磬꽦סֵ亠ؓوٞ٭زגַ ˝ ־מ˟ ˝ ؛٤وٝ嚀㉺כס鵽䯥 31$磬榺ךםַ鵽䯥 םל縒ֻגכ׀յ+BWB 癨ⶡמ鉴׆כֿ僗⮵מ⥸ׂ⺎耆䓪 ˝ 4%,ֿ鿥יַג˟/&5硌סֹֿ䍚ַꯛ㓊־םַ
8IZH31$ ˝ ت؞٭ُ껮Ⳃꝧ氦䑩⺸ג־זג 䏲鳭 ˝ 3&45GVMמյٗ٭تآ٭ت䧗⺸ך31$㲊紶ג־זג ˝ אס☽מր*%-䧏ח31$نٝ٭ّ٠٭ؠցע㰆㏇ֿյ攐⮯⨣⛣ם憠
釤ַדגכַֹעյْ٤ف٭ס⮵榫磬꽦㲔竮־鹟䥃ג
"SDIJUFDUVSF0WFSWJFX
䎎⮣ס斤ַ ˝ SFDFJQUٝجوع٬錚殴㕔ꀥ⯆䈱מחַיס銶畀╚ם鞊ⳉכ ˝ 哕ⱱ)FOSZ"HOPTUJDםٓظٛ٤ء٬㲔逷泘䧗גַ ˝ ꄆ釱סעր㔋擱䓪ց ˝ 㵱䅻םׂ䇶㛻ך邾ꥭםסךյ㵧全氳מ缿כם ˝
̜斻玮י氦㷣ך׀ֹמגַ ˝ HFOFSBM哅ⳉ车םֹ槆ꪫٝجوع♓㛙סظ٭ذס畘杼╚ם鞊ⳉכ ˝ )FOSZס6*69מ泡מ㳝岣זגٓظٛ٤ء٬㲔逷泘䧗גַ ˝ ꄆ釱סעր刎鬁䓪ց
ꝧ氦تذٜؕ ˝ بتطّؤ٤َ٭ؾ٤عׇכמ斻玮ג (JU 3FQPTJUPSZ ˝ 㱦佄ם٬ِتמ㗞槡ס滭㙗錉םַ ˝ ت؞٭ُ껮Ⳃםꝧ氦䑩⺸ ˝
QSPUPעIFOSZBQJTכַֹ3FQPTJUPSZמ╈㜆嘤氳מ鿥糋 ˝ (JU)VC1BDLBHFT HJUTVCNPEVMF ך⺨ؤ٤َ٭ؾ٤عמ鿥䄭 ˝ *'ס伺澬מזי鏀閁ס룲뤕ꡔַד┾车ꝧ氦ס⺎耆䓪냕״ IFOSZBQJT IFOSZC IFOSZHFOFSBMBQJ IFOSZSFDFJQUBQJ IFOSZXFC (SBQI2-סت؞٭ُכי❣㰆
ר־ֻ
HFOFSBMSFDFJQU⮆Ⱏכַֹ⮭了 ˝ 䎎⮣ס斤ַל伺澬ם⮆ꦕֿך׀יַ־כַכ˟ ˝ غْؕ٤מ㵚ⶇ⮆ם磬꽦⡁ֿםַג״מյ㗞槡科뜍מ錃ׄ׆כֿ ׳־־זג ˝ 湳閁ֿ鞎ױױך䙫㍲氳מ㗞槡ס錃㲊⩝䋝ףמג ˝
䓦ַךַי鑽״ג 杼䘶ס꞊➟ IFOSZHFOFSBMBQJ IFOSZSFDFJQUBQJ SFDFJQUֿ嚀耆䬠❠ HFOFSBMֿ鸵⺬י⮵榫 ❣㰆ס亠⺸ 杯㲔ס꞊➟ IFOSZHFOFSBMBQJ IFOSZSFDFJQUBQJ HFOFSBMֿظ٭ذ㲊紶鴜⟓ SFDFJQUֿ鸵⺬י⮵榫 ❣㰆ס亠⺸
HFOFSBMSFDFJQU⮆Ⱏכַֹ⮭了 ˝ ┉亠ךյ⮣僿־⮆Ⱏ⮭了ג׆כך荁־זג׆כֵ ˝ 鴫ؤ٤ؘؗؕס嫎⯞氳םⲖ冽ֿ榟ױג ˝ SFDFJQUز٭ّס斻玮䓪מ┉㲊爊䈱㳝┙יַ ˝
䅻מ☔䣆┘餉ךز٭ّ稴䡗עױדױד孱Ⳃ氳ךעֵֿ˟! ˝ 錃銶ס䧗ꄠ罫؆ד ˝ 㱭梗כַכ鞊ⳉ䙫閁乃סꃘ䡗מע㳝┙יַע ˝ ⠕☔氳מע⮣״מ䍚⯆ⱱסֵ㗞槡錃ׄג׆כעյ稀⺬יَةطؔه דזגכ䚉יַ ˝ 鏰זג㳡磵⺬ע䑒BQJT QSPUP 磬榺י氦榟 ˝ 㲔逷ֿ㳡磵⺬מםעדַשُب
H31$ס䫑榫 㲔逷 ؕ٤نٚ ˝ 㲔逷ꪫ٬ؕ٤نٚꪫךעꪜ䅻מⲂׄיַ ˝ ب٤وٜמؤ٭غ榟䡗ך哧 ˝ ؙؤبتطֿّ⩗㲔יַ 0QFO5FMFNFUSZס㵵⪌םל
˝ ⛷鐶H31$,PUMJO ˝ ⶡמֹH31$+BWBך㲔逷יױזיַי㍭זיַםַסך儔䫑榫 ˝ H31$,PUMJOעמֿٛٛ٭ت ˝ 4USFBNJOH31$ס3FRVFTU3FTQPOTF'MPXכי䣽ֻסע➘⮵אֹ ˝ ֿյ)FOSZךע4USFBNJOH31$ח־זיַםַ ˝ ם؆םTVTQFOEׯח־זיַםַ! ˝ ׇ湳釤ֵֿףֽ绂־ׂדַ
H31$ס䫑榫 㲔逷 ؕ٤نٚ ˝ 㲔逷ꪫ٬ؕ٤نٚꪫךעꪜ䅻מⲂׄיַ ˝ ب٤وٜמؤ٭غ榟䡗ך哧ך׀ ˝ ؙؤبتطֿّ⩗㲔יַ 0QFO5FMFNFUSZס㵵⪌םל
H31$ס䫑榫 *%- ت؞٭ُ껮Ⳃ ˝ QSPUP┕ךסؤِٖؼآ٭ب٘٤ס槡䚉ب٭٤ע磵啶ֵ ˝ QSPUPֿغ؞ْٖ٤عךֵյQSPUPס催二13ֿ錃銶ס閱鑜㕙דזגֿ˟ ˝ QSPUPך辐杯׀םַס FH邾ꥭם敯䛜鹜燯
ע鏀閁룲뤕סذؾמם
☪䏲מ⺸ׄי לֹ䷉ャיַׂ־
☪䏲מ⺸ׄיגַ׆כ ˝ 䎎⮣כ奂鬳י磬꽦٬湳閁ֿ蠷犉י׀ג☪յ䷉״י⮆Ⱏ㗞槡ץ׀םֽ ˝ لةؾت┕ס二גם釐姲釤ֻי׀ג ˝ ئ٭لت⮆Ⱏךעםׂյ(SBEMFٓةٖ٭ٜ⮆Ⱏמ㗞槡ס啶疣 ˝ (SBEVBMמ鶟״ַ ˝
┉鞉䓪䥵⟊疗㍱縒䜡յ׆♓┕َٝةعٛע⮆Ⱏגׂםַ ˝ QSPUPך㒪ױם־זגؤِٖؼآ٭ب٘٤ס狌㖡׃ ˝ غْؕ٤ٓظٜ,PUMJOך⩝מחׂזיٝلٖ٭鍱ײ ˝ %FTJHO%PDVNFOUס伺乃 ˝ 釐姲☼喋ס乃傴
)FOSZס舅䄕磆☭⪵ניյئ٭لتסؓ٭؞طؠزٔכאס斤ַמ חַיֽ鎇ױגն ˝ )FOSZע⛰⛼זיַס־ ˝ "SDIJUFDUVSF0WFSWJFX ˝ 䤗软鹟㲊ס斤ַ ˝ )FOSZסꝧ氦تذٜؕ
˝ ☪仼ױךסר־ֻ ˝ ☪䏲מ⺸ׄי ☪仼鎇ג׆כ