WEB+DB PRESS Vol.129

今号の特集概要

特集1
Reactの深層
最新バージョンから読み解く! 変わる常識と変わらない思想

本特集はReact 18のリリースを受け,これまでのReactについて復習するとともに,React 18の新機能を紹介します。新機能を使いこなすにあたり,前半ではこれまでのReactの使い方やAPIに込められた思想を確認し,後半ではReactユーザーが対応を迫られる新しい常識を解説します。将来にわたってReactらしいコーディングをするための考察です。

特集2
できるところから無理なく導入!
小さく始めるデザインシステム

「デザインシステム」という用語を耳にする機会が増えました。しかし,重要な概念であることはわかっていても,考えなければいけないことがたくさんあり導入に踏み切れない方も多いのではないでしょうか。もちろんデザインシステムはすべての要素を考慮するのが理想ですが,完璧を目指すあまり採用を見送ってしまうのはもったいないと思います。本特集では「小さく始める」ことをコンセプトに,できるところから無理なく始め,そのメリットを知ってもらうことを目的としています。

特集3
最新レコメンドエンジン総実装
協調フィルタリングから深層学習まで

レコメンドエンジンとは,ECサイトやWebサイト上で,ユーザーにお勧めの商品やコンテンツを表示するためのシステムです。本特集では,Python言語を用いてレコメンドエンジンを実際に作成し,理解を深めていきます。実サービスに導入できるレコメンドシステムのしくみ,汎用的なものから深層学習までのレコメンドエンジンの実装,良いレコメンドエンジンとは何かを評価する方法を紹介します。

目次

特集1
Reactの深層
最新バージョンから読み解く! 変わる常識と変わらない思想

  • 第1章:フックが築いたReactの“常識”
    アプリケーションを組み立てるコンポーネントロジックの変遷……鈴木 僚太(うひょ)
  • 第2章:ReactのAPIに込められた思想
    宣言的なAPIとコードに求められる純粋性……鈴木 僚太(うひょ)
  • 第3章:React 18の新機能
    Suspenseがもたらす新しい設計……鈴木 僚太(うひょ)
  • 第4章:React 18で起きた“常識の破壊的変更”
    これまでのコードはどのように壊れるか……鈴木 僚太(うひょ)
  • 第5章:React 18になっても変わらない宣言的UIの思想
    「今動くから」で満足しないReactの使い方……鈴木 僚太(うひょ)

特集2
できるところから無理なく導入!
小さく始めるデザインシステム

  • 第1章:デザインシステムの定義
    「らしさ」を体系的に実現するためのしくみ……谷 拓樹
  • 第2章:デザイントークンの実装
    Style Dictionaryで,色やフォントなどの管理を効率化する……takanorip
  • 第3章:コンポーネントライブラリの開発
    UIパーツに一貫性を持たせる……takanorip
  • 第4章:デザインシステムの運用
    実際に使われ続けるために必要なこと……谷 拓樹
  • 第5章:Ubieでの取り組み
    抱えていた課題を解決するために行ったこと……takanorip

特集3
最新レコメンドエンジン総実装
協調フィルタリングから深層学習まで

  • 第1章:レコメンドエンジンとは
    ビジネスシーンでの活用方法と導入のための前提知識……与謝 秀作
  • 第2章:汎用的なレコメンドエンジンの実装
    ユーザーの好みからお勧めアイテムを出すまでの流れ……与謝 秀作
  • 第3章:深層学習レコメンドエンジンの実装
    ディープラーニングがもたらす推薦領域へのブレークスルー……与謝 秀作
  • 第4章:レコメンドのライブラリ「Recbole」
    さまざまなモデルを簡単に動かし,実装や評価を支援……与謝 秀作
  • 第5章:レコメンドエンジンの評価方法
    精度と多様性の観点からオフライン評価を行う……与謝 秀作

一般記事

  • Ktorで作るWebアプリケーション
    Kotlin製マイクロWebフレームワーク開発体験……小山 健太

連載

  • SREで開発を加速させる ── class SRE implements DevOps
    【第1回】開発速度と信頼性はどう関係するのか ……開発速度からエラーバジェットを見積もろう!……古川 雅大
  • PHPで複雑さに立ち向かう
    【第7回】PHPによる並列処理の実装方法 ……外部プロセスの起動,pcntl_fork,parallel……五十嵐 進士
  • Javaで考える脱炭素化 ── グリーンなソフトウェアをはじめてみよう
    【第2回】Javaのパフォーマンス向上と電力消費量の関係を探ってみよう ……速ければ少ない消費電力で済むの?……末永 恭正,佐藤 雄太
  • 現場のPython ── システム開発も! 機械学習も!
    【第13回】リリースを管理して開発効率を高めよう ……towncrierとGitHub Actionsによるリリースの自動化……田中 文枝
  • Goに入りては…… ── When In Go...
    【第31回】ビルダパターンによる構造体の初期化 ……複雑なコンストラクタを作らない手法 ……牧 大輔
  • フロントエンド コンポーネント駆動開発
    【第2回】UIコンポーネントとTypeScript ……型定義が守るコーディングとリファクタリング……吉井 健文
  • Perl Hackers Hub
    【第73回】Perlで作るGraphQL API ……graphql-perlを使って実装してみよう! ……mangano-ito,中岡 大樹 監修:牧 大輔,福本 貴之,松木 雅幸,大沢 和宏
  • Ruby 3標準添付ライブラリ紹介
    【第7回】変化しつつあるコンテナクラス ……Set/Struct/OpenStruct……西山 和広

コラム

  • サバンナ便り ── ソフトウェア開発の荒野を生き抜く
    【第1回】学習用テスト ……学びを自動テストとして書く……和田 卓人
  • ちょっと気になる隣の技術畑
    【第6回】Rustが今,流行っている理由とは ……吉川哲史さん……日高 正博
  • はまちちゃんとわかばちゃんのREADER'S FORUM ── 読者のページ
    【第80回】……はまちや2,竹原