developer's diary

最近はc#のエントリが多いです

もしも過去の自分にアドバイスできるなら。〜4年生プログラマの視点〜

4年生のプログラマです。小学校だと卒業まであと2年残っていますが、学んできたこと、学ぼうと思うこと、考え方等をまとめておこうと書いてみます。

コマンドラインで動くプログラムを作る。

できればshell等で。
パイプとかストリームとかオプション引数とか。バッチ処理とか。

Cを学び続ける

Cで作る必要はないですが、Cに関することを学び続けるのはコンピュータを学ぶ上で最良だと思います。
なぜCで作るのか。なぜCでつくらないのか。

WEBで会員登録の仕組みを作る。

ログインとかセッションとかパスワードのハッシュ化とかデータベースとか。本格的に作りこむとWEBの脆弱性が学べると思います。

cronとタスク・スケジューラを使う。

linuxでもwindowsでも定期バッチが使いこなせます。

Redmineを構築する

プロジェクト管理+バージョン管理+バグトラッキング+情報共有に。

お金を出してサーバを借りる。

自分でお金を出してサーバを借りることは大事。触らなくちゃもったいないという衝動に駆られます。
借りるなら、さくらのVPSか、amazonEC2で。

はてなダイアリーの有料登録をする。そしてGoogle Adsenseの広告を張る。

お金を払うことで不定期なりともOUTPUTを必ずします。良い記事を書き続けることができれば、必ず有料分のお金は取り戻せるはずです。

お金をだして技術書を買う

身銭を切るからこそ身につくことは沢山あると思います。

テストコードを書く

負債のコードを資産のコードに変えるためにはテストコードを書くのが一番。

プロトコルとかフォーマットを意識する。

HTTPとかPOPとかSSLとかYAMALとかCSVとかTSVとかJSONとかXMLとかCSSとかiniファイルとか。
システムの挙動を変えるためのファイルだったり、システム間の電文だったりクラサバの間だったり。
シリアライズだったり。ファイルシステムのフォーマットだったり。ファイルの圧縮方法だったり。SSHだったり。
アプリを作る前に把握しておくべき。

ネットワークプログラミングを意識する。

DNSとかHTTPとかソケットとかストリームとか。curlとか。wgetとか。XML-RPCとかSOAPとかRESTfulとか。

RDBとKVSを学ぶ。

RDB(リレーショナルデータベース)と、KVS(キーバリュー型のデータストア)それぞれ使いどころ、役割があると思います。スキーマについても考えさせられる。

まだまだ勉強することばっかりだ・・

こうやって書いてみるとやるべきことって沢山あるね。。まだまだ勉強あるのみだ。