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
隙間家具OSS開発で『自分の庭』をつくる / kayac-andpad-event
Search
FUJIWARA Shunichiro
December 04, 2023
Technology
1.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
隙間家具OSS開発で『自分の庭』をつくる / kayac-andpad-event
https://connpass.com/event/301666/
FUJIWARA Shunichiro
December 04, 2023
More Decks by FUJIWARA Shunichiro
See All by FUJIWARA Shunichiro
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
570
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
8
2.2k
作るべきものと向き合う - ecspresso 8年間の開発史から学ぶ技術選定 / 技術選定con findy 2026
fujiwara3
9
6.3k
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
2
420
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
13
14k
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
9
7k
alecthomas/kong はいいぞ
fujiwara3
7
2.6k
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
12
3.8k
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
4
5.7k
Other Decks in Technology
See All in Technology
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
160
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
190
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Designing for humans not robots
tammielis
254
26k
How to make the Groovebox
asonas
2
2.5k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Thoughts on Productivity
jonyablonski
76
5.4k
Odyssey Design
rkendrick25
PRO
2
870
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Paper Plane
katiecoart
PRO
5
54k
Navigating Weather and Climate Data
rabernat
0
560
Transcript
隙間家具OSS開発で『自分の庭』をつくる 2023.12.04 カヤック・アンドパッド 合同 プロポーザル供養会 @fujiwara 藤原俊一郎
@fujiwara (X(Twitter), GitHub, Bluesky) 面白法人カヤック SREチーム ISUCON 優勝 4回 ISUCON
運営(出題) 4回 最近の趣味: OSS、ランニング (2023/11/05 フルマラソン 3:28:33)
隙間家具OSS 初出 吉祥寺.pm 16 (2018.11) AWS Dev Day 2019でも発表 ("隙間家具
speakerdeck"で検索)
隙間家具OSSとは マネージドサービス、コンポーネントの隙間を埋めて便利にするもの マネージドサービスが時間とともに成長して不要になったら取り外す(ことも念頭に)
Glueではなく隙間家具(単体のソフトウェア)にする理由 Glueなコードはプロジェクト固有の事情に密結合しがち あるプロジェクトのリポジトリの中に置かれる コードの責任分界点が曖昧 他のプロジェクトにコピペ(fork)されがち → 固有の事情(コピペ先の事情)によって改変されてだんだん別物に あるプロジェクトで行われたバグ修正が行き渡らない
単体ソフトウェア/ライブラリとしてOSSにする 各プロジェクトに依存するコードは入らない(入れられない) 一般的なユースケースに対応できるようにインタフェースが整理される プロジェクト固有の事情と一般的な事情を分離して設計と実装をするようになる bugfixはバージョンアップで適用できる ノウハウも統一できる 複数プロジェクトの運用が楽になる
「自分の庭」をつくる
作って使ってメンテしていくこと 「コードはできるだけ書かない方がよい」 それはそう 「できるだけ既存のツールの組み合わせでなんとかしたい」 それでよい運用ができるならもちろんOK 「このツールだけで全部完結させたい」 (趣味なら好きにすればいいけど仕事では)ひとつのツールに拘りすぎないほうがよい 適切な道具を適切に使う、必要なら道具も自分で作るのがプロフェッショナル
https://speakerdeck.com/twada/quality-and-speed-aws-dev-day-2023-tokyo-edition
自分で設計したシステムをメンテする経験 システムをシンプルに作ってシンプルに保つ力は経験で得るしかない ひとつのプロダクトを… 1. 設計して 2. 実装して 3. テストして 4.
リリースして 5. 導入して / 既存プロダクトと組み合わせて 6. issue対応やバグfixをして 7. (寿命を終えるところまで) 面倒を見る 大きなシステム、ビジネスのメインプロジェクトでこの経験を積むのは難しい
具体例 ecspresso v1 → v2 2020.10 v1 → 2022.12 v2
新機能を足したりPRを受け入れてコー ドを増やしていくと、どうしても設計/ 実装に歪みが溜まる 本来の責務ではないコードを github.com/fujiwara/ecsta に分離・リファクタ
隙間家具OSSは『自分の庭』 小さいのでいくつも作れる (練習になる) なくても何とかなるけどあると便利 (失敗したら使わなければよい) 成功してもいつか取り外すことも念頭に作る (そのための設計を考える) 使い始めたらメンテはしていく (要望の取捨選択も含めて) コードはできれば書かない方がいい
でも、鍛えておかないといざという時にうまく書けない