書籍概要

Software Design 202112月号

バックナンバー一覧

発売日
更新日

概要

※特別付録「仕事猫」チャットスタンプ風ステッカーについては電子版には付属しておりません。あらかじめご了承ください。

第1特集
しくみから理解するDocker
コンテナを安全に利用するために知っておきたいこと

Dockerは便利です。dockerコマンドに適切なオプションを追加し,実行すれば簡単に隔離環境を用意できます。Dockerfileを利用すれば,環境の共有や複製も簡単です。ただしそれだけに,脆弱性を放置したまま使用していると,ホストの乗っ取りや改ざんなどの攻撃に遭いかねません。 本特集では,そのようなトラブルを防ぐための,Dockerの安全な利用方法を解説します。まずはDockerの概要やしくみをあらためて紹介し,セキュアなDockerイメージの扱い方と,安全なコンテナ運用手法を取り上げます。ぜひ,この機会に「強い」Docker環境を目指してください!

第2特集
OSSとの上手な付き合い方
活用ポイント/貢献ノウハウ/ライセンス利用の注意点

今や開発になくてはならないOSS(オープンソースソフトウェア)ですが,自社ソフトウェアをオープンソースとして公開したり,OSSコミュニティへ還元したりといった事例はそれほど多くありません。いわゆる“GPL汚染”を気にしてOSSは使わないという企業もいまだ存在するようです。 本特集では,OSSを業務で利用するメリット,企業における内製ソフトウェアのOSS化事例と貢献事例,そしてOSSを使用するうえで避けて通れないライセンスについて解説します。個人開発にもつながる話ですので,業務で利用する方も,そうでない方も,今一度,OSSとの付き合い方を確認してみましょう。

短期連載
リアルタイム通信アプリを支える技術
[1]リアルタイム通信の用途・歴史

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

目次

第1特集
しくみから理解するDocker
コンテナを安全に利用するために知っておきたいこと

  • 第1章Dockerとは? コンテナとは? 定義を振り返る
    Dockerとコンテナの基本を総復習しよう……前佛 雅人
  • 第2章効率的な開発環境を実現するしくみ
    Dockerの裏側~コンテナとイメージを理解する!……前佛 雅人
  • 第3章作ってそのまま放置していませんか?
    攻撃に強いコンテナイメージの作り方/使い方……森田 浩平
  • 第4章コンテナ環境への脅威を知り,適切な設定を施そう
    Dockerを安全に運用する……森田 浩平

第2特集
OSSとの上手な付き合い方
活用ポイント/貢献ノウハウ/ライセンス利用の注意点

  • 第1章:OSSを賢く使うための勘所
    OSSがもたらすメリットを知る
    …… 武内 覚
  • 第2章:企業のOSS利用を成功させる“upstream first”
    ソフトウェアを成長させるための活用・貢献術
    …… 武内 覚
  • 第3章:OSSライセンス順守のための基礎知識
    ソフトウェア開発者を守る著作権について理解する
    …… 上田 理

一般記事

  • 【新連載】[短期連載]リアルタイム通信アプリを支える技術
    【1】リアルタイム通信の用途・歴史
    …… 久森 達郎

連載

  • ITエンジニア必須の最新用語解説
    【156】sigstore
    …… 杉山 貴章
  • できる! 自作キーボード工房
    【7】設計編<その4>基板を書こう
    …… サリチル酸
  • 結城浩の再発見の発想法
    【103】NFT
    …… 結城 浩
  • Raspberry PiでエッジAI
    【8】複数の顔写真で学習と推論に挑戦(2)推論編
    …… 山川 正美
  • イラストで明解Gitコマンド
    【10】git diff
    …… 大串 肇
  • 明後日のコンピューティングを知ろう
    【10】サイジングの見える化
    …… 松本 直人
  • 分解教室
    【7】次世代機「iPhone 13」の進化の全容
    …… 清水 洋治
  • ひみつのLinux通信
    【94】コピペ人間
    …… くつなりょうすけ
  • ディープラーニング高速化・軽量化技術の最前線
    【3】認識精度と処理速度の両立
    …… 笠置 明彦
  • Pythonモダン化計画
    【5】リリース作業とエラー追跡の改善
    …… 山口 普一,大西 沙也加
  • UNIXテキスト処理の極意
    【5】XML(のような)形式のテキストを処理する
    …… 中島 雅弘
  • はじめての量子プログラミング体験
    【7】飲食チェーンのタスク最適化(その2)
    …… 広田 望,松田 佳希,田中 宗(監修)
  • チーム開発の視点が変わる アジャイル開発の新常識
    【13】なぜマインドが低い「やらされアジャイルチーム」はうまくいかないのか
    …… 実川 康則,川村 春雅,梶原 直人(監修)
  • 【最終回】Visual Studio Code快適生活
    【36】Webview UI Toolkitを使ってVS Code拡張機能のUIを開発しよう
    …… 職業「戸倉彩」
  • 【新連載】ヤマハルーターネットワーク本格構築入門
    【1】VPN基礎知識確認編
    …… 黒澤 一秀
  • はじめよう,おうちクラウド
    【2】ハードウェアを選ぼう!
    …… 草間 一人,笠原 良太
  • systemd詳解
    【7】generatorとmount/automount/swap unit
    …… 森若 和雄
  • 体系的に学ぶDockerネットワークのしくみ
    【8】ログからわかるコンテナの通信 part1
    …… 大隈 峻太郎
  • 【最終回】作って学ぶ仮想マシン
    【6】キーボード入力とメモリマップドI/Oの実装
    …… 滝澤 照太
  • 【最終回】Debian Hot Topics
    【76】Debianの開発はこれからも続く……
    …… やまねひでき
  • こんなときどうする? エンジニアも知っておきたい法律知識
    【4】下請事業者を守る下請法
    …… 弁護士 山口 宏和
  • “学習する”チームで仕事をする
    【10】わかりやすい仕様を支える「直交性」を理解しよう
    …… 広木 大地
  • あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
    【120】東日本大震災から10年の節目! Code for Japan Summit 2021(前編)
    …… 小泉 勝志郎,清水 俊之介

サポート

ダウンロード

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

(2021年11月18日更新)

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

なお,このサンプルは学習・実験用を目的としております。オリジナルの著作は著者に帰属しますが,読者が断りなく任意に利用・改変することができることとします。

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

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

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

(2021年11月18日更新)

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

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

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

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2021年11月24日最終更新)

P.30,第1特集第2章「Dockerの裏側~コンテナとイメージを理解する!」,左段

ご覧のとおり、所有者が「root」、所属グループが「docker」で、先頭に「s」のスティッキービットの属性を持ちます。つまり「docker」グループに所属する一般ユーザーは、このソケットに対して「root」としてアクセス可能であり、事実上のroot権限を持ちます。
ご覧のとおり、所有者が「root」、所属グループが「docker」です。グループに対するパーミッションがrwであるため、dockerグループに所属する一般ユーザーは、このソケットを通したDockerで、rootとしてファイルへのアクセスや、プロセスの実行操作が可能となります。

商品一覧