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
log
Search
karupanerura
November 15, 2025
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
log
YAPC::Fukuoka 2025
karupanerura
November 15, 2025
More Decks by karupanerura
See All by karupanerura
音を出したい
karupanerura
0
120
Perl Meets \w+ あるいは開発を支えるPerl活用の実例集
karupanerura
0
97
Use Perl as Better Shell Script
karupanerura
0
970
GoでParserを書く
karupanerura
4
1.1k
マイ隙間家具OSSたちのご紹介
karupanerura
2
310
Mustache Template 話 2024
karupanerura
0
78
1つの言語を原点に色々な言語を学ぶということ
karupanerura
4
4.5k
Javaの実装をPerlでテストする
karupanerura
0
1.5k
Go Generics Overview
karupanerura
0
1.4k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
290
A Modern Web Designer's Workflow
chriscoyier
699
190k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
So, you think you're a good person
axbom
PRO
2
2.2k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
740
Mind Mapping
helmedeiros
1
370
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Utilizing Notion as your number one productivity tool
mfonobong
4
600
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
370
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͕ͳΜ͔Μͯ͠సૹ • ΞϓϦέʔγϣϯ͕όοΫάϥϯυεϨουͰૹΓ͚ͭΔ • ͬͯΔͻͱΈͨ͜ͱͳ͍
͍͍࣌ʹͳΓ·ͨ͠Ͷ
·ͱΊͳ͍