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
とある自社開発の苦楽の軌跡/Trajectory of a Certain In-house ...
Search
果物リン
May 19, 2021
Technology
1
230
とある自社開発の苦楽の軌跡/Trajectory of a Certain In-house Development Effort
株式会社スタディストのTeachme Bizがたどってきた歴史をほってみた
果物リン
May 19, 2021
Tweet
Share
More Decks by 果物リン
See All by 果物リン
Electron+Vue+Swift=真のデスクトップアプリ / How to create "Really" desktop app using Electron
fruitriin
0
23
ある日オレオレフレームワークを作りたくなったぞ/Want to Create Oreore Framework
fruitriin
1
78
fishとfzfはじめて 豊かになりました / fish and fzf is good
fruitriin
1
720
Chrome Devtools使いこなしたい/I want to master devtool
fruitriin
3
1.4k
Event Stage - 真面目に作ったけど 全くウケなくてクソだったアプリ/I made new service but they say shit
fruitriin
0
150
読み上げチャット+映像配信サービス作ってるけど…/I develop Text-to-Speach chat and broadcast Savice but...
fruitriin
0
100
動画再生速度を変更するコンポーネントを作ろうとして諦めた話/talk about give up to create video with playback-rate controller
fruitriin
6
870
Soft Skillsから伝えたい新人時代の個人開発技術選定/Selecting Stack for Personal Development as a from Soft Skills
fruitriin
2
350
SFCで挑戦するFunctional Component/Functional Component Challenge at SFC
fruitriin
3
1.5k
Other Decks in Technology
See All in Technology
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
Lexical Analysis
shigashiyama
1
150
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
AGIについてChatGPTに聞いてみた
blueb
0
130
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Designing Experiences People Love
moore
138
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Designing the Hi-DPI Web
ddemaree
280
34k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
The Cult of Friendly URLs
andyhume
78
6k
We Have a Design System, Now What?
morganepeng
50
7.2k
Done Done
chrislema
181
16k
Speed Design
sergeychernyshev
24
610
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Transcript
とある自社開発の苦楽の軌跡 リポジトリ考古学 株式会社スタディスト 果物リン@FruitRiin
自己紹介@FruitRiin • Vueが好きでVueとRails書いてる • スタディストの中でHansoku Cloudというサービスの開発中 • 個人開発もする ◦ TLのないTwitterクライアント
◦ オンラインイベント用のサービス
自社サービス開発のスタディスト 受託開発のゆめみ どんな話が面白いだろうか
自社サービスならではの 出来事とか?
リポジトリ考古学 してみよう! PR8684個+コミットログいっぱいみました
引用元 スタディスト会社案内
引用元 スタディスト会社案内
引用元 スタディスト会社案内 本日はこちら
2011年~2012年 Teachmeは始まった Teachme Bizじゃなかった
最初のコミットが2012年1月 どうもある程度動きそうな気配のある Railsのコードがまるごとコミットされる
初期のDBは(おそらく) SQLite3 でもS3もつかってた。 こっちはモダン!
Heroku GitとGitHubが並行してたっぽい
2014年4月 本番・StagingDBがMySQLに移行 EC2移行も2012年~2016年の間に行われたらしいのでこの時期?
2016年9月頃からGitHubのPRが使われ始める
2017年11月 UIリニューアル開始! Vue 2.5でSPAアプリケーションに!
2018年11月 UIリニューアルのMaster反映 ここでAPIがV1とV2分かれる
インタビュー UIリニューアルについて UIリニューアルは元々フロントエンドの改修だけで、 APIはほとんどv1で済むでしょぐらいの認識だったので、す ぐ終わる見積もりだった プロジェクトを進めるに連れ、ネイティブアプリに特化した貧弱な v1 API じゃ対応ができない箇所が出てきて、そ の都度 v2
API を新規に作る方針にした 気づいたらほぼ全ての API に v2 が生まれてた 新UIが要求するAPIがやたらリッチで、既存資産の流用が全然出来ずに継ぎ足しで新規コードを足していったの で、検証フェーズに入って膨大なバグが出たのが一番大変だった印象
作ってみたけど使われなかった機能を捨てることも… そういうこともあります。
フロントエンドのツールチェイン更新 2020年 • E2Eテストのはじまり • Prettierを既存コードに少しずつ適用する • Storybook 6以降 2021年
• TS化
インタビュー フロントエンドのツールチェイン 元々こだわりがあったわけでなく、その領域をリードしてた人が退職してしまい、組織内でそこが手つかずの状態 になってしまっていたのがきっかけ 「誰かがやらなきゃならない」っていうオーナーシップと、「ここ頑張れば周りと差別化できる」っていう生存戦略が 半々ぐらい 開発環境、CI/CD周りはステークホルダ(プロダクトや会社) の方針に左右されずに自分のペースで無限に改善 できるとこが好きで今も続けてる
インフラ周りの更新 2018年 • CircleCI • NewRelic, CloudWatch, Stackdriver • fluentd,
Elasticsearch, Kibana • Ansible + Serverspec + Packer + AWS Code Build • EC2からECSへ
2020年 新規機能のマイクロサービス化 チームメンバーが増えたことで開発速度の低下を懸念して行われたもの
2020年末Kubernetes移行 開発環境と本番環境が同じコンテナを使うので OSライブラリのパッケージ差分が生まれづらい!
インタビュー 今はモダンになったインフラや運用のことを教えて Deploy自動化されている インフラもほぼコード化されていて、 PRベースで仕事が進められる コンテナで、開発環境〜本番環境での OSライブラリのパッケージ差分が生まれづらい チームでInfraをさわれる とかでしょうか! (マイクロサービス含めて)本番環境フルサーバーレスなのはすごく珍しいかもしれないです。
今ではめちゃくちゃモダンに!
自社開発は泥臭く始まっても ちゃんとなんとかなる
必要なときに必要なものを 身に付けていくのが大事…なのかな?