10歳の minne から、これから長く続くプロダクトを作るすべての人へ
10歳の minne から、これから長く続くプロダクトを作るすべての人へ
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/84699380-3e98-4421-87ee-aca7b67beac7/2681c931568386d4ff209956205266de.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/8bced592-b0c7-44ad-848b-5b841049bc3a/41a9bfdd50fb952fbf32e87c250da15b.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/a99a4734-bbc9-4b72-b34b-503aac243cf1/df758874f287c52bbef6bc701f5f19ab.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/6d32c24c-6c3e-4132-84c3-02832850f847/1beed32fa89117c915f4f64aea301254.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/7f89dee1-830c-4f40-aaed-83fe2a67f6dc/eb07a5e0e7aa854190cb3d51741faeaa.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/f730e86b-be2c-4083-9233-0690cf1f4024/0833d4b12c622d9d992bf4726eb82746.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/a0d71da7-af09-4daa-a5bc-609d23977a12/b26110d72fe96737081508a7168f3d4b.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/e74d9a77-92ec-43e5-9e9c-efdc4302ae25/4071c63e180f8490673de08903cace9e.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/8fd2d5e7-879b-408c-9c8c-06d6a90f96b7/b5bde521eb8ab2c3ab60a52e873ab96b.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/9297ec2c-414c-4d69-bbfc-516b34f11edc/8c77f8534b6fb44ac42b64d3a758bffa.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/28844dd4-0dc0-4483-8ab7-fd597f4bc807/899d329762081b17249ff1ab3a098270.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/f785aa30-6e8b-42f7-965e-f78a7c50fa2e/cc41d2b6850c3566095685b7911269af.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/929aa2e9-f758-4964-a439-d163a1c29c1e/253d4549a9f01498b69adb0b5da23d0c.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/6e7e2821-512a-427d-b17f-3d501bfc7722/8307db833a1603c9f5a9b52d9257df54.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/220b5f42-a3b6-4d9c-baf2-db686dd99185/2388b2e0565d7bee621d790decec8ad6.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/e746bf80-4190-46db-8350-231a4186c1ee/5120185849d925e859a7a4464d5b1f46.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/92f63cad-166b-4feb-90e9-b7dc935645db/bea7ebded95f49fbcd3ae62a57fb2bdd.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/ab4d5d82-1ca6-42db-9956-3d17cd1dcc9d/c7297f14c26d172509506a9039dc7bff.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/79ae81cc-8ef5-4f40-8930-acfe925204f3/49d912df774fbb7244332882547acf31.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/4b3fddc6-a83f-434f-b902-9249f628837c/ffe6a7e24f4f9362d3168de24d9d1262.jpg)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/9cda4cb8-ae76-4e9a-96df-4483dba1d85e/10d6bd4707878d4ca382bc7273486e86.jpg)
Transcript
- • minne の バックエンド開発を担当しています • 寝ること、もふもふしたもの、お寿司🍣が好き • ねこを飼うのが夢 • マイブームはオクラです • Twitter : @tsummichan
- minne 10周年!
- が10年で感じ、学んだことを3つご紹介します
- • 退会時にユーザーに紐づくお気に入りレコードを削除するが、お気に入りが多いとタイムアウトしてし まうのでユーザー体験に影響が出ている • お気に入りは user に対し has_many で紐付いていて、 dependent: delete_all が設定されている • お気に入り以外にもいろいろ削除しているが、必要最低限のもの以外は非同期処理化していく予定 1. シンプルにデータ量が増えて大変になった 10年経ってつらいところ
- やコミットメッセージに ”なぜそうしたのか”が書かれていない • GitHub から GitHub Enterprise へ移行した時に昔の issue, PR の画像などが一部消滅した • pull request やコミットメッセージに Why を書くようにチームで取り組み中 • 改修途中で力尽きたものがある • デザインの刷新時に、ユーザーの管理ページが /user にあったが新しく /account に作り、徐々に /account の方へ移行する予定だった • 一部機能はまだ /user に取り残されていて、 controller なども user と account の2つが存在して いる
- minne の作家のトップページは昔「ギャラリー」と呼ばれていたが今は「ショップ」になった • ユーザーに見えるオモテ部分はアップデートされていても、ソースコード(クラス名など)はまだそのままになって いる
- • 統一されていないアーキテクチャ・設計がある • これについては何もできていません … 😥アドバイスお待ちしています • deprecated なものが存在している • Ruby, Rails のバージョンアップに伴って deprecated になったメソッドや記法とか • Controller Spec, CoffeeScript とか • Rubocop を導入し、ボーイスカウトルールでできる範囲から徐々に書き換えているところ
- を使っていたりはするので、いつ動かなくなるかわからないと いう危険性はあり、それをどうするのかはこれからの課題 • アップデートを後回しにして溜めてはいけない(戒め) 10年経ってよいところ
- • 今は各サービスごとにチームがあるわけではなく、1つのチームが複数のサービスを見ているので把握が 大変という声もある • これは組織や体制の話でもある 10年経ってよいところ
- パフォーマンスチューニングもやるべきところがたくさんあってよい経験になる 10年経ってよいところ
- これから長く続くサービスを作るすべての人へ
- minne では、過去に仕組みを変えることでユーザー体験を改善ができる機会があったけど、他にやるこ とがあってそこにコストをかけられず、妥協してしまったことがある • 「しっかり対応していればもっとユーザーが使いやすくできたかも」 • 規模が大きくなるほど仕組み変えるのが大変になるので、サービスの規模がそこまで大きくなくて、 作り変えるのを迷ってるひとがいたらやったほうがいい!!! これから長く続くサービスを作るすべての人へ