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
110
Perl Meets \w+ あるいは開発を支えるPerl活用の実例集
karupanerura
0
95
Use Perl as Better Shell Script
karupanerura
0
970
GoでParserを書く
karupanerura
4
1.1k
マイ隙間家具OSSたちのご紹介
karupanerura
2
310
Mustache Template 話 2024
karupanerura
0
77
1つの言語を原点に色々な言語を学ぶということ
karupanerura
4
4.4k
Javaの実装をPerlでテストする
karupanerura
0
1.4k
Go Generics Overview
karupanerura
0
1.4k
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Google's AI Overviews - The New Search
badams
0
1.6k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Faster Mobile Websites
deanohume
310
32k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
How to make the Groovebox
asonas
2
2.4k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
460
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
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͕ͳΜ͔Μͯ͠సૹ • ΞϓϦέʔγϣϯ͕όοΫάϥϯυεϨουͰૹΓ͚ͭΔ • ͬͯΔͻͱΈͨ͜ͱͳ͍
͍͍࣌ʹͳΓ·ͨ͠Ͷ
·ͱΊͳ͍