WEB+DB PRESS Vol.115

今号の特集概要

特集1 
競技プログラミングの過去問で学ぶアルゴリズム

本特集では,競技プログラミングサイト「AtCoder」で実際に出題された問題を通じて,アルゴリズムを学んでいきます。競技プログラミングではアルゴリズムが重視され,そこで培われる計算量を改善する能力はWeb開発の現場でも必要とされています。アルゴリズムは時代に流されない技術であり,扱うデータ量が増えた今だからこそ重要性を増しています。ぜひこの機会に学び,問題を解く力を身に付けてください。

特集2
iOS 13徹底活用

iOS 13では,ダークモード,Sign in with Apple,Core NFCの機能強化といったユーザー向けの機能のほかにもARKit3,Core ML 3といった開発者向けの機能が多数追加されました。本特集では,最初にiOS13で追加された新機能を紹介します。そして,新しいUI作成フレームワークSwiftUI,ダークモードへの対応方法,Swift Packages in Xcodeによるパッケージ管理,非同期処理フレームワークCombineといった開発者向けの注目機能について詳しく解説します。

特集3
小一時間でゲームを作る

「プログラミングはできるけどゲームは作ったことがない」という方に,ゲーム開発のおもしろさを体験していただく特集です。グラフィックなど細部の作り込みは省いてゲームとして重要な部分のみにフォーカスして,4つのジャンルのゲームを開発します。JavaScriptを使って解説しますので,ブラウザで読み込むだけで開発途中の動作も確認できます。本特集の解説を見ながらゲームを開発していき,少しずつ確実に完成に近付いていく過程を味わってください。

目次

特集1
大量データ時代の鍵は計算速度!
競技プログラミングの過去問で学ぶアルゴリズム

  • 第1章:競技プログラミングとアルゴリズム
    時代に流されない知識を身に付け,大量データに立ち向かう……高橋 直大
  • 第2章:基本のアルゴリズム
    四則演算,データの持ち方を工夫する……高橋 直大
  • 第3章:全探索
    すべてを調べて良いものを見つける……高橋 直大
  • 第4章:貪欲法
    「その場で一番良いものを選ぶ」を繰り返す……高橋 直大
  • 第5章:動的計画法
    結果をまとめて高速化する……高橋 直大
  • 第6章:アルゴリズムが高める問題解決力
    「問題を解く」か「問題を変える」か……高橋 直大

特集2
SwiftUI,ダークモード,非同期処理
iOS 13徹底活用

  • 第1章:iOS 13の新機能
    開発者が押さえておくべきアップデート……佐藤 敦也
  • 第2章:SwiftUIによる新しいUI開発
    宣言的フレームワークで複雑な動作を簡潔なコードに……岡村 健太
  • 第3章:ダークモードによる新たな視覚体験
    ダイナミックカラー,シンボルフォントを使った実装……佐藤 敦也
  • 第4章:Swift Packages in Xcodeによる新しいパッケージ管理
    iOSアプリケーションへのライブラリ導入と配布……三木 康暉
  • 第5章:Combineによる新しい非同期処理
    流れを組み合わせ,複雑な処理を簡潔に……茂呂 智大

特集3
リバーシ,RPG,アクション,パズル
小一時間でゲームを作る

  • 第1章:エディタとブラウザだけでゲームを作ってみる
    開発環境の準備/ひな型の作成……館長@ゲヱム道館
  • 第2章:「リバーシ」を作ってみる
    カーソル操作/ひっくり返せる石のチェック/勝敗判定……館長@ゲヱム道館
  • 第3章:「RPG」の戦闘シーンを作ってみる
    コマンドシステム/ターン制/ダメージ計算……館長@ゲヱム道館
  • 第4章:「ドットイートゲーム」を作ってみる
    迷路/プレイヤーを邪魔する敵モンスター……館長@ゲヱム道館
  • 第5章:「マッチ3ゲーム」を作ってみる
    ブロックの入れ替え/そろったブロックの消滅&落下/コンボ演出……館長@ゲヱム道館

一般記事

  • パターンマッチ,番号指定パラメータ,メモリ管理の改善,irbの刷新
    [コミッター詳解]Ruby 2.7の魅力……遠藤 侑介

連載

  • Web技術解体新書
    【第1回】Origin解体新書 ……ユーザーを守るためのセキュリティモデル……Jxck
  • Goに入りては…… ── When In Go...
    【第17回】C構造体の取り回し ……GoからCに触れたら異世界だった……牧 大輔
  • Dive to Java ── OpenJDK開発者が明かす,最新開発/運用テクニック
    【第11回】Javaアプリケーションのモニタリング ……プロセス,ログ,プロファイリング……末永 恭正,久保田 祐史
  • Rubyのウラガワ ── Rubyインタプリタに学ぶデータ構造とアルゴリズム
    【第6回】Transient heapの導入とHashの改善 ……すぐ不用になるメモリとうまく付き合う方法……笹田 耕一
  • インフラ運用のアイデア&テクニック ── 小さなチームでマネージドサービスを活用
    【第5回】クラウドの隙間を自作ソフトで埋める ……Go言語+OSS化で実現する,取り外し可能な「隙間家具」……藤原 俊一郎
  • Perl Hackers Hub
    【第60回】動的なモジュールロードとの付き合い方……楠田 来安,監修:牧 大輔,福本 貴之,松木 雅幸,大沢 和宏
  • モダンPHPエンジニアへの道
    【最終回】型宣言の重要性を改めて知る……前田 和人

コラム

  • 縁の下のUIデザイン ── 少しの工夫で大きな改善!
    【第17回】長押しを使ったデザインの可能性……池田 拓司
  • はまちちゃんとわかばちゃんのREADER'S FORUM ── 読者のページ
    【第66回】……はまちや2,竹原