今週のQiita技術書まとめ
2025年7月27日配信
[作って学ぶ]OSのしくみⅠ を読んでみて
はじめに <!-- 今までOSが何をしているかなんとなくも理解していなかったが、 「ハードウェアの制御と抽象化」「資源の分配」という大枠で なんとなく捉えることが出来た気がする、、、 ゼロから組み上げていくことで理解もしやすかった。
[作って学ぶ]OSのしくみ1──メモリ管理、マルチタスク、ハードウェア制御
Webサイトの閲覧をはじめとして、コンピューターはさまざまな場面でみなさんの日常と密接にかかわっています。しかし、その裏側で起きていることを理解するのは、現代の複雑なコンピューターシステムの上では困難です。そこで本書では、シンプルなOSをRustを用いて実装し、普段は見えないOSの役割とその動作を理解していきます。1巻ではメモリ管理、マルチタスク、ハードウェア制御に関する部分を実装し、2巻ではユーザーインタフェース、アプリケーション実行、インターネットへの接続に関する部分を実装します。既刊の『[作って学ぶ]ブラウザのしくみ』で実装するブラウザは、本書で実装するOS上で動作することを想定し...
イベントストーミングについてまとめてみた①
イベントストーミングの概要 イベントストーミングとは? イベントストーミング(以下では、ESと略)は、 複雑なビジネスドメイン(業務領域)を素早く、かつ深く理解するためのコラボレーション・ワークショップの手法です。 特に、ドメイン駆動設計(DDD)やマイクロサービスアーキテクチャのコンテキストで強力なツールとして利用されます。
ドメイン駆動設計をはじめよう
ドメイン駆動設計を実践するために最初に手にするべき1冊! ソフトウェアの構築において、 開発者は変化する技術トレンドを追うだけでなく、背後にある事業活動(ビジネスドメイン)を理解する必要があります。ドメイン駆動設計はビジネスドメインの知識に焦点をあてた設計手法です。本書は基礎知識としてドメイン駆動設計の概念や用語の教科書的な説明からはじまり、事業活動を分析し、ビジネス戦略を理解し、ソフトウェア設計をビジネスニーズに合わせるための一連の核となるパターン、原則、実践方法を説明します。
データ品質検証を学ぶ(品質テスト・基礎編)
はじめに データ活用者にとって、データの品質は想像以上に悩みどころが多い。 データ分析で事象の把握やインサイトの抽出を行おうとしたり、モデルの精度を上げたりしようとしても、対象データの品質に問題があって思うように業務が進まないこともままあり… MLOps的なプロダクト運用では、モデルやバッチ処理の自動化が進んでいる分、ちょっとしたデータの変化や異常が気づかれにくい。異常値やデータ欠損にすぐ気づく環…
改訂新版[エンジニアのための]データ分析基盤入門<基本編> データ活用を促進する! プラットフォーム&データ品質の考え方
システムとデータの両面にスポットを当て、データ分析基盤の整備/運用/活用の指針をまとめた入門書。 データ分析の中心にある「データ分析基盤」を取り巻く環境は、大きく変わりました。機械学習/ディープラーニング、マーケティング、需給予測、不正検知を筆頭にデータ利用が多角化し、データ分析基盤に求められる役割も多様化が進んでいます。 本書では、データ分析基盤の「今」に焦点を合わせ、基本用語の整理から歴史、クラウドをはじめとしたインフラ、主要な技術スタック、システムモデル、データドリブンのための可視化&測定術まで徹底解説。 合わせて、長期視点に立ったユーザー中心の運用に欠かせない「セルフサービス」「...
Q&A形式で学ぶ「良いコード/悪いコード」(第5~8章)
はじめに 最近、「良いコード/悪いコードで学ぶ設計入門( この記事では、各セクションの簡単な説明の後に、Qで疑問に感じたこと、Aで調べてわかったこと、そしてNOTEで覚えておきたいことをまとめています。 なお、サンプルコードにJavaを使用していますが、言語を問わず広く有効な設計手法なので、他言語でも応用できる内容になっています。 第1~4章については、すでに別の記事にまとめているので、こちらもぜ…
改訂新版 良いコード/悪いコードで学ぶ設計入門 -保守しやすい 成長し続けるコードの書き方
本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。筆者の経験をふまえ構成や解説内容を見直し、より実践的な一冊になりました。 システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。 コードの可読性が低く調査に時間がかかる、 コードの影響範囲が不明で変更すると動かなくなる、 新機能を追加したいがどこに実装すればいいかわからない......。 変更しづらいコードは、成長できないコードです。 ビジネスの進化への追随や、機能の改善が難しくなります。 成長できないコードの問題を、設計で解決します。