WEB+DB PRESS Vol.125

今号の特集概要

特集1
作って学ぶプログラミング言語のしくみ
インタプリタ,構文解析器,文法

プログラミング言語のしくみを,プログラミング言語自体を作ることで学ぶ特集です。「言語を作るのは難しい」と考えている人が多いと思います。しかし,プログラミング言語を作るだけならば,想像しているよりずっと簡単です。そして,実際に作ってみることで,どのようなしくみで動作しているのかをしっかりと楽しく理解できます。この経験は,新たに言語を作るときだけではなく,新しい言語を習得するときなどさまざまな局面で役に立つはずです。

特集2
GraphQL完全ガイド
RESTの先へ! フロントエンドに最適化されたAPI

GraphQLは,Web APIのためのクエリ言語です。近年の高度で複雑なクライアントサイドアプリケーションにおいては,REST APIでは通信量が多くなったり,レイテンシが大きくなったりすることがあります。GraphQLでは,そういったケースでも効率的にデータを取得できます。そのため,Facebook,GitHub,Netflixなど,多くの企業が採用しています。本特集では,GraphQLの活用に必要な情報を徹底解説していきます。

特集3
速習DynamoDB
AWSフルマネージドNoSQLの探求

Amazon DynamoDBは,ご存じAmazon Web ServicesのNoSQLデータベースサービスです。フルマネージドなので機材管理の負荷なくスケールでき,パフォーマンスも自動で最適化されるなど,開発チームにとってはサービス自体を良くする作業に集中できる点が魅力です。とはいえ,よりパフォーマンス良く,よりコストを抑えられるチューニングのポイントはあります。AWSソリューションアーキテクト直伝の本特集でより深い使いこなし方を知ってください。

目次

特集1
作って学ぶプログラミング言語のしくみ
インタプリタ,構文解析器,文法

  • 第1章:プログラミング言語を知ろう
    言語ごとの特徴,パラダイム,内部構造……水島 宏太
  • 第2章:インタプリタ
    抽象構文木をたどって実行する……水島 宏太
  • 第3章:構文解析器
    文字列を読み込んで抽象構文木を作る……水島 宏太
  • 第4章:言語を拡張する
    拡張for文とラベル引数を追加する……水島 宏太

特集2
GraphQL完全ガイド
RESTの先へ! フロントエンドに最適化されたAPI

  • 第1章:GraphQLの基本仕様
    Web APIのためのクエリ言語……加藤 尋樹
  • 第2章:GraphQLクライアントの実装
    RelayでWebフロントエンド,Apollo ClientでiOS/Androidアプリ……加藤 尋樹
  • 第3章:GraphQLサーバの実装
    Apollo ServerでAPI開発,マイクロサービスアーキテクチャでの利用……加藤 尋樹
  • 第4章:GraphQLのスキーマ設計
    Relayから学ぶ実践的なパターン……加藤 尋樹
  • 第5章:GraphQLの運用
    特有の課題と解決策……加藤 尋樹

特集3
速習DynamoDB
AWSフルマネージドNoSQLの探求

  • 第1章:DynamoDBを選択する理由
    高パフォーマンス,高スケーラビリティ,低運用負荷……桑野 章弘
  • 第2章:アプリケーションからDynamoDBを使う
    チャットシステムでAPI操作を実践……成田 俊
  • 第3章:費用と実用性の最適なバランスを導く運用ノウハウ
    Provisioned mode+Auto ScalingとOn-demand modeの使い分け……成田 俊
  • 第4章:新機能のキャッチアップ
    PartiQL,監査機能,トランザクション……成田 俊
  • 第5章:DynamoDBベストプラクティス
    現場でよくある設計と実装の悩みを解決……成田 俊

一般記事

  • 新登場! Scala 3クイックツアー
    表現力豊かな新機能,使いやすさと学びやすさの改善……原田 伸一

連載

  • Goに入りては…… ── When In Go...
    【第27回】Data Sinkを使ったAPI設計 ……コールバックより汎用的なしくみを作ろう! ……牧 大輔
  • Ruby 3標準添付ライブラリ紹介
    【第3回】ファイルを自在に操作する ……fileutils/pathname/un……西山 和広
  • 見なおそう! モダンJavaの流儀
    【第9回】文字をあつかう ……Unicodeのビット幅変化に対応する……櫻庭 祐一
  • 現場のPython ── システム開発も! 機械学習も!
    【第9回】型ヒントとmypyによるコード品質の向上 ……型チェックの基本から,既存コードの改善プロセスまで……吉田 花春
  • PHPで複雑さに立ち向かう
    【第3回】不具合調査や高速化の便利ツール ……Monologによるログ出力,tideways_xhprof,phpspyによる性能解析……五十嵐 進士
  • フロントエンド羅針盤 ── Web体験向上へのアプローチ
    【第3回】継続的なアクセシビリティ改善の探求 ……誰もがいつでも使えるWebを目指して……土岐 真里奈
  • Perl Hackers Hub
    【第70回】Raisin入門 ……Rest APIマイクロフレームワークを使ってみよう!……礒部 浩行 監修:牧 大輔,福本 貴之,松木 雅幸,大沢 和宏

コラム

  • 縁の下のUIデザイン ── 少しの工夫で大きな改善!
    【第27回】数値の入力・選択に適したUI……池田 拓司
  • ちょっと気になる隣の技術畑
    【第2回】Reactの何がエンジニアを夢中にさせるのか ……うひょさん……日高 正博
  • 漫画から学ぶマネジメント
    【第4回】『いいひと。』から学ぶマネージャーのスタンスと強みの総和を生み出すヒント……是澤 太志
  • はまちちゃんとわかばちゃんのREADER'S FORUM ── 読者のページ
    【第76回】……はまちや2,竹原