ken1flanのブログ

自己紹介・最近やってることなどを書くつもりです。

Software Design 2023/04 メモ

Software Design 2023年4月号を読んで、ちょこっとずつ感想を書いてます。 gihyo.jp

いつも参加しているSoftware Design輪読会に向けての予習でもあります。 softwaredesign.connpass.com

第1特集 x86やArmって何? 一度は学んでおきたいCPUのしくみ プロセッサの動作原理から理解する

  • CPU…!
  • また特集の扉がよい感じですね。

第1章:素朴な疑問からCPUの理解を始めよう CPU業界の常識を知る ......笠原 一輝

第2章:コンピュータが計算できる理由 ハードウェアとソフトウェアの関係 ......内田 公太

  • だんだん思い出してきました、CPU…。
  • NANDでAND、OR、NOT、XORをすべて作れる……。
  • CMOS回路…。トランジスタでできている…。CPUのトランジスタ数がようやくわかってきました。
  • 全加算器……ABの他に桁上げのCin、結果のSとCout。これをたくさん連ねてる…。
  • 2の補数…加算器で減算できちゃうスグレモノ。
  • ラッチ回路
  • 機械語アセンブラコンパイラ
  • NAND回路のみのCPU、リレー式CPU
  • 今まで面倒くさがってアセンブラをちゃんと読まなかったですが…この記事で少し仲良くなれた気がしました。

第3章:命令セットアーキテクチャの基礎 ソフトウェアとCPUのインターフェース ......木村 優之

  • 2章を読んでると、なんとなく雰囲気が伝わってきて、いいですね…。
  • CISCRISC、懐かしいです。
  • フォン・ノイマン
  • その他のISAにMIPS…!懐かしい…プレステかあ。

第4章:マイクロアーキテクチャの基礎 処理高速化の技術 ......出村 成和

  • μOPなぁ…CISCとはって感じですよね。とはいえ、過去の資産を活かすには仕方ないところですね…。
  • ifが遅いのは、余裕があろうとなかろうとifのあとの処理を先に処理することができないから…。
    • イチかバチかでやっちゃう投機的実行と、Spectre…。
    • まさかそんなところに脆弱性がって、当時思いました。
  • L1キャッシュはたしかにヒット率が高そうです…。

第5章:処理を並列実行する技術 スパコンの高速計算を支える技術とは ......田浦 健次朗

  • コンパイラが自動的に並列化された命令を使ってくれる場合があるとは…。コンパイラ万歳!
    • あくまでもあるだけなので、過度な期待は…。

第2特集 これだけは読んでおけ! スペシャリスト10人に聞きました 新人に読ませたい技術書ベストセレクション

はじめに:技術書との付き合い方 ......増井 敏克

  • 複数を読み比べろ……理屈はわかるけど、さすがに時間ないですが……。
    • 別にWebだろうとなんだろうといいのかな…?いろんな見方を探すことは普段もしてますし…。
  • 一日15分…これはやってもいいかも…。
    • でも、読むより、今はコード書きたいなぁ…というフェーズか。

ジャンル1:インフラ

 1 Linuxの基本 ホップ、ステップ、ジャンプ ......武内 覚

  • 新しいLinuxの教科書
    • 気になってました。
  • Linuxのしくみ
    • 動かした結果を可視化する…らしいです。ちょっとよさそうです。

 2 正しく・安全に運用するための基礎を育てる ......清水 勲

  • クラウドエンジニアの教科書
    • あ、何だこの本は……。今の自分がほしい本では……。
    • EPUB版があるので、買うことにします。
  • 入門監視
    • あー……これもほしい……。
    • 次かな……。

ジャンル2:プログラミング

 3 技術のしくみがしっかりわかるのは楽しい! ......けんちょん(大槻 兼資)

  • 問題解決力を鍛える!アルゴリズムとデータ構造
    • 自著とのことですが…あえて勧めてくれるのは、ホントに良さそう。気になります…。

 4 JavaScriptのためのJavaScriptの外 ......mizchi(竹馬 光太郎)

  • あえてフロントエンド界隈から持ってこないのは面白い切り口です…。だいぶよさそうです!
  • Game Programming Patterns
    • 題材のとり方がよくて気になります。
  • 7つの言語7つの世界
    • あー…読もうと思ってまだ読んでないです…。
  • 入門 WebAssenbly
    • CPUの特集を読んだあとでこれか…ズルい、読みたい気持ちになってしまいます…。

 5 今こそアルゴリズムと思考力を身につけよう ......米田 優峻

