WEB+DB PRESS Vol.109

今号の特集概要

特集1
[Fastlyで柔軟&高機能!]
最新CDN入門
高速化,エッジコンピューティング,セキュリティ強化

本特集のテーマはCDNです。CDNはContent Delivery Networkの略で,その名のとおりコンテンツを配信するためのネットワークシステムです。画像や動画などのマルチメディアコンテンツを始めとして,HTMLやCSS,JavaScriptなどのWebで使われるさまざまなファイルを,キャッシュを活用して高速に大量配信します。さらに,画像の最適化配信やセキュリティ強化など,CDN上でさまざまな処理が行えます。現在のWebアプリケーション設計において,CDNは必要不可欠なパーツになりつつあります。そこで本特集では,CDNの基礎知識および最新動向と,代表的なCDN の一つであるFastly を利用したWebアプリケーションのキャッシュ戦略を解説します。

特集2
[実践]Kotlin
基本からSpring,Java資産活用まで

2017 年にはGoogleがAndroid開発における第一級サポートを宣言。2018年にはGitHub上で言語開発の貢献者が最も増加。最近ますます注目を集めるKotlinの特集です。まず第1章ではKotlinのメリットとデメリットを紹介し,第2章では知っておきたい文法のポイントを押さえます。そして実践編となる第3章以降では,最新のSpring Framework 5を使ったWebアプリケーション開発,JUnit4+Mockito-Kotlinによるモックテスト,既存プロジェクトへの導入には欠かせないJavaとの相互運用法といった,現場ですぐに役立つ話題を解説します。

特集3
[速習]Puppeteer
ヘッドレスChromeでテスト&スクレイピング

GUIを持たずプログラムなどから操作するヘッドレスChromeと,それを扱うライブラリであるPuppeteerの特集です。第1章では,従来のツールと比較しながら「ヘッドレスChrome+Puppeteer」の魅力を紹介します。第2章では,ブラウザ操作の自動化にあたって必要な最新のJavaScriptとPuppeteerのAPIを解説します。第3章では,代表的なユースケースであるテストを取り上げ,機能/非機能の両面にわたるテストの方法を解説します。そして第4章は,これまで学んだことの集大成として,実在のサイトを題材としたスクレイピングに挑戦します。

一般記事
[コミッター直伝]
Ruby 2.6徹底解剖
追加機能,変更点,Ruby 3に向けた準備

Vol.1~120までのPDFを収録したDVD-ROMが付いているお得な総集編もあります!

WEB+DB PRESS総集編[Vol.1~120]
https://gihyo.jp/book/2021/978-4-297-12215-7

目次

特集1
[Fastlyで柔軟&高機能!]最新CDN入門
高速化,エッジコンピューティング,セキュリティ強化

  • 第1章:CDNとは何か
    しくみとメリットを理解し,最適なプロバイダを選ぶ……佐藤 歩
  • 第2章:HTTPキャッシュの基礎知識
    Webアプリケーション設計の鍵になる仕様を見直す……佐藤 歩
  • 第3章:Fastlyの基本的な使い方
    CDN導入からキャッシュの制御,配信のカスタマイズまで……加藤 賢一
  • 第4章:Fastlyにおける実践的なキャッシュ設計
    キャッシュヒット率を高め,パフォーマンスを最大化する……佐藤 歩
  • 第5章:CDNの高度な機能
    画像の最適化配信,セキュリティ強化,エッジコンピューティング……原 一成

特集2
[実践]Kotlin
基本からSpring,Java資産活用まで

  • 第1章:なぜ今Kotlinなのか
    Android開発からバックエンドまで対応した新世代言語……加藤 圭佑
  • 第2章:知っておきたい基本文法
    Kotlin活用のポイントをギュッと圧縮……大塚 健司
  • 第3章:Springによるサーバサイド開発
    Kotlin DSL,null安全を導入した万能フレームワーク……大塚 健司
  • 第4章:JUnit+Mockito-Kotlinによるテスト
    モックテストでコードを鍛え,安全性を高める……加藤 圭佑
  • 第5章:JavaとKotlinの相互運用
    既存Javaプロジェクトへのスムーズな導入/共存……大塚 健司

特集3
[速習]Puppeteer
ヘッドレスChromeでテスト&スクレイピング

  • 第1章:Puppeteerの魅力は何か
    ヘッドレスChromeを自由自在に操る……磯部 有司
  • 第2章:ブラウザ操作自動化の基本
    非同期処理を扱うasync/await関数,自動化の鍵を握るPuppeteerコンポーネント……磯部 有司
  • 第3章:E2Eテストの実装
    非同期処理のテスト,パフォーマンス計測,カバレッジ……磯部 有司
  • 第4章:スクレイピングの実装
    人気サービス「note」のタイムラインを取得する……磯部 有司
  • 一般記事

    • [コミッター直伝]Ruby 2.6徹底解剖
      追加機能,変更点,Ruby 3に向けた準備…… 村田 賢太

    連載

    • Dive to Java ── OpenJDK開発者が明かす,最新開発/運用テクニック
      【第5回】Epsilon入門 ……「GCしないGC」で性能測定,スループット改善……末永 恭正,久保田 祐史
    • 大規模インフラ解体新書 ── ソフトウェアエンジニアリングの視点から
      【第5回】キャパシティプランニング ……スケール戦略と効率的なサーバリソース活用……吉川 竜太
    • Goに入りては…… ── When In Go...
      【第11回】channelを利用したイテレータ ……Goの特性を活かした実装……牧 大輔
    • Perl Hackers Hub
      【第54回】サーバレスでもPerl ……Microsoft Azure Functionsで動かそう!……ytnobody(わいとん)監修:牧 大輔,松木 雅幸,大沢 和宏
    • 事業を支えるPHP
      【最終回】現場で役立つDB操作テクニック ……PDO,Aura.SqlQuery,DBAL,Eloquent,Doctrine……前田 雅央
    • どんとこい! フロントエンド開発
      【最終回】体験! ヘッドレスCMS ……モダンなコンテンツ管理でサービスを効率的に運用する……浜田 真成

    コラム

    • at the front ── 前線にて
      【第3回】筆一本はいかにして実現したか? ……作家/プログラマー 結城浩さん……竹馬 光太郎
    • 縁の下のUIデザイン ── 少しの工夫で大きな改善!
      【第12回】中国のスマートフォンアプリの共通項 ……所変わればデザイン変わる……池田 拓司
    • はまちちゃんとわかばちゃんのREADER'S FORUM ── 読者のページ
      【第60回】……はまちや2,竹原

    Special Report

    • PHP Conference 2018……原田 裕介
    • Scala福岡2019……西立野 翔磨,田中 孝明

    特別広報

    • MixChannelを支える技術
      【最終回】Android端末におけるライブ配信サービスの実現……Takase Ryohei,Ari Prasetyo