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
盆栽転じて家具となる / Bonsai and Furnitures
Search
aereal
January 17, 2025
Programming
7.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
盆栽転じて家具となる / Bonsai and Furnitures
https://connpass.com/event/338668/
aereal
January 17, 2025
More Decks by aereal
See All by aereal
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
380
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
7.3k
qron: Cloud Native Cron Alternativeの今
aereal
2
3.4k
自動作曲入門 / 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
19k
ScalaとPerlでMicroservices in production / Building microservices with Perl and Scala in production
aereal
0
5.7k
Other Decks in Programming
See All in Programming
APNsからLive Activityを開始する話
yumnumm
0
160
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Java 27新機能 / Java 27 new features
kishida
2
220
Are APIs Still Relevant in the AI Era?
soyuka
0
450
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
610
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
130
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
190
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
350
速習iPhone Duo対応
yuukiw00w
2
980
Simple Storage Service(S3) is not simple
iwatsukayura
0
250
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
golang-bob.pdf
iwatsukayura
0
120
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
630
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Building an army of robots
kneath
307
47k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
エンジニアに許された特別な時間の終わり
watany
109
250k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
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͕σβΠφʔζϚϯγϣϯΛചΔ͜ͱ͋Δ͚Ͳਖ਼ϐϯΩϦ • ԿΑΓѪண͕༙͘ • ࡞Γ͜Έͷ༨͕ແݶʹ͋ΔͷͰ झຯϓϩάϥϛϯά
(= ຍ) ͷωλͱͯ͠ྑ࣭ • ͍ͭͰʹ࣮༻ੑ͓ͬͯಘ