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
営業職の俺がRailsでアプリケーションを作ってみた
Search
Yuta Toyokawa
July 20, 2017
Programming
0
1.3k
営業職の俺がRailsでアプリケーションを作ってみた
Rails Developers Meetup#3 で発表をしたスライドです。Rails初心者の私がイチからアプリケーションを作り、そこで学んだことや感じたことを記載しました。
Yuta Toyokawa
July 20, 2017
Tweet
Share
More Decks by Yuta Toyokawa
See All by Yuta Toyokawa
2021年やったこと、2022年やりたいこと、それと小話
toyokappa
1
300
今年入ってすでにやりきった!Terraform
toyokappa
0
290
みんなもやろう! Serverless Frameworkで Lambdaの事始め
toyokappa
0
190
AWS近況報告
toyokappa
0
180
AWS(と、ちょっとのJS)だけでお問い合わせフォームを作った話
toyokappa
1
180
5分でS3にサイトをアップする方法をやろうと思ったら90分ハマり倒した話
toyokappa
0
220
私とAWS
toyokappa
0
51
元営業職の俺が3ヶ月でフルリモートエンジニアになった勉強法
toyokappa
1
570
Other Decks in Programming
See All in Programming
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
360
Open source software: how to live long and go far
gaelvaroquaux
0
620
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
41
15k
Introduction to kotlinx.rpc
arawn
0
630
2024年のWebフロントエンドのふりかえりと2025年
sakito
1
230
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.1k
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
110
DROBEの生成AI活用事例 with AWS
ippey
0
130
Honoとフロントエンドの 型安全性について
yodaka
4
250
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
210
Featured
See All Featured
Site-Speed That Sticks
csswizardry
3
370
Faster Mobile Websites
deanohume
306
31k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Navigating Team Friction
lara
183
15k
Thoughts on Productivity
jonyablonski
69
4.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
営業職の俺がRailsで アプリケーションを作ってみた @toyokappa
⽣年⽉⽇ 平成2年12⽉28⽇(満26歳) 最終学歴 2013年3⽉ 東京都市⼤学卒業 職歴 2013年4⽉〜2015年3⽉ バリューコマース (営業⇒マーケ⇒新規事業⇒経営企画) 2015年4⽉〜現在
JAC Recruitment (Web業界の転職エージェント) 趣味 海外ドラマ鑑賞 (シリコンバレー、BrBa、Big Bang Theory) ⾃⼰紹介
なぜRailsアプリを作ろうと思ったか? Railsチュートリアルを2周したことで⾃信をつけ ⾃分の考えたアプリケーションを作りたいと考えたため。
この時点で持っていた知識 知識レベル HTML、CSS(中学時代に独学で勉強) JS、PHP、MySQL(⼤学時代に少しかじった程度) Wordpress(テンプレート、簡単なランキングWidgetを作った程度) Ruby on Rails(Railsチュートリアルを2周して学んだ程度) 当時の考え Railsチュートリアルを2周して、アプリケーションをゼロから作る流れを
理解したし、次のステップとして⾃分の考えたアプリケーションを作ろう。 これを実績にエンジニアに転職するぞ!
開発したアプリケーション
①ユーザー認証ができる ②わからない単語を登録できる ③単語に紐付いたURLが複数登録できる ④URL(サイト)を理解度とを0〜5で評価できる ⑤理解度が⾼い順でURLがソートされる ⑥あとで単語の意味を忘れた時に⾒返せる できること
デモ https://knowledge-stocker.herokuapp.com/
実際に作ってみて 結論 Railsチュートリアルをたかだか2周したくらいではプロのエンジニアに なるという⽬標には到底及ばなかった。完全に井の中の蛙でした。。 なぜそう思ったのか? Railsチュートリアル流の開発には、実際の現場での開発と多くの ギャップが有り、⾃分⾃⾝そのギャップに気づけず「わかったつもり」 になっていた。プロのエンジニア(RDM主催の⽅々)のレビューを 受け「わかったつもり」が浮き彫りとなったため。
わかったつもり〜その1〜 GemのVer指定の問題:パッチVerまでしっかり固定 Bundlerの動きを理解せず、固定=安⼼という考え⽅を持っていた
学んだこと〜その1〜 BundlerがGemのVerを管理してくれることを学んだ Semantic Versioning2.0というバージョン定義の概念を教わった
わかったつもり〜その2〜 Gitの使い⽅の問題:commitの粒度がわからない Commit = Pull Requestくらいの粒度で考えていた app/models app/controllers app/views test/models
config/routes.rb Gemfile db/migrate db/schema.rb Gemfile.lock Create user index function
学んだこと〜その2〜 Gemfile Gemfile.lock Add abc_def gem db/migrate db/schema.rb Create users
table app/models test/models Update user model app/controllers Add index action to users config/routes.rb Add users resources app/views Create index page ファイルの種別毎や、実装とテストをセットでcommitすることを学んだ 合わせて「git rebase -i」や「git reset」の使い⽅を学んだ
わかったつもり〜その3〜 開発の進め⽅の問題:パーツごとに完成度が⾼いものを作ろうとする Railsチュートリアルくらいの完成度のものを最初から作ろうとしていた
学んだこと〜その3〜 MVP(Most Viable Prodact)という考え⽅を学んだ とにかくちっちゃくても、醜くても動くものを優先して作る意識が芽⽣えた
その他にやったこと ローカルの開発環境構築 Cloud9での開発をやめ、ローカルに開発環境の構築を⾏うことが出来た Bootstrapによる簡単なデザインの作成 Bootstrapのセットアップ、サイトレイアウトの作成を⾏った I18n機能を使⽤したサイトの⽇本語化 Railsガイドを参考に、I18nの設定、エラーメッセージの⽇本語化を⾏った SQLite3からPostgreSQLに変更 ⾊々なサイトを参考に、SQLite3からPostgreSQLへのDB変更を⾏った RSpecによるModelのテストの実⾏
RSpecやFactoryGirlのセットアップ、Modelのテストを書いた
今後取り組みたい課題 認証機能の実装⽅法を⾒直す Railsチュートリアルの認証機能実装⽅法が独特という指摘を頂く。 SessionsHelperをApplicationControllerにインクルードて実装している。 また、認証フィルタをController毎に定義している。これを定⽯どおりに 修正する。 RSpecによるテストの実装 Modelのテストを書いてはみたが、まだ⾃信はない。 また、Model以外のテストも実装が出来ていない。 Everyday
Railsの「RSpecによるRailsテスト⼊⾨」を読みRSpecを 理解した上でModel、Controller、Featureなどのスペックを実装する。
Knowledge Stockerの展望 他のユーザーとの繋がりを持てるようにする • 他のユーザーの登録した単語の検索ができる機能 • 他のユーザーが登録している単語の情報をコピー登録できる機能 • ユーザー同⼠がフォローしあえる機能 個⼈利⽤の機能を充実させる
• ユーザー情報の編集、削除(退会)ができる機能 • 単語の登録数や理解した単語数などの⾏動実績を可視化できる機能 • SNSを使ったユーザー登録、ログイン機能 • 理解していない単語をTodoのような形式で表⽰する機能 • ⾃分が登録した単語に対しておすすめのサイトをレコメンドする機能
最後に 全体を通し、更に努⼒を積み重ねなければならない世界であることを 実感しました。何か良い勉強法があれば教えて頂けますと幸いです。 また、エンジニアを⽬指すにあたってブログも書いていますので よければご覧ください。 営業職の俺がエンジニアになる http://toyokappa.hatenablog.com/
ご清聴ありがとうございました。