よいOSSを支える3C

Ad4c3c738e57a9bbcb800871e81c232d?s=47 itosho
September 18, 2018

 よいOSSを支える3C

ランサーズさんとの合同LT大会の発表資料です

Ad4c3c738e57a9bbcb800871e81c232d?s=128

itosho

September 18, 2018
Tweet

Transcript

  1. よいOSSを支える3C Connehito Inc. @itosho 1

  2. ▪ 今日話すこと ・簡単に自己紹介(30〜60秒)  ・名前だけでも覚えていただけると嬉しいです ・自作OSS「Easy Query」のご紹介(2〜3分)  ・細かい使い方は説明しません(README参照) ・「Easy Query」の開発から学んだこと(3〜4分)  ・本日のメイントピック

  3. ▪ 自己紹介 ・伊藤 翔 @itosho  ・コネヒト株式会社 / Supership株式会社 ・会社ではサーバーサイドエンジニアやっています  ・よく書く言語:

    PHP / Ruby / Golang ・家ではインディーアプリ開発してます  ・詳細はこちら: https://itosho.github.io/ ・Microservicesと野球とアイドルが好きです
  4. 自作OSS「Easy Query」のご紹介 4

  5. ▪ Easy Queryとは? ・CakePHPのBehavior Plugin  ・PHP7.0+, Cake3.5+, MySQL5.6系 ・Bulk Insertが簡単に出来る

     ・今日は詳しく触れませんが(Bulk)Upsertも出来ます! ・https://github.com/itosho/easy-query  ・もうすぐ1,000DL!(トリックあり)
  6. ▪ 使い方: Bulk Insert(Model)

  7. ▪ 使い方: Bulk Insert(Controller)

  8. ▪ 補足 ・bulk系のメソッドに分割処理は入れていません  ・max_allowed_packetの上限にご注意ください ・Timestamp Behaviorとの併用をオススメ  ・デフォルトでbeforeSave()メソッドを実行します ・PostgreSQL対応してくれる人募集中  ・https://github.com/itosho/easy-query/issues/10

  9. 「Easy Query」の開発から学んだこと 9

  10. ▪ つくってみて ・もっと使われるOSSをつくりたい!  ・自己満で終わりたくない ・個人OSSを社内導入するためのガイドライン作成  ・http://tech.connehito.com/entry/2017/11/16/143923 ・人気のあるOSSを自分なりに研究  ・3つの共通点を抽出してみました

  11. ▪ よいOSSを支える3つの共通点 ①Convenience(便利) ②Clearness(明確さ) ③Continuty(継続性)

  12. ▪ Convenience: 便利 ・圧倒的に使うメリットがある  ・問題が生む痛みよりも、問題を解決する労力のほうが煩わしい ・Easy Queryの場合  ・Cake標準のsaveMany()メソッドにはないパフォーマンス  【検証】tagsテーブルに100件登録    ※環境:

    CentOS6, MySQL5.6, CPU 2core, Memory 2GB(Docker for Mac)   ⇒saveMany()メソッド: 2.93秒   ⇒bulkInsert()メソッド: 2.01秒
  13. ▪ Clearness: 明確さ ・とにかくシュッと使える  ・ドキュメントがしっかりしている  ・言語やフレームワークの「郷」に従っている  ・使い方がシンプルで直感的 ・Easy Queryの場合  ・bulkInsert()メソッドはCake標準のsaveMany()メソッドと同じI/F

  14. ▪ Continuity: 継続性 ・重要なのはスター数(だけ)ではない  ・移り変わりの激しい世界  ・スター数が多くても半年後使えるかどうかは分からない  ・継続して開発しているかどうかも同じくらい大切 ・Easy Queryの場合  ・Cake4系にも対応するぞ!(所信表明)

      ・標準でサポートして欲しい気持ちもある
  15. まとめ 15

  16. ▪ まとめ ・OSSは使われてこそ輝く  ・つくること自体にも価値はある  ・しかし、誰かの問題を解決するための手段のひとつでありたい  ・つくるときは3Cを意識するといいかもしれない ・OSSをつくるのは学びしかない  ・普段の業務では身につかない知識が身につく  ・これからもつくっていきたい!みなさんも是非!

  17. ご清聴ありがとうございました 17