ジャンル3:開発・設計

 6 チームで開発する前に読んでおきたい設計の本 ......増井 敏克

  • 技術士情報工学部門)?知らなかった、そんなものが…。
  • プリンシプル オブ プログラミング
    • 「先輩の考え方」が学べる…?…いい薦め方すぎる……。買おうかなぁ…。
  • 良いコード悪いコードで学ぶ設計入門
    • あ、読まなきゃ!って思っててまだ読んでない本がここにも……うう……。
    • いや、読んでほしいんだよなー………。

 7 「アジャイル開発」 理解の基礎になる感覚をつかもう ......田中ひさてる

 8 生涯役立つ、データを扱うスキルを身につける ......曽根 壮大

  • はじめよう!要件定義
    • 要件定義がすべての根幹なので…上手に聴ければ成功確率がグッと上がりますもんね。
    • ちょっと読みたいです。

ジャンル4:ネットワーク・セキュリティ

 9 セキュリティと正面から向き合いたい人へ ......中島 明日香

  • サイバー攻撃
    • 一般向け…みんなで読むのにいいかな…?どうだろう…?
    • ちょっと買ってみたい気持ちもします。
  • 情報数学の基礎
    • あー……復習したいかも……。
    • 挫折せずに読み切るにはどうしたものか……。

 10 目指せ!幅広い知識のネットワークエンジニア ......小川 晃通

  • ピアリング戦記
    • 関係者と飲み会で同席するなどしないと聴けないような話が織り交ぜられている…だと…?
    • 読み物としてめっちゃよさそうです!

一般記事

[特別企画]「Blockchain Hackathon for Students」特別レポート ......小川 椋徹、吉村 良太、工藤 丈、鈴木 綾

  • 変わった企画…?よさそうです!
  • …そういえば、こういうのどうやって探してくるんでしょう…?
  • チーム開発のところ、個別のチームがうまくマネジメントしやすいように、毎日の進捗報告をするようにお願いしてたりして、なかなかスゴいなと思いました。覚えておきます。
    • がんばっているチームにマウスが送られてくる…?
    • どういう文化なんでしょう…?おもしろいです。

[短期連載]Denoで始める サーバサイドTypeScript開発 【2】Denoモジュールを作ろう ......ゴリラ(監修:日野澤 歓也、田中 優亮)

  • CSVをマークダウン形式の表に変えるって、地味にあったらうれしいし、難易度もそれほどじゃなさそうなので…ちょうどよさそうです。
    • どうやって思いついたんでしょう…スゴい。
  • あんまりモジュールの置き場所の仕組みって考えたことありませんでした。S3なんですね。
  • githubとの連携が解説されているのはありがたいです…!
  • ブラウザでプレビュー…カッコいいですね…。

連載:Column

平林万能IT技術研究所 2ndシーズン【11】警察庁広域重要指定114号グリコ森永事件の犯人を追え!――「北海道テープ」の謎を解く! “東大阪玉三郎”編 ......平林 純

  • 今回は推理モノですね。
  • 地球の電離層…ホントにいろいろなことを知っていますね…。
    • どうやって毎号ネタ出ししているんでしょう…。
  • 次号も…気になるw

結城浩の再発見の発想法【119】ID ......結城 浩

  • 相手を指定できないと魔法が使えないですもんね…!
  • え…10年…スゴい…!
  • 最終回も楽しみにしてます!

ハピネスチームビルディング【13】モブプログラミングで楽しく開発する ......小島 優介

  • 社内版Qiitaシステム…!
    • こういうのって…あると楽しいけどメンテナンスのことを考えると…。
    • そこまで含めて、技術研鑽用のコストと会社で思ってくれるようにするのが大変そう…。スゴいな…。
    • みんな使ってるから、モブプロにはちょうどよさそう…。
  • 「選択肢が多くあるほど効果的」
    • たしかに…あんまり迷わないのはおもしろくないですよね…。
  • 「オフラインでやりやすくなった」  - 画面共有とマイクあればできますもんね。手元で見れるから、字もバカでかくしなくていいし。
  • たのしそう…。

