誤解なきよう始めに言っておきますが、これは私自身の為のメモです。
【プログラミング言語】
- .NET・・・WF、WPF、WCF、LINQについてしっかり学習する。あと、F#は重要なので実務レベルまで学習する。
- Mono・・・Boo、Nemerle、Cobraについてある程度使えるようになる。
- Java・・・最近使っていないので復習する。
- C/C++・・・重要な言語なので復習する。さらにBoostとSTLを学習する必要がある。
- D・・・Cの後継言語なのでしっかり学習する。
- Perl・・・大分忘れているので改めて復習する。
- Ruby・・・もっとしっかり学習するために、コンパイラのソースコードをじっくり読む。
- Python・・・あまり知らない言語なので他言語と比較しつつ深い知識を得る。
- 関数型言語全般・・・必要性が高まっているので、復習と学習を行う。
- Erlang・・・これらかの時代必要とされる並列処理について学ぶ為に学習する。
- Prolog・・・新しい発見が隠されていると思うので復習する。
- Scala・・・重要な言語だと思うので学習する。
- マークアップ言語全般・・・これも最近知識が曖昧になっているので復習する。特にXML関連は要注意。
- SQL・・・1999と2003の規格範囲の知識が少ないので学習する。
- 機械語・・・基本的なことしか知らないので、よく使う機械語を理解する。
- アセンブラ・・・簡単なアプリが作れるまで鍛錬する。
- MSIL・・・実用レベルまで学習する。
- アプリケーションフレームワーク・・・今までは自分で作っていたが、最近のフレームワークは完成度が高そうなのでちゃんと学習する。
【コンパイラ】
- yacc/lex・・・随分使っていないので復習する。さらにソースコードを解析して、構文解析の技術を向上させる。
- 命令型言語・・・オブジェクト指向関連の機能、テンプレートの実装法を調べる。
- スクリプト言語・・・命令型言語との差異を研究する。
- 関数型言語・・・基本的な部分しか実装したことが無いので、より本格的なコンパイラを作ってみる。その過程で、関数型特有の機能の実装法を学ぶ。
- 論述型言語・・・優先度は低いが、ひとまず復習してみる。簡単なコンパイラをもう一度作ってみる。
- 問い合わせ型言語・・・ちゃんとした問い合わせ言語を解析してみる。
- CLR・・・Monoのソースコードと仕様書からもっとしっかり学ぶ。
- Java仮想マシン・・・実際のソースを見てJava仮想マシンを学ぶ。
- GC・・・GCの実装法が分からないので調べる。
- Perl6・・・重要になりそうなので暇があったら調べる。
- ネタ指向言語・・・学習の成果としてお遊びのコンパイラ実装してみる。
【データベース】
- XMLデータベース・・・未知の領域なのでしっかり学習する。
- オブジェクト指向データベース・・・概要程度は学習する必要があると思われる。
- トランザクション・・・DBMSの実装能力を得る為にもっとしっかり学習する。
- MySQL、PostgreSQL・・・最新バージョンをまだ使用していないので学習する。
- Oracle・・・随分使っていないので基礎から復習する。
- SQL Server・・・2008について調べる。SQL/CLIについて学習する。
- DBMS実装・・・玩具程度のものしか実装したことが無いので、トランザクションを学んである程度使えるものを実装してみる。
【ネットワーク】
- 全般・・・基礎から復習する。
- TCP/IP・・・実装方法を調べる。
- プロトコル・・・新しいプロトコルについて調べる。
- ネットワーク管理・・・最近の管理技法について調べる。
- ネットワーク機器・・・最近チェックしていないのでどのようなものがあるか調べる。
【OS】
- 全般・・・モダンオペレーティングシステム等を読んで基礎から復習する。
- カーネル・・・CD-ROMを使ったインストール、ブートストラップ、ファイルシステム、デバイスドライバについて調べる。MonaとOSASKが参考になるかもしれない。
- Windows・・・デバイスドライバについて本格的に学習する。AdvancedWindowsを精読する。
- Linux・・・基礎から復習する。特にプログラミングについては初歩から学習しなおす。
- FreeBSD・・・Linuxの学習が終わったら調べる。
- コマンドプロンプト・・・WindowsとLinuxのコマンドプロンプトを使いこなせるように学習する。
【ツール】
- Subversion・・・バージョン管理は重要な事なのでちゃんと学習する。
- GDB・・・デバッガは簡単なものなら実装したことがあるが、本格的なものはまだないので研究する。
- Make・・・OS実装作業に必要なので学習する。
- GNU Autoconf・・・Makeでは貧弱なのでこのツールを修得する。
- GNU Automake・・・Makeでは貧弱なのでこのツールを修得する。
- GNU Libtool・・・Makeでは貧弱なのでこのツールを修得する。
- Emacs・・・もっと学習する。テキストエディタは自作した方がいいかもしれない。
- Eclise・・・自作開発ソフトの参考になると思うので深いところまで学習する。
- RSS・・・情報収集に役立つので学習する。
- Ethereal・・・最近使っていないが重要なソフトなので復習する。
【その他】
- 英語・・・中学生レベルの基礎から高校生レベルまでちゃんと学習しなおす。一番苦手なのでもっとも集中して学習する必要がある。
- 数学・・・基礎からしっかり学習し、グラフィックプログラミングの基礎地盤を作る。
- 簿記・・・日照簿記3級から2級までの内容を復習する。
- ハードウェア・・・本格的なOSを実装するにはハードウェアに関する知識が必要なので少しずつ学習する。
- 人工知能・・・強化学習、ニュートラルネットワーク、カオス理論について調べる。