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を支える3C
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
itosho
September 18, 2018
Programming
850
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
よいOSSを支える3C
ランサーズさんとの合同LT大会の発表資料です
itosho
September 18, 2018
More Decks by itosho
See All by itosho
【2025年版】インターネットサービスの育て方 / How to Grow and Scale Internet Services 2025
itosho
0
280
Windsurf Rulesでどう自分のクローンをつくるか / How can I make a clone of myself in Windsurf Rules
itosho
0
150
Text EditorとしてのWindsurf / Windsurf as a Text Editor
itosho
0
380
【2024年版】インターネットサービスの育て方 / How to Grow and Scale Internet Services
itosho
0
130
打線組という個人サービスを Goで開発している話 / Indie Service Development by Go
itosho
1
210
Components Reconsidered
itosho
1
2.4k
打線組を支える技術 / The Technology Behind Dasengumi
itosho
0
79
組織をスケールさせるためのTech Vision / Connehito Tech Vision for Growing Our Team
itosho
2
720
生きのびるためのインディー開発 / Indie Development to Survive
itosho
0
73
Other Decks in Programming
See All in Programming
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.8k
App Intentsのビルドプロセスを支える技術
kntkymt
0
400
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
2.8k
What We Talk About When We Talk About XP
m_seki
2
660
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.8k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
150
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
220
wkhtmltopdfの次どうするか問題2026
willnet
2
1.5k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
290
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
120
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
330
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
940
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Speed Design
sergeychernyshev
33
2.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
550
Transcript
よいOSSを支える3C Connehito Inc. @itosho 1
▪ 今日話すこと ・簡単に自己紹介(30〜60秒) ・名前だけでも覚えていただけると嬉しいです ・自作OSS「Easy Query」のご紹介(2〜3分) ・細かい使い方は説明しません(README参照) ・「Easy Query」の開発から学んだこと(3〜4分) ・本日のメイントピック
▪ 自己紹介 ・伊藤 翔 @itosho ・コネヒト株式会社 / Supership株式会社 ・会社ではサーバーサイドエンジニアやっています ・よく書く言語:
PHP / Ruby / Golang ・家ではインディーアプリ開発してます ・詳細はこちら: https://itosho.github.io/ ・Microservicesと野球とアイドルが好きです
自作OSS「Easy Query」のご紹介 4
▪ Easy Queryとは? ・CakePHPのBehavior Plugin ・PHP7.0+, Cake3.5+, MySQL5.6系 ・Bulk Insertが簡単に出来る
・今日は詳しく触れませんが(Bulk)Upsertも出来ます! ・https://github.com/itosho/easy-query ・もうすぐ1,000DL!(トリックあり)
▪ 使い方: Bulk Insert(Model)
▪ 使い方: Bulk Insert(Controller)
▪ 補足 ・bulk系のメソッドに分割処理は入れていません ・max_allowed_packetの上限にご注意ください ・Timestamp Behaviorとの併用をオススメ ・デフォルトでbeforeSave()メソッドを実行します ・PostgreSQL対応してくれる人募集中 ・https://github.com/itosho/easy-query/issues/10
「Easy Query」の開発から学んだこと 9
▪ つくってみて ・もっと使われるOSSをつくりたい! ・自己満で終わりたくない ・個人OSSを社内導入するためのガイドライン作成 ・http://tech.connehito.com/entry/2017/11/16/143923 ・人気のあるOSSを自分なりに研究 ・3つの共通点を抽出してみました
▪ よいOSSを支える3つの共通点 ①Convenience(便利) ②Clearness(明確さ) ③Continuty(継続性)
▪ Convenience: 便利 ・圧倒的に使うメリットがある ・問題が生む痛みよりも、問題を解決する労力のほうが煩わしい ・Easy Queryの場合 ・Cake標準のsaveMany()メソッドにはないパフォーマンス 【検証】tagsテーブルに100件登録 ※環境:
CentOS6, MySQL5.6, CPU 2core, Memory 2GB(Docker for Mac) ⇒saveMany()メソッド: 2.93秒 ⇒bulkInsert()メソッド: 2.01秒
▪ Clearness: 明確さ ・とにかくシュッと使える ・ドキュメントがしっかりしている ・言語やフレームワークの「郷」に従っている ・使い方がシンプルで直感的 ・Easy Queryの場合 ・bulkInsert()メソッドはCake標準のsaveMany()メソッドと同じI/F
▪ Continuity: 継続性 ・重要なのはスター数(だけ)ではない ・移り変わりの激しい世界 ・スター数が多くても半年後使えるかどうかは分からない ・継続して開発しているかどうかも同じくらい大切 ・Easy Queryの場合 ・Cake4系にも対応するぞ!(所信表明)
・標準でサポートして欲しい気持ちもある
まとめ 15
▪ まとめ ・OSSは使われてこそ輝く ・つくること自体にも価値はある ・しかし、誰かの問題を解決するための手段のひとつでありたい ・つくるときは3Cを意識するといいかもしれない ・OSSをつくるのは学びしかない ・普段の業務では身につかない知識が身につく ・これからもつくっていきたい!みなさんも是非!
ご清聴ありがとうございました 17