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
20190126_YAPC_TOKYO.pdf
Search
Shigeki SUGAI
January 26, 2019
Technology
800
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20190126_YAPC_TOKYO.pdf
Shigeki SUGAI
January 26, 2019
More Decks by Shigeki SUGAI
See All by Shigeki SUGAI
Cloudflare Workers + R2で低コストで画像配信を移行した話/cloudflare_workers_r2_migration
teckl
3
8.9k
CloudFront + S3環境から Cloudflare R2 + Workers環境に移行した話
teckl
3
2.8k
20210827-it-kaidan-4
teckl
0
670
レガシーサービスのMySQLバージョンアップ(5.1 -> 5.7)とRDS化
teckl
0
160
20200824-it-kaidan-3
teckl
0
780
20190808_IT_kaidan_2.pdf
teckl
0
1.2k
ほんとにあったITエンジニアの怖い話
teckl
0
2.1k
Perlを中心としたワンライナーあれこれ
teckl
2
3.5k
Other Decks in Technology
See All in Technology
魔法少女がClaude Codeを監視する / ccportal-deck
noriyukitakei
3
120
【Oracle AI Spotlight ウェビナー】AWSか、Azureか、Google Cloudか。その議論にオラクルを含める意義。
oracle4engineer
PRO
2
220
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
150
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
180
bet_ai_day_2026_session02
agenticsec
1
910
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
250
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
140
Sony-DroidKaigi2026
sony
1
310
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
770
Instana&Bob トラブルシュートハンズオン
mayamasaki68
0
110
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
150
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
The Language of Interfaces
destraynor
162
27k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Writing Fast Ruby
sferik
630
63k
Building an army of robots
kneath
306
46k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Faster Mobile Websites
deanohume
310
32k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Leo the Paperboy
mayatellez
8
2.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
ϨΨγʔ1FSMͱ 1FSMͷ͜Ε͔Β !UFDLM :"1$5PLZP
:"1$
5PLZP
ΊͰ͍ͨ✨✨✨
ͯ͞
ฏωοτ࢙ʢԾʣ օ༷͝ཡͳΒΕ·ͨ͠Ͱ͠ΐ͏͔ʁ
ࠓ ओʹ ͪΐͬͱҰੲͷ1FSMΛ ަ͑ͨΛ͠·͢ Πϯλʔωοτਓձ͚ ίʔυ΄ͱΜͲग़ͳ͍ͷͰؾָʹௌ͍͍ͯͩ͘͞X
ࣗݾհ w 4IJHFLJ4VHBJʢ!UFDLMʣ w γʔαʔגࣜձࣾ w αʔόαΠυΤϯδχΞʢӡ༻ϝΠϯʣ w ΒʔΊΜ w
*OHSFTTɺ1PLÉNPO(0
ձࣾհ w 4FFTBB#MPH w 4FFTBB8JLJ w #PPN"QQ(BNFT w ΄ͱΜͲ1FSMͰಈ͍ͯ·͢ʂʂʂ̍ w
ͦͷଞ##։ൃɺεϚϗΞϓϦडୗ։ൃͳͲ
͓͠ͳ͕͖ w ࢲͱ1FSMͱͷग़ձ͍ w 8&#࣌ w Ψϥέʔ࣌ w 65'࣌ w
$(*NPE@QFSM1MBDL w ϨΨγʔڥͱ1FSM w %PDLFSͷొ w ͜Ε͔Βͷ1FSM w ςΩετॲཧݴޠͱͯ͠ͷ1FSM
ࢲͱ1FSMͱͷग़ձ͍ w ֶੜ࣌ɺࣗϓϩάϥϛϯάͱશ͘ແԑͷੜ׆Ͱ ͨ͠ w ຖͻͨ͢ΒDIʜΠϯλʔωοτΛ͢Δຖ w ࠇྺ࢙ͷʮϗʔϜϖʔδʯΛ࡞ͬͯɺ,&/58&#Ͱआ Γͷ$(*εΫϦϓτʢ1FSMʣͷܝࣔ൘ΛҙຯΘ͔Β ͣઃஔͯ͠༡ΜͰ͍ͨ
ࢲͱ1FSMͱͷग़ձ͍ w ͦͷޙɺ4*FSʹब৬͢Δɺ w ද͖+BWBͷΦʔϓϯܥͷҊ݅ w ͔͠͠ʑΤΫηϧ͍͡Γௐࠪ༻్ͳͲͰ͋ͬͯ ΠϯλʔωοτͳͲ͑ͳ͍ڥͩͬͨΓɺࣗ ͷ͖ͳΠϯλʔωοτͱԕ͍ࣄͷʑ
ࢲͱ1FSMͱͷग़ձ͍ w ͦΜͳ࣌ɺझຯͰݸਓతʹϒϩά Λॻ͍͍ͯͨͱ͜Ζ͕ۮવ༑ਓͩͬ ͨͷ͕͖͔͚ͬͰ 1FSMͷ ϒϩά ͷձࣾʹߦ͘͜ͱʹ w ࣌ʮϒϩάʯͰͳ͘ɺ·ͩ
ʮΣϒϩάʯͱ͍͏ݺশͷํ͕ ϝδϟʔͩͬͨ
ࢲͱ1FSMͱͷग़ձ͍ w ೖ͙ࣾͯ͢͠ʹ1FSMͷҊ ݅Λख͏͜ͱʹ w ͍͖ͳΓϥΫμຊΛ͞ ΕͯʮಡΜͲ͍ͯʯ w ༁͔ΒͣɺݟΑ͏ݟ ·ͶͰࣸܦ͍ͯ͘͠ʜ
࣌ͷڥ w ੈͷதͷΣϒܥاۀͱ͍͑-".1େྲྀߦ͍ͯͨ͠
࣌ͷڥ w ฐࣾయܕతͳ-".1ڥͰͨ͠ w -JOVY $FOU04 w "QBDIF w
.Z42- w 1FSM w NPE@QFSM w 4MFEHF w )5.-5FNQMBUF5FNQMBUF5PPMLJU
8&#࣌ ʢࠒʙʣ
8&#શظ IUUQTKBXJLJQFEJBPSHXJLJ8FC@ΑΓ
8&#࣌ w ʹʮΣϒਐԽʯ͕ొ w ϚογϡΞοϓ w "KBY w ϩϯάςʔϧ w
ϢʔβࢀՃܕͷίϯςϯπ͕ʹ
8&#࣌ͷ1FSM w ࣌8FCαʔϏεΛ1FSM͕େ͖ ͘ࢧ͍͑ͯͨ w ·ͩ8FC"1*͔ͬͨ࣌͠ w "KBYͷొʹΑΓ+40/͕ঃʑʹΘ Ε࢝ΊΔ
8&#࣌ͷ1FSM w NJZBHBXB͞Μͷ1MBHHFS͕Ұେ ϒʔϜʹ w ʮͦΕ1MBHHFSͰͰ͖ΔΑʯ w ʮͦΕ1MBʯ w ࣌DQBONͳͲ·ͩແ͘ɺૉ
ͷ$1"/ͩͬͨͷͰڥߏஙͷ ͕͓ࣝ΅͔ͭͳ͍ঢ়ଶͰΠϯε τʔϧ͢Δ͚ͩͰେมʜ
8&#࣌ͷ1FSM w 8FC4DSBQFS w ݸਓతʹͱͯͬͨ͞Ϟ δϡʔϧ w ͦΕ·Ͱ-81888 ͳͲͰؤு͍ͬͯͨͷ͕ɺ
91BUIͱ$44ηϨΫλ͚ͩͰ αΫοͱऔͬͯ͜ΕΔͷͱ ͯັྗతͰͨ͠✨
Ψϥέʔ࣌
Ψϥέʔ࣌ w 5XJUUFS͕ࠒ͔ΒঃʑʹຊͰྲྀߦ͠͡ΊΔ w ΠϯλʔωοτΛͬͨίϛϡχέʔγϣϯͱ͍͏ͷ ͕ɺ͋ΒΏΔʹ·ͬͨ w ͔͠͠ɺ࣌εϚϗͳͲͳ͘ɺΈΜͳΨϥέʔͰνΣο Ϋ͍ͯͨ͠
Ψϥέʔ࣌ͷ։ൃ w $PPLJF +BWB4DSJQUͳͲॳҰ͑ͣ w 3'$ҧͷΩϟϦΞϝʔϧΞυϨε w 44-5-4ରԠʹূ໌ॻͷറΓͳͲ͕͋ͬͨ w Ψϥέʔʹ࣮͞Ε͍ͯΔϑϧϒϥβͷṖͷڍಈ
Ψϥέʔ࣌ͷ։ൃ w )551.PCJMF"HFOUͰΩϟϦΞɺΛผͯ͠ग़ྗ ༰ʢը૾αΠζʣΛม͑ͨΓɺ$PPLJFαϙʔτ͕͋Δ ͔Ͳ͏͔Λఆͨ͠ w ϖʔδ͋ͨΓͷ༰ྔ੍ݶʹΑΓɺϖʔδϯάαΠζ ͕ϢʔβʹΑͬͯେ͖͘มΘͬͯ͠·͍ͬͯͨ w $PPLJFΛαϙʔτ͍ͯ͠ͳ͍͚ʹ
)5.-4UJDLZ2VFSZΛͬͯηογϣϯ*%Λ63-ʹຒ ΊࠐΜͰηογϣϯҡ࣋ͤͨ͞
Ψϥέʔ࣌ͷจࣈίʔυ w ͍͍ͩͨͷΨϥέʔ4IJGU@+*4ɺ͔͠͠-JOVY&6$+1 ͩͬͨͷͰɺ࣌จࣈίʔυॲཧ͕ࡶͩͬͨ w ιʔείʔυ&6$+1 w %#&6$+1 w Ϣʔβͷදࣔ4IJGU@+*4
w ϝʔϧɿ+*4 *40+1
ঃʑʹ65'ʹ ࠒd
1FSM65'Խͷ͕ w Ψϥέʔঃʑʹ65'͕දࣔՄೳʹͳ͖ͬͯͨ w طʹ͜ͷ࣌-JOVY65'͕σϑΥϧτ w 65'ʹڥΛد͍ͤͯ͘ͱΘ͍͠ॲཧ͔Β։์͞Ε ͯͤʹͳΕΔΒ͍͠ w +DPEFQN͔Β&ODPEFQNͷసظ
1FSM65'Խͷ͕ w ιʔείʔυ%#65'ʹҠߦ͢Δ͜ͱʹ w ࠷ॳVTFVUGΛͻͨ͢ΒೖΕ͍ͯ͘࡞ۀ w ॳ65'ϑϥάपลͷݟ͘͠ɺࢼߦࡨޡ͠ ͳ͕ΒԿ͔͢ΔຖʹจࣈԽ͚ͱͷઓ͍ w খखઌͰJT@VUGͯ͠FODPEF
EFDPEFΛ܁Γฦ͢ͱ ͍͏ͱͯݫ͍͠ࣄʹʜ
1FSM65'Խͷ͕ ͜Ε͕શͯͩͱؾ͍ͮͨͷ͋Δఔ࡞ۀ͕ਐΜͰ͔Βͩͬͨ lೖΓޱͰEFDPEFͯ͠ɼ෦Ͱͯ͢qBHHFEVUG Ͱѻ͍ɼग़ޱͰFODPEF͢Δɽ͜Ε͕ͯ͢Ͱ͢ʂͱʹ͔ ͘͜ͷجຊํΛ·͍ͬͯΕͤʹͳΕ·͢ɽz Perl Ͱ utf8 Խ͚ͨ͠ͱ͖ʹͲ͏ͨ͠Β͍͍͔ -
TokuLog
14(*1MBDL࣌ ʢʙʣ
14(*1MBDL࣌ w ʹ14(*1MBDL͕ੜ w 8FCϑϨʔϜϫʔΫͱ8FCαʔ όΛͭͳ͙ڞ௨ΠϯλϑΣʔε IUUQTHJIZPKQEFWTFSJBMQFSM IBDLFSTIVC
14(*1MBDL࣌ w ࣌NPE@QFSM͕ओྲྀɺ࠷ॳڪΔڪΔॻ͖͑ w $(*QNͱͷผΕ ͦͷޙ1FSMͰίΞϞδϡʔϧ͔ Βআ w ৄ͘͠!YUFUTVKJ͞ΜʹΑΔ<1FSMΣϒ։ൃͷதੈʙ
$(*ͱ1MBDLͷؒʙ> IUUQTXXXTMJEFTIBSFOFU YUFUTVKJQFSMDHJQMBDL Λࢀর
ϨΨγʔڥͱ1FSMʢʙʣ
ϨΨγʔڥͱ1FSM w ੈͷத͍͠ͷͰɺ༷ʑͳཁҼʢύοέʔδཧ͕ෆ ेͩͬͨɺίϯύΠϧͷൿͷλϨʣͰ؆୯ʹ1FSM ͷόʔδϣϯɺ04ͷόʔδϣϯΛ্͛ΒΕͳ͍ͱ͍͏ ͕ग़͖ͯͨ w ࣮ͷมߋɺಈ࡞֬ೝͳͲͷ͕ʑͷαʔϏεӡ༻ Ͱͳ͔ͳ͔औΓͮΒ͘ͳ͖ͬͯͨ
ϨΨγʔڥͱ1FSM w ʮৗʹ࠷৽Λ͏͖ʯͱݴ͏ͷ؆୯ͰͨΓલͷࣄ ͕ͩ w ੈͷதʹͳ͔ͳ͔ͦ͏͍͔ͳ͍ঢ়گʜ w ݱঢ়ͳ͘ಈ͍ͯΔ͠ʜ w ͦΕͬͨͱͯ͠ɺϢʔβʹϝϦοτ͋Δͷʁ
w ࠷ऴతʹɺޙճ͠ͷ࿈ଓʹʜ
ϨΨγʔڥ w ༷ʑͳཧ༝͋ΔʹͤΑɺʮελʔτΞοϓͷ࣌ʯΛɺͦͷ ··์ஔ͓ͯ͘͠ͱ༷ʑͳ΄͜Ζͼ͕ग़͖ͯ·͢ w ༷ॻͳͲແ͍ʜ w લऀ͕ډͳ͍ʜ w ੬ऑੑ͕ग़ͯ04Ξοϓσʔτ͍͠ʜ
w ։ൃڥͱ༻ڥͷϞδϡʔϧͷόʔδϣϯ͕ҧͬͯΔʜ w ͜ͷϑΝΠϧͱͬ͘ʹͬͯແ͍Μ͡Όʜʁ
%PDLFSͷొ
%PDLFS࣌ w ϨΨγʔͳڥΛ͍ͭͯ͘͠Δͱɺݟͯͳ͍ϑϦΛ ͍ͯ͠Δ͏ͪʹڊେͳෛ࠴ʹͳ͍ͬͯͨʜ w ؾ͕ͭ͘ͱ։ൃڥΛ༻ҙ͢Δ͚ͩͰঃʑʹίετ͕ ͔͔ΔΑ͏ʹͳͬͯདྷͯ͠·͍ͬͯͨ w 04ɺϥΠϒϥϦ͕ݹ͍͜ͱʹΑΓ༷ʑͳฐ͕ൃੜ w
ݹͷαʔϏε%PDLFSԽʹΑͬͯԆ໋͢Δ͜ͱʹ
%PDLFS࣌ w NPE@QFSM͔࣌Β14(*Խग़དྷͳ͔ͬͨ೦ͳαʔϏεΛ %PDLFSԽͰԆ໋ w ੲʮγεςϜ1FSMʯʹஸೡʹೖΕ͍ͯͨ$1"/Ϟδϡʔϧɺ ؾ͕ͭ͘ͱؾܰʹ$BSUPOόʔδϣϯݻఆՄೳʹͳ͍ͬͯͨ w ੲঊ͕୮೦ʹߏங͍ͯͨ͠ڥɺ୭ͰڥΛ࡞Δ͜ͱ ͕Ͱ͖ΔΑ͏ʹ
w %PDLFSԽʹΑΓɺ͜Ε·ͰͷηοτΞοϓํ๏͕7BSHSBOU Ҏ্ʹ؆୯ʹͳͬͨ
%PDLFS࣌ w ैདྷڞ༻ͷ։ൃ7.ͳͲΛ༻͍ͯ։ൃΛ͖͕ͬͯͨɺ֤ ࣗઐ༻ͷڥΛαΫοͱ༻ҙग़དྷΔΑ͏ʹ w ڞ༻ڥͰى͖͍ͯͨτϥϒϧͳ͘ͳͬͨ w ։ൃεϐʔυ͕͕͋Δ͜ͱͰɺϨΨγʔڥͷߋ৽࡞ۀɺ νʔϜͰऔΓΉ͜ͱ͕Ͱ͖ΔΑ͏ʹ
%PDLFSͰ1FSMΛখ͘͞͏ w Θ͟Θ͟1FSMͰΒͳͯ͘ɺͱ͍͏ͷ͋ΕͲɺͬ ͺΓ1FSMΛ͍͍ͨ w ͦΕ͕%PDLFSʹΑͬͯ͞Βʹݱ࣮తʹͳͬͨ
%PDLFSͰ1FSMΛখ͘͞͏ w %PDLFSԽʹΑΓڥΛશʹग़དྷΔΑ͏ʹͳͬͨͨ Ίͪΐͬͱͨ͠8FCΞϓϦͳͲΛͲ͜Ͱ࣋ͪӡΔΑ ͏ʹ w 8FCIPPLΛड͚Δͪΐͬͱͨ͠$IBUCPU w *'555Ͱख͕ಧ͔ͳ͍Α͏ͳݸਓతͳεΫϨΠϐϯά w
͍ࣺͯʹ͍ۙΑ͏ͳతͷ8FCΞϓϦέʔγϣϯͱ͔ Λྔ࢈ͯ͠ڥΛԚ͞ͳ͘ͳͬͨ
ͦͯ͠ɺ͜Ε͔Β
ੲͱൺΔͱʜ w ΨϥέʔɺεϚϗͷ಄ʹΑͬͯߟྀ͠ͳͯ͘ྑ͘ ͳ͖ͬͯͨ w 14(*ԽʹΑΓಛఆͷ8&#αʔόʹϩοΫΠϯ͞ΕΔ͜ ͱͳ͘ͳ͖ͬͯͨ w DQBON $BSUPOͷొʹΑͬͯόʔδϣϯΞοϓ༰қ
ʹ w %PDLFSԽʹΑΓݹ͍04͔Β٫Ͱ͖ΔΑ͏ʹ
ࢲ͕ߟ͑Δ͜Ε͔Βͷ 1FSMʹٻΊΒΕΔ͜ͱ
͜Ε͔Βͷ1FSM w ͘Β͍લͱ8&#։ൃΛऔΓר͘ঢ়گมΘΓɺ ޙ͔Βग़དྷͨݴޠଓʑͱ૿͖͍͑ͯͯ·͢ɻ w ޙൃͷݴޠ͕ྑ͍ͱ͜ΖΛ͍࣋ͬͯΔͷવ w ͜Ε͔Β৽نͰαʔϏεΛ࡞Δࡍʹ1FSM͕બΕΔࣄ ࣮֬ʹগͳ͘ͳ͖͍ͬͯͯΔҹ͕͋Γ·͢ɻ
͜Ε͔Βͷ1FSM w ͘ଓ͍ͨαʔϏεɺͲ͏ͯ͠΄͜Ζͼ͕ग़ͯ͘Δ w ࠓޙαʔϏε͕ଓ͘ݶΓอक͠ଓ͚͍ͯ͘ࣄඞཁ w ރΕٕͨज़ʢ1FSMʣͰ͋ͬͯɺదࡐదॴʹ༻͍Εɺ ͍ଓ͚Δ͜ͱ͕Ͱ͖Δ w աڈͱݱࡏɺະདྷܨ͕͍ͬͯΔ
͜Ε͔Βͷ1FSM w 1FSMʹҎԼͷϝϦοτ͕͋Γ·͢ɻ w େͳ$1"/ࢿ࢈ w ڧྗͳޙํޓੑ w ଞͷݴޠͱḮ৭ͷͳ͍8"'ϥΠϒϥϦ w
࠷ߴͷςΩετॲཧڥ w :"1$ɺҬ1.ͳͲͷૉΒ͍͠ίϛϡχςΟ
1FSMͷݪ ςΩετॲཧݴޠͱͯ͠ͷ1FSM
ςΩετॲཧݴޠͱͯ͠ͷ1FSM w ڈͷຊQNʹͯ!UPLVIJSPN͞ΜʹΑΔൃද͕͋ Γ·ͨ͠ɻ w 1FSMɺςΩετॲཧ࣌$(*࣌NPE@QFSM࣌ 1MBDL࣌Λܦͯɺ·ͨςΩετॲཧͷ࣌ʹճ ؼ͍ͯ͠ΔɺͱకΊΒΕ͍ͯ·ͨ͠ɻ w ʜ͕ͦΕ͜ͷޙͷΩʔϊʔτͰฉ͚Δ͔͠Ε·ͤ
ΜͷͰɺৄͦͪ͘͠ΒʹৡΖ͏ͱࢥ͍·͢
ςΩετॲཧݴޠͱͯ͠ͷ1FSM w 1FSMͱͱैདྷͷBXL TFEͱฒͿς ΩετॲཧݴޠͷͨΊͷݴޠ͔Β࢝·ͬͨ w ϫϯϥΠφʔͳͲʹද͞ΕΔΑ͏ʹɺ͜ Ε͔ΒςΩετΛѻ͏Α͏ͳॲཧͣͬ ͱ͍ͬͯ͘ w
6/*9ͷֶ͕Ҏ্ܦաͯ͠ະͩʹ ͍ଓ͚ΒΕΔΑ͏ʹɺ1FSM͜ͷઌς ΩετॲཧͷੈքͰͣͬͱ͍ଓ͚ΒΕ ΔʢͪΖΜ8FC։ൃͷੈքͰʣ
ςΩετॲཧݴޠͱͯ͠ͷ1FSM w ॊೈͰɺ͘ॻ͘͜ͱ͕Ͱ͖ɺԿΑΓૣ͘ॻ͚Δ w ޙํޓੑ͕͋ΓɺҎ্҆ఆͯ͠Քಇ͢Δ w ڧྗͳਖ਼نදݱ w ଟ͘ͷڥͰಈ࡞ w
ඇϓϩάϥϚͷํͰɺ༵େͷΑ͏ͳझຯతͳͱ͜ΖͰ w ීஈଞͷݴޠ͕ϝΠϯͰ͋ͬͯɺBXL TFEͷΑ͏ʹҰͭ ͷಓ۩ͱ͍͚͍͍ͯͬͯ͠
͜Ε͔Β1FSMΛָ͠ΜͰ ߦ͖·͠ΐ͏ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠☺