2012年3月19日月曜日

これまでITと無関係なところにいたのになんとかSIerに入社をこぎつけることの出来た新社会人がとりあえず一年目のうちに読んでおきたい本を適当に見繕ってみた(ただし、まじ適当)

こんちは。

エビリファイという薬を処方されて飲んだ結果、

椅子に座ってコーディングする集中力がなくなって、

無性に身体を動かしたくなっているみけです。

ちなみに、このエビリファイという薬、効能を見ると、統合失調症と書かれていて、

え、オレ統合失調症だったの?!と驚いている次第です。


本題


そんなに本を読んでいるわけではないので、

じつはあまりおすすめできる本がないというのが、

本当のところです。

なので、これまで私が読んできた本でおすすめのもの、

現場で使えそうなもの、最低限ITを売り物にしている人がリテラシーとして読んでおきたいものを挙げてみます。


コンピューター科学の基礎的なところ


なぜコンピューターは動くのか



最低限、CPUとはどういうことをやっているのか、

I/Oとは何か?CPUキャッシュとかメモリとかそういうのはなんのためにあるのか?

そういうコンピューターにまつわる基本的なことは覚えておくことが大事です。

なぜ大事か???

そんなことオレに聞くな(テキトー)


マスタリングTCP/IP



SIerの現場というのは大量のパソコンが置いてあって、

それがネットワークにつながっている。

そして、それが閉鎖環境なら外のネットワークにはつながっていないが、

閉鎖環境でなければ外の膨大なネットワークにつながっている。

IPv4という限りある資源でどうやって通信を成功させているのか、

また、IPアドレスというのはどのようにして取得されるのか?

なぜブラウザーでは繋がるのに、curlコマンドでは繋がらないのか?

こういったネットワークに関する基礎知識がないと、

SIerという人を大量に一箇所に集めた環境で働くには苦労を強いられることまちがいなしです。


つながらないからといって、適当に線を繋ぎ直すとか、

そんなサイコロに運命をかけるようなエンジニアにはならないようにしましょう。


これならわかるSQL 入門の入門



システムというとなんともごっついものを想定しますが、

単純に言えば、データ(データのなかにビジネスフローも含まれる)と画面がほぼ全てです。

で、大概の障害とかはデータの不整合が原因で発生するものが殆どです。

なので、データを操作する言葉=SQLは確実に覚えておいたほうがよいです。

しかも、副問い合わせとか複雑なSQLよりも、

もっと単純なSQLをちゃんと使いこなせるようになっておくことが望ましいです。


現場では、凄まじく複雑なSQLが頻繁に出てきます。

条件句の中になんか他のリストを取得するようなSELECT文があったり、

JOINの相手にすでにJOINされた結果が含まれていたりとか…


こういうのは皆さんの先輩がシンプルなSQLを覚えるべきところを、

どっかでとち来るって複雑なSQLが書ける人こそ世界一ィィィィィ(by シュトロハイム)のような完治が難しい勘違いをしたまま、

データベースを設計してしまったからです。


一つの出来事、一つの事実を一つのテーブルに入れるという単純明快な理論を無視して

データベースを設計したため、複雑にSQLを書かないといけなくなってしまったという状態なのです。


そうならないためにもシンプルなSQLが書けるように、シンプルなSQLしか書かないように最初から訓練しておきましょう。


併せて読みたい

データベース設計論 T字形ER―関係モデルとオジブェクト指向の統合をめざして



シンプルなSQLの先にあるのがシンプルなデータベース設計ということでT字型ER図です。

この手法の特徴はひとつのテーブルには一つの事実、あるいは出来事しか入れないということを徹底していることです。

残念なことに、テーブルの数は半端なく増えます。






もっと、もっと、よんで欲しい本があるんだけど、とりあえず、ここまで。

0 件のコメント:

コメントを投稿