書籍概要

Software Design 20218月号

バックナンバー一覧

発売日
更新日

概要

第1特集
もう怖くないReact
3つの壁とその越え方

JavaScriptのUIライブラリ「React」は,とくに「シングルページアプリケーション(SPA)」を実現するツールとして注目されていますが,入門,使いこなしのためには技術的なハードルも存在します。本特集ではReactを触り始めた,これから挑戦する人を対象に,Reactを使った開発で直面しがちな問題を「3つの壁」にたとえ,その乗り越え方を解説します。
第1の壁は,コンポーネントといったReactの基本コンセプトと少し癖のある文法(JSX)にどのように慣れれば良いか。第2の壁は,刻々と変わるページの中でデータをどのように管理すれば良いのか。第3の壁は,アプリのパフォーマンスの問題。入力のたびにもたつくWebページを避けるにはどのような施策が必要か。3つの壁を乗り越え,Reactへの苦手意識を克服してください。

第2特集
GraphQLでかなえる効率的なデータ通信
新進気鋭のWeb API用クエリ言語の全体像

GraphQLとは,Web API上で動くクエリ言語とエンジンの仕様です。
現在主流であるREST APIには,シンプルで使いやすい設計ができるというメリットがある一方,昨今のWebアプリケーション開発で大きな問題となる,オーバーフェッチやアンダーフェッチが発生するという課題があります。そこで,「単一のエンドポイントで必要な情報を取ってくる」という特徴を持つGraphQLが広がりを見せています。
本特集では,GraphQLを構成する「型システム」「クエリ言語」「実行エンジン」について,その特徴や実装方法を紹介します。より迅速に,より柔軟なWebアプリケーションの開発を目指してみませんか?

短期連載
GitOpsで作るKubernetesのCI/CD環境
[2]GitOpsの構成を知ろう

本連載ではKubernetes環境向けのCI/CD手法であるGitOpsについて解説します。GitOpsがどのようなものなのかという基本的な部分から,実際に利用するツールやセットアップ方法,さらに実践的なポイントにわたって紹介します。

目次

第1特集
もう怖くないReact
3つの壁とその越え方

  • 第1章:なぜReactが選ばれるのか
    仮想DOMと宣言的UIの成果
    …… 三木 聡一郎
  • 第2章:コンポーネントとJSXの壁
    Reactアプリを構成する基本要素を確認しよう
    …… 三木 聡一郎
  • 第3章:状態管理と大規模化の壁
    アプリの規模ごとに使い分ける3つのアプローチ
    …… 森田 勝駿
  • 第4章:パフォーマンスの壁
    描画とファイル読み込みを最適化する
    …… 岡島 美咲

第2特集
GraphQLでかなえる効率的なデータ通信
新進気鋭のWeb API用クエリ言語の全体像

  • …… 立花 豊
  • 第1章登場背景や解決する課題とは?
    入門 GraphQL
  • 第2章クライアントにやさしいデータ取得のしくみ
    型システムとクエリ言語
  • 第3章サーバサイドの処理を体験!
    GraphQL APIの実装

一般記事

  • [短期連載]GitOpsで作るKubernetesのCI/CD環境
    【2】GitOpsの構成を知ろう…… 伊藤 竜一

連載

  • ITエンジニア必須の最新用語解説
    【152】Terraform 1.0……杉山 貴章
  • できる! 自作キーボード工房
    【3】キーボードキットを組み立ててみよう……サリチル酸
  • 結城浩の再発見の発想法
    【99】サンドボックス……結城 浩
  • Raspberry PiでエッジAI
    【4】Raspberry Piでリアルタイム顔検出……山川 正美
  • イラストで明解Gitコマンド
    【6】git rebase……大串 肇
  • 明後日のコンピューティングを知ろう
    【6】HPCの見える化……松本 直人
  • 分解教室
    【3】Galaxyの分析で技術力を知る……清水 洋治
  • ひみつのLinux通信
    【90】ほめて伸ばす……くつなりょうすけ
  • 【新連載】Pythonモダン化計画
    【1】Python製のレガシー&大規模システムをどうリファクタリングするか……金谷 敦志
  • 【新連載】UNIXテキスト処理の極意
    【1】コマンドラインでテキスト処理をはじめよう……中島 雅弘
  • はじめての量子プログラミング体験
    【3】無量大数を超える組み合わせを解く……広田 望,松田 佳希,田中 宗(監修)
  • “学習する”チームで仕事をする
    【6】アーキテクチャ設計のためのアクティビティ……広木 大地
  • チーム開発の視点が変わる アジャイル開発の新常識
    【9】意外とわかってない? スクラムマスターの役割……下澤 弓恵,梶原 直人(監修),小林 太一(監修)
  • 【最終回】DevOpsエンジニアのための節約・簡単・時短レシピ
    【12】インフラの変更を誰もが安全に実行できるようにするためのTips……星川 真麻
  • パズルで鍛えるアルゴリズム力
    【12】石取りゲームをとおして,ゲーム解析の考え方を学ぶ……けんちょん(大槻 兼資)
  • Ansible問題解決マップ
    【25】Ansible-Lint 5の紹介……山下 祐生
  • Visual Studio Code快適生活
    【32】Workspace Trust機能によって提供されるコード実行の安全性について……職業「戸倉彩」
  • 作って学ぶ仮想マシン
    【2】KVMのしくみを探る……滝澤 照太
  • systemd詳解
    【3】unitの状態,unit間の依存関係……森若 和雄
  • 体系的に学ぶDockerネットワークのしくみ
    【4】Network Namespace(netns)……大隈 峻太郎
  • Debian Hot Topics
    【74】Debian 11,Full Freeze前にまさかの足踏み……やまねひでき
  • Monthly News from jus
    【118】連載10年間のまとめ① ~勉強会編~……法林 浩之
  • あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
    【116】デジタル庁によって進む官民連携……関 治之

サポート

ダウンロード

P.30 第1特集第3章「状態管理と大規模化の壁」

(2021年7月14日更新)

本記事で紹介したアプリケーションのサンプルコードを以下からダウンロードできます。サンプルコードの利用方法は,ダウンロードファイル内のREADME.mdを参照してください。

ダウンロード
サンプルコード(redux-example.zip)
 

免責:本サンプルを使用することによって,使用者が受けたあらゆる不利益に対して,原著者および技術評論社はその責任を負いません。

商品一覧