カオナビメンバー本『TECHNICAL MASTER はじめてのPHP エンジニア入門編』について

この記事は株式会社カオナビ Advent Calendar 2024 シリーズ1の3日目の記事です。

概要

この記事では本日 2024/12/3(火)に発売の『TECHNICAL MASTER はじめてのPHP エンジニア入門編』という書籍について紹介します。書籍を執筆した経緯等に関しては、同じ株式会社カオナビ Advent Calendar 2024 のシリーズ2の2日目の記事として紹介しましたので、そちらを先に読んでおいていただけるとより内容がわかりやすいと思います。

今回お話する書籍は以下のもので、絶賛発売中です。よろしくお願いします!!!

どういう書籍なのか

今回執筆した『TECHNICAL MASTER はじめてのPHP エンジニア入門編』という書籍はPHPの入門書ではありません。すでに何らかの書籍でPHPの基本的なことは学んでいる方を対象としています。

これは、昨日の記事にも書いたことですが、PHPにはたくさんの初心者向けの書籍があり、Laravel等のフレームワークの使い方の書籍も結構あるのに、その間を埋める本がなく、初心者の方はその間のギャップに苦しんでいるのではないか?という仮説をもとにこの書籍を書きました。

実際、初心者PHPerの方に「次どの書籍を読んだらいいですかね?」と言われたときになかなかおすすめできる書籍がなく、ある意味仕方がなくフレームワークの使い方の書籍を教えるみたいな状態が本当に長い間続いていたのがとても残念だなと思ってました。

なので、今回の書籍は初心者から中級者にステップアップをしていく方向けの書籍として想定しています。最近PHPを始めて初心者向けの書籍は読み終わった、もしくは数年前までPHPで開発していたが長らくPHPからは離れているからおさらいからやりたい、みたいな方に読んでもらえればと思ってます。

あ、そういえば、初心者向けの書籍といえば明日次の書籍が発売になりますね。こちらを読んでからカオナビメンバー本を読むという流れがスムーズではないかなと思ってます。(出版社を超えた宣伝)

目次を見てみよう

この書籍の出版社である秀和システムさんの書籍ページに目次が掲載されています。

www.shuwasystem.co.jp

ちょっと長くなりますが、貼り付けてみました。

Part01 PHP言語の知識と新機能

 Chapter01 最近のPHP
  01-01 PHPの特徴
  01-02 PHPの歴史
  01-03 PHPのさらなる進化
  01-04 PHPのライフサイクル
  01-05 PHP言語の発展プロセス

 Chapter02 基本構文
  02-01 基本的な構文
  02-02 変数、定数、型
  02-03 式
  02-04 基本演算子
  02-05 高度な演算子
  02-06 特殊な演算子
  02-07 条件分岐
  02-08 ループ
  02-09 外部ファイル参照
  02-10 関数
  02-11 クラスの基本機能
  02-12 クラスの応用機能
  02-13 名前空間
  02-14 リファレンス

 Chapter03 PHPの新機能とモダンな機能
  03-01 配列
  03-02 型宣言の追加の歴史
  03-03 PHPDocとアトリビュート
  03-04 トレイト、列挙型(Enum)
  03-05 PHP標準化の流れ

 Chapter04 パッケージマネージャー
  04-01 Composer
  04-02 Composerの使い方
  04-03 オートローディング

 Chapter05 モダンなPHPフレームワーク
  05-01 フレームワーク誕生の流れ
  05-02 Webアプリケーションフレームワークの特徴
  05-03 Laravel
  05-04 Symfony
  05-05 CakePHP
  05-06 Slim

