![見出し画像](https://assets.st-note.com/production/uploads/images/25211500/rectangle_large_type_2_81443f9d8c5f1a584e56cc5cf234097b.png?width=1200)
【実践編①】ポートフォリオ作成のロードマップ〜RSpec、Rubocop導入〜
▼ ロードマップ実践編 購入者の声
多くの方にご購入いただき、好評いただいてます!
こうだいさん(@kodai_0122 )のnoteを購入させてもらいました!
— りょうすけ@ポテパン受講生 (@nabesuke1992) May 11, 2020
ゼロからwebアプリの作り方が丁寧に解説されていて、まさに自分が求めていたコンテンツでした😊
今後の転職活動の参考にさせていただきます🙆♂️
これからWeb業界への転職を目指している方にはおすすめの内容です^ ^ https://t.co/5GWp3DvbFW
RSpec,Rubocopを開発初期から導入していく考えがなかった。Issuesを活用した擬似チーム開発も!
— ecru (@ecru_backend) May 11, 2020
早速ポートフォリオに生かします。
こうだいさん(@kodai_0122 )のnote、めちゃくちゃ勉強になります🙇#駆け出しエンジニアと繋がりたい #今日の積み上げ
==================================
こんにちは。こうだい(@kodai_0122)です。
この記事は、「ポートフォリオ作成のロードマップ」実践編①です。
▼ロードマップの全体像
【無料公開:準備編】
【実践編①】RSpec、Rubocop導入
【実践編②】ユーザーの登録、日本語化、ログイン
【実践編③】ユーザーの更新、一覧、削除
【実践編④】料理の投稿
【実践編⑤】画像投稿、フォロー、お気に入り
【実践編⑥】コメント、通知、リスト
【実践編⑦】ログ、Bootstrapテンプレート
【実践編⑧】検索、AWS S3、CSV出力、総仕上げ
※※※ 【重要】お詫び ※※※
アプリで使用していた Heroku Postgres の有料化(参考)に伴なってメンテナンスの継続が困難になったため、本アプリは予告通り 2022/11/19 に公開停止しました🙇♂️
note や GitHub のコードは引き続き公開しますが、https://cooklog-v3.herokuapp.com の参照ができなくなりました。ご理解いただけますと幸いです。
※※※※※※※※※※※※※※※※
▼ このロードマップで作るオリジナルアプリの概要
・アプリ名:クックログ
・概要:作った料理を記録して共有できる、料理投稿SNSサービス
・URL:https://cooklog-v3.herokuapp.com ※ 2022/11/19 公開停止
・機能:ログイン、ページネーション、料理の投稿、フォロー
お気に入り、コメント、通知、検索(料理名 or 材料)
CSV出力、リスト、ログ
※お詫び(2021/6/11 記載)
URL先のクックログアプリで、デモ用アカウントの「採用太郎」が削除できる状態になっており、何らかのタイミングで削除されていました🙏
この度アカウントを作り直し、削除できないように設定を変更しました。
現状は採用担当者用フォームからのログインが可能です。ご迷惑をおかけしました🙇♂️
前回の記事はこちら!
▼ 実践編①で実装する内容
✅ 静的ページ
✅ Herokuデプロイ、SSL化
✅ テスト(RSpec)の導入
✅ リンター(Rubocop)の導入
▼ 実践編①の概要
実践編①には、評価されるポートフォリオを作る上で大事な要素が3つ含まれています。
✅ テスト
✅ リンター
✅ GitHubのイシュー、プルリクエストを活用した擬似チーム開発
それぞれについて簡単に解説していきます。
✅ テスト、リンター
テストはRSpecというフレームワークを導入します。
Ruby/Railsを扱う会社はRSpecを使っていることが大半なので、Minitestよりこちらを使えるようにしておくと企業からの評価が高くなります。
現場でテストは必須なので、今のうちからテストをしっかり書いておくと、面接での評価が上がるだけでなく入社後もとても役に立ちます。
リンターはRubocopを導入します。
リンターとは、コードが一定の規則に従っているかをチェックし、従っていなければ違反警告を出してくれるツールです。これによりコードの書き方を統一できるため、テストと同様に現場では必須のツールです。
RubocopはRailsアプリ開発において代表的なリンターなので、これを導入しておけば間違いないです。
テストとリンターを最初に導入しておくことで、手戻りなく安心して機能を実装していくことができます。逆にテスト無しでどんどん開発を進めてしまうと、機能が増えるごとにバグが大量に発生し、最悪一から作り直しという状況にもなり兼ねません。
「テスト書くの面倒だな...」とつい思ってしまうのですが、後から見れば必ず時間の短縮に繋がります。
✅ GitHubのイシュー、プルリクエストを活用した擬似チーム開発
転職面接において、「チーム開発の経験があるか」ということはほぼ必ず聞かれます。
スクールなどでチーム開発経験が積めるところであれば良いのですが、独学の方や、私のように個人開発のみのスクールの場合は経験が積めません。
そんな時にオススメなのが「擬似チーム開発」です。
チーム開発とは、要は「自分が開発したコードをプルリクエストとして提出し、メンバーにレビューしてもらい通ればmasterにマージする」という流れで開発を進めることです。
擬似チーム開発では、チーム開発からレビューの過程を除いたものです。企業が見たいのは「GitHubを活用した開発フローの経験があるか」なので、擬似チーム開発をしていればきちんと評価されます。
実践編を進めるにあたり、いくつか補足事項を書いておきます。
▼ 読者の想定スキルレベル
最低限、Railsチュートリアルを一周しているレベルを想定しています。二周していれば尚良いです。
またRailsチュートリアルのようなめちゃくちゃ細かな解説はありません。あくまでロードマップであり作成手順を示していくものと捉えてください。わかりにくい部分には丁寧に解説を入れています。
あと必須ではないですが、私が3種の神器と呼んでいる3冊の書籍が手元にあると進めやすいと思います。どれもRuby, Rails学習者にとってはメジャーな書籍なので、ここで紹介しておきます。
▼ Railsエンジニアを目指すための3種の神器
・プロを目指す人のためのRuby入門(通称:チェリー本)
・現場で使えるRuby on Rails5 速習実践ガイド
・Everyday Rails - RSpecによるRailsテスト入門(電子書籍)
▼ ロードマップの進め方
・自分はどんなアプリを作りたいか、どんな機能をつけたいかを考えながら読み進めてみてください。
・GitHubのコミット履歴を追っていくと、開発の流れがわかりやすく把握できるのでオススメです。具体的なソースコードに関してはnote記載のコードを正として進めてください(GitHub上は途中細かなミスがあるため)。
▼ その他
・AWS・Docker・CircleCIは本ロードマップの対象外になってます(AWS S3だけは画像保存のために使用)。
・テストが合計 209 examples あり、とても厚く書いています。現場では当然のレベルなので厚く書くほどアピールにもなるのですが、完璧を目指して挫折しては意味がありません。
最低限、重要な機能に対して一通りのテスト(モデル、リクエスト、システムテスト)を書けていれば面接でのアピールに使えますので、量は調整してください。
▼ 開発環境
OS: macOS Catalina 10.15.4(Mojaveでも動作確認済)
Ruby 2.5.7
Rails 5.2.3
またRailsのバージョンに関して、現段階ではRails6ではなくRails5を使ってポートフォリオを作ることをオススメします。
転職用にポートフォリオを作る目的であれば、Rails6を使うことはオススメしません🙅♂️
— こうだい@自社開発Webエンジニア (@kodai_0122) May 6, 2020
Rails6からJS関連のフォルダ配置や扱いが変更になっており、実装ハードルが高いです。
僕は一度Rails6で作ろうとして、思うように動かず挫折してます😅
素直にRails5で作るのがオススメです🙆♂️
理由は上にも書いてありますが、Rails6の場合
・ネット上に情報が少ない
・RSpecテストの導入、Bootstrapテンプレート適用、Dockerの導入など、様々な場面で苦労する
ことが考えられます。現場でもRails5を使っているところがまだまだ多いので、Rails5を使って不利になることはありません。
という訳で推奨はRails5ですが、もちろんRails6でアプリを作る方にも参考になるロードマップになっています。
それでは、本編に入っていきます!
▼ 実践編①〜⑧がセットになったマガジンはこちら
☆単品購入に比べて920円お得!
▼ 実践編①〜⑧と転職ノウハウnoteのセットマガジンはこちら
☆単品購入に比べて1,220円お得!
【実践編①】ポートフォリオ作成のロードマップ〜RSpec、Rubocop導入〜
この記事が気に入ったらサポートをしてみませんか?