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.1k
盆栽転じて家具となる / 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
280
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
4.1k
qron: Cloud Native Cron Alternativeの今
aereal
2
2.8k
自動作曲入門 / 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
iOS開発スターターキットの作り方
akidon0000
0
240
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
2.3k
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
1.6k
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
900
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
360
JetBrainsのAI機能の紹介 #jjug
yusuke
0
200
AHC051解法紹介
eijirou
0
500
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
360
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.7k
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
130
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
460
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.1k
Featured
See All Featured
KATA
mclloyd
32
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
A better future with KSS
kneath
239
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Building Applications with DynamoDB
mza
96
6.5k
The Language of Interfaces
destraynor
158
25k
Agile that works and the tools we love
rasmusluckow
329
21k
Bash Introduction
62gerente
614
210k
Done Done
chrislema
185
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
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͕σβΠφʔζϚϯγϣϯΛചΔ͜ͱ͋Δ͚Ͳਖ਼ϐϯΩϦ • ԿΑΓѪண͕༙͘ • ࡞Γ͜Έͷ༨͕ແݶʹ͋ΔͷͰ झຯϓϩάϥϛϯά
(= ຍ) ͷωλͱͯ͠ྑ࣭ • ͍ͭͰʹ࣮༻ੑ͓ͬͯಘ