Software Design 2022年4月号

今号の特集概要

第1特集
はじめてのFlutter
ホットリロードによる高速開発を体験!

クロスプラットフォーム開発の第一の選択肢として注目を浴びているFlutterは,UIの変更を即座に反映する「ホットリロード」などの機能により,高速なアプリ開発ができると言われています。本特集では,メモアプリやパズルゲームなどの開発を通して,Flutter固有の概念「Widget」や,UIの状態管理についての理解を深めます。また,試作したアプリのテスト,ビルドから各プラットフォーム向けのデプロイまで行うことで,開発工程を一通り体験します。「Flutterって話題になっているけれど実際どうなの?」「開発効率が高いのは本当?」という疑問をお持ちなら,まずは簡単なアプリ作りを試してみてください。具体的な開発のイメージがつかめるはずです。

第2特集
堂々と使える! 人に教えられる!
本質から学ぶGit

みなさん,Gitのコマンドを自信を持って使っているでしょうか? その意味を理解して使えているでしょうか? コマンドの構文を知っていれば基本的な操作はできますが,CLIで使っているとその操作の意味するところはわかりにくいものです。
本特集では,Gitの基礎概念やファイルの変更管理のしくみを確認しながらGitの基本操作を学びます。Gitの各領域やリポジトリで何が起こっているかを脳内でイメージしながらgitコマンドを扱えることを目指します。これができれば,堂々と使えるだけでなく,人にも教えられるようになりますよ。

特別企画
[徹底解説]Log4j2の脆弱性とは何か?
[Part1]そのセキュリティ問題を深く知る――Log4Shellの起こした波紋

2021年11月24日にAlibaba Cloudセキュリティチーム所属の「Chen Zhaojun」氏がLog4j Ver.2の脆弱性をコミュニティに報告しました。この脆弱性は近年稀に見る「(後述する問題点から来た)性質の悪い」脆弱性であり,対応にかなり悩まされたと思います。MITREによりCVE-2021-44228が採番され「Log4Shell」と名付けられ,米国NISTの脆弱性情報データベースのスコアで「10.0 Critical」という最も緊急性の高い値が付けられました。本稿ではLog4jの脆弱性と問題点,ユーザー側の対応を考察します。

特別企画
[徹底解説]Log4j2の脆弱性とは何か?
[Part2]しくみを知り対策を考える――Log4j2の脆弱性がJava市場に与えた衝撃

2021年11月,Javaアプリ向けのログライブラリである「Apache Log4j」に,「Log4Shell」と呼ばれる脆弱性が報告されました。この脆弱性は攻撃への悪用が容易であり,しかも影響範囲が大きかったことから,世界中を巻き込んでの大騒動に発展しました。なぜ単にログを出力するためのライブラリに脆弱性が発見されただけで,ここまでの大騒ぎになったのでしょうか。Log4Shellがもたらす影響を考えるうえでは,Javaのログライブラリを取り巻く状況について把握しておく必要があります。

短期連載
HashiCorp Vaultではじめるシークレット管理
[1]シークレット管理はなぜ重要か

複数のクラウドサービスを駆使して開発を行うのが当たり前になってきた現在,各サービスのアクセスキーやパスワードといった「シークレット」の管理が課題になってきました。本連載ではシークレットを一元管理し,アプリケーションからの利用も想定した認証認可を実現する「HashiCorp Vault」を紹介します。

短期連載
Cypressで作る“消耗しない”E2Eテスト環境
[最終回]アドバンストな機能を使いこなす

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

目次

第1特集
はじめてのFlutter
ホットリロードによる高速開発を体験!

  • 第1章新進気鋭の開発技術の魅力に迫る!
    Flutterが選ばれる理由
    …… へぶん
  • 第2章メモアプリのUIを作って学ぶ
    Widgetを使いこなして時短UI構築
    …… ちゅーやん(中條 剛)
  • 第3章動的なUIを構築するためのしくみ
    StatefulWidgetで学ぶ状態管理
    …… ちゅーやん(中條 剛)
  • 第4章Widgetを配置しながら直感的に開発できる
    実践! Flutterでモバイルアプリを作ろう
    …… 岡花 智貴
  • 第5章テスト,ビルドの流れを押さえて自動化に挑戦
    クロスプラットフォーム向けにデプロイするには
    …… 岡花 智貴

