Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
log
Search
karupanerura
November 15, 2025
1
80
log
YAPC::Fukuoka 2025
karupanerura
November 15, 2025
Tweet
Share
More Decks by karupanerura
See All by karupanerura
Perl Meets \w+ あるいは開発を支えるPerl活用の実例集
karupanerura
0
33
Use Perl as Better Shell Script
karupanerura
0
820
GoでParserを書く
karupanerura
4
980
マイ隙間家具OSSたちのご紹介
karupanerura
2
270
Mustache Template 話 2024
karupanerura
0
44
1つの言語を原点に色々な言語を学ぶということ
karupanerura
4
2.9k
Javaの実装をPerlでテストする
karupanerura
0
1.3k
Go Generics Overview
karupanerura
0
1.3k
Japan.pm 2021 開催まで至る道
karupanerura
0
2.1k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Music & Morning Musume
bryan
46
7k
Thoughts on Productivity
jonyablonski
73
5k
Fireside Chat
paigeccino
41
3.7k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
710
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
380
Context Engineering - Making Every Token Count
addyosmani
9
490
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
log @karupanerura YAPC::Fukuoka 2025
@karupanerura • Software Engineer - DeNA Co., LTD. • Chief
Director - Japan Perl Association • YAPC::Japan Organizer • Perl/Java/Go/TypeScript/AWS/GCP/etc...
log
ରͷ͠·ͤΜ
logΛు͘ͻͱͨͪ • ΞϓϦέʔγϣϯ/ίϯςφ • ϛυϧΣΞ • OS
logΛड͚औΔͻͱͨͪ • r?syslog • journald • fl uentd • AWS
Cloud Watch • Google Cloud Logging • etc..
logΛूorूܭ͢Δͻͱͨͪ • Amazon Redshift • Google Big Query • Apache
Beam • Apache Spark • ֤छσʔλϕʔεorࢄετϨʔδ • etc...
ϩά͔Β͡·ΔΑ·
ແཧཧϩά͔ΒΛ͛·͢
࣌ؒͷݟੵΓͯ͠ͳ͍ͷͰ ࣌ؒͷڐ͢ݶΓ͠·͢ ʢ͠ΊͬͪΌ࣌ؒ͋·ͬͨΒ͝ΊΜʣ
ϩάͷܗࣜ
ߏԽϩά͕ͨΓલʹͳͬͨ • Perl/Rubyք۾ͰLTSV (Labeled TSV)͕࠷ߴͱͯ͞ΕԿ • ͣͬͱςΩετϩά͕ඪ४ͩͬͨGoʹ͍ͭʹslog͕ొ • LoggerͷબݴޠΘͣߏԽϩάͷαϙʔτ͕લఏʹʁ •
ͳΓͭͭ͋Δ……ʁ • ݴ͍ա͔͗……ʁʢ˞ݸਓͷײͰ͢ʣ
ߏԽϩάͳʹͰు͘ʁ • ϩάసૹͷσʔϞϯʹ߹ΘͤΔ • ͦΕͦ͏ • ࣗ༝ͳܗࣜͷ߹ • LTSV •
JSON Lines • ΄͔ͳΜ͔͍͍ͭ͋Δʁ
ߏԽϩάͳʹͰు͘ʁ • {"message":"hoge","context":{"userId":123}} • message:hoge context.userId:123
ݸਓతʹJSON Lines͕͖ • jq͕͋Δ͜ͱͰJSON͕shell friendlyͳੈքʹͳ͍ͬͯΔ • gcloud logging read hoge
| jq '.hoge' | grep fuga | perl -pe '...'
JSON Lines
JSON Lines ͍͍ͬͯΑͶ • jqͱUNIXʹ׳Ε͍ͯΕࣗ༝ࣗࡏ • Perlʹ׳Ε͍ͯΕ͞Βʹࣗ༝ࣗࡏ • ԶͲͬͪʹ׳ΕͯΔͷͰ࠷ڧ •
ϩά͚ͩ͡Όͳ͍ͯ͘ΖΜͳͷʹ͑Δ • σʔλϕʔεͷ fi xtureͱ͔
Google Cloud Datastore • Google Cloud Firestore (Firebase Firestore) •
Key-ValueܗࣜͷDocument Database • ݹ͘ͷGoogle Cloud Datastoreͱޓͷdatastore mode͋Δ • Key͕Range baseͰࣗಈతʹγϟʔσΟϯά͞ΕΔײ͡ • Key͕ࢄͯ͠Ε͋Μ·ߟ͑ͳͯ͘΄΅ແݶʹεέʔϧ͢Δ
DatastoreͷݸਓతʹͪΐͬͱͭΒ͍ͱ͜Ζ • ʢެࣜʹʣCLIπʔϧ͕ͳ͍ • mysqlίϚϯυΈ͍ͨʹγϡοͱCLI͔ΒΑ͠ͳʹ͍͡Εͳ͍ • dsio ͱ͍͏طOSS͕͋Δ • ओʹ
fi xtureཧʹ͍͍ͯΔ • mysqldumpͱdumpͷΠϯϙʔτ͕Ͱ͖ΔΑ͏ͳΠϝʔδ
ͳͷͰ࡞ͬͨ: dutil • CLIͰDatastoreʹର͢ΔCRUD͕Ͱ͖Δ • Mutate APIΛ͍ͬͯΔͷͰPUT͡Όͳͯ͘INSERT͕Ͱ͖Δ • Keyͷॏෳ͕͋ͬͨΒࣦഊͯ͘͠ΕΔ •
ೖग़ྗΛJSON LinesͰѻ͏
ࣗຫ͢Δίʔφʔ • https://github.com/karupanerura/dutil?tab=readme-ov- fi le#examples • ΓJSON Lines࠷ߴ
ϩάͷूܭ
༷ʑͳϩά͕͋Γ༷ʑͳ༻్͕͋Δ • ΞϓϦέʔγϣϯϩάΞϥʔτඈΜͩΒଈݟ͍ͨ • ߦಈੳϩάΈ͍ͨͳͷ • ͦͦ͜͜ϦΞϧλΠϜͰݟ͍ͨͷ͋Δ • όονతʹूܭͰ͖Εेͳͷ͋Δ
४ϦΞϧλΠϜूܭ͢Δϩά • ΅͘Google Cloud Data fl owΛ͍ͬͯΔ • Apache BeamͷදతͳϥϯλΠϜ
• ࠷ۙɺ͜ΕΛ࠷ߴศརͱࢥͬͯͬͯΔͷͰհ͍ͨ͠ • ҰൠతʹͨͿΜKafkaͱ͔Amazon Kinessisͱ͔……ʁ • ͋Μ·ଞͷͭͰ͜͏͍͏͜ͱͨ͜͠ͱͳ͍͔Βແ
Apache Beam + Google Cloud Data fl ow • நతʹσʔλͷύΠϓϥΠϯΛఆٛͯ͠ࢄج൫্Ͱ࣮ߦͰ͖Δ
• ͪΌΜͱࢄͦ͢͠͏ʹఆٛͨ͠Βউखʹࢄͯ͘͠ΕΔ • σʔλྔʹԠ͍͍ͯ͡ײ͡ʹΦʔτεέʔϧ • ਨΦʔτεέʔϧͰ͋Δͱ͜ΖͷData fl ow Primeۙग़ͨ • ετϦʔϛϯάόονॲཧͰ͖Δ • σʔλϕʔεΛ΄΅શͳΊ͢ΔΈ͍ͨͳ༻్ʹ͑Δ
ۙͭͬͨ͘Data fl ow Pipeline • Datastore͔ΒQueryͯ͠Ϛονͨ͠ରશһΛॲཧ͢Δόον • ͳ͕ʙʙʙʙʙ͍APIΛ࠷ޙ·Ͱϖʔδωʔγϣϯͯ͠ॲཧ͢Δͭ • ϩάͷதؒूܭΛ࡞ͬͯDBߋ৽͢Δͭ
• ʢ࣮࠷ۙ͋Μ·Data fl owͰϩά͍ͬͯ͡ͳ͍ͳ……ʁʣ
Claude Codeͷϩά
Claude Codeͷϩά • ϩʔΧϧʹు͔ΕΔ • ~/.claude/ ҎԼʹ͍Ζ͍Ζు͔ΕΔ • ͳΜ͔͏·͍͔͘ͳ͔ͬͨϩάΛݟฦͨ͠Γ •
thinkingͷதΈͨ͘ͳΔ͜ͱ͋Γ·ͤΜʁ • ͍ͭ͜JSON LinesͰߏԽϩάͰѻ͍ͯ͘͢࠷ߴ
ίϯςΩετΤϯδχΞϦϯά • ͯ͠·͔͢ʁ • Sub-Agentsͱ͔Skillsͱ͔͍͍ͬͯײ͡ʹ͢ΔࢼΈΛ͍ͯ͠Δ • ςετ/੩తղੳͷϩάͰίϯςΩετΛ৯͍ͭͿ͢ • ϩάͷղੳΛSubAgentʹ͠Α͏ʢίϯςΩετʣ
Claude CodeͷSub Agent • ผͷίϯςΩετΛͬͯґཔͯ݁͠ՌΛड͚औΔ • աఔΛผͷίϯςΩετʹΓग़ͤΔ • ϝΠϯίϯςΩετʹϊΠζ͕ೖΓͮΒ͍ •
ͭΒ͍ͱ͜Ζ • ϋϧγωʔγϣϯΛى͍͜͢͠
Sub AgentͷϋϧγωʔγϣϯͷউखͳԾઆ • Sub AgentͷఆٛΛҳ͠ͳ͍Α͏ʹ͍ͯ͠ΔʢఆٛΛଚॏʣ • ఆٛʹͳ͍ಈ͖Λආ͚Δ • ఆٛʹྫ֎ܥ͕ఆٛ͞Ε͍ͯͳ͍ͱ •
Τϥʔͱ͔ى͖ͨͱ͖ʹ݁ՌΛͭ͘Βͳ͖ΌͱͳΔ
ϩάͷࠓੲ
Ή͔͠ • ϑΝΠϧγεςϜʹు͘ • ͳΜΒ͔ͷํ๏Ͱసૹ&ϩʔςʔγϣϯ • rsyslog+logrotated • fl uentd
• ո͍͠ͱࢥͬͨΒsshͯ͠nice/ionice͚ͭͯtailf&grepͨ͠Γ • ༉அͯ͠ࡶʹͬͯ͠·ͬͯCPUுΓ͍ͯোʹͳͬͨΓ
͍· • STDOUT/STDERRʹు͘ • ;͗͠ͳ͔ͪΒͰCloudWatch Logsͱ͔Cloud Loggingͱ͔ʹ͍͘ • ίϯςφؒͰڞ༗͢ΔϘϦϡʔϜʹు͘ •
side-car͕ͳΜ͔Μͯ͠సૹ • ΞϓϦέʔγϣϯ͕όοΫάϥϯυεϨουͰૹΓ͚ͭΔ • ͬͯΔͻͱΈͨ͜ͱͳ͍
͍͍࣌ʹͳΓ·ͨ͠Ͷ
·ͱΊͳ͍