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 Development Effort
Search
果物リン
May 19, 2021
Technology
1
210
とある自社開発の苦楽の軌跡/Trajectory of a Certain In-house Development Effort
株式会社スタディストのTeachme Bizがたどってきた歴史をほってみた
果物リン
May 19, 2021
Tweet
Share
More Decks by 果物リン
See All by 果物リン
ある日オレオレフレームワークを作りたくなったぞ/Want to Create Oreore Framework
fruitriin
1
59
fishとfzfはじめて 豊かになりました / fish and fzf is good
fruitriin
1
570
Chrome Devtools使いこなしたい/I want to master devtool
fruitriin
3
1.3k
Event Stage - 真面目に作ったけど 全くウケなくてクソだったアプリ/I made new service but they say shit
fruitriin
0
140
読み上げチャット+映像配信サービス作ってるけど…/I develop Text-to-Speach chat and broadcast Savice but...
fruitriin
0
71
動画再生速度を変更するコンポーネントを作ろうとして諦めた話/talk about give up to create video with playback-rate controller
fruitriin
6
800
Soft Skillsから伝えたい新人時代の個人開発技術選定/Selecting Stack for Personal Development as a from Soft Skills
fruitriin
2
330
SFCで挑戦するFunctional Component/Functional Component Challenge at SFC
fruitriin
3
1.4k
[社内LT]元窓使いで林檎教信者ですが窓使いに転生します/I'm an ex-windowman, a follower of the apple cult, but I'm turning into a windowman.
fruitriin
0
290
Other Decks in Technology
See All in Technology
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.3k
Yahoo! 知恵袋フロントエンドをリアーキテクトしている話
lycorptech_jp
PRO
1
120
Cracking the KubeCon CfP
inductor
2
240
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
350
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
950
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
240
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
240
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
520
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
120
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
アクセス制御にまつわる改善 / Improving access control
itkq
0
530
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
Featured
See All Featured
Producing Creativity
orderedlist
PRO
337
39k
Typedesign – Prime Four
hannesfritz
36
2.1k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Designing for Performance
lara
601
67k
Ruby is Unlike a Banana
tanoku
96
10k
Writing Fast Ruby
sferik
621
60k
Building an army of robots
kneath
300
41k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Become a Pro
speakerdeck
PRO
11
4.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
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をさわれる とかでしょうか! (マイクロサービス含めて)本番環境フルサーバーレスなのはすごく珍しいかもしれないです。
今ではめちゃくちゃモダンに!
自社開発は泥臭く始まっても ちゃんとなんとかなる
必要なときに必要なものを 身に付けていくのが大事…なのかな?