ダッシュで奪取

ゲーム、読書、人生

『Software Design 2023年9月号』を読んだ

第1特集_JavaScript非同期処理の疑問を解き明かす

  • Promise オブジェクト
    • 「あとで値をちゃんと返すよ」と約束するオブジェクト
  • setTimeout はランタイムの機能(JavaScript の機能ではない)
    • 実行環境によって異なる挙動があったりする
  • Promise や async は JavaScript の機能
  • 非同期処理の中断を制御する AbortSignal
    • ついこの前あれこれ調べて辿り着いたのですが、先にこの記事を読んでいれば……!
    • 一定時間後に自動で中止する AbortSignal
      • これで書ける
      • setTimeout で書いてしまった気がするので、今度直そうと思った
// 1秒後に中止する
const signal = AbortSignal.timeout(1000);

第2特集_カオスエンジニアリングの始め方

  • カオスエンジニアリング
    • 「システムが不安定な状態に耐える能力」に自信を持つために行う訓練方法のこと
  • テストと何が違う?
    • テストは実装したとおりになっていることを確認する
    • カオスエンジニアリングは、実験によって不確実な部分を減らす目的で行う
  • 今まで同じやり方でやってきた = 同じやり方が通じなくなり、インシデントが発生することもあるかも

EXTRA_FEATURE

潤沢なCPU/メモリを使い倒すため一から開発 国産リレーショナルデータベースTsurugi

  • 新しい技術というよりは、今まで培われてきた技術を総動員したもののようなイメージ
    • 昔は CPU やメモリが足りなくて採用されなかった技術
    • 今まで使われていたものよりもパフォーマンスの良い技術
  • 名前が気になる
  • 解説本も出ているらしい
    • 最近データベースが気になっている感じなので、これも気になる
    • ちょっと高い(おこづかいが少ない人間の顔)
  • 本誌の内容とは関係ないけど、サブモジュールがたくさんあるリポジトリを初めて見た
    • ちょっとびっくりした

マルウェア対策とエンドポイントセキュリティ(後編)エンドポイントセキュリティの現実

  • システムが攻撃を受けたとき、バックアップだけが無事とは考えにくい
    • バックアップも攻撃されているかも
    • バックアップの中にもマルウェアが潜んでいるかも
      • マルウェアごとリストアしてしまうかも

DEVELOPMENT

なるほど納得Go言語(8)インターフェース(後編)

  • インターフェースは -er という名前にすると、役割がわかりやすい
    • Reader, Writer, Closer ...
  • インターフェースは小さいほどよい
    • メソッドの数を増やすと、そのインターフェースを満たすための条件がどんどん厳しくなっていく