Part02 より良いアプリケーションを作るための知識

 Chapter06 例外処理とロギング
  06-01 例外とは
  06-02 例外処理の書き方
  06-03 ログを記録する
  06-04 ロギングの注意点

 Chapter07 認証と認可
  07-01 認証と認可の違い
  07-02 Session認証
  07-03 トークン認証
  07-04 Laravel での認証の例
  07-05 認証強度を上げるための方法

 Chapter08 セキュリティ
  08-01 HTTPについて
  08-02 脆弱性の原因
  08-03 基本的な対策
  08-04 代表的な脆弱性一覧
  08-05 XSS(クロスサイト スクリプティング)
  08-06 OSコマンド インジェクション
  08-07 SQLインジェクション
  08-08 ディレクトリ トラバーサル
  08-09 セッション ハイジャック
  08-10 CSRF(クロスサイト リクエスト フォージェリ)
  08-11 HTTPヘッダ インジェクション
  08-12 バッファオーバーフロー
  08-13 安全なウェブサイトの作り方

Part03 アーキテクチャと設計

 Chapter09 設計原則とパターン
  09-01 アーキテクチャ
  09-02 依存関係
  09-03 SOLID原則
  09-04 アーキテクチャパターンとアンチパターン

 Chapter10 RESTful API
  10-01 RESTful APIとは
  10-02 RESTful APIの設計
  10-03 リクエスト・レスポンスの設計
  10-04 ドキュメント

 Chapter11 データベース設計と運用戦略
  11-01 なぜリレーショナル・データベースを使うのか?
  11-02 データベース設計
  11-03 基本のリレーションシップ
  11-04 ORマッパー
  11-05 マイグレーション

Part04 アプリケーション開発プロセス

 Chapter12 日常的な開発プロセス
  12-01 アジャイル開発
  12-02 テスト駆動開発(TDD)
  12-03 PHP における自動テスト
  12-04 コードレビュー

 Chapter13 継続的インテグレーション(CI)
  13-01 GitHub Actions
  13-02 GitHub Actionsでテストを実行できるようにする
  13-03 GitHub Actionsで静的解析を実行できるようにする
  13-04 GitHub Actionsで脆弱性検知をできるようにする
  13-05 GitHub ActionsでSlack通知を行えるようにする
  13-06 GitHub Actionsに関わる設定

見ていただくとわかるように次のような流れになっています。

  • Part01 はPHPの言語そのものおよびツール/フレームワークで知っておいたほうがいいことのおさらい
  • Part02 はアプリケーションを実装するうえで知っておく必要がある知識の紹介
  • Part03 は設計をするうえで知っておく必要がある知識の紹介
  • Part04 はチーム開発をするうえで知っておく必要がある知識

上記をみるとわかるように、この書籍はPHPの書籍なのか?と思えるほど、PHPの紹介パートの割合は少ないです。もちろん、Part02以降もPHPを例として使っていますが、PHPそのものを学ぼうというよりはWebアプリケーション開発を行う上で必要な知識を網羅的に知っていこうということを主眼においています。

内容的には一部高度なことも扱っているため、初心者からのステップアップをしようという方は最初読んだときにわからないこともあるとは思います。が、それもある意味想定通りで、この書籍はWebアプリケーションを開発するにあたって、現時点で自分が何をしっていて、何をしらないのかを仕分けできるようにしたいという狙いもあります。で、しらない/わからないという点に関しては、この書籍から派生して関連する書籍等から知識を得ていくという流れを作りたいと思っています。

つまり、この書籍は最初に言及した通り、PHPの入門書ではなく、PHPをつかったエンジニアになるための入門書となります。そういった意味で、この書籍の名称はちょっと分かりづらいですが、我々の狙いを端的に表したものとなっています。

ようこそエンジニア入門の入口へ

ここまで書いてきたようにエンジニアの入門書として我々8名が執筆した書籍が、本日 2024/12/3(火) に物理本および電子書籍が発売になります。我々としては本当に自信を持っておすすめできるものに仕上がったと思っていますので、ご興味のある方は購入よろしくお願いします。

最後に

株式会社カオナビでは一緒に働く仲間を募集しています。カジュアル面談も行っていますので、ご興味がある方は気軽にお声がけください。

corp.kaonavi.jp