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
190
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
41
15k
ADRを運用して3年経った僕らの現在地
onk
PRO
21
19k
1文字エイリアスのすゝめ
onk
PRO
0
14
すこやかなサービス運営のための PWG (Performance Working Group)
onk
PRO
0
79
オブザーバビリティの Primary Signals
onk
PRO
2
4.3k
Cache Stampede
onk
PRO
1
2k
ORM - Object-relational mapping
onk
PRO
2
3.5k
デュアルトラックアジャイルとの向き合い方
onk
PRO
4
11k
技術記事を書く&楽しむチームの作り方
onk
PRO
0
180
Other Decks in Technology
See All in Technology
あなたの知らないクラフトビールの世界
miura55
0
130
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
150
生成AIのビジネス活用
seosoft
0
110
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
680
Godot Engineについて調べてみた
unsoluble_sugar
0
410
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
120
【Oracle Cloud ウェビナー】2025年のセキュリティ脅威を読み解く:リスクに備えるためのレジリエンスとデータ保護
oracle4engineer
PRO
1
100
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
490
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
20250116_JAWS_Osaka
takuyay0ne
2
200
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
500
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
170
Featured
See All Featured
Side Projects
sachag
452
42k
Into the Great Unknown - MozCon
thekraken
34
1.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
It's Worth the Effort
3n
183
28k
GitHub's CSS Performance
jonrohan
1030
460k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Being A Developer After 40
akosma
89
590k
Typedesign – Prime Four
hannesfritz
40
2.5k
KATA
mclloyd
29
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
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 ྻंΛΒͤଓ͚ͳ͕ΒύʔπΛަ͢ΔΠϝʔδ