Railsエンジニア
コース
このコースでは、プログラミング言語「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でSPAを作る |
Contextを使ってグローバルなstateを管理する |
SWRを使ってAPIをコールする |
Webセキュリティ
Webセキュリティ |
チーム開発
アジャイル開発 /スクラム を理解する |
ビデオチャットを使えるようになる |
チーム開発に参加する準備をする |
開発に参加してPRを送りマージする |
Webサービスを作って公開する
どんなサービスを作るかを考える |
ペーパープロトタイプを作る |
カンバンを作る |
技術検証をする |
リソース・データ設計 |
Web サービスを作る |
CI |
デプロイ |
自分で作った Web サービスのデザインレビューを受ける |
自分で作った Web サービスのコードレビューを受ける |
Web サービスをリリースする |
就職活動
就職相談をする |
企業研究 |
ポートフォリオを作る |
模擬コーディング試験 |
オープンソースソフトウェア開発
OSS にコントリビュートする方法を知る |
OSS にコントリビュートする方法を教える |
OSS のソフトウェアプロジェクトに PR を送る |
発展編
rake |
rubygemを作る |
omniauth を使って GitHub 認証を実装する |
CSS上級 |
UMLの基本を理解する |
チーム開発おかわり |
wc コマンドを作るオブジェクト指向版 |
プロトタイプチェーン |
RSpec の基本 |
RSpec を使って Rails アプリのテストを書く |
デプロイ
nginxとRailsを連携させる |
Capistrano を使って Rails アプリをデプロイする |