Software Design 2021年9月号

今号の特集概要

第1特集
Rustでわかるメモリ管理
しくみを知る/アプリを作る/ライブラリを読む

プログラミング言語Rustは人気の割に,難しいという意見もよく目にします。その理由の1つは,ライフタイムや所有権といった独自のメモリ管理機能にある様子。
本特集では,そうした難所を乗り越えられるよう,しくみから活用方法まで徹底的に解説します。プログラムにおけるメモリとメモリ管理,そしてRustのメモリ管理のしくみを説明したあと,HTTPサーバの実装を通して実際にメモリ割り当てを行います。さらに,普段目にする機会の少ないライブラリ内部のメモリ管理をも確認します。さあ,恐れることなく飛び込んでみましょう! なお,環境構築や必要なツールのインストール方法は第4章で解説しています。

第2特集
BigQueryが分析基盤に選ばれる理由
新戦略ETLT[抽出・変換・書込]機能紹介

近年,データウェアハウス(DWH)としてGoogleの「BigQuery」がよく利用されています。従来のデータ分析基盤は,データを抽出(Extract)し,扱いやすい形式に変換(Transform)してDWHに書き込む(Load)という,ETLと呼ばれるパターンが主流でした。しかし,BigQueryを使った基盤では,分析のための本格的なデータ変換は,リソースが豊富でフルマネージドなBigQuery上であらためて行うETLTというパターンがよく採用されると言います。
本特集では,このETLTに着目し,BigQueryでデータ分析基盤を構築するためのデザインパターンを示します。みなさんのデータ分析のニーズに合うかどうかの判断材料として,データを抽出・変換・書き込みする機能や,分析するための機能を紹介します。

短期連載
PHPカンファレンス2021通信
[1]PHP8.0のアトリビュートについて

PHPカンファレンス2021連動企画ということで,PHPカンファレンス登壇常連者とともに短期連載を全3回で行います。内容については,今どきのPHPについてです。第1回は,PHP 8.0から導入されたアトリビュートとその活用について深掘りしたいと思います。

短期連載
GitOpsで作るKubernetesのCI/CD環境
[3]GitOpsを動かしてみよう

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

目次

第1特集
Rustでわかるメモリ管理
しくみを知る/アプリを作る/ライブラリを読む

  • 第1章:ソフトウェアから見たメモリ
    まずはOS側のしくみを知ろう
    …… 怒田 晟也
  • 第2章:C,C++,Javaに見る古典的なメモリ管理
    変数,動的確保,スマートポインタ,GCひとまとめ
    …… 吉岡 拓真
  • 第3章:Rustのメモリ管理機能とその特徴
    安全性を担保するデータの所有権とライフタイム
    …… ガラスボー
  • 第4章:HTTPサーバのメモリアロケーションに挑戦
    リクエスト/レスポンスのやりとりにおけるメモリ管理の基本
    …… κeen
  • 第5章:HTTPライブラリのメモリ管理を追う
    効率性と利便性を両立させる裏側を探る
    …… κeen

第2特集
BigQueryが分析基盤に選ばれる理由
新戦略ETLT[抽出・変換・書込]機能紹介

  • 第1章:BigQueryの利点と位置づけ
    ETLT環境構築の代表的なデザインパターン
    …… 宮城 望
  • 第2章:BigQueryにおけるETL
    多様なデータソースからどうDWHに集約するか
    …… 寺内 博
  • 第3章:ETL後のデータの変換と可視化
    分析のための変換をBigQueryで行うメリット
    …… 宮城 望
  • 第4章:BigQueryによるデータ基盤構築の舞台裏
    失敗から学んだ健全な運用とは
    …… 塩崎 健弘

一般記事

  • 【新連載】[短期連載]PHPカンファレンス2021通信
    【1】PHP8.0のアトリビュートについて…… 川原 翔吾
  • [短期連載]GitOpsで作るKubernetesのCI/CD環境
    【3】GitOpsを動かしてみよう…… 伊藤 竜一

連載

  • ITエンジニア必須の最新用語解説
    【153】OSV……杉山 貴章
  • できる! 自作キーボード工房
    【4】設計編<その1>キー配列と構造……サリチル酸
  • 結城浩の再発見の発想法
    【100】ソーシャルグラフ……結城 浩
  • Raspberry PiでエッジAI
    【5】1枚の顔写真で学習と推論に挑戦(1)学習編……山川 正美
  • イラストで明解Gitコマンド
    【7】git stash……大串 肇
  • 明後日のコンピューティングを知ろう
    【7】IT社会の見える化……松本 直人
  • 分解教室
    【4】高性能ドローンDJI MAVIC Air2Sの徹底分解……清水 洋治
  • Pythonモダン化計画
    【2】「テストがない」からの脱却……市原 功太郎,鈴木 圭,中山 洋一,松浦 未来,松野 加苗
  • UNIXテキスト処理の極意
    【2】複数の処理を連結する……中島 雅弘
  • はじめての量子プログラミング体験
    【4】定式化の考え方を数独から理解する……広田 望,松田 佳希,田中 宗(監修)
  • チーム開発の視点が変わる アジャイル開発の新常識
    【10】アジャイルアーキテクトの心得……志田 隆弘,梶原 直人(監修)
  • パズルで鍛えるアルゴリズム力
    【13】「小町算」と「テンパズル」の解を全探索アルゴリズムで求める!……けんちょん(大槻 兼資)
  • Visual Studio Code快適生活
    【33】ターミナルやエディタ画面の構成を見なおして作業領域を1画面に収めよう……職業「戸倉彩」
  • 【最終回】Ansible問題解決マップ
    【26】冪等性はどんな課題を解決するのか……中島 倫明
  • 作って学ぶ仮想マシン
    【3】仮想マシンの実装……滝澤 照太
  • systemd詳解
    【4】プロセス実行環境の用意……森若 和雄
  • ひみつのLinux通信
    【91】Linuxはともだち……くつなりょうすけ
  • 体系的に学ぶDockerネットワークのしくみ
    【5】iptables(パート1)……大隈 峻太郎
  • Monthly News from jus
    【119】連載10年間のまとめ②~研究会編~……法林 浩之
  • 【新連載】こんなときどうする? エンジニアも知っておきたい法律知識
    【1】ソフトウェア開発契約における著作権の基礎……弁護士 杉浦 健二
  • “学習する”チームで仕事をする
    【7】「技術組織文化」を作る方法……広木 大地
  • あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
    【117】接触確認アプリ「COCOA」OSSコミュニティの現状と課題……有山 圭二