書籍概要

Software Design 20221月号

バックナンバー一覧

発売日
更新日

概要

第1特集
TerraformではじめるAWS構成管理
インフラを自動で構築&コードで管理

Amazon Web Services(AWS)をはじめ,クラウドサービスはITインフラの構築を劇的に便利にしました。ただ,インフラの管理が不要になったかというとそうではなく,サーバ,DB,ネットワークなどさまざまなリソースの面倒をみなければいけないことに変わりはありません。システムが複雑になればリソースも増え,端末や専用の管理画面だけでは管理が追いつかないこともあるでしょう。
そんな中登場した「Terraform」は,宣言的なコードでインフラを構築・管理できるオープンソースのInfrastructure as Code(IaC)ツールで,とくにクラウドサービスのリソースを扱うことを得意としています。特集ではAWSを例に,Terraformによるインフラ管理の流れ,AWS環境構築の手順,チームでTerraformを使っていくための機能,効率的な運用のためのTipsを紹介します。Terraformでどれだけインフラ管理が楽になるか,ぜひ体験してください。

第2特集
Pythonで自動化スクリプト
シェルスクリプトもいいけどPythonもね

従来,処理の自動化にはシェルスクリプトがよく用いられてきましたが,ときにその可読性やメンテナンス性の悪さが指摘されます。それと比較して,最近流行りのPythonは「インデントによりブロックが表現され,コードが読みやすい」「基本的な処理についてはライブラリが用意されており,実装に個人差が出にくい」「多様なデータ構造がありデータを扱いやすいうえ,クラスなどにより適切にアクセス制御ができる」といった特徴があります。そのため,Pythonで自動化スクリプトを書くという事例が増えています。
本特集では,Pythonで自動化スクリプトを書くときの定番のコードを紹介します。複数人でメンテナンスしたり,複雑なデータを扱ったりするスクリプトを書くなら,知っておいて損はありません。

短期連載
Cypressで作る“消耗しない”E2Eテスト環境
[1]Cypressで快適なテストライフを

本連載ではE2Eテストのフレームワークである「Cypress」についてお話しします。Cypressの基本的な使い方やその特徴,さらにはアドバンスドな使い方まで,3人の筆者が紹介していきます。開発者フレンドリーなCypressを使って,消耗しないテスト環境を作りましょう。

短期連載
リアルタイム通信アプリを支える技術
[2]近年のリアルタイム通信への要求

マルチプレイヤーゲーム,バーチャルライブなど,いまや複数のユーザーが同時に利用するサービスやイベントは珍しくありません。そんなリアルタイム通信アプリを実現するためのフレームワークエンジンを開発するDiarkisのエンジニアが,リアルタイム通信の技術やアーキテクチャの今をダイジェストで解説します。

目次

第1特集
TerraformではじめるAWS構成管理
インフラを自動で構築&コードで管理

  • 第1章:Terraformの世界へようこそ!
    リソース作成/更新/削除の流れをつかもう
    …… 野村 友規
  • 第2章:Terraformで作るAWS環境
    コーディングによるインフラ構築を体験
    …… 森茂 洋
  • 第3章:チームでTerraformを活用していくには
    環境差異を抑え,CI/CDへ導入しよう
    …… 深澤 俊
  • 第4章:Terraform運用のTipsとハマりどころ
    コードの最適化と管理のコツ
    …… 星川 真麻

第2特集
Pythonで自動化スクリプト
シェルスクリプトもいいけどPythonもね

  • 第1章:ファイル/ディレクトリ操作
    高性能な標準ライブラリで気軽に自動化しよう
    …… 近松 直弘
  • 第2章:コマンドラインツール作成
    自動化しやすさ・運用しやすさを考えた設計と実装
    …… 近松 直弘
  • 第3章:Web APIの活用
    他サービスと連携し,自動化の対象を広げよう
    …… 岩崎 圭

一般記事

  • 【新連載】[短期連載]Cypressで作る“消耗しない”E2Eテスト環境
    【1】Cypressで快適なテストライフを……木戸 俊輔
  • [短期連載]リアルタイム通信アプリを支える技術
    【2】近年のリアルタイム通信への要求……久森 達郎