第2特集
堂々と使える! 人に教えられる!
本質から学ぶGit

  • ……イラスト:松原 涼香
  • 第1章2つのリポジトリと3つの場所をもとに理解
    コミットの記録,リポジトリの状態確認のやり方
    …… 宇賀神 みずき
  • 第2章共有資産を事故から守り,慎重に開発を進める
    ブランチやリモートリポジトリの扱い
    …… 横田 紋奈
  • 第3章履歴管理のしくみがわかれば堂々と使える
    本質から学ぶgitコマンド
    …… 杉本 真二
  • 第4章円滑な共同開発こそ真のゴール
    チーム開発/OSS開発におけるマナー
    …… 杉本 真二

一般記事

  • [特別企画][徹底解説]Log4j2の脆弱性とは何か?
    【Part1】そのセキュリティ問題を深く知る――Log4Shellの起こした波紋…… 面 和毅
  • [特別企画][徹底解説]Log4j2の脆弱性とは何か?
    【Part2】しくみを知り対策を考える――Log4j2の脆弱性がJava市場に与えた衝撃…… 杉山 貴章
  • 【新連載】[短期連載]HashiCorp Vaultではじめるシークレット管理
    【1】シークレット管理はなぜ重要か…… 草間 一人
  • 【最終回】[短期連載]Cypressで作る“消耗しない”E2Eテスト環境
    【4】アドバンストな機能を使いこなす…… 渋川 よしき,枇榔 晃裕

連載

  • ITエンジニア必須の最新用語解説
    【160】Alpha-Omega Project
    ……杉山 貴章
  • できる! 自作キーボード工房
    【11】ファームウェアを書こう
    ……サリチル酸
  • 結城浩の再発見の発想法
    【107】alloc/free
    ……結城 浩
  • 【新連載】ハピネスチームビルディング
    【1】リモートワークのつらさを共感して楽しいに変える
    ……小島 優介
  • 衛星データプラットフォームTellusハンズオン
    【2】波長を手掛かりに,田畑の利用状況を調べる
    ……Tellusオウンドメディア「宙畑」編集部,久保 海,古田 尚輝(執筆協力)
  • 明後日のコンピューティングを知ろう
    【14】5Gモバイル通信網
    ……松本 直人
  • 分解教室
    【11】MEDIATEKのシェアを支える秘密
    ……清水 洋治
  • ひみつのLinux通信
    【98】リモートワーク警察
    ……くつなりょうすけ
  • 今日から始めるサイバー脅威インテリジェンス
    【2】モデルを理解してサイバー脅威を分析しよう ~攻撃者を中心に分析する
    ……皆川 諒
  • データ生成技術で理解するディープフェイクのしくみ
    【3】ディープフェイクの作成プロセス
    ……中山 浩太郎
  • UNIXテキスト処理の極意
    【9】正規表現――背景と原理
    ……中島 雅弘
  • チーム開発の視点が変わる アジャイル開発の新常識
    【17】どうやって始める? 失敗しないアジャイルチームの立ち上げ方
    ……亀井 隆司,井上 優介,梶原 直人(監修)
  • ヤマハルーターネットワーク本格構築入門
    【5】LAN構築編~ルータを使用したネットワーク環境構築
    ……寺西 祐樹
  • systemd詳解
    【11】systemdにまつわるTipsとよくある質問
    ……森若 和雄
  • 【最終回】はじめよう,おうちクラウド
    【6】おうちクラウドをインターネットに公開しよう
    ……槙 俊明
  • こんなときどうする? エンジニアも知っておきたい法律知識
    【8】ビッグデータの法的保護
    ……弁護士 田代 祐子
  • あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
    【124】シニアプログラミング発表会!
    ……小泉 勝志郎