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
110
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
87
Perl Meets \w+ あるいは開発を支えるPerl活用の実例集
karupanerura
0
69
Use Perl as Better Shell Script
karupanerura
0
910
GoでParserを書く
karupanerura
4
1.1k
マイ隙間家具OSSたちのご紹介
karupanerura
2
290
Mustache Template 話 2024
karupanerura
0
67
1つの言語を原点に色々な言語を学ぶということ
karupanerura
4
3.5k
Javaの実装をPerlでテストする
karupanerura
0
1.4k
Go Generics Overview
karupanerura
0
1.4k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Docker and Python
trallard
47
3.9k
Designing for Timeless Needs
cassininazir
1
250
The Limits of Empathy - UXLibs8
cassininazir
1
350
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Making Projects Easy
brettharned
120
6.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Designing for Performance
lara
611
70k
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͕ͳΜ͔Μͯ͠సૹ • ΞϓϦέʔγϣϯ͕όοΫάϥϯυεϨουͰૹΓ͚ͭΔ • ͬͯΔͻͱΈͨ͜ͱͳ͍
͍͍࣌ʹͳΓ·ͨ͠Ͷ
·ͱΊͳ͍