Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
とある自社開発の苦楽の軌跡 リポジトリ考古学 株式会社スタディスト 果物リン@FruitRiin
Slide 2
Slide 2 text
自己紹介@FruitRiin ● Vueが好きでVueとRails書いてる ● スタディストの中でHansoku Cloudというサービスの開発中 ● 個人開発もする ○ TLのないTwitterクライアント ○ オンラインイベント用のサービス
Slide 3
Slide 3 text
自社サービス開発のスタディスト 受託開発のゆめみ どんな話が面白いだろうか
Slide 4
Slide 4 text
自社サービスならではの 出来事とか?
Slide 5
Slide 5 text
リポジトリ考古学 してみよう! PR8684個+コミットログいっぱいみました
Slide 6
Slide 6 text
引用元 スタディスト会社案内
Slide 7
Slide 7 text
引用元 スタディスト会社案内
Slide 8
Slide 8 text
引用元 スタディスト会社案内 本日はこちら
Slide 9
Slide 9 text
2011年~2012年 Teachmeは始まった Teachme Bizじゃなかった
Slide 10
Slide 10 text
最初のコミットが2012年1月 どうもある程度動きそうな気配のある Railsのコードがまるごとコミットされる
Slide 11
Slide 11 text
初期のDBは(おそらく) SQLite3 でもS3もつかってた。 こっちはモダン!
Slide 12
Slide 12 text
Heroku GitとGitHubが並行してたっぽい
Slide 13
Slide 13 text
2014年4月 本番・StagingDBがMySQLに移行 EC2移行も2012年~2016年の間に行われたらしいのでこの時期?
Slide 14
Slide 14 text
2016年9月頃からGitHubのPRが使われ始める
Slide 15
Slide 15 text
2017年11月 UIリニューアル開始! Vue 2.5でSPAアプリケーションに!
Slide 16
Slide 16 text
2018年11月 UIリニューアルのMaster反映 ここでAPIがV1とV2分かれる
Slide 17
Slide 17 text
インタビュー UIリニューアルについて UIリニューアルは元々フロントエンドの改修だけで、 APIはほとんどv1で済むでしょぐらいの認識だったので、す ぐ終わる見積もりだった プロジェクトを進めるに連れ、ネイティブアプリに特化した貧弱な v1 API じゃ対応ができない箇所が出てきて、そ の都度 v2 API を新規に作る方針にした 気づいたらほぼ全ての API に v2 が生まれてた 新UIが要求するAPIがやたらリッチで、既存資産の流用が全然出来ずに継ぎ足しで新規コードを足していったの で、検証フェーズに入って膨大なバグが出たのが一番大変だった印象
Slide 18
Slide 18 text
作ってみたけど使われなかった機能を捨てることも… そういうこともあります。
Slide 19
Slide 19 text
フロントエンドのツールチェイン更新 2020年 ● E2Eテストのはじまり ● Prettierを既存コードに少しずつ適用する ● Storybook 6以降 2021年 ● TS化
Slide 20
Slide 20 text
インタビュー フロントエンドのツールチェイン 元々こだわりがあったわけでなく、その領域をリードしてた人が退職してしまい、組織内でそこが手つかずの状態 になってしまっていたのがきっかけ 「誰かがやらなきゃならない」っていうオーナーシップと、「ここ頑張れば周りと差別化できる」っていう生存戦略が 半々ぐらい 開発環境、CI/CD周りはステークホルダ(プロダクトや会社) の方針に左右されずに自分のペースで無限に改善 できるとこが好きで今も続けてる
Slide 21
Slide 21 text
インフラ周りの更新 2018年 ● CircleCI ● NewRelic, CloudWatch, Stackdriver ● fluentd, Elasticsearch, Kibana ● Ansible + Serverspec + Packer + AWS Code Build ● EC2からECSへ
Slide 22
Slide 22 text
2020年 新規機能のマイクロサービス化 チームメンバーが増えたことで開発速度の低下を懸念して行われたもの
Slide 23
Slide 23 text
2020年末Kubernetes移行 開発環境と本番環境が同じコンテナを使うので OSライブラリのパッケージ差分が生まれづらい!
Slide 24
Slide 24 text
インタビュー 今はモダンになったインフラや運用のことを教えて Deploy自動化されている インフラもほぼコード化されていて、 PRベースで仕事が進められる コンテナで、開発環境〜本番環境での OSライブラリのパッケージ差分が生まれづらい チームでInfraをさわれる とかでしょうか! (マイクロサービス含めて)本番環境フルサーバーレスなのはすごく珍しいかもしれないです。
Slide 25
Slide 25 text
今ではめちゃくちゃモダンに!
Slide 26
Slide 26 text
自社開発は泥臭く始まっても ちゃんとなんとかなる
Slide 27
Slide 27 text
必要なときに必要なものを 身に付けていくのが大事…なのかな?