エンジニアのためのやる気UPエクササイズ【8】エンジニア必見! 超効率的に健康になる方法 ......えくろプロテイン

  • うちに籠もってると…階段の上り下りもあんまりないんですよね…。
    • 機会が少ないので、余計にちょこっとずつやってみようかしら…。

分解教室【23】Apple M2 ......清水 洋治

  • M2、いいなぁ…。

ひみつのLinux通信【110】パッケージ管理 ......くつなりょうすけ

こんなときどうする? エンジニアも知っておきたい法律知識【20】システム開発紛争の類型とその対策 ......弁護士 山城 尚嵩

  • 問題の類型、プロジェクトのタイミングでなんとなく分けられますね、たしかに…。
    • 覚えておきたいです。
  • これ、他の業務の契約についても同じことがありそうです。
    • ますます覚えておきたいです。。。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~【136】シニアプログラミング発表会 #4 ......数野 剛

  • スゴい作品がいっぱい出ています…。とても作れそうにありません。好きこそものの上手なれ。
  • やっぱりスマホが出て、世界が変わりましたね…。肌見放さず持っているデバイスって、スゴいかも。
  • Scratch、スゴイですね。結構いろいろなことができそうです…。

連載:Development

オンラインホワイトボード「Miro」徹底活用術【7】iPadでも使えるMiro活用術 ......今村 恭子

  • iPad…うらやましいです。たしかによさそう。
  • ぐじゃぐじゃーってすると消えるのいいですね…。

Google Cloudを軸に実践するSREプラクティス 【新連載】信頼性を高めるサービス基盤と技術選定 ......前多 賢太郎、監修:小森 裕介

  • GCPもチラ見できる企画ですかね…。使ってないので、ちょっとありがたいかもしれません。
  • 技術選定の観点、参考にさせてもらいます…。
  • k8sって、そういえばGoogle発だったから、相性がいいんですね。
  • renovate、知りませんでした。
    • Dependabotと同じジャンルのものだそうです。
    • 細かいところに気が回るようです。
      • github enterpriseだと、プルリクにいろいろ書いてくれないみたい…?
      • 今のところ、レビューもそんなに不便じゃないから、うちはdependabotのままでよさそうです…。
  • CloudFlareをセキュリティに活用してるのは興味深いです…。参考にします。
  • 次回から楽しみです。

three.jsでお手軽3Dプログラミング【2】座標系・Object3Dの基礎と簡単なモデリング ......可児 亘

  • 座標の右手/左手、知りませんでした。
    • ゲームのときは…奥に行くときZがプラスになると扱いやすそうですね。
  • Vector2…名前がなんか気になります。2次元だから2なんですが…。
  • 3Dオブジェクトをプログラムで作っていて…あ、そうやって作ってもいいんだって思い出しました。
    • blenderで四苦八苦してたので…。

最強の開発環境 探求の道【4】環境構築を自動化する ......中山 慶祐

  • まずい、置いていかれてます💦 やろうと思ってたのに…。
  • setup.sh?と思ったら、たしかにドットファイルはホームディレクトリに配置されてることが多いので、いちいち自分でシンボリックリンク張りたくありませんね…。
  • Brewfileというのがあるんですね。これは使えそう…!
  • 今回の最後のechoがなんか最高です…。

なるほど納得Go言語【3】Goらしい命名[関数/メソッド/パッケージ編] ......崎原 晴香(H.Saki)

  • (言語名)らしい命名…!
    • レビューしててめっちゃあります。言語化したいけど、なかなかできずにモヤモヤしてます…。
  • 変数名に1、2文字を使うのはGoらしいですね。
    • 数行で終わる短くて見通しのいいメソッドのときは、自分もいいと思います。
      • 仕事では…
        • 自分も含めて、短いメソッドを書けるひとばっかじゃないんですよね…。
        • なので、冗長に書いてます。
  • 短い、シンプルな名前を推奨することで、プログラムを短く整理することを自然に伝えている感があって、ちょっと納得しました。

リソースから考えるBCPの手引き【4】情報リソースへの対応 ......角道 淳平、中村 勝敏

  • もしかして、実際にBCPを練るときに、連載の順を追って作っていけば、わかりやすいですかね…?
    • こういうの、他のひとに見てもらうときに、知識差で苦労しそうですが、順を追って組み立ててみる/みせることで解消するかも…?
  • こういうの、官が得意としてることではないかしら…?
  • 事業を続けるために必要なバックアップ…。

