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
350
今年入ってすでにやりきった!Terraform
toyokappa
0
330
みんなもやろう! Serverless Frameworkで Lambdaの事始め
toyokappa
0
220
AWS近況報告
toyokappa
0
200
AWS(と、ちょっとのJS)だけでお問い合わせフォームを作った話
toyokappa
1
220
5分でS3にサイトをアップする方法をやろうと思ったら90分ハマり倒した話
toyokappa
0
260
私とAWS
toyokappa
0
74
元営業職の俺が3ヶ月でフルリモートエンジニアになった勉強法
toyokappa
1
590
Other Decks in Programming
See All in Programming
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
370
安いハードウェアでVulkan
fadis
1
780
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1k
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
440
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
230
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.5k
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
160
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
110
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
KagglerがMixSeekを触ってみた
morim
0
280
へんな働き方
yusukebe
6
2.8k
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
790
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Skip the Path - Find Your Career Trail
mkilby
1
89
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
How to train your dragon (web standard)
notwaldorf
97
6.6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
690
We Have a Design System, Now What?
morganepeng
55
8k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
220
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
180
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/
ご清聴ありがとうございました。