1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

19
Copyright(C) 2013RareJob Inc. All rights reserved. 1 ヶヶヶヶヶヶヶヶヶヶヶヶヶヶヶヶヶヶヶ Rails ヶヶヶヶヶヶ 2017/03/06 @ma3tk (Masatan) ヶ 5 ヶヶヶヶヶヶヶヶ Rails ヶヶヶ

Transcript of 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Page 1: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2013RareJob Inc. All rights reserved.

1 ヶ月で作り切る❗スタートアップのための 🔥 Rails 爆速開発術

🔥

2017/03/06@ma3tk (Masatan)

第 5 回スタートアップ Rails 勉強会

Page 2: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

2

🎤 User.find_by(:name => @ma3tk)

💪 佐藤 将高 @ma3tk 💪

2013 年 3 月 / 東京大学 情報理工学系研究科 創造情報学専攻 卒業2013 年 4 月 / グリー エンジニア (LAMP 、チャット、 Golang 、 Cocos-2dx 、QA)2016 年 6 月 / Findy Inc. CTO

最近ハマってること : 週 5 くらいでジム 💪 / 一人カラオケで採点🎤好きな筋肉 : 大腿四頭筋好きな飲み物 : プロテイン好きなサプリメント : BCAA好きな歌手 : Mr.Children 、 CHEMISTRY 、秦基博、福山雅治好きなカラオケ機種 : JOYSOUND f1 / MAX好きな店舗 : カラオケ館 渋谷店 ( タバコ臭くなくてキレイ )

