TABIPPO編集長がWebエンジニアになるために読んだ書籍11選

shutterstock_370931219

   

Webエンジニアに転職、または目指される方が多いかと思います。そこで今回は僕が新人Webエンジニアになるために読んだ書籍をご紹介します。

2016年7月から、自社のオウンドメディアを改善できる技術の習得を目指して4ヶ月が経ちました。メディアはwordpressで構築されているため、html、css、phpといった基礎的な言語を習得すればいいかと思いきや、サーバー移転やデータベース構築(まだ途中)に遭遇し、技術の幅がどんどん広がりました。

技術を学ぶほど終わりがなく、一生勉強だなぁと月並みな感想を抱きましたが、諸先輩のみなさん「体系的に学ぶべきはこの順番で」「この本まだ読んでないの?やる気あんの?」など叱咤激励のコメントをお待ちしてます。

 

インターネット基礎

Webを支える技術

目次
第1章 Webとは何か
第2章 Webの歴史
第3章 Webのアーキテクチャスタイル
第4章 URIの仕様
第5章 URIの設計
第6章 HTTPの基本
第7章 HTTPメソッド
第8章 ステータスコード
第9章 HTTPヘッダ
第10章 HTML
第11章 microformats
第12章 Atom
第13章 Atom Publishing Protocol
第14章 JSON
第15章 読み取り専用のWebサービスの設計
第16章 書き込み可能なWebサービスの設計
第17章 リソースの設計

Webに関わる基礎技術を学ぶために読みました。実践のないまま読み進めていたため、なるほど!だからこうなっていたのか、というアハ体験はありませんが、Webの成り立ちと歴史について学びました。

先輩エンジニア曰くmicroformats、Atom、Atom Publishingの部分についてはやや横道なので軽く読む程度で良さそうとのこと。

 

マスタリングTCP/IP 入門編

目次
第1章 ネットワーク基礎知識
第2章 TCP/IP基礎知識
第3章 データリンク
第4章 IPプロトコル
第5章 IPに関する技術
第6章 TCPとUDP
第7章 ルーティングプロトコル
第8章 アプリケーションプロトコル
第9章 セキュリティ

さくらVPSからAWSへサーバーを移転する際に、IPアドレスって何?DNSって何のためにやるの?とつぶやいていたら勧められた本です。IPアドレスについて知りたいだけなら、第4章のIPプロトコルを読めばわかりますが、第1~2章のプロトコル全般に関する基礎知識が勉強になりました。

ネットワークエンジニアを目指すなら入門書にしかならないでしょうが、Webエンジニアも基礎的な部分は理解すべきだと思った領域でした。

 

UI/UX

IAシンキング

目次
Chapter1 IAというスキル
Chapter2 情報分類とメニューの最適化
Chapter3 サイトストラクチャの分類
Chapter4 ナビゲーションパターンと用法
Chapter5 ユーザー行動と画面設計
Chapter6 ワイヤーフレームの設計
Chapter7 ケーススタディ

情報アーキテクチャ(Information Architecture)について書かれた本です。UI考えるときに仮説を立てきれなかったため、基礎的な知識を習得しようと思い一読しました。

情報を整理するプロセスを理解することで、確証を持ってUIの提案をすることができます。Webデザイナー、Webディレクターは必読。

 

デザイン

ノンデザイナーズ・デザインブック

目次
1.ジョシュアツリーの悟り
2.近接
3.整列
4.反復
5.コントラスト
6.復習
7.カラーを使う
8.おまけのチップス&トリック
9.活字(と人生)
10.活字のカテゴリー
11.活字のコントラスト
12.さて、わかりましたか?
13.クイズの答え
14.この本で使った書体

プロデザイナーでなくたって、かっこいいデザインをしたい!という帯の通り、バナーやアイキャッチ画像、チラシなどをちょっとでもかっこよくしたい!と思って購入しました。

良いデザインを作るためのルールと実例が紹介されているので、デザインの意図、デザイナーの意思を感じることが少しできるようになりました。

 

php

よくわかるPHPの教科書

目次
プログラム入門
PHPの準備
PHPの基本
データベースの基本
実用的なプログラムの制作

 

 

MySQL

実践ハイパフォーマンスMySQL

