Railsエンジニア
コース
プログラミング言語 Ruby を用いたWebアプリケーションフレームワークである Ruby on Rails を使って Web エンジニアになるためのバックエンド・フロントエンドも含めた一通りの技術を学びます。
このコースでは、プログラミング言語「Ruby」を用いたWebアプリケーションフレームワークであるRails(Ruby on Rails)を使ってWebプログラマーになるためのバックエンド・フロントエンドも含めた一通りの技術を学びます。
### 主な内容
**Linux**
Webアプリケーションを動かすために必要なOS、Linuxの使い方を学びます。
**Ruby**
Railsにも必須のバックエンドエンジニアとして必要な言語Rubyについて学びます。
**JavaScript**
フロントエンドエンドエンジニアとして必須のJavaScriptを基礎から学びます。
**Rails**
バックエンド・フロントエンドの両方を含めたWebアプリケーションを作るためのフレームワークであるRailsを学びます。
**チーム開発**
Railsで作られたフィヨルドブートキャンプのEラーニングシステム自体をチームで開発します。
**Webサービス作成**
アイデアから自分で考えたWebサービスをRailsを使って作り、デプロイまでして公開します。
:::message primary
#### バックエンドエンジニアとは
ウェブアプリケーションのサーバーサイドのロジックとデータ管理を担当するプログラマーです。
主な仕事はサーバーサイドのビジネスロジックの実装、APIの開発です。
ユーザーが見えない部分で動作する仕組みを設計・実装し、システム全体が円滑に機能するようにします。
:::
カリキュラム一覧
学習の準備
| フィヨルドブートキャンプへようこそ! |
| 学習の進め方を知る |
| チャットを使えるようになる |
| ブログを作る |
| GitHubアカウントの登録 |
| SNSの登録 |
| 日報を書く |
| 質問をする力をつける |
開発環境
| 開発環境を作る |
| Terminalの基本を知る |
HTML & CSS
| HTMLの基本を理解する |
| Markdownを使ってHTMLを書く |
| CSS初級 |
Vi
| vi の基本を理解する |
Linux
| Linux をインストールする |
| UNIX・Linux について知る |
| Linux のファイル操作の基本を理解する |
| apt の基本を理解する |
| sudo をインストールする |
| SSH の基本を理解する |
| 標準入出力・リダイレクション・パイプを理解する |
| SSL/TLS の基本を理解する |
Git & GitHub
| Git の基本を理解する |
| GitHub の基本を理解する |
| Pull Request を行う |
Ruby
| rbenv |
| Ruby初級 |
| FizzBuzz問題(Ruby) |
| カレンダーのプログラム(Ruby) |
| rubygems の基本を理解する |
| プログラムの修正 |
| Bundler の基本を理解する |
| rubocop の使い方を知る |
| ボウリングのスコア計算プログラム |
| Ruby中級 |
| プログラムの修正(リバーシ編) |
| lsコマンドを作る1 |
| lsコマンドを作る2 |
| lsコマンドを作る3 |
| lsコマンドを作る4 |
| ls コマンドを作る5 |
| wc コマンドを作る |
HTTP
| HTTP の基本について理解する |
| Cookie について理解する |
Nginx
| nginx の基本を理解する |
| nginx で VirtualHost を使って 1 つのサーバーで複数のサイトを立ち上げる |
| nginx で SSL 対応サイトを作る |
データベース
| SQL の基本を理解する |
| PostgreSQLの基本を理解する |
| データベース設計の基本を理解する |
Webアプリケーション
| REST の考え方を理解する |
| Sinatra を使ってWebアプリケーションの基本を理解する |
| WebアプリからのDB利用 |
Ruby on Rails
| Rails の基本を理解する |
| Rails の i18n を理解する |
| kaminari を使ってページング処理を実装する |
| devise を使ってユーザー認証を実装する |
| ActiveStorage で画像アップロードを実装する |
| コメントを付けられるようにする |
| 日報の言及機能を作る |
自動テスト
| テスト技法 |
| TDD の基本を理解する |
| test-unit の基本を理解する |
| Railsでテストを書く |
オブジェクト指向プログラミング(Ruby)
| オブジェクト指向プログラミング |
| ボウリングのスコア計算プログラムオブジェクト指向版 |
| ls コマンドを作るオブジェクト指向版 |
JavaScript
| JavaScript入門 |
| node.js(nvm)のインストール |
| node.jsプログラム |
| FizzBuzz問題(JavaScript) |
| npm |
| Linter (ESLint) と Formatter (Prettier) |
| カレンダーのプログラム(JavaScript) |
| 非同期処理(JavaScript) |
| クラス(JavaScript) |
| npm パッケージの作成 |
React
| Reactチュートリアル |
| Reactを学ぶ |
| React Hooks |
| ReactでSPAを作る |
| Contextを使ってグローバルなstateを管理する |
| SWRを使ってAPIをコールする |
Webセキュリティ
| Webセキュリティ |
チーム開発
| アジャイル開発 /スクラム を理解する |
| ビデオチャットを使えるようになる |
| チーム開発に参加する準備をする |
| 開発に参加してPRを送りマージする |
Webサービスを作って公開する
| どんなサービスを作るかを考える |
| ペーパープロトタイプを作る |
| カンバンを作る |
| 技術検証をする |
| リソース・データ設計 |
| Web サービスを作る |
| CI/CD |
| デプロイ |
| 自分で作った Web サービスのデザインレビューを受ける |
| 自分で作った Web サービスのコードレビューを受ける |
| Web サービスをリリースする |
就職活動
| 就職相談をする |
| 企業研究 |
| ポートフォリオを作る |
| 模擬コーディング試験 |
オープンソースソフトウェア開発
| OSS にコントリビュートする方法を知る |
| OSS にコントリビュートする方法を教える |
| OSS のソフトウェアプロジェクトに PR を送る |
発展編
| rake |
| rubygemを作る |
| omniauth を使って GitHub 認証を実装する |
| CSS上級 |
| UMLの基本を理解する |
| チーム開発おかわり |
| wc コマンドを作るオブジェクト指向版 |
| プロトタイプチェーン |
| RSpec の基本 |
| RSpec を使って Rails アプリのテストを書く |
デプロイ
| CI/CD |
| Kamalでのデプロイ |