取り上げた技術は、本格的な開発でも役に立つもので、最も学習コストが低いものを選んだ
重要度が低いものは載せていない。たとえばHTMLとCSSなんてググりながら書けば全く問題ないし、Bootstrapなどのフレームワークも就職先で使っていたら覚えればいい
基本的に現在では、バックエンド・フロントエンド・運用保守全てができないエンジニアに価値は無い
以下に挙げたこと(①⑤⑥は他の言語やフレームワークで代替可能)ができない/わからないのは、相当恥ずかしいことだと思った方がいい
長いので分割
① PythonとJavaScriptをマスターする
この2つは習得が容易だし、今覚えておけば向こう10年腐ることはないだろう
プログラミング言語は完璧に理解する必要がある
基本的な構文や、よく使う標準ライブラリは勿論、高階関数・クラス・非同期処理等の発展的な機能も知り尽くしていなければならない
言語のみではなく、パッケージ管理、単体テスト、タスクランナー等の周辺ツールも熟知している必要がある
また、「リーダブルコード」や「コードコンプリート」に書いてあるような良い作法も身に付ける必要がある
https://docs.python.org/ja/3/
https://developer.mozilla.org/ja/docs/Web/JavaScript
② Gitの基本操作を覚える
Gitを使えないのはプログラマーとして論外。細かい機能は調べればよいが、
・リポジトリを作成する
・.gitignoreを記述する
・リポジトリをクローンする
・ブランチを作成する
・変更をコミットする
・ブランチをマージする
等の基本的なフローは必ずできなければならない
③ Linuxの基本操作を覚える
多くの場合、本番環境やテスト環境はLinuxサーバーであるから、以下のような基本的な概念と使い方を知っておく必要がある
・ファイルやパーミッション、ユーザーやプロセスのような基本概念を理解する
・grepやfindやxargsなどのコマンドを組み合わせて簡単な処理を自動化する
・IPアドレスを調べたり、SSHでリモートマシンにログインする
④ Dockerの基本操作を覚える
環境構築、CI、デプロイなどは、現在コンテナを使って行うことが当たり前になっている
これも細かいことをすべて覚える必要はないが、Dockerfileの書き方や、docker-composeの使い方などは知っておかなければいけない
⑤ Flaskを覚える
Flaskは、数あるWebフレームワークの中で最も簡単。本当に呆れるほど簡単。Pythonさえ書ければすぐにアプリを作れる
HTTP、ルーティング、データベース、SQL、認証、セッション管理などのWebアプリの基本は当然すべて覚える
データベースは、就職したらMySQLなどを使うことが多いかも知れないが、今はPythonの標準ライブラリにあるSQLite3を使えばいい
作ったアプリを公開したければ、Herokuなどにデプロイするのが良いだろう
⑥ Vue.jsを覚える
今の時代、フロントエンドをフレームワークなしで作るのはただのバカ
2021年原作、実用的なフロントエンドのフレームワークはReactとVueしかない。Vueの方がすこし簡単
フロントエンドには膨大なパッケージ群があって全部覚えるのは大変だが、とりあえずまずはVueを完璧に使えればいい。Webpackの設定などは既存のものを流用すればいい
⑦ 基本的なアルゴリズムを学ぶ
アルゴリズムはコンピュータ技術全ての基礎であり、絶対に知っていなければならない
高速フーリエ変換のような高度な数学は必要ないが、クイックソートや木構造のような基本的なアルゴリズムは当然知っていなければならない
それらは言語の組み込み関数や標準ライブラリでも使われているため、理解していなければ、それらの機能を正しく使うことができない
また、プログラムを読み書きする際には、そのコードの計算量を見積もり・比較できなければならない
⑧ セキュリティを学ぶ
セキュリティは言うまでもなく学ばなければならない
有名な脆弱性や攻撃手法(XSS・SQLインジェクション・CSRF・ブルートフォース攻撃など)が何だか理解していて、その対策を実装できなければならない
各種暗号化技術や署名などについても、実装の詳細は知らなくていいが、共通鍵暗号や公開鍵暗号などの特性は理解する必要がある
認証やパスワード管理などを実装する際は、当然ベストプラクティスに従わなければならない
ソース出して
以上
では頑張ってくれたまえ
ニートなら尚更理解できんと思う
まあ学習特化型ニートは時たまいるから…
管理人からひと言
1つ3日ずつか・・・優秀だな
まず①の時点で一ヶ月はムリ