俺には勉強しかない

140字のその先

『この一冊で全部わかるWeb技術の基本』書評

この記事に引き続き、Web技術の初歩的な解説本を読んだ。

エンジニアは3年目だったら、「なぜ○○は動くのか」シリーズとかオライリー出版の本とかを
読んでなきゃいけないのかもしれないけど、
自分は初歩から少しずつ固めていきたい派なので、
当分は初心者向けの本を中心に読んでいく(成長が遅い…)。

何回かこのブログで話してるけど、エンジニアにとってプログラミング技術はそれほど重要じゃないと思う。
下らないと言ってもいい。

全てのプログラミング言語フレームワーク、ライブラリの目的は、
複雑な処理を簡単に書けるようにする事、言い換えれば
誰でもコードを書けるようにする事」だ。

そして、行く行くは「コードを書かずに処理を動かす事」が目的となり、
その目的は十数年後くらいには達成されてしまうだろう、と考えている。

何が言いたいかと言うと、プログラミングというのは誰でも出来るように(既にある程度そうなっている)、
やらなくてもいいように、という方向に常に向かっており、
先細りが見えている「作業」だという事だ。

だからこそ、プログラミングスクールが乱立して、情報学部でもない人達を
数ヶ月の研修だけ施して現場に放り込んでる。

しかし、アーキテクチャや仕組みは違う。
技術の仕組みへの理解力は、時代が進んでも変わらない、
むしろより重要度が増すであろう汎用スキルだ。

ある技術がどういうアーキテクチャで動いていて、
何が優れているのか、どう活かす事が出来るのかを考える事が、
エンジニアの本来の仕事だと思う。
実際はただのIT作業員みたいな人が多いけど。

それと、Webの基礎技術を勉強し始めてから、設計書が読めるようになってきた!

続きを読む

【文系エンジニアにならないために】『絵で見てわかるOracleの仕組み』書評

Webアプリケーションを開発していく上で避けては通れないのが「データベース」だ。
そもそも、Webアプリケーションというのは結局のところ、やってる事は
データを表示する」「データを追加する」「データを編集する」「データを削除する
の4つしかなく、これらはほぼ全てデータベースを介して行われる。
そして、そのデータベースを管理するシステムを「DBMS(DataBase Management System)」と呼ぶ。
今回取り上げるOracleDBMSの一種だ。実際にはDBMS≒データベースと捉えてしまって構わない。

プログラマーとして働いている内は、データベースについて深く考える機会は少ない。
自分もつい最近まで「データを突っ込んでおくための箱」くらいの雑な認識だった。

勿論、正しくデータを操作するためにどんなSQL文を書くべきかについては、考える機会が多い(それはプログラマーの仕事だ)。

しかし、SQLがどのように解釈され実行されるか、
登録したデータはどのように保存され、障害時にはどのように復旧されるか等、
DBMS内部の処理について考える機会は少ない。

プログラマーならまだいい。しかし、SEとなるとそうはいかない。
高パフォーマンスのシステムを設計するためには、DBMSの知識は必須だ。
Webアプリケーションの処理速度はデータベースの性能でほぼ決まるからだ。

自分はいずれSEになって上流工程をやりたいと思っているので、代表的なDBMSであるOracleについての学習を始めた。
とはいっても、業務でOracleをいじる機会がなく、処理のイメージがつきづらかったので、
Oracle関連の書籍で一番簡単そうだったこの本を手に取った。

続きを読む

2020年の目標

f:id:adhdoutism:20200806171416j:plain

明けましておめでとうございます。

昨年まで色々な事があったでしょうし、今年からも色々な事があるでしょうが、
今はまず、無事に新年を迎えられた事を喜びたいと思います。

今年を少しでも良い年にするために、昨年の振り返りと、年間計画を記します。

こんな記事を書いといてアレですが、計画は大体失敗します。
計画を立てるという事は、当てにならない、頼りにもならない、
そもそも生きてるのかさえ分からない未来の自分に甘えるという側面もあるからです。

しかし、かといって何の計画もなしに一年を過ごしたら、パッとしないまま一歳年を取って終わるだけでしょう。
無計画は失敗を計画する事です。

ですので、自分が今何をしなきゃいけないのかを明確にするためにも、
2020年の目標と計画を立てたいと思います。

続きを読む

『リーダブルコード』を参考に、コードをリファクタリングしてみた。

前回の記事でコードを読みやすくするためのノウハウを学んだので、
実際にそれらのノウハウを用いて、職場で見つけた(というより無作為に選んだ)クソコードを
可能な限り読みやすくしてみようと思う。


続きを読む

【全エンジニア必読の書】『リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック』書評

「地獄とは、他人のコードのことだ」
ジャン・ポール・サルトル


プログラマーなら誰でも上手なコーディングをしたいと思うはずだ。
可能な限り少ない行数で、明解なロジックと高い効率性を実現したコードを書きたい。
しかし、「読みやすいコードを書きたい」という願望を抱いているプログラマーはそれほどいないようだ。


少ない業務経験の中で、幾度となく読みづらいコードに苦しまされてきた。
コメントが無いのは当たり前。意味も用途も不明な変数名、何処で更新されているのか分からないグローバルなフラグ、
「->」を使ってあちこちのクラスを跨いで呼び出されるメソッド、
各ブロックのステップ数が2000行近いif-else文……


何故製品として出荷されるはずのコードが、こんなにもクソで読みづらいのか、最初は分からなかった。
そして、何故コードがクソのまま放置されているのかも理解出来なかった。
一目見て明らかにイケてないのだから、誰かが気づいたら直してしまえばいいのに。


業務経験を積むにつれて、それらの理由が少しずつ分かってきた。

続きを読む