SoftwareDesign 2024/12月号 輪読会メモ (2024/12/2)

# はじめに

# 第1特集
落し穴にハマる前に！
シェルスクリプトの基本と罠
コンテナ，クラウド，Web開発，なにかと使える基礎技術

    第1章：シェルスクリプトの基礎
    利点・欠点・使いどころを認識しよう
    …… 滝澤 隆史

P.18
Almquist Shel(l ash) -> dash -> Busybox ash へフォーク、Bash = Bourne Again SHell
シバン(shebang)

    第2章：シェルスクリプトの基本文法
    実務で頻出の機能を要領よく学ぼう
    …… 滝澤 隆史

P.24
リダイレクトとパイプ(自作シェルの連載記事の偉大さを感じた)、エラー発生時に終了(set -e)、pipefailオプション

    第3章：シェルスクリプトの使いどころ
    CLIコマンドの活用が業務効率化のカギ
    …… 山田 泰宏

P.32
Homebrew(ruby -> shellへ書き直された)、tmux-xpanes(2,000行を超えるシェルスクリプト)、コンテナの都ブルシューティング(CoreDNSはshellを含まない、nsenterコマンド -> ネットワーク環境だけをコンテナにする)

    第4章：落し穴に落ちないシェルスクリプト開発のススメ
    ShellCheckとShellSpecで安全なシェルスクリプトを作る
    …… 近松 直弘

P.44
文法不備、パフォーマンス低下、ポータビリティ欠如、ShellCheckツール、ShellSpecツール、GitHub Actions(Linux、Windows、macOS環境で動作差分の確認)


# 第2特集
10周年特別
［最新］Swiftの現場
これまでの進化の軌跡＆Swift 6レポート
    …… 田中 涼賀

    第1章：10周年を迎えるSwiftのこれまで
    Apple謹製言語の歩みを振り返る

P.56
Appleプラットフォームにおけるアプリケーション開発、APIデザインガイドライン、オープンソース化(Linux、Windows、Android、WebAssemblyへ対応)、専用フレームワーク、Swift Concurrency(非同期プログラミングのサポート)

    第2章：Swift 6への移行
    求められる既存コード変更へのヒント

P.71


# 短期連載

    ［速習］PHPアプリ開発の現在地
    【2】PHPUnitのassertSameとassertEqualsの実装ってどう違うの？
    ……asumikam

P.82
PHPUnit = 単体テストフレームワーク

# 連載

    ITエンジニア必須の最新用語解説
    【192】Valkey 8.0……杉山 貴章

ED.1
Redis 7.2からフォークしたValkey 8.0 (ライセンス変更問題)

    万能IT技術研究所
    【31】結婚式や葬式が決められない!? 旧暦2033年問題――150年前に廃された天保暦に仕込まれた時限爆弾……万能IT技術研究所

P.1
天保暦の2033年問題(2033年〜2034年)＝「不連続な月名」と「決定不能な閏月」が生じてしまう、楕円軌道と回転角度、どのように閏月を決めるのか”例外処理”に注目！

    FE/AP試験問題に挑戦
    【2】情報セキュリティ（技術）……石田 宏実

P.6
公開鍵暗号方式、S/MIME

    ドメイン解体新書
    【11】セキュリティとパフォーマンスを向上するHTTPSレコード……谷口 元紀

P.10
HTTPSレコードを読み解くのは難しい

https://qiita.com/flano_yuki/items/5e97ab2a0e0064db7813

    ハピネスチームビルディング
    【33】小さなシェアドリーダーシップの発揮を見える化しよう……小島 優介

P,14
固定的なリーダーに依存しない、リーダー的な行動を促進するための工夫(ポイントによる見える化)

    Cloudflare Workersへの招待
    【13】Cloudflare Queuesを使ってバックグラウンドで処理してみよう……Aiji Uejima

P.92

    ソフトウェアテスト探検隊
    【3】シフトレフトテスティングの意義と戦略……Kuniwak

P.100
ハリボテ(ユーザーストーリーの確認)、欠陥の属性(タイプ属性、トリガー属性、ソース属性、インパクト属性 -> シフトレストはタイプ属性とトリガー属性)

    実践データベースリファクタリング
    【11】ループされたクエリの倒し方……曽根 壮大

P.106
落とし穴、倒し方(ループされたクエリ、N+1問題)

    【最終回】レガシーシステム攻略のプロセス
    【8】フロントエンドエンジニアから見るZOZOTOWNリプレイスとまとめ・今後の展望……新家 弘久，森 泰樹，高橋 智也，瀬尾 直利

P.112
Classic ASP(VB Script)(サーバレンダリング) -> Next.js、Shift_JISの取り扱い

    ぼくらの「開発者体験」改善クエスト
    【12】テスト体験の改善で，開発者体験を改善……西薗 和希

P.119
テスト体験の改善 -> 開発者体験の改善

    【最終回】Databricksで勝つデータ活用
    【9】Databricksで始めるデータメッシュアーキテクチャ……北岡 早紀，桑野 章弘

P.126
サイロ化されたデータアプローチ -> 中央集権的なデータアプローチ、データレイクとデータメッシュ

    実践LLMアプリケーション開発
    【15】Human-in-the-loopでAIエージェントの動きにフィードバックを加える（後編）……西見 公宏

P.134
Streamlit実装、(RAG・AIエージェント実践入門 -> 書籍購入しました。これから勉強します)

    AWS活用ジャーニー
    【27】AWS WAF……杉金 晋

P.144
脆弱性を狙った攻撃から保護、DDoS攻撃の緩和

    インターネットの姿をとらえる
    【4】ISPとは何者か……土屋 太二

P.150
ISPの役割、oo系ISP

    基礎からわかるDetection Engineering
    【5】検知ルールの評価とDetection Engineering Program①……石川 朝久

P.155
MTTD(Mean Time To Detect)、MTTR(Mean Time To Response/Recover)、MTTA(Mean Time To Attack)
MTTA > MTTD + MTTR (セキュリティ防御が成り立っている状態)
3M+Cフレームワーク
検知ドリフト(FNが増加)、検知ボラティリティ(検知ルールの作成・更新)

    魅惑の自作シェルの世界
    【25】引数のシングルクォートの実装とパラメータ展開の準備……上田 隆一

P.166


    あなたのスキルは社会に役立つ～エンジニアだからできる社会貢献～
    【155】バリアフリーに関する情報を誰かの「一歩」に～みんなのトイレマッププロジェクトから見えてきたこと……菅原 洋介（Pen）

P.176
バリアフリー情報の可視化

    SD NEWS & PRODUCTS

P.180
Anker(モバイルバッテリーの廃棄問題)

    Reader's Link

P.182
ふくよりさん

    編集後記

P.184