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
BURST #0
Search
Sho Kusano
January 15, 2022
Programming
1
190
BURST #0
BURST #0 の講義資料です
Sho Kusano
January 15, 2022
Tweet
Share
More Decks by Sho Kusano
See All by Sho Kusano
ISUCON 反省会
rosylilly
0
210
ISUCON 夏祭り 2023 ハンズオン資料
rosylilly
1
6.1k
今日から始めるリアルタイム配信の裏側
rosylilly
10
7.4k
ISUCON12 事前講習
rosylilly
7
13k
ISUCON 11 Prior
rosylilly
10
17k
ISUCON 夏期講習 2020
rosylilly
7
10k
真剣.js / shinken-js
rosylilly
1
3.8k
Sustainable Operation
rosylilly
2
3.4k
Crystal introduction
rosylilly
0
1.1k
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
280
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
5
1.6k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
150
距離関数を極める! / SESSIONS 2024
gam0022
0
140
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
CSC509 Lecture 12
javiergs
PRO
0
140
Realtime API 入門
riofujimon
0
140
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
220
C++でシェーダを書く
fadis
6
4k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
1
300
受け取る人から提供する人になるということ
little_rubyist
0
210
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
350
Featured
See All Featured
BBQ
matthewcrist
85
9.3k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Thoughts on Productivity
jonyablonski
67
4.3k
Side Projects
sachag
452
42k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A Tale of Four Properties
chriscoyier
156
23k
Code Review Best Practice
trishagee
64
17k
Transcript
4IP,VTBOP5FDI$POTJHMJF #6345 #6345ମݧߨश
w ຊ#6345ମݧߨशʹ͝ࢀՃ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·͢ w ͱ͍͏͜ͱͰͬ͞ͱࣗݾհΛ ͜Μͪʂ
w 4IP,VTBOPSPTZMJMMZ w EXBOHPˠDPPLQBEˠNBHOFUˠ 'SFFMBODFˠ4QBDF1JSBUFTˠ5FDI$POTJHMJF w ŧŔŕŪũƄŝſ w 3VCZ
w (P w 5ZQF4DSJQU ߨࢣհ
w ૮;͞Μ w ෆՐ͔͞͞Μ w ࢝ժखϛϧ͞Μ डߨੜհ
w גࣜձࣾ5FDI$POTJHMJF w *1ίϯαϧςΟϯάਓࡐҭݚम ձࣾհ
w 43&Λࢦ͢8FCΤϯδχΞ͚ߨ࠲ w ʰͳΜ͔ؾ͍ͮͨΒ43&Έ͍ͨͳ͜ͱͯͨ͠ʱͳਓʹ ͔֬ͳࣗ৴ܦݧΛੵΜͰ΄͍͠ w ࠲ֶͬΆ͍ߨٛத৺Ͱͳ͘ɺϋϯζΦϯؚΊ ࣮ࡍʹखΛಈ͔͠ͳ͕ΒֶͼΛಘͯΒ͏
w αʔϏεͷٽ͖ΛؾʹͤͣΓ͍ͨਓ͚ #6345ͱ
w 43&ʹ͍ͭͯղઆ w ϋϯζΦϯ w αʔϏεΛ༬͔ͬͨ࣌ʹԿΛߟ͑Δͷ͔ w ࣮ࡍʹͪΐͬͱνϡʔχϯάͯ͠ΈΔ w γεςϜϝτϦοΫΛݟͯΈΔ
ࠓͷ༧ఆ
w ਵ࣭͍࣌ͯͩ͘͠͞ w ͷΛःΔͷ͕ා͍࣌ɺ %JTDPSEͰϝϯγϣϯ͢ΔͱศརͰ͢ ࣭ٙԠ
w (PPHMFൃͷδϣϒϩʔϧ w 4JUF3FMJBCJMJUZ&OHJOFFS JOH w ʮιϑτΣΞΤϯδχΞʹӡ༻νʔϜͷઃܭΛґཔͨ͠ͱ͖ʹ Ͱ͖͕͋ΔͷͰ͢ʯ(PPHMF4JUF3FMJBCJMJUZ&OHJOFFSJOH w
ʁʁʁ 43&ͱ
w DMBTT43&JNQMFNFOUT%FW0QT w %FW0QTֶظ͞ΕΔৼΔ͍ w ʰࠓ͔Β%FW0QT͔ͩΒΠϯϑϥ৮Δͧʂʱ w 43&ͦͷख๏ٕ๏ɺ࣮ମ w ʰࠓ͔Β43&͔ͩΒˎˎͷӡ༻ΛࣗಈԽ͢Δͧʂʱ
w ৺ߏ͔͑Βɺ࣮ࡍͷ׆ಈ 43&ͱ %FW0QTͱҧ͏ͷʁ
w 4-*ͱ4-0ͱ4-" w 4-*4FSWJDF-FWFM*OEJDBUPSTࢦඪ w 4-04FSWJDF-FWFM0CKFDUTඪ w 4-"4FSWJDF-FWFM"HSFFNFOU߹ҙ w 43&ʮγεςϜͷ৴པੑʯʹίϛοτ͢Δ
w ৴པੑͱʁ 43&ͱ 43&ʹ͓͚Δେࣄͳ͜ͱ
w ʰಈ͘͜ͱʱࠜຊతͳػೳ w ʰಈ͔ͳ͍ʱγεςϜػೳΛଛ͍ͯ͡Δ w ʰϩάΠϯʱʰߪೖʱʰߘʱͳͲͷػೳͷͻͱͭͱͯ͠ ʰಈ͘͜ͱʱ͕͋Δͱೝࣝ͢Δ w ʰಈ͍ͨΓಈ͔ͳ͔ͬͨΓ͢Δʱʹ৴པੑ͕ͳ͍
w γεςϜ͕ಈ͍͍ͯΔ͜ͱΛҡ࣋͢Δ w ಈ͍ͯͳ͍࣌ʹಈ͘Α͏ʹ͢Δ 43&ͱ γεςϜͷ৴པੑ
w ಈ͍ͯવɺͱ͍͏ͷ࣮͍͠ w 4-"ग़དྷͳ͍ܖ w "NB[PO4ͷ4-" w ΊͪΌͪ͘Όؤு͍ͬͯΔ͚ͲͰͳ͍ w ᘳͳࣗಈԽͱᘳͳϝτϦΫεͱᘳͳΦϖϨʔγϣϯ͕
͋ͬͨͱͯ͠4-"ʹͳΒͳ͍ w ᯁੴ͕αʔόʔʹܸͨ͠Β4-"Ͱͳ͍ w ݱࡏᯁੴΛఀࢭ͢Δ"1*ͳ͍ 43&ͱ γεςϜͷ৴པੑ
w ཁٻ͞ΕΔػೳ͕͋Δ݅ͷൣғͰҰఆظؒແোͰಈ͘͜ͱ w ͋Δ݅ w αʔόʔ༧ࢉͷ্ݶ w ఆͨ͠Ϣʔβʔͷ্ݶ w มԽ͢Δ·Ͱͷ੍࣌ؒݶ
w ͜ΕΒΛୡ͢Δͷ͕43&ͷࣄ 43&ͱ γεςϜͷ৴པੑ
w ݹདྷαʔϏεαʔόʔͷ্Ͱಈ͍͍ͯͨ w αʔόʔͱ͍͏ͷཧతͳͷ w յΕͨΒσʔληϯλʔʹߦͬͯऔΓସ͑ͨΓ͢Δ w Α͘յΕΔ w յΕͯ΄͘͠ͳ͍ʹյΕΔ
w αʔόʔΛ૿ڧ͢Δɺͱ͍͏ͷҰେࣄ w ༧ࢉɺൃɺೲɺݕɺઃஔɺςετɺՔಇʜʜ ӡ༻ΛΤϯδχΞϦϯά͢Δ
w ݱͷαʔϏεαʔόʔͷ্Ͱಈ͍͍ͯΔ w αʔόʔͱ͍͏ͷͳΜΒ͔ͷ+40/ͱͯ͠ೝࣝͰ͖Δ w "1*Ͱىಈͨ͠Γఀࢭͨ͠ΓͰ͖Δ w Γͳ͘ͳͬͨΒ"1*Λୟ͘ͱ૿͑Δ w ཁΒͳ͘ͳͬͨΒ"1*Λୟ͘ͱݮΔ
w ݱࡏͷ"1*Ͱऔಘ͢Δ ӡ༻ΛΤϯδχΞϦϯά͢Δ +40/Խͨ͠αʔόʔ
w αʔόʔΛϓϩϏδϣχϯά͢Δ͜ͱ ʑͷӡ༻ϓϩηεͦͷͷ͕ͳ͘ͳͬͨΘ͚͡Όͳ͍ w αʔόʔཧతʹଘࡏ͠ͳ͘ͳͬͨ༁͡Όͳ͍͔Β ނোͩͬͯ͢Δ͠ɺᯁੴ͖߱ͬͯͨΒյΕΔ w ৴པੑͷͨΊʹɺԿΛ؍ଌͯ͠ɺԿΛτϦΨʔʹԿΛ͢Δ͔
w ʰ͔͜͜ΒઌΊͬͨʹى͖ͳ͍ͷͰख࡞ۀʱͰΑ͍ w ݸਓతʹʰΊͬͨʹى͖ͳ͍͜ͱʱͦࣗ͜ಈԽ͖͚ͩ͢Ͳ ӡ༻ΛΤϯδχΞϦϯά͢Δ ͦΕͰ͍ͭͯ·ΘΔίτ
w OHJOYͷTUVC@TUBUVTΛݟͯɺίωΫγϣϯ͕ҰఆΛ͑ͨΒ εέʔϧΞτΛ։࢝͢Δ w 3%#ͷΫΤϦ࣮ߦ࣌ؒΛݟͯɺҰఆΛ͖͑ͯͨΒ εέʔϧΞοϓΛ࣮ࢪ͢Δ w ΞϓϦ͕ు͘Ωϡʔͷ૯ΛݟͯɺҰఆΛ͑ͨΒ
ϫʔΧʔΛεέʔϧΞτͯ͠ฒྻΛ্͛Δ ӡ༻ΛΤϯδχΞϦϯά͢Δ ۩ମతͳӡ༻ࣗಈԽͷྫ
w 4-"ເͷ w αʔόʔ͕ԾԽ͞Εͯ༧ࢉແݶ͡Όͳ͍ w (PPHMF/FU fl JYͱΒҧ͏ w ൴ΒϨϕϧʹͳΔͱϚδͰᯁੴΛܯռ͢Δͷ͕બࢶʹೖΔ
w ͕͢͞ʹΒ͕ʑᯁੴΛک͑ͯΒ͢ඞཁͳ͍ w ᯁੴ͖߱ͬͯͨΒఘΊͯ৸Α͏ ᘳΛࢦ͞ͳ͍
w ᘳ͡Όͳ͍͍ͯ͘ʺࡶʹͬͯΑ͍ w ো͕ൃੜͯ͠Α͍͕ɺͳͥൃੜͨ͠ͷ͔͕େࣄ w γεςϜʹԿ͕ىͬͨ͜ͷ͔ΛৼΓฦͬͯɺ ࠓޙͲ͏͍͖͔ͯ͘͠ΛܾΊΔ w ʰ࠶ىಈͨ͠ΒͬͨʱΤϯδχΞϦϯάͰͳ͍
w ͦ͏͍͏ͷف ᘳΛࢦ͞ͳ͍ ϙετϞʔςϜ
w ਓྨෆશ w λΠϓϛε͕͜ͷੈ͔Βফ໓ͨ͠Βɺ ੈքͷੜ࢈ੑ͕ଟ͘Β͍૿͑Δ w ࠓͷϋϯζΦϯ༻αʔόʔΦϖϛεͯ͠;ͬͱͨ͠ w ͔ͩΒͦ͜ιϑτΣΞʹղܾͯ͠Β͏
ᘳΛࢦ͞ͳ͍ 1&3'&$5)6."/ʹͳΕͳ͍
w αʔόʔͷதΛίʔυͱͯ͠දݱ͢Δ w ✗αʔόʔͷߏΛίʔυͰࣗಈԽ͢Δ w ʰ͜ͷΑ͏ͳߏʹͳ͍ͬͯΔʱͱ͍͏ঢ়ଶͷఆٛ w ࣮ߦ͢Δͨͼ݁ՌͷมΘΔ*B$*B$͡Όͳͯͨͩ͘ͷ ϓϩϏδϣχϯάεΫϦϓτ
w ႈੑΛ͔ͬ͠Γอূ͢Δ w ͏πʔϧͳΜ͍͍ͩͬͯ w *UBNBF$IFG"OTJCMF ᘳΛࢦ͞ͳ͍ *OGSBTUSVDUVSFBT$PEF
w αʔϏεͷߏΛίʔυͱͯ͠දݱ͢Δ w 5FSSBGPSNͳͲʹද͞ΕΔ*B$ w ΞϓϦέʔγϣϯ͚ͩ͡Όͳ͘ɺϛυϧΣΞ γεςϜߏͦͷͷΛίʔυͱͯ͠දݱ͢Δ w ΊͪΌͪ͘Ό͍͚͠ͲΊͪΌͪ͘Όศར
ᘳΛࢦ͞ͳ͍ *OGSBTUSVDUVSFBT$PEF
w γεςϜͷϞχλϦϯά࣮ࡍେࣄ w ԿΛϞχλϦϯά͢Ε͍͍ͷ͔ w ϨΠςϯγϦΫΤετʹ͔͔Δ࣌ؒ w τϥϑΟοΫγεςϜͷϦΫΤετͷ w ΤϥʔϨʔτϦΫΤετ͕ΤϥʔʹͳΔׂ߹
w ανϡϨʔγϣϯϦιʔεͷ ϞχλϦϯάΛ͢Δ
ϞχλϦϯάΛ͢Δ ศརͳը໘Λ͏
w ͱ͍͏͜ͱͰࠓͷϋϯζΦϯΛΓ·͠ΐ͏ w ࠓࣗಈԽͱ͔ͷ͍ͭ͠Βͳ͍͜ͱʹ͠·͢ w ɾɾ୯७ͳͭΛҰݸ͚ͩͬͯΈΔ w Ͱͦͷઌࠓޙ͍ͬͯ͜͏ w *46$0/ͷ͓Λआ༻͠·͢
ϋϯζΦϯ
w *46$0/1SJPS IUUQTHJUIVCDPNJTVDPOJTVDPOQSJPS w *46$0/-*/&ͷ ొඪͰ͢ ϋϯζΦϯ ͓ʹͳΔΞϓϦέʔγϣϯ
w ͳΜͷػೳ͕͋Δ͔Θ͔ͬͯͳ͍ͱͲ͏͠Α͏ͳ͍ w ࣮ମΛѲ͢Δ w ΞϓϦέʔγϣϯͷίʔυΛಡΉ w ΞΫηεϩά͔ΒѲ͢Δ w ଘࡏ͠ͳ͍ػೳ͕৴པੑΛԼ͍͛ͯΔ͕࣌͋Δ
ʁʁʁʁʁʁʁʁʁʁʁʁʁ ϋϯζΦϯ ΞϓϦέʔγϣϯͷػೳΛѲ͢Δ
w ଘࡏ͠ͳ͍ػೳͷΞΫηεͰΤϥʔϨʔτ্͕ঢͯ͠ϏϏΔ w (&5XQMPHJO w ฐࣾͰ8PSE1SFTTӡ༻͓ͯ͠Γ·ͤΜ w ΤϥʔϨʔτͷूܭ࣌ʹ͜͏͍͏ΰϛ͘͡ w ͳΒΤϥʔ͡Όͳ͍
w Λు͍ͯ͠·͏ͳΒΞϓϦέʔγϣϯ͕ѱ͍ w ѱ͍ϘοτʹߦّΛظ͢ΔͳͲͱ͍͏͑ͨߟࣺ͑ͯΖ Α͜Έͪଘࡏ͠ͳ͍ػೳ
w ΫϥυαʔϏε্ʹߏ͞Ε͍ͯΔͳΒ w ΘΕ͍ͯΔϚωʔδυαʔϏεͷҰཡ w ݱࡏىಈ͍ͯ͠ΔαʔόʔͷγεςϜใ w 04ɺ$16ɺϝϞϦɺσΟεΫ w αʔόʔ্ͰՔಇ͍ͯ͠ΔιϑτΣΞ
w 8FCαʔόʔɺ8FCΞϓϦɺ%#ɺ,74ʜʜ ϋϯζΦϯ ΞϓϦέʔγϣϯͷߏΛѲ͢Δ
w ΞϓϦέʔγϣϯʹ͍͍ͨͯઃఆ߲͕͋Δ w εϨουϫʔΧʔͳͲͳͲ w దͳઃఆγεςϜͷੑೳ্ʹد༩͢Δ ΞϓϦέʔγϣϯͷઃఆΛѲ͢Δ
w QVNB w XPSLFST UISFBET w XPSLFST w ϫʔΧʔϓϩηεͷ w
ϓϩηεͳͷͰ$16ͷίΞʹἧ͑Δͱྑ͍ w UISFBET w ϫʔΧʔεϨουͷ w ্͛Εฒྻ্͕Δ ઃఆΛม͑ͯΈΑ͏ʂ
w ܭଌ͢Δʹෛՙ͕ඞཁ w ϦΫΤετ͞Εͳ͍αʔϏε4-0 w αʔϏεϨϕϧΛଌΔͷʹదͳෛՙΛ༻ҙ͠Α͏ w ࠓճϕϯνϚʔΧʔΛ༻ҙͨ͠ͷͰ͍ͦͭΛ͍·͢ ϋϯζΦϯ ܭଌ͢Δ
w ࠓͬͨ৮Γͷ෦ΛͬͱಥͬࠐΜͩΛ͍͖ͯ͠·͢ w 4-*Ͳ͏ऩू͢Δͷ͔ w 4-*͔Β4-0ΛܾΊΔʹ͋ͨͬͯ w 43&ΛձࣾͰΊ͍ͯ͘ʹͲ͏͢Ε͍͍ͷ͔ w ϋϯζΦϯͬͱ͍ظ͔͚༷ؒͯʑͳ͜ͱΛ͠·͢
w पΓଓ͚ΔϕϯνϚʔΧʔʹରͯ͠ΞϓϦΛอक͍ͯ͘͠ w ΞϓϦέʔγϣϯΤϯδχΞ͕σϓϩΠͯ͠յͨ͠ͷΛ ࣗಈతʹ෮چ͢ΔԿ͔Λ࡞Δ #6345ຊฤͰ