書評☆3: 速習 Laravel 6 | Laravel 6の全体を概説した中級者向けの本

概要

  • 書名: 速習 Laravel 6
  • 副題:
  • 著者: 山田 祥寛
  • 出版日: 2019-09-04
  • 読了日: 2020-02-19 Wed
  • 評価: ☆3
  • パーマリンク: https://book.senooken.jp/post/2020/02/23/

評価

PHP Laravelについて勉強しているときに読んだ1冊だ。

PHP Laravel 6は2019年にリリースされたばかりで,このバージョンで解説された本はまだ少ない。そういう意味ではまだ希少な1冊だった。

サンプルプログラムを例に,Part 3までで全体の基本的なところを説明し,残りの章でビュー,ルーティング,コントローラー,状態管理,データベース連携の細かい話を説明していた。

フレームワーク未経験で,Part 3までは理解できたのだが,そこから先がいまいちだった。Part4からは細かい話になっており,イメージがつきにくかった。

Part 3の続きで,サンプルアプリを作る中で,どういうことをするのに必要だからこの機能を使うという形で説明してもらったほうが分かりやすかった。

Part 4からは機能の使い方の説明が多く,それをどう実際に使うのかのイメージがつきにくく,自分には難易度が高かった。

結論

PHP Laravel 6の全体を解説していた。ただし,フレームワークでの開発経験がないと,理解するのが難しい部分があった。

Part 3の基本部分まではついていけたが,それ以降の細かい部分は難易度が高く,中級者向けの本で,自分にはあわなかった。

書評☆3: プログラマが知るべき97のこと | 薄く広い知見が収録されたプログラマーの教養本

概要

  • 書名: プログラマが知るべき97のこと
  • 副題:
  • 著者: 和田 卓人 and Kevlin Henney and 夏目 大
  • 出版日: 2010-12-10
  • 読了日: 2020-02-14 Fri
  • 評価: ☆3
  • URL: https://book.senooken.jp/post/2020/02/20/

評価

ときどき紹介されていて気になったので読んでみた。

内容としては,73人のプログラマーによる97本のエッセイと,日本人プログラマー8人による10本の合計81人による107本のエッセイが掲載されている。

エッセイといっても,題名通りプログラマーのためのものであり,「達人プログラマー」のように,他の本で書かれているような開発上のコツなども書かれていた。

エッセイ集になっているのもあり,ややとりとめもなく,1-2ページ程度で話が終わってしまい,薄くて浅い教養本な感じがしてしまった。

教養として読むのは悪くないのだが,本書で引用されているような本をあたったほうが勉強になるように感じてしまった。

結論

プログラマーの教養本だった。他の本で書かれているような内容が断片的に書かれており,教養本の通り,薄くて広い知見が得られる本だった。

ただ,個人的にはどこかできいたことのあるような話が浅く書かれており,少々物足りなかった。

けっこうテストが大事とか書かれているのだが,いうのは簡単だが今までやったこともなく,周りで誰もやっていないものを習得するのはなかなかたいへんだ。

書評☆3: HTML5ガイドブック | HTML 5で新規追加されたJavaScriptによるWebブラウザーAPIの解説

概要

  • 書名: HTML5ガイドブック
  • 副題: Google API Expertが解説する
  • 著者: 羽田野 太巳 and 白石 俊平 and 古籏 一浩 and 太田 昌吾
  • 出版日: 2010-09-21
  • 読了日: 2020-02-07 Fri
  • 評価: ☆3
  • URL: https://book.senooken.jp/post/2020/02/11/

評価

Web APIについての勉強資料を漁っていて読んだ1冊だ。

HTML 5で新しく追加されたWebブラウザーで使える以下のJavaScript APIについて解説している。

  • Canvas
  • SVG
  • Video & Audio
  • Drag & Drop
  • Offline Events
  • WebSocket
  • Web Workers
  • Geolocation

CanvasとVideo & Audioのみ40ページ程度で解説しており,その他はだいたい20ページずつのページ数となっている。

内容は要点を絞って,実例も用いながら使い方を解説しており,これらの機能について学ぶ上では参考になると感じた。

Web APIとはいったものの,こちらはWebブラウザーのJavaScriptのAPIといったほうが正しく,こちらが探していたものとは違った。そのため,軽く読み流して終わった。

結論

HTML 5で新規追加されたWebブラウザーのAPIにポイントを絞って解説した本だった。

これらの機能について学ぶには良いと思った。ただ,自分が探していたものとは違ったため,軽く読み流して終わった。

書評☆3 Code Reading | 大量のOSSの実コードを引用した学術的要素高めのC言語ベースのコーディング技法解説