連載

  • ITエンジニア必須の最新用語解説
    【156】NewSQL……杉山 貴章
  • できる! 自作キーボード工房
    【8】設計編<その5>フットプリントを配置しよう……サリチル酸
  • 結城浩の再発見の発想法
    【104】コンテキストスイッチ……結城 浩
  • Raspberry PiでエッジAI
    【9】顔認識でプレイリスト自動再生 ~Spotify APIの準備……山川 正美
  • イラストで明解Gitコマンド
    【11】git tag……大串 肇
  • 明後日のコンピューティングを知ろう
    【11】計算機に見えているモノ……松本 直人
  • 分解教室
    【8】2021年後半のApple製品とGoogle Pixel 6 Pro……清水 洋治
  • ディープラーニング高速化・軽量化技術の最前線
    【4】自然言語処理の高速化……岩川 明則
  • 【最終回】はじめての量子プログラミング体験
    【8】飲食チェーンのタスク最適化(その3)……広田 望,松田 佳希,田中 宗(監修)
  • Pythonモダン化計画
    【6】運用監視の解像度アップとサービス横断的なログ基盤の整備……市原 功太郎,中山 洋一
  • UNIXテキスト処理の極意
    【6】XML(のような)形式のテキストを処理する(2)……中島 雅弘
  • チーム開発の視点が変わる アジャイル開発の新常識
    【14】アジャイルに否定的な組織に対する正しい導入アプローチ……前田 陽平,梶原 直人(監修)
  • ヤマハルーターネットワーク本格構築入門
    【2】VPN構築の注意事項とトラブルシューティング……黒澤 一秀
  • はじめよう,おうちクラウド
    【3】仮想化基盤を作ってみよう……川満 雄樹,市川 博隆
  • systemd詳解
    【8】systemd-journald……森若 和雄
  • 体系的に学ぶDockerネットワークのしくみ
    【9】ログからわかるコンテナの通信 part2……大隈 峻太郎
  • こんなときどうする? エンジニアも知っておきたい法律知識
    【5】フリーランスとして働くエンジニアが知っておきたい,フリーランスガイドライン……弁護士 近藤 加奈子
  • “学習する”チームで仕事をする
    【11】なぜ,ソフトウェアプロジェクトは人数を増やしてもうまくいかないのか……広木 大地
  • あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
    【121】東日本大震災から10年の節目! Code for Japan Summit 2021(後編)……小泉 勝志郎,清水 俊之介
  • ひみつのLinux通信
    【95】ゾンビのあふれた世界で俺だけEnterキーを押せない……くつなりょうすけ

サポート

ダウンロード

(2021年12月15日更新)

記事で使用しているサンプルコードをダウンロードできます。圧縮ファイルをダウンロードしていただき,適宜解凍してご利用ください。

P.59 第2特集「1日でマスター Pythonで自動化スクリプト」

記事で紹介したPythonスクリプトを以下からダウンロードできます。ダウンロードファイル「sp2_sample_script.zip」は圧縮ファイルです。解凍したうえでご利用ください。

圧縮ファイル内には「chapter1」「chapter2」「chapter3」のディレクトリがあります。それぞれのディレクトリに各章のサンプルスクリプトが入っています。
サンプルスクリプトはPythonがインストールされた環境で動作させることができます。詳しい手順は,各ディレクトリ内の「README.txt」を参照してください。

ダウンロード
サンプルコード(sp2_sample_script.zip)

P.113 連載「はじめての量子プログラミング体験」

記事で紹介した量子アニーリング/イジングマシンによる組合せ最適化問題を試すためのサンプルコードを以下からダウンロードできます。ダウンロードファイル「sample_code.zip」は圧縮ファイルです。解凍したうえでご利用ください。

圧縮ファイル内の「sample_code.txt」のサンプルプログラムは,Jupyter NotebookやGoogle ColaboratoryといったIPythonの対話型実行環境で動作させることができます。詳しい手順は,圧縮ファイル内の「readme.txt」を参照してください。

ダウンロード
サンプルコード(sample_code.zip)

P.126 連載「UNIXテキスト処理の極意」

記事で使用しているサンプルコードを以下からダウンロードできます。ダウンロードファイル「06_TextProcess.zip」は圧縮ファイルです。解凍したうえでご利用ください。

詳細については,記事をご覧いただくか,圧縮ファイル内のREADME.mdを参照してください。
なお,このサンプルは学習・実験用を目的としております。オリジナルの著作は著者に帰属しますが,読者が断りなく任意に利用・改変することができることとします。

ダウンロード
サンプルコード(06_TextProcess.zip)
サンプルコードについて
サンプルコードの利用/運用に関しては,技術評論社,記事執筆者,およびプログラム開発者は一切の責任を負いかねます。ご了承ください。

正誤表

本書の掲載内容に下記の誤りがございました。読者の皆様,および関係者の方々にご迷惑をおかけしましたことをお詫び申し上げます。

(2022年1月17日最終更新)

P.82 第2特集「Pythonで自動化スクリプト」第3章「Web APIの活用」 リスト2のキャプション

json_sampole2.py
json_sample2.py

商品一覧