Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
330
今年入ってすでにやりきった!Terraform
toyokappa
0
310
みんなもやろう! Serverless Frameworkで Lambdaの事始め
toyokappa
0
210
AWS近況報告
toyokappa
0
180
AWS(と、ちょっとのJS)だけでお問い合わせフォームを作った話
toyokappa
1
210
5分でS3にサイトをアップする方法をやろうと思ったら90分ハマり倒した話
toyokappa
0
250
私とAWS
toyokappa
0
60
元営業職の俺が3ヶ月でフルリモートエンジニアになった勉強法
toyokappa
1
580
Other Decks in Programming
See All in Programming
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
5.1k
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
110
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.2k
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
37
23k
Level up your Gemini CLI - D&D Style!
palladius
1
180
Integrating WordPress and Symfony
alexandresalome
0
130
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
1
390
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
19k
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
140
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
120
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Visualization
eitanlees
150
16k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Optimizing for Happiness
mojombo
379
70k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Embracing the Ebb and Flow
colly
88
4.9k
Rails Girls Zürich Keynote
gr2m
95
14k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Speed Design
sergeychernyshev
33
1.4k
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/
ご清聴ありがとうございました。