概要

  • 書名: Code Reading
  • 副題: オープンソースから学ぶソフトウェア開発技法
  • 著者: トップスタジオ and まつもと ゆきひろ and 平林 俊一 and 鵜飼 文敏
  • 出版日: 2004-06-10
  • 読了日: 2019-11-05 Tue
  • 評価: ☆3
  • URL: https://book.senooken.jp/post/2019/12/13/

評価

新しい仕事に取り掛かる際に,既存ソフトのソースコードを眺めて作りを理解する必要に迫られた。今までも似たような作業があり,コードリーディングの能力を高める必要があると思い,本書を読んだ。

内容としては,既存のOSS (Open Source Software) のソースコードを使って,実際にどのような手法が使われているかを解説したものだった。

既存OSSがC言語のものが多かったということで,C言語をベースとしたコーディング技法を解説していた。

流れとしては,目次通り以下の流れで解説されていた。

  1. 序論
  2. ループやifなどの制御構造
  3. Cのデータ型
  4. Cのデータ構造
  5. 制御フロー (上級編): 再帰,例外,並列,シグナル,マクロ
  6. プロジェクト
  7. コーディング規約
  8. ドキュメント
  9. アーキテクチャ
  10. コードリーディングのツール
  11. 総合的な例

個人的には,1-4章と10章が特に有益だった。Cのデータ型やデータ構造が実コードでどのように使われているのか解説されていた。

用途が不明だった,unionも多態の実現にstruct内で使われていることを知れた。また,コードリーディングでは,変数や関数 (シンボル) の定義元,関数の呼び出し元を探すことがよくある。ここの作業に時間がかかっていて,どうにかしたいなと日頃から感じていた。今まで知らなかったソフトを多数を知れてよかった。

ただ,その他の6-9章は内容がやや高度であったので,自分ではあまり理解できなかった。

本書の最大の特徴は,大量のOSSで実際に使われているコーディング技法を大量に引用しているところだろう。ここまで細かくコード片を引用し,その出所も行数まで掲載されているのには驚いた。かなり労力のかかっている本だと思った。

引用

p. 13: 1.2.2 ダイアグラム