目次
1章 MySQLのアーキテクチャと歴史
2章 MySQLのベンチマーク
3章 サーバーのパフォーマンスのプロファイリング
4章 スキーマとデータ型の最適化
5章 インデックスによるパフォーマンスの向上
6章 クエリのパフォーマンスの最適化
7章 MySQLの高度な機能
8章 サーバー設定の最適化
9章 オペレーティングシステムとハードウェアの最適化
10章 レプリケーション
11章 MySQLのスケーリング
12章 高可用性
13章 クラウドでのMySQL
14章 アプリケーションレベルの最適化
15章 バックアップとリカバリ
16章 MySQLユーザーのためのツール

さくらVPS上で動いていたサイトの表示スピードが急激に悪化したため、調べながらMySQLの設定を変更していたのですが、なかなか解決せず。MySQLがそもそも何なのか勉強すれば糸口が見つかるかもと思い購入しました。はじめてのオライリーです。

 

Apache

Apache 実践

目次
第1章 Apacheの概要
第2章 Apacheの導入
第3章 Apacheの基本設定
第4章 拡張モジュール
第5章 ロギング/パフォーマンスチェック/パフォーマンスチューニング
第6章 Apacheのセキュリティ対策
第7章 Apacheの大規模運用
第8章 ApacheのWebDAV機能
第9章 Apacheのコンテンツフィルタリング
第10章 Apacheでトラフィックやコネクションを制御する
第11章 Apacheでユーザーホスト認証

上記の実践ハイパフォーマンスMySQLと同じくサーバーチューニングのために購入しました。主に第5章のパフォーマンスチューニングを参考にしながら、prefork MPMをチューニング。各種項目は理解したけれど、結局チューニングの運用方法は確立できませんでした。

 

Amazon Web Services

Amazon Web Services パターン別構築・運用ガイド

目次
Chapter1 AWSの基本
Chapter2 AWSを利用する
Chapter3 パターン別構築例
Chapter4 AWSのセキュリティ
Chapter5 管理と運用

TABIPPO.NETのサーバーをさくらVPSからAWSに変更するにあたって、先輩エンジニアが構築と移設をしてくれて、僕自身はRoute53にドメインを移行したぐらいです。

このままじゃ、いざという時に困る!と危機感を覚え、AWSのサービスを一通り把握するためにAmazon Web Services パターン別構築・運用ガイドを読みました。

 

Github

Githubの教科書

目次
第1章 こんにちはGit、はじめましてGitHub
第2章 これだけはマスターしたいGitHubの基本機能
第3章 実践! リポジトリの作成からcloneまで
第4章 実践! 複数デザインの提示から採用まで
第5章 実践! Pull Requestを使った分担作業からマージまで
第6章 快適に共同作業するためのドキュメント作成と進捗管理
第7章 現場で使える! 便利なGitHubテクニック

【2016年上半期】TABIPPO.NETで実装して良かった6つのことでも紹介したGithubについての書籍。コマンドの説明だけではなく、なぜそのコマンドを実行する必要があるのかを理解できます。

いまのところは、エンジニアの2名のみがGithubを利用していますが、ゆくゆくは開発に関わるメンバー全員にGitの使い方を理解してほしい。issueとか。

 

データベース

達人に学ぶDB設計

目次
第1章 データベースを制する者はシステムを制す
第2章 論理設計と物理設計
第3章 論理設計と正規化
第4章 ER図
第5章 論理設計とパフォーマンス
第6章 データベースとパフォーマンス
第7章 論理設計のバッドノウハウ
第8章 論理設計のグレーノウハウ
第9章 一歩進んだ論理設計

TABIPPO全社でのCRMを改善するために、旅大学の登録者データベース、PAS-POL ECサイトの購入者データベース、TABIPPO.NETの新規データベースを統合しようとしています。

ついては、データベースって何?というところから始まりました。まずは、正規化を理解しER図を書くために1冊読みました。

 

その他

A/Bテストの教科書

目次
Chapter 01 A/Bテストは本当に必要か?
Chapter 02 はじめてのA/Bテスト
Chapter 03 テストプロジェクトを立ち上げる
Chapter 04 テスト成功率をあげるユーザー調査
Chapter 05 テストプラン精度をあげるA/Bテストの5W1H
Chapter 06 失敗しないテスト組み込み・実行とは?
Chapter 07 次につなげるテスト結果レビュー
Chapter 08 A/Bテスト実践ガイド22~テスト様式マスター
Chapter 09 A/Bテスト実践ガイド11~ツール組み込み

サイトの機能開発やデザイン変更の改善スピードを向上するために購入しました。A/Bテストは必要だと思いつつも何となくテストしている方は、Chapter 03のテストプロジェクトを立ち上げるに記載されているA/Bテストのワークフローだけでも読んでください。自社なりのフローを見つけることができるようになります。

 

 - Web開発