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
log
Search
karupanerura
November 15, 2025
1
71
log
YAPC::Fukuoka 2025
karupanerura
November 15, 2025
Tweet
Share
More Decks by karupanerura
See All by karupanerura
Use Perl as Better Shell Script
karupanerura
0
800
GoでParserを書く
karupanerura
4
970
マイ隙間家具OSSたちのご紹介
karupanerura
2
270
Mustache Template 話 2024
karupanerura
0
38
1つの言語を原点に色々な言語を学ぶということ
karupanerura
4
2.9k
Javaの実装をPerlでテストする
karupanerura
0
1.2k
Go Generics Overview
karupanerura
0
1.3k
Japan.pm 2021 開催まで至る道
karupanerura
0
2.1k
Perl MongersのためのAWS_CDK入門
karupanerura
0
150
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Agile that works and the tools we love
rasmusluckow
331
21k
Mobile First: as difficult as doing things right
swwweet
225
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Being A Developer After 40
akosma
91
590k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
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͕ͳΜ͔Μͯ͠సૹ • ΞϓϦέʔγϣϯ͕όοΫάϥϯυεϨουͰૹΓ͚ͭΔ • ͬͯΔͻͱΈͨ͜ͱͳ͍
͍͍࣌ʹͳΓ·ͨ͠Ͷ
·ͱΊͳ͍