※当サイトはリンクに広告ページが含まれている場合があります
GWのようなまとまった時間を取ることができる期間こそ、普段できない勉強をしたいものですよね。
ということで、以前から積読状態になっていた以下の3冊を読みました。
- プログラムはなぜ動くのか - 第3版
- プロになるためのWeb技術入門
- リファクタリング - 第2版
プログラムはなぜ動くのか - 第3版
ここ最近はPHP、LaravelでWebアプリを作ったり、Pythonで業務効率化の支援をするなど、プログラムばかりしていますが、
- プログラムがコンピュータの中でどのように動作するのか?
という点について、なんとなくは理解しているものの、他人に説明できるほど理解しているわけではありません。
「プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識」は、図が多く、解説も平易で、スイスイと読めるように工夫されています。
さすがにコンピュータが2進数で、なぜ小数の計算が違うのかは知っていましたが、
- コンパイル後のアセンブリ言語はどのような記載になっているのか
という点についてはアセンブリ言語のコード自体を見たことはなかったですし、本書を読むことでハードとの関係の一端を学ぶことができたのは大きな収穫でした。
しかし、コンピュータ上で負の数をどのように表現しているのか、正直考えたことすらありませんでしたが「論理右シフト」と「算術右シフト」を考えた人ってすごいです。
プロになるためのWeb技術入門
本業は社労士であり、Web技術のプロになるつもりはありませんが、Webアプリを開発して顧問先に利用している身として、やはり基礎知識は徹底して身に付けておくべきと考えています。
Cookieやセッション、そしてセキュリティ周辺の知識はそこそこあると思っていますが、重要性を考えると、繰り返し徹底して習熟しておく必要があるでしょう。
ということで評判の良い「『プロになるためのWeb技術入門』――なぜ,あなたはWebシステムを開発できないのか」を読みました。
記録を見ると2019年3月に1度読んでいましたが、実際にPHP、LaravelでWebアプリを開発するようになって再読すると、以前より内容を深く理解できます。
特に、コラム「データベース設計はITシステムの要」(p138)というタイトル、そして以下の部分は、実際にWebアプリを構築したからこそ「まさにその通り」と実感しながら読んでしまいました。
データベース設計を適切に行えるかどうかが、システムの使いやすさや性能に大きく影響を及ぼす、ということは覚えておいてください。
リファクタリング - 第2版
リファクタリングという言葉は馴染みがないかもしれませんが、Wikipediaによると以下のように紹介されています。
リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することである。また、いくつかのリファクタリング手法の総称としても使われる。
ただし、十分に確立された技術とはいえず、また「リファクタリング」という言葉に厳密な定義があるわけではない。
簡単に言えば、プログラミングにおける整理整頓です。
そしてポイントは、プログラムの外部から見た動作を変えずに、という部分です。
つまり、外部的な動作は変わらない = 一般ユーザーにはわからないのです。ただ、わかる人にはわかる、まさに、職人気質満載です。
そんな多くのリファクタリング手法をまとめたのが、「リファクタリング(第2版): 既存のコードを安全に改善する」、名著と名高い、けど分厚い書籍です。
第2版でサンプルコードがJavaScriptに変更されたので、正直理解しやすく助かりました。
ちなみに、このリファクタリングという考え方は、我々社労士が作成する就業規則や関連規程にも当てはまります。
- 誰もが読んで理解できる書き方になっているか
- もっと理解しやすい表現はないか
常に改良を続けていく姿勢は重要です。研鑽がなければ、いずれ見向きもされない存在になっていくのは当然です👍
- 毎年のように改正される労働法令への対応に頭を悩ませている
- 総務や経理などの他の業務を兼務しているので、人事労務業務だけに時間を割けない
といった悩みを抱える企業の経営者・人事労務担当者向けに、公開型のブログでは書けない、本音を交えた人事労務に関する情報・ノウハウ、時期的なトピックに関するメールマガジンを「無料」で配信しています。
過去の配信分は公開しません。
情報が必要な方は、いますぐ以下のフォームから購読の登録をしてください。購読して不要と思ったら簡単に解除できますのでご安心ください。