概要
特集1
[調べ方から身につける]Web開発 基礎の基礎
開発環境の整備,フレームワークで開発,エラーに対処
これからエンジニアになるみなさん,ようこそWeb開発の世界へ! 本特集では「Web開発 基礎の基礎」と題して,プログラミングを学ぶにあたって最初にやるべきこと,学んでいる中でつまずきやすいところに焦点を当て,その「調べ方」から丁寧に解説していきます。現場の開発で生じるさまざまな問題の解決に,この「調べる力」は必須となります。この力を身に付けながら,楽しくも険しいプログラミング道に分け入っていきましょう!
特集2
これからはじめるDocker
最新インフラ構築の一部始終を体験!
Webアプリケーションやそれに付随するミドルウェアを使うには,サーバ上でこれらを構築するための技術が欠かせません。そして,この領域において近年注目を集めているのがDockerです。Dockerは本番と同じ環境を手元でも実現するのが容易であるという特徴を持つほか,そのエコシステムにあるサービスやツールを使うことで,どこでも手軽にすばやくインフラを構築し,サービスを展開できます。本特集ではそんなDockerによるイマドキのインフラ構築を体験していきます。
特集3
AWSコスト削減
半額だって夢じゃない!
AWS(Amazon Web Services)では必要なリソースを必要なだけ利用し,それに応じた料金を支払います。サーバ構築・運用の手間を削減し,うまく使えばコスト面から見ても優れたサービスですが,必要のない処理を行っていたり,必要以上のスペックを利用していたりすると,コストの増大に直結します。本特集では,EC2,S3,CloudFrontなど主要なサービスの特徴や課金体系を知ることで,AWSを速度面でもコスト面でも効率的に利用する方法を解説します。
一般記事
良いPHPコードを保つ技術
規約と指針を整備し,静的解析ツールを活かす
一般記事
技術系カンファレンスに行こう!
参加する方法,発表者になる方法
目次
特集1
[調べ方から身につける]Web開発 基礎の基礎
開発環境の整備,フレームワークで開発,エラーに対処
- 第1章:Web開発をはじめよう
プログラミング言語の違いって?開発には何が必要?……丸山 晋平
- 第2章:ライブラリ/処理系を上手に管理する
プロジェクトごとに使い分け,イマドキの開発環境を構築……丸山 晋平
- 第3章:フレームワークですばやく開発する
定石を踏みながら,実際のアプリケーション開発を体験……丸山 晋平
- 第4章:恐れずエラーに対処する
メッセージに含まれる情報,よくあるエラーの原因……丸山 晋平
- 第5章:あふれる情報と正しく付き合う
公式ドキュメントの読みかた,書籍やブログからの学びかた……丸山 晋平
特集2
これからはじめるDocker
最新インフラ構築の一部始終を体験!
- 第1章:イマドキのインフラはDockerにおまかせ
手順をコード化して手軽に構築する……前佛 雅人
- 第2章:Dockerを使ったアプリケーション開発
本番と同じ環境を手元でも実現……前佛 雅人
- 第3章:VPS/クラウドでのDocker環境の整備
Docker MachineでOSからDockerまで自動設定……前佛 雅人,横田 真俊
- 第4章:本番環境でのアプリケーションの立ち上げ
Docker Hubでイメージの構築・デプロイ・実行……前佛 雅人
- 第5章:Dockerインフラの安定運用
管理コマンド,ソフトウェアの自動更新,セキュリティ設定……前佛 雅人
特集3
AWSコスト削減
半額だって夢じゃない!
- 第1章:AWSを賢く使う!
各サービスの課金体系を知る……小原 薫
- 第2章:EC2でのWebサービス提供コストを削減!
必要十分なスペックを割り当てる……小原 薫
- 第3章:S3でストレージコストを削減!
速度を求めないデータに利用する……小原 薫
- 第4章:CloudFrontでEC2を高速化!
アクセス頻度が高いデータをキャッシュする……小原 薫
- 第5章:CloudFrontでS3を高速化!
キャッシュを活用し,コスト削減と両立する……小原 薫
一般記事
-
良いPHPコードを保つ技術
規約と指針を整備し,静的解析ツールを活かす…… 小笠原 空宙
-
技術系カンファレンスに行こう!
参加する方法,発表者になる方法…… 高橋 征義
連載
- 【新連載】Goに入りては…… ── When In Go...
【第1回】Go 1.8アップグレードのススメ ……contextの利用によるこれからのコーディングパターン……牧 大輔
- Perl Hackers Hub
"【第44回】LINE Messaging APIで作るchatbot ……LINE::Bot::APIとngrokでお手軽に!……"大沢 和宏(Yappo),監修:牧 大輔,松木 雅幸,大沢 和宏"
- とれたてRuby
【第3回】内部実装から学ぶErubiのしくみ ……Rails 5.1で標準採用のテンプレートエンジン……久田 真寛
- Javaの新定石 ── モダンな技術で現場を加速!
【第7回】実践! イマドキのビルド環境 ……複雑なプロジェクトでもディレクトリ構成やライブラリ管理で迷わない!……のざき ひろふみ,うらがみ
コラム
- 【新連載】縁の下のUIデザイン ──少しの工夫で大きな改善!
【第1回】画像はどう置く? ……位置,大きさ,揃え方……池田 拓司
- 継続は力なり ── 大器晩成エンジニアを目指して
【第6回】何も持たない……ひげぽん
- ゲームをおもしろくするコツ
【最終回】ナラティブ ……ユーザー自らが生み出すゲーム体験……遠藤 雅伸
- 「進化」を先取る現場から
【最終回】Supership 和田修一 ……2週間ごとの定期リリースを「当たり前」にするスクラムの勘所……海野 弘成
- はまちちゃんとわかばちゃんのREADER'S FORUM ── 読者のページ
【第49回】……はまちや2/竹原
Special Report
- DroidKaigi 2017……日高 正博
- 『Swift実践入門』刊行記念 Tech Talks ……編集部
特別広報
- ラクスのJavaエンジニア派遣サービスを選んだ理由 ……編集部
- ドワンゴのエンジニア魂!
【第3回】ドワンゴがFPGAを使った開発に乗り出したワケ……編集部
Technology Flash
- ヒットメーカー★サムザップの流儀
【第3回】 サムザップの強みと これからのゲーム開発……編集部
サポート
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
(2018年6月27日最終更新)
連載「ゲームをおもしろくするコツ」
P.6 見出し
誤 |
インタラクションと所有感
|
正 |
インタラクションと主体感
|
P.6 見出しから6行目
誤 |
自己所有感(sense of ownership)
|
正 |
自己主体感(sense of agency)
|
(以下2018年4月23日更新)
特集3「AWSコスト削減」
第4章「CloudFrontでEC2を高速化!」
P.96
「更新頻度が少なく参照頻度が高いファイル単位でキャッシュを行う」の3段落目
誤 | 例として.html、.phpファイルはキャッシュさせず、.js、.css、.jpgファイルはキャッシュを行うという設定をCloudFrontにて行います。
先ほど作成したCloudFront Distributionを選びます。画面のInvalidationsタブを選択します(図9)。
「Creat Invalidation」ボタンを選択し、キャッシュを行わないファイルの拡張子を入力します(図10)。ここでは*.htmlファイルと*.phpファイルをキャッシュさせないようにします。
これで、*.htmlファイルと*.phpはキャッシュをされずに、毎回EC2サーバから取得します。
|
正 | 例として.html、.phpファイルはキャッシュさせず、.js、.css、.jpgファイルはキャッシュを行うという設定をCloudFrontにて行います。
先ほど作成したCloudFront Distributionを選びます。画面のBehaviorsタブを選択します。Create Behavior(図9)にて「Path Pattern」に*.htmlを入力し、次の設定を行います。
- Allowed HTTP Methods:GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
- Object Caching:Customize
- Minimum TTL:0
- Maximum TTL:0
- Forward Cookies:All
同様に「Path Pattern」に*.phpも設置を行います。
これで、*.htmlファイルと*.phpはキャッシュをされずに、毎回EC2サーバから取得します。
|
P.96
誤 |
図9:Invalidationsタブを選択
|
---|
正 |
図9:Create Behavior
|
P.96
誤 | 図10:キャッシュを行わないファイルの拡張子を入力
|
---|
正 |
削除
|
(以下,2017年5月12日更新)
特集1「Web開発基礎の基礎」
第3章「フレームワークですばやく開発する」
P.37
「アプリケーションの開発サイクルを回す」の4段落6行目
特集1「Web開発基礎の基礎」
第3章「フレームワークですばやく開発する」
p.39
リスト5
誤 |
<form method="POST" action="/dicision">
|
正 |
<form method="POST" action="/decision">
|
(以下,2017年4月20日更新)
連載「Goに入りては…… ── When In Go...」
P.119 左段2つ目のサンプルコード
誤 |
ctx, cancel := context.WithTimeout(
30*time.Second,
context.Background()
)
|
正 |
ctx, cancel := context.WithTimeout(
context.Background(),
30*time.Second,
)
|
(以下,2017年4月12日更新)
目次
一般記事「良いPHPコードを保つ技術」の著者名
ダウンロード
特集1「[調べ方から身につける]Web開発 基礎の基礎」
連載
- 「Goに入りては…… ── When In Go...」で使用されたソースコード
- 「Perl Hackers Hub」で使用されたソースコード
- 「Javaの新定石 ── モダンな技術で現場を加速!」で使用されたソースコード
補足情報
特集3「AWSコスト削減」
第4章「CloudFrontでEC2を高速化!」
P.96
「更新頻度が少なく参照頻度が高いファイル単位でキャッシュを行う」
の4段落2行目について
Invalidationは無効化をリクエストしたパスの月間1,000パスまでは追加料金なしで行えますが,それ以降は無効をリクエストしたパスごとに$0.005かかります。ここではInvalidationを使用していますが,Invalidationを使用しない場合には,静的コンテンツ,動的コンテンツのURLを分けるなどの対処が理想です。たとえば第5章で説明しているように,画像フォルダをS3+CloudFrontに配置し,URLを変更し静的コンテンツと動的コンテンツのディレクトリを分け,.htaccessで制御を行うなどするとよいかもしれません。