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
Hatena::Letの式年遷宮
Search
Takafumi ONAKA
PRO
November 25, 2021
Technology
0
520
Hatena::Letの式年遷宮
Hatena Engineer Seminar #17 はてラボの裏側編
https://hatena.connpass.com/event/230919/
Takafumi ONAKA
PRO
November 25, 2021
Tweet
Share
More Decks by Takafumi ONAKA
See All by Takafumi ONAKA
強いチームと開発生産性
onk
PRO
44
17k
ADRを運用して3年経った僕らの現在地
onk
PRO
22
23k
1文字エイリアスのすゝめ
onk
PRO
0
79
すこやかなサービス運営のための PWG (Performance Working Group)
onk
PRO
0
1.1k
オブザーバビリティの Primary Signals
onk
PRO
2
6.2k
Cache Stampede
onk
PRO
1
2.2k
ORM - Object-relational mapping
onk
PRO
2
3.9k
デュアルトラックアジャイルとの向き合い方
onk
PRO
5
13k
技術記事を書く&楽しむチームの作り方
onk
PRO
2
2.2k
Other Decks in Technology
See All in Technology
[2025年10月版] Databricks Data + AI Boot Camp
databricksjapan
1
260
Implementing and Evaluating a High-Level Language with WasmGC and the Wasm Component Model: Scala’s Case
tanishiking
0
180
AWS re:Invent 2025事前勉強会資料 / AWS re:Invent 2025 pre study meetup
kinunori
0
280
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
360
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
210
AIプロダクトのプロンプト実践テクニック / Practical Techniques for AI Product Prompts
saka2jp
0
110
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
120
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
4
3.4k
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
370
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
140
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
430
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
120
Featured
See All Featured
A designer walks into a library…
pauljervisheath
209
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Speed Design
sergeychernyshev
32
1.2k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Statistics for Hackers
jakevdp
799
220k
Building an army of robots
kneath
305
46k
KATA
mclloyd
PRO
32
15k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Language of Interfaces
destraynor
162
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Transcript
)BUFOB-FUͷࣜભٶ )BUFOB&OHJOFFS4FNJOBS େೳ࢙BLBJEPOL
ࣗݾհ w େೳ࢙BLBJEPOL w גࣜձࣾͯͳνʔϑΤϯδχΞ w ϊϕϧνʔϜॴଐ w νʔϜͰ8FCΞϓϦέʔγϣϯΤϯδχΞɺ ٕज़άϧʔϓશମͰϚωʔδϟۀΛ͍ͬͯ·͢
ࠓͷ
ࣜભٶ
ࣜભٶͱ w ҏਆٶͰɺʹҰɺ఼ࣾͱਆๅΛ৽ௐͯ͠େޚਆʹ͓ભΓ ئ͏ w ͕ഒ༻ҙ͞Ε͍ͯͯɺ͓͖ʹྡʹݐͯͯҠ͢ w ఼ࣾޚਆๅΛɺมΘΔ͜ͱͳ͘ܧঝ͠ଓ͚Δࡇ w ݐͦͷͷ͕ϨΨγʔ
ΦϦϯϐοΫͰฉ͍ͨํ ͳͷͰͳ͘ɺ ҡ࣋͢Δମ੍Λҡ࣋͢Δ
ιϑτΣΞʹ͓͚Δ ࣜભٶ
ιϑτΣΞࣜભٶͱ w ʹJELFOKJTLZXBMLFSʹΑͬͯఏএ͞Εͨ֓೦ w w ҏਆٶˍग़Ӣେࣾͷࣜભٶͷ w Πϯϑϥͷ#(σϓϩΠϝϯτΛ ࣜભٶʹݟཱͯͨ
IUUQTCMPHLFOKJTLZXBMLFSPSHTIJLJOFOTFOHPPJOGSBTUSBDUVSF
ιϑτΣΞࣜભٶͱ w ʹҰൠʹ·Δ w JEBOUJQPQ w +"84%":4*NNVUBCMF*OGSBTUSVDUVSFτϥοΫͷύωϧσΟεΧογϣϯ w JESZPUBSBJ w
ΫοΫύουͷαʔόϓϩϏδϣχϯάࣄΫοΫύου։ൃऀϒϩά w JENJSBLVJ w ΫοΫύουͷܧଓతͳͷͨΊʹ։ൃͱӡ༻͕ԿΛ͖ͯͨ͠ͷ͔ɺͦͷࣦഊͱ ޭʹ͍ͭͯ4QFBLFS%FDL
ιϑτΣΞࣜભٶͱ w JEFEWBLGʹΑΔ֦େղऍ w ์ஔ͕ͪ͠ͳࣾγεςϜͦࣜ͜ભٶ͍ͯ͜͠͏QJYJWJOTJEF w Πϯϑϥ͚ͩ͡Όͳ͘ιϑτΣΞࣜભٶ͢Δ w ఆظతʹ࡞Γ͢͜ͱͰɺϝϯςφϏϦςΟ্͕͠ɺ৽ن։ൃ ͔ΒͷֶͼಘΒΕΔ
ιϑτΣΞࣜભٶͱ w JEEBJLTZʹΑΓߋʹҙຯ͕Ճ͑ΒΕΔ w ϓϩμΫτΛӡ༻͢ΔνʔϜΛͭ͘Δ%FW4VNJ 4QFBLFS%FDL w શͯΛϑϧεΫϥονͰ࡞Γ͢લʹɺपظతʹखΛೖΕଓ͚Δ w ϓϩμΫτΛߏ͢Δཁૉ୯ҐͰ࡞Γ͢͜ͱͰϒϥοΫϘοΫε
ෛ࠴ʹͳΓ͔͚ͨཁૉΛϞμϯʹ͠ɺΤϯδχΞͷٕज़ܧঝΛߦ͏ w ࡞Γͨ͠ޙɺભٶࢀՃऀͦͷཁૉʹҰ൪ৄ͍͠ঢ়ଶʹͳΔ
ࠓͷ w ιϑτΣΞࣜભٶͱ w )BUFOB-FUͷྺ࢙ w ભٶͷϦΞϧ w ·ͱΊ
)BUFOB-FUͱ w ϒοΫϚʔΫϨοτΛ͔ΜͨΜʹ࡞ɾެ։Ͱ͖ΔϥϘαʔϏε
)BUFOB-FUͷྺ࢙ w w αʔϏε։ൃ߹॓ͰJETFDPOEMJGFͱJEDIP͕։ൃ w ༨ஊɿಉ͡։ൃ߹॓Ͱ࡞ΒΕͨͷ͕)BUFOB)BJLV w w
ϥϘαʔϏεͱͯ͠ެ։
)BUFOB-FUͷྺ࢙ w w JETFDPOEMJGFୀ৬ w w JEDIPୀ৬ w
JETBNQMF͕Ҿ͖ܧ͙ w w JETBNQMFୀ৬ w ༗ࢤͷΦʔφʔෆࡏʹ w 41'νʔϜ͕Φʔφʔͱͯ͠ϝ ϯςφϯε ˞ެ։ใ͕ݟ͔ͭΒͳ͍ͷͰԾ໊ɻ
)BUFOB-FUͷྺ࢙ w w JEPOLೖࣾ w w ΦʔφʔҾ͖ܧ͗ w
Ҿ͖ଓ͖ϝϯςφϯεϞʔυ w w ͞Α͏ͳΒ1FSMɺ͜Μʹͪ3VCZ
ભٶͨ͠
ભٶͱ͍͏બʹࢸΔ·Ͱ w ϦϦʔε࣌ ͷٕज़ w ͯϥϘαʔό w ͯͳ͕"84Λ͍ग़ͨ͠ͷ w
ͯϥϘ%# w ڞ௨%#Ϟσϧ w )BUFOBϑϨʔϜϫʔΫ 1FSM w 3JEHF .P$P w ͬ͘͟Γݴ͏ͱ3BJMT͙Β͍ʹ૬
ભٶͱ͍͏બʹࢸΔ·Ͱ w ʹ࡞ΒΕͨ··ɺࡉʑͱϝϯςφϯε͞Ε͍ͯΔ w &$Ҡసڞ௨%#ग़ߦΘΕͨ w %#ͷεΩʔϚϕετͰͳ͍ w 3JEHF .P$Pͷ··ϝϯςφϯε͢Δͷίετ͕ߴ͍
w 3JEHFMBTUDPNNJU w .P$PMBTUDPNNJU w ࣦΘΕٕͨज़ελοΫ
αʔϏεΛ࡞Δͱ͖ͷ࣠ w αʔϏεΛ࡞Δͱ͖ҎԼͷ࣠Ͱߟ͑Δ͜ͱ͕ଟ͍ɻ ಧ͚ΔͱɺϢʔβʹՁ͕͋Δ͔Ͳ͏͔ IUUQTXXXTMJEFTIBSFOFUUBLBGVNJPOBLB
αʔϏεΛ࡞Δͱ͖ͷ࣠ w ୈݶʮΔʯ w ୈݶʮΒͳ͍ʯ w ୈݶʮ༠ʯ w ͙͢Ͱ͖Δ͚ͲɺͦΜͳʹՁͳ͍ w
ଞͷ༏ઌ՝͕͋Δ͔͠Εͳ͍ w ᆵʹੴˠ࠭ˠਫΛ٧ΊΔͬͯίϐϖ͕͋ΔΑͶʁ IUUQTXXXTMJEFTIBSFOFUUBLBGVNJPOBLB
αʔϏεΛ࡞Δͱ͖ͷ࣠ w ୈݶΛҰ൪ߟ͑ͳ͖Ό͍͚ͳͯ͘ɺ Ձ͕͋Δ͔Βͥͻ࡞Γ͍ͨɻ͚Ͳ࡞Δͷ ͕͍͠ػೳ w ͜ΕΛ࣮ݱ͢Δͷ͕ϓϩάϥϚͱͯ͠ͷͷ ݟͤॴʹͳΔ IUUQTXXXTMJEFTIBSFOFUUBLBGVNJPOBLB
αʔϏεΛ࡞Δͱ͖ͷ࣠ w ϑϨʔϜϫʔΫʮՁ͕͋Δ͜ͱΛ͙͢࡞ ΕΔΑ͏ʹ͢Δʯͷ͕ w ୈݶΛୈݶʹม͑Δ w ͘͠ୈݶΛັྗత࣭·ͰߴΊΔ ͜ͱͰୈݶʹม͑Δ w
ͦ͜ʹد༩͠ͳ͍ͳΒෆཁ IUUQTXXXTMJEFTIBSFOFUUBLBGVNJPOBLB
ભٶͱ͍͏બʹࢸΔ·Ͱ w શͯΛঠѲͯ͠ɺϝϯς͍͖͍ͯͨ͠ w ಛʹ%#ϦϑΝΫλϦϯάΛ͍ͨ͠ w ࠓͷϑϨʔϜϫʔΫՁʹد༩͍ͯ͠ͳ͍ w ؆୯ʹ%#ΛมߋͰ͖Δ͔ʁݱࡏʹ͓͍ͯ/P w
ັྗత࣭ΛੜΜͰ͍Δ͔ʁݱࡏʹ͓͍ͯ/P
ભٶ༻ͷٕज़બఆ w Πϯϑϥϊʔλον w 4JOBUSB "DUJWF3FDPSE w &3# w TUBUJD
fi MFTϊʔλον
ͬͨ͜ͱ w .P$P"DUJWF3FDPSEʹม w ςʔϒϧఔͩͬͨͷͰɺؾ߹͍ w ͦͦ͜͜"3ͷதΛͬͯͳ͍ͱ͔ͬͨ͠ͱࢥ͏ w 1,͕ແ͍ςʔϒϧΛɺ1,ඞਢͳ03.Ͱѻ͏ w
φνϡϥϧΩʔ1,ͳؔ࿈ςʔϒϧΛɺαϩήʔτΩʔΛظ͢ Δ03.Ͱѻ͏
ͬͨ͜ͱ w "DUJWF3FDPSEೖͷৗखஈ w ଞͷϦϙδτϦͰ͍ͬͯΔ w ϝϯς༻ͷ3&1-03.͕ཉ͍͠ w σʔλΛཧղ͢ΔͨΊͷ࠷खஈ ۭͰ&3ਤ͕ॻ͚ΔΑ͏ʹͳΔ·Ͱࣸܦ͢Δ
w ֶʹԦಓͳ͠ IUUQTEFWFMPQFSIBUFOBTUB ff DPNFOUSZ
ͬͨ͜ͱ w 3JEHF4JOBUSBʹม w 3&45GVMͰͳ͍63-͕ΘΕ͍ͯΔ͕શͯҡ࣋ͨ͠ w ঠѲ͕ઌɺมߋޙ w ٱʑʹTJOBUSBBQQΛ࡞ͬͨJEPOLͷͯͳϒϩά
ͬͨ͜ͱ w 9TMBUF&3#ʹม w ϑΝΠϧఔͩͬͨͷͰɺͦ͜·Ͱखؒ͡Όͳ͍ w 9TMBUF͔Β&3#ͳΒͦͷ··༁Ͱ͖Δ w ͕͜͜؆୯Ͱ͋ͬͯཉ͍͠ͷͰαʔόଆͰ)5.-ΛϨϯμϦϯά ͢ΔखஈΛબΜͩ
͡Ί͔ΒΓ͍ͨ͠ީ܈ IUUQTXXXIZVLJDPNLPLPSPIBKJNF
શ෦ಡΉͱ͔ͬͨ໘നϙΠϯτ w ʮʯ۠ΓͷΫΤϦύϥϝʔλ͕ଘࡏ͍ͯ͠Δ w IUUQTPOLIBUFOBCMPHKQFOUSZ w 7BMJEͰ͋Δ͕ɺ࣮ࡍ63-&TDBQFͯ͠͠·͏Ϋϩʔϥ͕ଘࡏ͠ ͍ͯͨ w *OରԠ͍ͯͨ͠
w ϝχϡʔϘλϯͷจݴ͕ӳޠʹ
શ෦ಡΉͱ͔ͬͨ໘നϙΠϯτ w *&41ରԠ w 63-ͷ੍ݶ͕Ωπ͍ จࣈ ͨΊɺNJOJGZͯ͠ AKBWBTDSJQU GVODUJPO \^
AܗࣜͩͱɺΑ͋͘;ΕΔ w ҰఆҎ্ͩͱTDSJQUλάΛૠೖ͢ΔϒοΫϚʔΫϨοτʹͳΔ Έʹͳ͍ͬͯΔ w .JYFEDPOUFOUT$POUFOU4FDVSJUZ1PMJDZͷӨڹΛड͚Δ
ͰݟΔભٶ w HJUTIPXYYYTUBUT w )FMMP 3VCZ w fi MFTDIBOHFE
JOTFSUJPOT EFMFUJPOT w #ZF1FSM w fi MFTDIBOHFE EFMFUJPOT w ͍͍͙ͩͨΒ͍ͷίʔυྔʹ
ભٶޙʹͬͨ͜ͱ w "DUJWF3FDPSEͰྑ͔ͬͨʂ w JHOPSF@DPMVNOTDBMMCBDLΛۦͯ͠ɺຊ൪%#ϦϑΝΫλϦϯάΛ ࣮ݱՄೳͩͬͨ w Ϩʔϧ͔Β֎ΕͨσʔλϕʔεΛѻ͏POLOJOKB w ओΩʔ͕ແ͍ςʔϒϧෳ߹ओΩʔαϩήʔτΩʔΛՃ͢Δ
w UJNFTUBNQTΛݟ׳ΕͨYYY@BUʹϦωʔϜ w φνϡϥϧΩʔΛͨ͠Γɺςʔϒϧ͝ͱ࡞Γͨ͠Γ
ભٶޙʹͬͨ͜ͱ w 63-ΛϦιʔεࢤʹγϑτ w 1045࣌ʹΫΤϦύϥϝʔλͱ#PEZ͕྆ํ͋ͬͨΒͲ͏ѻΘΕΔ ͷ͔ɺΈ͍ͨͳΈͲ͜Ζ͕͋ͬͨɻͷͰݮΒͨ͠ w 'PSL(&5Ͱͳ͘1045Λ͏ w Ϋϩʔϥ͕(&5ϦϯΫΛݟ͚ͭͯɺΫϦοΫ͍ͯͨ͠
w ຖճ͙Β͍ɺΫϩʔϥ͕ ϦμΠϨΫτ͞Εͯ ϩάΠϯ ը໘Λදࣔͯ͠ɺఘΊ͍ͯͨ
ભٶޙʹͬͨ͜ͱ w ΠϯϑϥΛϚωʔδυԽ w 1FSM࣌&$ &$ .Z42- w ࠓ"-#
&$4 "VSPSB &MBTUJ$BDIF 3FEJT
ભٶޙʹͬͨ͜ͱ w +4ͷNJOJGZʹUFSTFSΛ͏Α͏ʹҠߦ w ͱͱͷΈ +BWB4DSJQU4RVJTI ͩͱɺ&4Ҏ߱ͷॻ ͖ํΛͨ͠ͱ͖ʹɺྫ͑ςϯϓϨʔτϦςϥϧ్͕தͰফ͑Δ ͷ͕͋ͬͨ
ίϛϡχέʔγϣϯͷتͼ w Ϣʔβ͞Μ͍߹ΘͤͤͣʹɺαʔϏε্Ͱෆ۩߹ͷಈ࡞֬ೝΛ ͯ͘͠ΕΔ w ࠶ݱ͢Δ࠷খίʔυΛߘͯ͘͠ΕΔͷੌ͗͢Δ w 501ϖʔδΛோΊ͍ͯͨΒݟ͚ͭͨ
ίϛϡχέʔγϣϯͷتͼ w ରԠ͓ͯ͘͠ͱԠ͕͋Δ
ίϛϡχέʔγϣϯͷتͼ w ߋʹରԠ͓ͯ͘͠ͱԠ͕͋Δ w จ௨ͷΑ͏ͳָ͠Έ
ࠓޙͷల։ w (SFBTFNPOLFZʹͲ͜·Ͱ͔ۙͮ͘ w ྫ͑(SFBTZ'PSLͱ͍͏ڝ߹αʔϏε͕͋Δ w Πϯετʔϧͱ͔ΛऔಘͰ͖ΔΑ͏ʹͳΔͱެ։͢Δָ͕͠͞ ૿͑Δ w ݕࡧ͍ͨͬͯ͠ʹ্खʹରԠ͍ͨ͠
ࠓޙͷల։ w HSBQIRMSVCZΛಋೖͯ͠ϑϩϯτΤϯυ৽ w %#վળ͕ऴΘͬͨͷͰɺ͘͢͝ѻ͍͘͢ͳͬͨ w 3VCZͳͷͦͷ··Ͱྑ͍͔ͳ͊ w )BUFOB-FUΛ࡞ͬͨJETFDPOEMJGFɺͯͳͰ3VCZΛ͍ଓ ͚͍ͯͨਓͳͷͰɺҙࢤΛܧ͍Ͱ͍͘ʢʁʣ
w 1FSMͷձࣾͰΘΕΔ3VCZͷར༻๏ͱ ຊ3VCZΧϯ ϑΝϨϯε
ࠓޙͷల։ w ΠϯϑϥߏͰ༡Ϳ w ݱࡏ"-# &$4 "VSPSB &MBTUJ$BDIF 3FEJT
w ͜͏ͯ͠ΈΔʁ w $MPVE'SPOU "1*(BUFXBZ $MPVE.BQ &$4 "VSPSB %ZOBNP%# w $MPVE'SPOU "1*(BUFXBZ -BNCEB "VSPSB %ZOBNP%# w SFRNJOະຬͳΒ"1*(BUFXBZ"-#ΑΓ͓ಘ w ίετ͕͘ͳΔͱ࣋ଓՄೳੑ͕ߴ·Δ w ͪΐͬͱ໘ന͍ߏͲΜͲΜࢼ͓͖͍ͯͨ͠
ࣾͷඪ४ελοΫͷҰาྡΛߦ͘ w ਖ਼͍͠ϥϘαʔϏεͷ࢟ w ࠷ۙͷͯͳͷඪ४ٕज़ελοΫHRMHFO /FYUKT w ࣅ͍ͯΔ͕গ͠ҧ͏ٕज़Λ͏͜ͱͰɺࣝͷ෯Λ͛Δ w ͜Ε͕બखˍ)BUFOB-FU͕ΞϓϦέʔγϣϯͱͯ͠খ͍͔͞Β
બͿํ๏ w ׳Ε͍ͯͳ͍PSෳࡶͳཁ͕݅͋ΔͳΒɺಉٕ͡ज़ΛෳΞϓϦέʔγϣ ϯͰ͏ํ͕༧֎ͷཁ݅Ͱߥʹᎍ·ΕΔ͜ͱʹͳΓɺਂΈ͕ग़Δ
ͯϥϘͱ ͯϥϘɺͯͳͷ࣮ݧతαʔϏεஔ͖Ͱ͢ɻ 20062݄ʹʮͯͳࣾһͷݸਓతΞΠσΞʹܗΛ༩͑ɺະͷαʔϏεʹվળ ΛॏͶͳ͕ΒຊαʔϏεʹҭͯΔʯͱ͍͏తͰ։࢝͠·ͨ͠ɻ ݱࡏͰɺຊαʔϏεԽΛࢦ͚ͩ͢Ͱͳ͘ •ՔಇதͷຊαʔϏεʹಋೖ͢Δ͜ͱ͕͍͠৽نػೳΛઌߦ࣮ͯ͢͠Δ •ຊαʔϏεͱҟͳΔϧʔϧϙϦγʔʹج͍ͮͯαʔϏεΛఏڙ͢Δ •ຊαʔϏεͱͯ͠ܧଓఏڙ͢Δ͜ͱ͕͘͠ͳͬͨαʔϏεΛɺنΛॖখͨ͠ ܗͰఏڙ͠ɺϥϘͳΒͰͷઓతͳࢪࡦΛಋೖ͠࠶ੜΛਤΔ ͱ͍ͬͨɺٛͷ࣮ݧతϓϩδΣΫτ࣮ূ࣮ݧͷͱͯ͠ΘΕ͍ͯ·͢ɻ
https://hatelabo.jp/ ΑΓൈਮɹɹ
ʮࣜʯભٶͷඞཁ͋Δ͔ w ϤγϤγͰ͖͍ͯΕແ͍ɺͱ͍͏͋Δ w 8FCαʔϏεϤγϤγ͠ͳ͍ͱεωΔQCMPH w ͦͦ͜͜ϤγϤγ͍ͯͯ͠εωΔʢʹෛ࠴ཷ·͍ͬͯ͘ʣ w ۀͰ͢ΒશͯͷߦʹΛೖΕଓ͚ΔͷෆՄೳͰɺ͕͚͍ࣝܽͯ͘ w
ӡӦνʔϜ͕υϝΠϯࣝΛ࠶֫ಘ͢ΔͨΊͷભٶ w ΔൣғΛݟۃΊͭͭɺίΞػೳͦࣜ͜ભٶ͢Δඞཁ͕͋ΔͷͩΖ͏ w ྻंΛΒͤଓ͚ͳ͕ΒύʔπΛަ͢ΔΠϝʔδ