一緒に 筋トレ or カラオケ or Rails new しましょう!!Twitter(@ma3tk) 、 Facebook(https://www.facebook.com/masataka.sato) でやってます!

Page 3: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

3

🏠 Company.find_by(:name => “Findy Inc.”)

https://findy.us

Page 4: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

4

⭐ ファインディの技術スタック ⭐

バックエンドRuby on Rails( ほぼ API のみ ) / MySQL / Redis / ElasticSearch

フロントエンドES6 / React / Redux / Webpack

インフラDocker / Heroku / AWS (EB 、 EC2 、 ECS 、 S3 、 SQS 、 Route53…)

その他データマイニング / テキストマイニング / ロジスティック回帰分析…

Page 5: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

5

🏠 Company.find_by(:name => “Findy Inc.”)

2016 年 6 月 / ファインディ株式会社 (Findy Inc.) 設立2016 年 9 月 / Findy α 版 テスト開始2016 年 11 月 / 人事向け・求人票採点サービス Findy をリリース2017 年 3 月 / オフィスを五反田に移転

人と仕事のもっと良い出会いを生み出す世界的なプラットフォームをつくる

← CEO やまだ ( わりと最近ブログがバズってる )

Page 6: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

6

🐤 ベンチャー

🔥ベンチャーとは🔥

・品質保証もやるし、 CS もやるし、ブログ書いたり、社内情シスも兼務し、事務もやり、塗装屋さんなんて呼ばずにペンキ塗りもやるし、無限にやらなきゃいけないこともある

・ぶっちゃけテスト書く時間を削ってまで CS 対応するほうが優先度高いくらいで、バグったら書くレベル

( 今時間があったらテスト書くか筋トレしたい )

Page 7: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

7

🐤 ベンチャー

🔥ベンチャーとは🔥

・意思決定の速さがメリット・しかし金銭面で工数が限られている

=> 早くリーンに最低限を作りきるか  が重要

Page 8: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

8

💯 さて

そんな中で得られた開発手法の一つ

✨管理画面駆動開発✨

(ADD 、命名者 : おれ )

Page 9: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

9

👶 管理画面駆動開発とは

管理画面を先に作る開発手法( そのまんま )

Page 10: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

10

⭕ 管理画面駆動開発のメリット

⭕ いちいちコンソール画面から Rails console や DB の Client してコマンド叩かなくていい * カラム名忘れて参照しながら CUI でデータ作成したりするのダルい

⭕ 欲しいデータを GUI ですぐに作成できる * RESTful な API を実装しているが故に簡単に CRUD しにくい

⭕ リリース後登録ユーザ数の把握等するのに管理画面あればすぐに把握しやすい * エンジニア以外でも触れるようにしておきたい

⭕ 管理画面があればオペレーションでなんとかしやすい * それを自動化するのは大変なので、一旦ユーザ増えるまでオペレーションでカバーしましょう!的な

Page 11: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

11

❌ 管理画面駆動開発のデメリット

❌ 素直に scaffold 使うと手書きコストがかかって辛い

そこで!!

Page 12: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

12

⭐ ActiveAdmin

ActiveAdmin

Page 13: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

13

❓ActiveAdmin とは

❗ Gem の一つ

⭕ 管理画面を認証付きで作ってくれる Gem

⭕ それ既にやってくれるの? って位にコーディング不要

⭕ デザインもわりかしイケてる

❌ 少し複雑なことをしようとすると若干習得コスト有り * セレクターのラベルに 「姓 名 ( メールアドレス )」と表示する とか * has_many の関係のデータを同時に更新させるとか * フレームワークに乗ってる分デメリットなのは承知 * スケールしなくなりそうなら早めに scaffold にしよう!

Page 14: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

14

📖 ActiveAdmin 以外には何があるの?

⭕ Rails Admin ( 6,407)⭐ * 超速で作るならこれ、ただ、カスタマイズしにくい

⭕ Typus ( 7,155)⭐ * カスタマイズしやすいけど、小難しいらしい

⭕ Administrate ( 1,127)⭐ * 割りとカスタマイズしやすく、学習コストも少ないが、新しくて日本語ドキュメントが少なく API も変わりやすいかもとのこと

⭕ Upmin ( 816)⭐ * Rails Admin 上位互換になりそう、カスタマイズしやすいが、 dashboard がなかったり、言語の国際化できてなかったりとまだまだ実用レベルではない感

参考 :http://qiita.com/baban/items/f751fb05c4d2367878aahttp://qiita.com/mm36/items/253b32f152aa94e93fdahttp://qiita.com/baban/items/1593fb174d62443e2371

⭐ は 2017/03/06 現在の GitHub のスター数

Page 15: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

15

💯 ActiveAdmin のサンプル

http://demo.activeadmin.info/admin/orders

Page 16: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

16

⛄ 結果

🌸 おれ「あー。 scaffold で 毎回 edit ページと index ページと showページの項目作成するのめんどくさい… パスも変えなきゃだし、デザインも崩れてる… 項目変更して直さなきゃいけないの忘れてた…あとソートも欲しいし、絞込もほしいし、ページングも欲しい…」が一瞬で解決された

🌸 CEO「サービス開発早すぎww 見た目もイケてる!!」 おれ「\ /」ドヤッ

🌸 モデルがあればコマンド一つ叩けば、超高速 CRUD が可能になる * データが入っていない場合は?文字数が多い場合は?絵文字は入る?とか検証 * ベンチャーの場合、ある程度出来たらサービスを出すこと重要 * R&D に時間をかけられるようになった

🌸 顧客管理しやすい * CEO「 CSV 欲しい…あと、今登録者数どれくらいかな?」 * おれ「ページ下部からダウンロードできますよ。管理画面入ってください。」

Page 17: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

17

💯 ActiveAdmin 最高でしたというお話

ActiveAdmin 最高!!!https://activeadmin.info

Page 18: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

18

⭐ [PR] ファインディでは絶賛エンジニア募集中です! ( すこし宣伝 ) ⭐

ファインディでは、

⭕ データマイニング ⭕ 人工知能

等の知見や技術を活かして、人材業界 (HR 業界 ) をよりよくしています🔥

さらにディープラーニングした内容もガッツリサービスに取り込む予定です!一緒に最新の技術を使って爆速開発しませんか!?

もし事業や、以下の開発環境に興味あれば、気軽に声かけてください👌Ruby on Rails / MySQL / Redis / ElasticSearch /ES6 / React / Redux / Webpack /Docker / Heroku / AWS (EB 、 EC2 、 ECS 、 S3 、 SQS 、 Route53…) / データマイニング / テキストマイニング / TensorFlow / 筋トレ / カラオケ / ベンチャー / HR-Tech

https://en-gage.net/findy/work_15926/

Page 19: 1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)

Copyright(C) 2017Findy Inc. All rights reserved.

19

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

オフィスで 💪おいしいプロテイン 💪 を準備してあるので、是非 五反田まで遊びに来てください!

筋トレの相談、カラオケのお誘い、なんでも待ってます!