サーバーサイド〜これから勉強する手引き〜

こんにちは、最近の勉強している項目を正直に列挙します。

  • cakephp
  • vue.js
  • wordpress
  • docker
  • HTMLプロフェッショナル認定試験レベル2

、、これを並行しているわけです。めちゃくちゃ迷走してる!

ちなみにcakephpはサーバーサイド、vue.jsはフロントエンド、wordpressはweb制作、dockerはサーバー(インフラ)とまあ、一度に手をつけすぎなわけです。

そうなると、全部が「基礎から始める!」レベルの参考書だったり実装だったりしかできなくなるわけです。

先だって実力をつけたいのがサーバーサイドの実装スキルなので、今回、全部一旦計画をまっさらにして「サーバーサイドエンジニアとして独り立ちするための学習ロードマップ」としての学習の手引きをまとめてみたいと思います。

サーバーサイドのロードマップ

まずはググってみた感じがこちらです。

  1. インターネットの仕組み
  2. フロントエンド全般の知識
  3. OS全般の知識
  4. プログラミング言語
  5. バージョン管理システム
  6. リレーショナルデータベース
  7. API
  8. キャッシュ
  9. webセキュリティー
  10. テスト
  11. CI/CD
  12. デザインと開発の原理
  13. 検索エンジン
  14. メッセージブローカー
  15. 仮想化とコンテナ
  16. GraphQL
  17. websocket
  18. webサーバー
  19. etc..

ロードマップはこちらを参考にさせていただきました。
https://roadmap.sh/backend

ちなみにフロントエンドのロードマップはこんな感じです。

  1. インターネットの仕組み
  2. フロント全般(html, css, js)
  3. バージョン管理システム
  4. webセキュリティー
  5. パッケージマネージャー
  6. cssアーキテクチャー/cssプリプロセッサー
  7. ビルドルール
  8. フレームワーク
  9. モダンcss/cssのフレームワーク
  10. テスト
  11. サーバーサイドレンダリング
  12. GraphQL
  13. 静的サイトジェネレーター
  14. モバイルアプリケーション
  15. デスクトップアプリケーション
  16. WebAssembly

ここから自分がこれから必要に感じている勉強を順番にまとめておきます。

インターネットの仕組み(概念と仕様)

web通信の基本的な仕組み(GETやPOST、HTTP、webページはなぜ見れるのか、ファイルのMIMEタイプのあれこれ)はわかってきていますが、まだREST,ATOM,リクエスト/レスポンスヘッダー,XML,サーバーの具体的な仕組みなどは理解が未熟だと感じているのでまずやることにします。

OS全般の知識

メモリ、プロセッサーなど断片的なことは言えますが、それとサーバーなどの処理の関係などはうまく言えないので体系的な理解をしていこうと思います。

コマンドラインについても参考にしたサイトではここに含まれていましたが、そこに関しては自信ありなのでスルーです。

バージョン管理システム

バージョン管理システムのこれまでの背景とgit,githubを説明できるくらいにしていこうと計画しています。

リレーショナルデータベース

MySQLをとにかく使いこなしていきます。

トリガーとか、ファンクションとか、データの移行とか、パーテーションとか、全然わかってません。

データベースに関してはつよつよになっていきたいので「ないよりはあったほうがいーじゃん」ってことでOSS-DB試験も予定中です。

API

APIとは何か?あたりはオッケーで、API自体も使ってるけど、『Web API The Good Parts』を1冊読了することをゴールとしておきます。

キャッシュ

キャッシュについてアバウトな状態のままでした。

キャッシュとは何かというよりもキャッシュをコントロールできるようにすることを目標に勉強していきます。

PHP(我ぺチパーなり)による設定、js(CacheAPIって使えそうだよね)による設定について今後まとめていきます。

Webセキュリティー

これに関してはいつかガチッと固めておきたい重要項目です。

いざドリブンしようとしてもセキュリティー不備が気になって、実行が困難に感じる1番の原因になっています。

セキュリティーに関わる国家資格があるのでそれの取得と、99%信頼できる実装をすることをゴールとしておきます。

テスト

知識というよりは実務で身につける仕事だと思うので、これに関してはおいおいやっていくことになるでしょうから、「サーバーサイドのテストの方法」記事のみをまとめていこうと思います。

CI/CD

完全に知らないので勉強します。

検索エンジン

なぜこれがサーバーサイドエンジニアとして必要なのか分かりませんが、(.htaccessとかかな)クローラーフレンドリーになって行けたらと思います。

仮想化、コンテナ

VirtualBoxと、Docker,Cubernotes、AWSを体系的にバシッと。

その他

ほぼ初見なので、備忘録としてまとめながら学習していきます。

終わり

というわけで、ただのToDoリストになってしまいましたが、こんな感じで自分の学習ロードマップを見直すきっかけということで、試しに振り返ってみてはいかがでしょうか!

とりあえず、vue.jsとwordpressの勉強はセーブしておくことにしますかね。

暇な時にやりたくなったらやるということで!