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
430
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
40
17k
ADRを運用して3年経った僕らの現在地
onk
PRO
21
22k
1文字エイリアスのすゝめ
onk
PRO
0
57
すこやかなサービス運営のための PWG (Performance Working Group)
onk
PRO
0
890
オブザーバビリティの Primary Signals
onk
PRO
2
5.9k
Cache Stampede
onk
PRO
1
2.2k
ORM - Object-relational mapping
onk
PRO
2
3.7k
デュアルトラックアジャイルとの向き合い方
onk
PRO
5
12k
技術記事を書く&楽しむチームの作り方
onk
PRO
0
1.9k
Other Decks in Technology
See All in Technology
作曲家がボカロを使うようにPdMはAIを使え
itotaxi
0
430
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
220
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
120
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
950
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
220
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
0
210
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
200
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
300
本が全く読めなかった過去の自分へ
genshun9
0
830
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
220
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
280
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Code Reviewing Like a Champion
maltzj
524
40k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Writing Fast Ruby
sferik
628
62k
Into the Great Unknown - MozCon
thekraken
39
1.9k
How GitHub (no longer) Works
holman
314
140k
Done Done
chrislema
184
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
730
Making the Leap to Tech Lead
cromwellryan
134
9.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
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 ྻंΛΒͤଓ͚ͳ͕ΒύʔπΛަ͢ΔΠϝʔδ