これはactindi Advent Calendar 2019、7日目の記事です。
こんにちは!新米Webエンジニアのhiroさんです。
Webエンジニアの基礎力をつけるため、フィヨルドブートキャンプで11月の1ヶ月間研修してきました!
研修の目的
- 技術的な基礎力を身につける
- Webシステムの全体像をイメージできるようにする
- Slack文化に慣れる
期間
11月の1日から29日の月曜以外の17日間
学習場所
最寄り駅:明大前(京王線・井の頭線)・下高井戸(京王線)
研修予定プラクティス
- Linux
- Nginx
- Capistrano
- Scrum
結果
Linux、Nginx、 Capistranoプラクティスをこなすことができた。残念ながらScrumは時間切れでこなすことができなかった。
できるようになったこと
Linux
- コマンドでファイル・ディレクトリの作成、修正、コピー、移動、削除を違和感なくできるようになった。
- 公開鍵暗号方式を使ったSSH認証の仕組みを理解し、公開鍵の作成からSSH接続するところまでできるようになった。
- パーミッション周りの仕組みを理解し、chmodコマンドでパーミッションの変更を行える。
- 標準入出力・リダイレクション・パイプの仕組みを理解して以下のことができるようになった。
- 標準出力、標準エラー出力をファイルに出力する。
- パイプ(|)を使ってコマンドを組み合わせてより複雑な機能を構築できるようになった。
- SSL/TLSの暗号通信の手順を理解してイメージできるようになった。
Nginx
- さくらVPS上にNginxとpumaを連携させて静的コンテンツはNginxから、動的コンテンツはpumaを通じてRailsからレスポンスさせることができるようになった。
- ロードバランサやリバースプロキシと聞いてどういったものなのかイメージできるようになった。
Capistrano
- ローカルからサーバ上のStaging、production環境にデプロイできるようになった。
- 以下、エラーでハマったポイント
- SSHで接続エラーになった。
- GitHubで認証エラーになった。
- デプロイユーザでbundleコマンドが実行できなかった。
- デプロイユーザでpostgresqlのproductionDBの操作権限エラーになった。
トラブルシューティング力の向上
エラー解決の経験値を得た。また、調査手順を体で覚えた。
【以下手順】
- エラーが出てもうろたえない。落ち着く。
- ターミナルやlogに出力されたエラー内容を読み込んで原因の当たりをつける。
- 当たりをつけてネットや書籍で情報収集する。情報はなるべく公式なドキュメントからあたっていく。StackoverflowやQiitaでは情報が古かったり誤っていることもあるので、まずは公式サイトのREADMEやドキュメントを見たほうが近道なことが多い。
- 情報も「こんなエラーが出たらこのコマンドを実行しろ」みたいなものだけではなく、原因まで掘り下げて理解する。
感想
- 学習仲間を意識することでモチベーションを保てた。
- 日報を書くのは良かった。頭の中を整理したり、復習のため見直すなど活用できる。他の受講生の日報も見れるので書き方を参考にできてよかった。
- Linux学習は今後シェルスクリプトを書いてさらに理解が深める。
- SSL/TLS通信は手順が複雑で理解するのに苦労した。
- フィヨルドを卒業しても定期的に日報を読み直して記憶を強化していきたい。
- 自社に出社しないこと、社員とふれあう機会がないことで帰属意識が薄まってしまうのが外部研修のデメリットだと感じた。