ウェブ、ゲーム、組み込みなどの業務にかかわらず必要なツールの知識をまとめておきたい。概ね若い人を教育するときのためのまとめ。
「この業界はじめてなのは仕方ないけど、せめてこれくらいわかっていておくれよ」というレベルなので言語などには踏み込まない。プログラムの作法的なことは別レイヤーでまとめた方が良いと思うし良書、良エントリはたくさんある。
長期的に更新するので気長にお付き合い下さい。
SSH
どこまでできればよいか。
- リモートサーバにログインして違うマシンで作業するという概念の理解。
- 鍵ペアの作成、公開鍵認証を行うことができる。
- 「アカウント作ったから公開鍵ちょうだい」「え?」とならない。
Git (バージョン管理)
Gitである必要はないがバージョン管理をして共同で開発するという概念の理解。
開発の履歴を残し、ひとつのリポジトリが開発物の正本となることが理解できればVSSでも構わない。
イシュートラッキング、バグトラッキング
課題を明文化してそれに取り組むという概念の理解。
エディタ
「そのメモ帳でコーディングするのをやめなさい」
コーディングのためのエディタがあるということを理解すること。
コーディングではないがサーバや組み込みLinuxに触るため最低限度のviの操作法("i", ":w", ":q", ":q!")は覚えていたほうが良い。
IDE / GUIデバッガ
IDEが便利だということを知ること。IDE、プロジェクトの設定により柔軟な対応ができることを知ること。
GUIデバッガが便利だという事を知ること(printfデバッグ以外の方法があることを知ること)。
シェルとコマンドラインツール
自分がLinuxなのでbashなどを推すが、Windowsのシェルでも良い(どんなのがあるのか知らんが)。
コマンドラインツールとシェルで強力に作業を自動化、マクロ化できることを理解すること。
Linux(あるいはUNIX的なOS)
現在どの分野においても一連の業務においてLinuxが一切関与しないということは稀だと思う。
到達目標がよくわからない。