楽しいFlutter しくみがわかるともっとハマる【6】リスト表示との正しい向き合い方 ......杉本 真二

  • あー!なかなかFlutter触れてない!!はぁ…💦
    • なんとか仕事で使えるようにできんかなぁ……。
  • ListTile、便利そう。
  • 巷で見かける「ListViewのchildrenは最適化されないのでbuilderを使おう」は間違い
    • こういうのを書いてくれるのはとてもありがたいです…!
  • 3つめの選択肢、Silver…!

AWS活用ジャーニー【7】Amazon ECS ......武田 隆志

  • ECSはコンテナを実行・管理するオーケストレーションサービス
  • Fargateでやるのはわかるけど…EC2でやるのってどんなメリットがあるんでしょう…?
  • 関連サービス
    • ECR…Docker Hubみたいなものなんですね。アルファベットだけ並んでるとパッと区別がつかなくて…。
    • EKS…ECSのk8s版ですかね…?
  • まだ積極的にElastic Beanstalkから移住するメリットはないですかねえ…。

連載:OS/Network

魅惑の自作シェルの世界【5】パーサーを書く ......上田 隆一

  • 毎回前提知識書いてあるところが親切かも…。
  • 再帰下降構文解析」という名前だったんですね…。
  • StringとCString
    • FFI…別の言語の関数を呼び出すインターフェイス
      • PerlのXSモジュールをちょこっとやったときのことを思い出しました。

[Ansible]現場を支えるPlaybook【5】チケット運用とAnsibleの連携による変更管理の完全自動化 ......小野 天平

  • チケット管理を導入したけどあんま変わらん…の説明はわかりやすいかも。
    • システムとシステムの間の橋渡しを人間がやってたんじゃ、ラクになりませんもんね。
    • 昨今はインテグレーションしやすくできてて、ありがたいです。
    • ansibleにservicenowと連携するコレクションがあるんですね。
  • ああ…ここまで自動化したいけど、まだプロセスが未熟すぎて…。

Pythonでネットワーク自由自在【10】Pythonヤマハネットワーク機器を自動化しよう(2) ......小澤 昌樹

  • ヤマハのルータもVPNがありますか…ありますよね。
    • CLIで設定できるの、いいですねぇ…。
      • …でも、複数台やらないかぎりはWeb GUIが適切ですね…。
  • うちでも…と思ったら高かったです…。ですよねえ…。

アラカルト

ITエンジニア必須の最新用語解説【172】Podman/Podman Desktop ......杉山 貴章

  • デーモンレスなコンテナエンジン…。
    • サーバでも使われているんでしょうか…?
    • RedHatだからなあ…。
  • Podman Desktopも気になります。
  • しかし、Dockerは…若干切ない気持ち…。

読者プレゼントのお知らせ

  • 当たらなかった…。

SD BOOK REVIEW 

  • オブザーバビリティ・エンジニアリング
    • SREの技術書っぽいです。
    • 知らない分野なので読んでみたい…。

SD NEWS & PRODUCTS

  • ITエンジニア本対象、よかったです。
    • 特にメタバースは…本の内容はわかりませんが、プレゼンが最高でした。
  • Bluetoothの電子棚札市場向けの無線規格
    • スーパーなどの棚にあるペーパーですかね…。
    • こういうものの規格が出てくるの、ちょっとワクワクしますね…。
  • DellのVostro16
    • あんまりビジネス向けのノートPCを見ていませんでしたが…最近はシュッとしましたね。結構良さそうです。
  • おたよりが載りましたw

次号のお知らせ

  • Python×数学…!
    • 苦手だけど、こういうのは自分でやらないので、価値があります…。
  • WebAssenbly
    • 最近気になってます。
    • WebのフロントエンドもJavascript以外の選択肢ができそうで、楽しみです。

特別広告

Web3の新時代を拓くココネのエンジニアリング力を探る【1】誰もが知るじゃんけんに戦略性とNFTを盛り込みグローバル展開 ......編集部

  • じゃんけんにNFTって?と思ったらカードですかね…?
    • でも、上手に取り入れるの、おもしろいかも。