デザインダイアグラムには、事実上の業界標準となっているUML (Unified Modeling Language) を採用しました。本書を準備する段階で、UMLダイアグラムを生成するオープンソースの宣言型言語 <[注5] (https://www.spinellis.gr/umlgraph/)> を開発すると都合が良いことがわかり、それに伴いGraphVizツールのコードベースにも少し改良を加えました。

UMLの生成言語としてはPlantUMLを知っていたが,この他にもUMLGraphというものを知れた。

p. 66: 3.1 ポインタ

Cプログラムのポインタには次の用法があります。

  • リンクデータ構造を作る
  • 動的に割り当てられたデータ構造を参照する
  • 参照呼び出しを実装する
  • 一連のデータ要素にアクセスする
  • 配列を引数として渡す
  • 関数を参照する
  • 別名で参照する
  • 文字列を表現する
  • システムメモリに直接アクセスする

C言語のポインタの用法がまとまっていた。

p. 69: 3.1.4 データ要素へのアクセス

表3.1 T型の要素を持つ配列をインデックスまたはポインタで操作する

  • 配列インデックスによるコード | ポインタによるコード
  • int i; | T *p;
  • i = 0 | p = aまたはp = &a[0]
  • a[i] | *p
  • a[i].f | p->f
  • i++ | p++
  • i += K | p += K
  • i == N | p == &a[N]またはp == a + N

Cのポインタと配列は混同しやすいので対応が整理されていてよかった。

p. 102: 4.1 ベクタ

配列の要素は、Cライブラリ関数のfwriteでファイルに保存されることがよくあります。

if (fwrite(buf, sizeof(char), n, fp) != n) {
    message("write() failed, don't know how", 0);
}

ファイルに保存された要素をメインメモリに読み込むときは、fread関数を使用します。

if (fread(buf, sizeof(char), n, fp) != n) {
    clean_up("read() failed, don't know why");
}

変数内のデータを簡易的に出力・入力する方法が書かれていた。内部表現をファイルに出力する都合,同一アーキテクチャのマシンでしか機能しないが,手っ取り早い方法として悪くない。

p. 389: 10.7 コードブラウザと美化ツール

次に、よく知られているオープンソースブラウザをいくつか取り上げ、簡単に紹介しておきます。

  • cscope <注21>。Unixベースで、テキストインターフェイスを持つソースコードブラウザ。Cの解析用に設計されているが、パーサの柔軟性が高く、C++やJavaでも有用である。cscopeは、Emacs、nvi、vimなどのエディタと統合できる
  • cbrowser <注22>。C/C++ソースコードの検索と閲覧のためのグラフィカルツールで、関数呼び出しの階層表示もできる。cscopeを土台とし、その上に組み立てられている
  • Source-Navigator <注23>。C、C++、Tcl、FORTRAN、COBOLを始め、その他いくつかの言語を扱えるブラウザ
  • LXRブラウザ <注24>。Webベースのブラウザで、大量のコードコレクションの相互参照ができる。

コードリーディングのためのツールをいろいろ紹介していた。ctagsやcscopeは知っていて,特にcscopeはたいへん便利で重宝していた。ここでさらに,cbrowserというツールやその他のコードブラウザの存在を知れてとても良かった。

cscopeは関数ツリーをたどることはできないのが惜しいなと思っていたのだが,cbrowserでは関数ツリーをたどることができるとのことで,これは是非試したいと思った。

結論

学術的な要素があり,やや難易度の高い部分があり,中級者向け以上の本となっている。また,C言語のコードをベースにしているので,最低限のC言語の知識を前提としていることに注意が必要だ。

学術的な要素があり,2004年とやや古い出版であるが,多数のOSSのベースとなっているC言語をベースに,データ型や制御構造など実際のコード片を引用しながらコードリーディングの技術を解説していて,よかった。

個人的には,コードリーディングのツールをいろいろ知れたのがとても良かった。このあたりのツールは作業効率に影響出るのだが,あまりネット上にも情報が出ていない。cscopeは知っていたが,cbrowserは知らなかった。

ただし,労力がかかっているのは分かるが,プレミアムブックスは値段が高すぎる。図書館でどうにか借りて済ませるのがよいだろう。

書評☆4 気づけばプロ並みPHP 改訂版 | Webサービスの必須要素をフルスクラッチのPHPで網羅

概要

  • 書名: 気づけばプロ並みPHP 改訂版
  • 副題: ゼロから作れる人になる!
  • 著者: 谷藤 賢一
  • 出版日: 2017-03-06
  • 読了日: 2019-12-04 Wed
  • 評価: ☆4
  • URL: https://book.senooken.jp/post/2019/12/08/

評価

PHPによるWebサービスの開発方法に興味があり,多くのWebサイトでこの書籍が推薦されていたため興味を持って読んだ。

書籍の内容としては,ショッピングサイトを題材にPHPによるWebサービスの開発を学ぶ本となっている。

動作環境はPHP 5+XAMPPとなっている。PHPの基本機能しか使っていないので,PHP 5でも7でも特に影響はなさそうだ。

前著の「いきなりはじめるPHP ワクワク・ドキドキの入門教室」である程度PHPについて知識があることをベースにしている。が,本文でもある程度説明はある。

Webサービスに必須の以下の機能を具体的にどのように実装するのか学べるようになっている。

  • DB操作
  • セッション管理
  • メール送信
  • ファイルダウンロード
  • 会員機能

PHPの教本はいろいろ出ているが,書籍の末尾にDB操作だけとか,PEARなどの外部ライブラリーやフレームワークを使っていたり,どれも微妙なものばかりな印象だった。

この書籍はPHPの基本機能だけで,ここまで網羅的にWebサービスに必要な機能を説明しているところが,他の書籍と一線を画している。そして,初学者を強く意識しており,あまり細かいことの説明を避けて,本質的な部分の説明に絞っている。

入力チェックのために画面構成が冗長であったり,まどろっこし部分などがあったりはするのだが,丁寧に順序立てて説明しており,よかった。

本書1冊をきっちりこなすことができれば,自分で会員機能のあるWebサイトを構築でき,半年から1年のPHPの実務経験と同等の経験が身につけられそうに感じた。

本書をきっちりこなして基礎を身に着けてから,Smarty,CakePHP,Laravel,Symphonyのような人気のPHPのフレームワークを触るのが正攻法に感じた。

結論

PHPの入門書は何冊か読んだが,入門書の次の一冊としてこの本がよかった。入門書ではWebサービスに必要な要素の説明が欠けている。

例えば,セッション管理の説明はあるが,実際の会員機能については説明がない。そのため,ログイン後のページアクセスではどのようにログイン中かそうでないかを判定し,処理を分けるのかまで書かれていない。そうした実際のWebサービスには必要な細々としたことが,一つのショッピングサイトを作ることで本書で学ぶことができる。

また内容が実践的なものが多く,例えば配列の使い方にしても,単純な使い方だけではなく,配列のキーをうまく使うことでif文を省略できるなど,実用的な使い方を説明していてよかった。

多くのサイトで本書が推薦されているだけのことはあると感じた。

セキュリティ的に問題があったり,UIや画面構成がいまいちだったりはするが,基本については押さえられており,遊びの個人サイトであればセキュリティに目をつぶってそのまま流用できるのではないかと思った。

教科書的に無味乾燥なサンプルをやるのではなく,実践的な内容が詰まっており,いい本だった。

書評☆3 いきなりはじめるPHP ワクワク・ドキドキの入門教室 | 最小限の説明でひとまず動作するアンケートシステムを作りながら学ぶ

概要

  • 書名: いきなりはじめるPHP ワクワク・ドキドキの入門教室
  • 副題:
  • 著者: 谷藤 賢一
  • 出版日: 2011-12-22
  • 読了日: 2019-09-01 Sun
  • 評価: ☆3
  • パーマリンク: https://book.senooken.jp/post/2019/10/29/

評価

こちらの「なんでこの本が売れないのか – ホーリーの普通の日記」でPHPの入門書として絶賛されていて興味を持って読んだ。

書名どおり,PHPの入門書となっている。PHPだけでなく,プログラミングをこれから始める人も含めた入門書となっているのが特徴だろう。

Webの開発だと,HTML, DB, PHPなどのように,プログラミング言語の他にHTMLとDBも登場してくる。サーバーの設定なども絡んできて,入門としては項目が多い。

本書ではXAMPPを使って,できる限り簡単に説明している。最小限の説明で,簡単なアンケートシステムを構築している。

実際に動くものを作って,イメージやモチベーションを保つところに最大限の配慮をしているように感じた。

そこまで絶賛されるほどいい本だとは感じなかったが,複雑な内容が極力省かれているので,初心者には悪くないのではないかと思った。

結論

PHPの入門書としていろんなところで推薦されており,興味を持って読んだ。

たしかに入門書としては,文量も160ページほどで,小難しい文法の説明類があまりなく,動作するものを作れるので,イメージしやすいようには思った。

ただし,絶賛するほどではないかなと思った。入門としては,別に過去に読んだPHPとMySQLのツボとコツがゼッタイにわかる本でも問題ないように感じた。

書かれている内容には大きな違いはないのだから,ある程度数をこなして,慣れていくことが大事だろうと感じた。

書評☆4 徹底攻略PHP7技術者認定[初級]試験問題集 | PHP7技術者認定初級試験の公式かつ唯一の問題集

概要

  • 書名: 徹底攻略PHP7技術者認定[初級]試験問題集
  • 副題:
  • 著者: 内山 祥恵 and 棚橋 英之
  • 出版日: 2019-07-21
  • 読了日: 2019-08-16 Fri
  • 評価: ☆4
  • パーマリンク: https://book.senooken.jp/post/2019/10/25/

評価

受験報告をブログで公開している。

PHPの試験が移行期間であることを全く知らず,直前のPHP5の試験問題集を購入し,2019年4月末の受験直前までこちらで勉強していた。どうせ受験するならば,PHP7の試験を受験したいと思っていたが,PHPは無経験の言語であり,若干自信がなかったので問題集の発売を待っていた。

発売後1週間ほど経って本書を入手し,そこから勉強を再開した。問題集を1週し,7-8割マークできていたので,間違えたところだけ2週目で見直して,2019-08-17 Satに受験し合格できた。

問題集は全14章となっているが,この内10章がPHP5の試験問題集とほぼ同一の内容となっていた。肝心の最後の3-4章ほどで,PHP7試験の新規試験範囲であるComposer,cURL,Swift Mailer,コマンドラインPHP,テスト・デバッグ,フレームワークといった情報を取り扱っていた。

問題集がPHP5と内容・構成がだいたい同じだったので,わざわざ書い直したのがもったいなく感じた。しかし,合格基準が7割であり,新しい試験範囲が丁度2-3割だったため,確実に合格したければ,やはりこの問題集を購入したほうがいいと感じた。

結論

2019-05-07から開始されたPHP7技術者認定初級試験の公式かつ唯一の問題集だった。

試験内容がPHP5と7割程度は同じであるため,PHP5の試験問題集も役に立つ部分は多い。

ただし,新しく盛り込まれた部分が2-3割あるため,確実に合格したければ,本書を購入して勉強したほうがいいだろう。

書評☆4 徹底攻略 PHP5技術者認定[初級]試験 問題集 | 唯一のPHP5技術者認定初級試験の公式問題集で8-9割正答できれば合格は目前

概要

  • 書名: 徹底攻略 PHP5技術者認定[初級]試験 問題集
  • 副題: [PJ0-100]対応
  • 著者: 内山 祥恵 and 棚橋 英之 and 株式会社マルチメディアスクール・ウェーヴ
  • 出版日: 2012-09-21
  • 読了日: 2019-04-22 Mon
  • 評価: ☆4
  • パーマリンク: https://book.senooken.jp/post/2019/10/24/

評価

Webの開発技術を学ぶために,Webの黎明期から現在まで実務の第一線で活躍しているPHPを学ぼうと思い,PHP5技術者認定初級試験の試験対策として購入した。

受験報告をブログで公開している。

購入時期は,2018年半ばで,実際に勉強を初めたのは2018年11月頃から断続的になっている。間に別の用事が挟まったため,試験勉強を中断し,2019年4月末の受験を目標に,4月から勉強を再開した。が,ちょうど試験がPHP7に移行するということで,PHP5の試験勉強は中断し,PHP7の問題集を購入して2019-08-17 Satに受験することにした。

結局,該当試験を受験しなかったのだが,後継のPHP7技術者認定初級試験のベースはPHP5と同じであり,言語の基本的な部分や問題集の7-8割は内容が同じだった。

PHP5技術者認定初級試験の公式問題集としては唯一の書籍となっているため,確実に合格をしたければ購入したほうがよいだろう。

試験は7割の正答が合格基準であるため,PHP7の受験の感覚としては,この問題集の全問題で8-9割の正答率を正答できれば,十分合格可能だと感じた。問題集とほぼ同一の問題も多数出題されており,しっかりと問題演習をこなしておけば万全だろう。

教材としては,そこまでページ数が多くなく,1個1個の解説も断片的であるため,PHP未経験者がこの問題集だけで合格するのはやや難しいと感じた。PHPは公式マニュアルが充実しているため,問題集で不明な部分を公式マニュアルで補っていく勉強方法でも問題ないと感じた。

結論

PHP5技術者認定初級試験の唯一の問題集となっている。この問題集をしっかりこなして8-9割正答できれば,合格は目前だ。

教材としては,解説の詳しさ・ボリュームがやや物足りなかったので,☆4の評価となっている。

書評☆4 基礎から学ぶ Vue.js | リファレンス形式の易しいVue.jsの入門書

概要

Vue.jsの入門書となっている。この本の特徴はリファレンス形式となっているところだ。そのため,必要な部分だけかいつまんで読む使い方ができてよかった。

Vue.jsの実際の開発では,シングルファイルコンポーネント (SFC) を使うことが多いだろう。ただし,SFCはwebpackやらbabelやES2015の機能をふんだんに使ったものであり,けっこうハードルが高い。

Vue.js入門」だと,このあたりがけっこう前提になっており,序盤にこのことが書いてあり,内容が重かった。

一方,本書ではまた,リファレンス形式になっているおかげで,SFC意識しなくても読み進める。もちろん,SFCの解説もあるがそれは書籍の後半であり,Vue.jsの基本機能の後になっている。

その他,Vue.jsとセットで使われるVueXとVue Routerもそれぞれ30ページずつ必要な文量を割いて解説しており,よかった。

逆に,実践的なアプリケーションの事例はあまりなかった。これは書籍内でも意図的にそういう構成にしているとあり,これはこれでありだと思った。

結論

リファレンス形式で全体的に簡単でわかりやすい説明であり,Vue.jsの入門として悪くない1冊だった。

パーマリンク: https://book.senooken.jp/post/2019/05/13/

書評☆3 Vue.js入門 | 内容は詳しいが入門にしては重い

概要

JavaScriptのライブラリーであるVue.jsの開発にも関わっている著者たちによるVue.jsの入門となっている。

基本的なところから応用的なことまで,Vue.jsに関する一通りの話題を解説してある。その分,文量も480ページと多くなっている。

入門とあるので,もう少し簡単な内容が書かれていることを期待していたのだが,内容はけっこう難しかった。

その分細かいことまで書いてはある。

ただ,もう少しわかり易い記述,簡単な言葉で説明できなかったのかと思った。いちいち小難しいことが書いてあり,けっこう読むのがたいへんだった。

入門というよりは,リファレンス的な本だった。

結論

Vue.js入門とあるので,初心者に向けても書かれているかと期待していた。しかし,やはりだがある程度Webの開発の経験者を想定して書かれていた。

ページ数が多く,Vue.jsに関する話題が一通り書かれていたので,それはよかった。入門ではなく,リファレンス的に扱うのが良いと思った。Vue.jsの入門には他の本をあたったほうがいいように感じた。

パーマリンク: https://book.senooken.jp/post/2019/04/03/