Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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.6k
Other Decks in Technology
See All in Technology
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
120
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
300
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
210
module Synths; end
asonas
1
130
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
140
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
8
7.8k
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
130
ASTを使って影響範囲を特定する
nealle
0
140
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
250
enechainの内製セルフサービスプラットフォーム
hiyosi
0
150
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
350
2026_devsumi_ozono.pdf
o3
2
240
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Between Models and Reality
mayunak
4
450
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
First, design no harm
axbom
PRO
2
1.3k
Skip the Path - Find Your Career Trail
mkilby
1
220
Marketing to machines
jonoalderson
1
5.8k
How STYLIGHT went responsive
nonsquared
100
6.3k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
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Λָ͠ΜͰ ߦ͖·͠ΐ͏ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠☺