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
DROBEの生成AI活用事例 with AWS
ippey
0
130
Writing documentation can be fun with plugin system
okuramasafumi
0
120
Software Architecture
hschwentner
6
2.1k
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
770
AWS Lambda functions with C# 用の Dev Container Template を作ってみた件
mappie_kochi
0
240
技術を根付かせる / How to make technology take root
kubode
1
240
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
300
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
10
1.8k
SwiftUI Viewの責務分離
elmetal
PRO
0
140
CloudNativePGがCNCF Sandboxプロジェクトになったぞ! 〜CloudNativePGの仕組みの紹介〜
nnaka2992
0
220
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
100
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Why Our Code Smells
bkeepers
PRO
335
57k
Facilitating Awesome Meetings
lara
51
6.2k
The Cult of Friendly URLs
andyhume
78
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
4 Signs Your Business is Dying
shpigford
182
22k
Documentation Writing (for coders)
carmenintech
67
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
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/
ご清聴ありがとうございました。