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
盆栽転じて家具となる / Bonsai and Furnitures
Search
aereal
January 17, 2025
Programming
0
5.5k
盆栽転じて家具となる / Bonsai and Furnitures
https://connpass.com/event/338668/
aereal
January 17, 2025
Tweet
Share
More Decks by aereal
See All by aereal
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
290
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
4.5k
qron: Cloud Native Cron Alternativeの今
aereal
2
2.9k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
2
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
200k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
400k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
18k
ScalaとPerlでMicroservices in production / Building microservices with Perl and Scala in production
aereal
0
5.5k
Other Decks in Programming
See All in Programming
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
250
AIを駆使して新しい技術を効率的に理解する方法
nogu66
0
500
Module Proxyのマニアックな話 / Niche Topics in Module Proxy
kuro_kurorrr
0
2.6k
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
490
CSC509 Lecture 13
javiergs
PRO
0
240
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
15
48k
Functional Calisthenics in Kotlin: Kotlinで「関数型エクササイズ」を実践しよう
lagenorhynque
0
110
MCPサーバー「モディフィウス」で変更容易性の向上をスケールする / modifius
minodriven
7
1.3k
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
1
490
Nitro v3
kazupon
2
230
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
3
370
オンデバイスAIとXcode
ryodeveloper
0
440
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
4.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
A designer walks into a library…
pauljervisheath
210
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
920
Embracing the Ebb and Flow
colly
88
4.9k
The Cost Of JavaScript in 2023
addyosmani
55
9.2k
Automating Front-end Workflow
addyosmani
1371
200k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Faster Mobile Websites
deanohume
310
31k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Typedesign – Prime Four
hannesfritz
42
2.9k
Transcript
id:aereal ຍసͯ͡Ո۩ͱͳΔ Fujiwara Tech Conference 2025 (2025-01-17)
͢͜ͱ • ࢲͱfujiwara-ware • ࢲͷ伱ؒՈ۩: frontierͷհ • ࢲͳΓͷfujiwara-wareͷਫ਼ਆੑ
• id:aereal • GitHub: aereal • @
[email protected]
• https://aereal.org/ •
Classiגࣜձࣾ ֶशPMF෦ ΞʔΩςΫτ • https://tech.classi.jp/ ࣗݾհ
Ұ൪͖ͳfujiwara-ware • github.com/fujiwara/tracer • ʮͱʹ͔͘શ෦͘Εʯ͕࣮ݱ͞Ε͍ͯΔ • ΫϥυϓϩόΠμͱͯ͠ఏڙ͠ʹ͍͘ͷΘ͔ΔͷͰ·͞ʹ伱ؒՈ۩ • ൪֎: github.com/kayac/go-katsubushi
• kayac-wareͱ͍͏͖͔͠Ε·ͤΜ͕…… • GoͰॻ͔ΕͨHTTPͰͳ͍ϓϩτίϧ (memcachedϓϩτίϧ) ΛΔσʔϞϯͷࢀߟʹͤͯ͞Β͍·ͨ͠
ࢲͱfujiwara-ware (1) • ۀͰओʹecspressoͱlambrollʹ͓ੈʹͳ͍ͬͯΔ • োରԠͰtracerʹ͓ੈʹͳͬͨ͜ͱ͠͠ • stableΓࠐΈୂɺ༨༟͕͋ΕRCࢼ͠·͢
ࢲͱfujiwara-ware (2)
ࢲͱfujiwara-ware (3) • ·͜ͽʔ͞ΜͷൃදͰstretcherͷ͜ͱΛࢥ͍ग़͠·ͨ͠ • Capistrano 2 + Gitʹൺͯ40ഒߴԽͰ͖ͯখ༂Γ •
ੈքల։͢ΔେنΣϒαʔϏεͷσϓϩΠΛࢧ͑Δٕज़ / YAPC::Asia Tokyo 2015 • https://speakerdeck.com/hatena/yapc-asia-tokyo-2015?slide=78
None
lambroll diff --ignore (1) • ࠩΛͱΔࡍɺjq (gojq) ͷΫΤϦͰࢦఆͨ͠෦Λແࢹ͢ΔΦϓγϣϯ • ίϯςφΠϝʔδͷλάͳͲ͔Γ͖ͬͨࠩΛແࢹ͔ͨͬͨ͠
• ʮࠩ͜͜ग़͍ͯΔ͚ͲେৎʯΈ͍ͨͳӡ༻Λͳ͍ͨ͘͠ • ༻్ʹΑͬͯແࢹ͍ͨ͠෦͕มΘΔͷͰ࣮ߦ࣌ʹࢦఆ͍ͨ͠
lambroll diff --ignore (2) • github.com/aereal/jsondi f • github.com/itchyny/gojqΛͬͯࠩΛग़ྗ͢ΔϥΠϒϥϦ •
jsondiff.Ignore(query)ͱ͍͏ΦϓγϣϯΛ͢ͱdel(query)ͱ͍͏ ΫΤϦʹม • ͜ΕΛͬͯࠩΛग़ྗ͢ΔΑ͏मਖ਼͞Εͨ
frontierͷհ (1) • github.com/aereal/frontier • AWS CloudFront FunctionsͷσϓϩΠπʔϧ • lambrollʹΠϯεύΠΞ͞ΕͨσβΠϯ
• AWS SDKͷͪΐͬͱݡ͍ϥού
frontierͷհ (2) • ݱ࣌ͰσϓϩΠͱઃఆͷදࣔͱطଘؔͷΠϯϙʔτ͕Ͱ͖Δ • ઃఆͷࠩද࣮ࣔ͢ΔͭΓ • ઃఆϑΝΠϧͷjsonnetαϙʔτະఆ (Βͳ͍دΓ) •
CF Functionsڽͬͨઃఆ͕ͳ͍ (Ͱ͖ͳ͍) ͷͰ͍Βͳ͍ͱࢥ͍ͬͯΔ • won't implementͰͳ͍ͷͰཁ༻్͕Θ͔Εߟ͑·͢ • KVS·ΘΓʹpain point͕͋Γͦ͏͚ͩͲΑ͘Θ͔͍ͬͯͳ͍
伱ؒՈ۩Λ࡞ͬͯΈͯ • ॱ൪ʹSDKΛݺͼग़͚ͩ͢Ͱ͍Ζ͍Ζؾ͖͕͋Δ • ͨͱ͑GetFunctionίʔυฦ͚͢ͲϝλσʔλΛؚ·ͣɺϝλσʔλ ΛಘΔʹDescribeFunctionΛݺͳ͍ͱ͍͚ͳ͍ɺͱ͔ • SDKΛோΊ͍ͯΔͱΑ͘Θ͔Βͳ͍ύϥϝʔλΛݟ͚ͭͯษڧʹͳΔ • CF
Functionsʹstage͕͋ͬͯlive͡Όͳ͍ͱಈ͔ͳ͍ͱ͔ • ࠓޙͷͭΒΈʹͳΓͦ͏ͳ (= धཁ) ʹؾ͕ͭ͘
伱ؒՈ۩ͷਫ਼ਆੑ • UNIXֶͱҟͳΔ • ݱͷWeb։ൃ͋ΓͷΛΈ߹ΘͤΔ͜ͱ͕ଟ͍ • UNIXֶͷʮͻͱͭͷ͜ͱʯ͕ࣗݾ݁తͰ͋ͬͨͷʹରͯ͠ɺ ͍·ྖҬԣஅతʹͳ͍ͬͯΔ • UNIXͰ͍͑ϓϩηεؒ௨৴͕ओͰ͋Γ௧ΈͰ͋ΔΈ͍ͨͳ͔Μ͡
djb-wareͱͷྨࣅੑ • ͨͱ͑daemontoolsʮϓϩηεΛσʔϞϯԽ͍ͨ͠ʯͱ͍͏ ྖҬԣஅతͳؔ৺ΛҰखʹ୲ͬͯ͘ΕΔ • ݸʑͷ෦ἧ͍͚ͬͯͨͲίϚϯυҰൃͰσʔϞϯΛ࠶ىಈ͢Δͱ͔ ซͤͯϩάΛϩʔςʔτ͢Δͱ͔࣮༻্͔ܽͤͳ͍ɾ͋Δͱخ͍͠ॲཧΛ ࠶ར༻Մೳʹͯ͘͠ΕΔͷ͕daemontools • ECSαʔϏεΛσϓϩΠ͢Δ࣌ɺίϯτϩʔϥΛΘͣྃΛ͍ͪͨͱ͔
ͦ͏͍͏ࡉ͔͍ͱ͜Ζʹख͕ಧ͘ͷ͕伱ؒՈ۩Ͱ͋Γfujiwara-ware
·ͱΊ • ܅͚ͩͷΦϦδφϧՈ۩Ͱ࠷ڧͷ෦Λ࡞Ζ͏ • ͨ·ʹCP͕σβΠφʔζϚϯγϣϯΛചΔ͜ͱ͋Δ͚Ͳਖ਼ϐϯΩϦ • ԿΑΓѪண͕༙͘ • ࡞Γ͜Έͷ༨͕ແݶʹ͋ΔͷͰ झຯϓϩάϥϛϯά
(= ຍ) ͷωλͱͯ͠ྑ࣭ • ͍ͭͰʹ࣮༻ੑ͓ͬͯಘ