Goならわかるシステムプログラミング 第3版

サンプルサンプル

Goならわかるシステムプログラミング 第3版

Goならわかるシステムプログラミング 第3版

通常価格 4,290 円(税込)
通常価格 セール価格 4,290 円(税込)
SALE 売り切れ
ネットストア在庫 詳細
    読み込み中...
My店舗在庫

    ほかの店舗在庫を見る

    ログインするとMy店舗登録で店頭在庫と
    店舗お受け取り可否が確認できます。

    新規会員登録
    ログイン ※パスワードお忘れの方はこちら
    商品説明
    エージェントを使いこなすベテラン開発者は知っている、OS、メモリ、CPU、システムコール、ネットワーク、 ファイルシステム、プロセス、シグナル、シェル、 並列と並行、分散、仮想化、セキュリティの基礎を一気に身に着けよう! この一冊を読み通すだけで、コンピューターと現実がどう繋がっているか、馴染み深いアプリケーションのコードを通して俯瞰的かつ具体的に理解できる! たくさんのベテランに読み継がれてきた名著の第3版です。
    本書は、2016年9月から2017年8月にかけてアスキーjpの「プログラミング+」コーナーで連載されたWebコンテンツを、さらにわかりやすく紙版の書籍として編纂した初版の第3版です。
    目次
    第1章 Goで覗くシステムプログラミングの世界
     1.1 システムプログラミングとは
     1.2 Goについて
     1.3 Goのインストールと準備
     1.4 デバッガーを使って"Hello World!"の裏側を覗く
     1.5 本章のまとめと次章予告
     1.6 問題

    第2章 低レベルアクセスへの入口1:io.Writer
     2.1 io.WriterはOSが持つファイルのシステムコールの相似形
     2.2 Goのインタフェース
     2.3 io.Writerは「インタフェース」
     2.4 io.Writerを使う構造体の例
     2.5 インタフェースの実装状況・利用状況を調べる
     2.6 低レベルの機能を組み合わせて入出力APIを作る
     2.7 柔軟性が高く、パフォーマンスの良い設計のためのTips
     2.8 本章のまとめと次章予告
     2.9 問題

    第3章 低レベルアクセスへの入口2:io.Reader
     3.1 io.Reader
     3.2 io.Readerの補助関数
     3.3 入出力に関するio.Writerとio.Reader以外のインタフェース
     3.4 io.Readerを満たす構造体で、よく使うもの
     3.5 バイナリ解析用のio.Reader関連機能
     3.6 テキスト解析用のio.Reader関連機能
     3.7 io.Reader/io.Writerでストリームを自由に操る
     3.8 本章のまとめと次章予告
     3.9 問題

    第4章 低レベルアクセスへの入口3:チャネル
     4.1 goroutine
     4.2 チャネル
     4.3 システムからの通知
     4.4 本章のまとめと次章予告
     4.5 問題

    第5章 システムコール
     5.1 システムコールとは何か?
     5.2 Goにおけるシステムコールの実装
     5.3 POSIXとC言語の標準規格
     5.4 システムコールより内側の世界
     5.5 GoのシステムコールとPOSIX
     5.6 システムコールのモニタリング
     5.7 エラー処理
     5.8 通常のシステムコール以外の特殊なシステム呼び出し
     5.9 ウェブブラウザの世界のシステムコール
     5.10 本章のまとめと次章予告
     5.11 問題

    第6章 TCPソケットとHTTPの実装
     6.1 プロトコルとレイヤー
     6.2 HTTPとその上のプロトコルたち
     6.3 ソケットとは
     6.4 ソケット通信の基本構造
     6.5 GoでHTTPサーバーを実装する
     6.6 速度改善(1): HTTP/1.1のKeep-Aliveに対応させる
     6.7 速度改善(2): 圧縮
     6.8 速度改善(3): チャンク形式のボディー送信
     6.9 速度改善(4): パイプライニング
     6.10 本章のまとめと次章予告

    第7章 UDPソケットを使ったマルチキャスト通信
     7.1 UDPとTCPの用途の違い
     7.2 UDPとTCPの処理の流れの違い
     7.3 UDPのマルチキャストの実装例
     7.4 UDPを使った実世界のサンプル
     7.5 UDPとTCPの機能面の違い
     7.6 HTTP/2とHTTP/3
     7.7 本章のまとめと次章予告

    第8章 高速なUnixドメインソケット
     8.1 Unixドメインソケットの基本
     8.2 Unixドメインソケットの使い方
     8.3 UnixドメインソケットとTCPのベンチマーク
     8.4 ソケットのシステムコール小話
     8.5 その他のソケット
     8.6 本章のまとめと次章予告

    第9章 ファイルシステムの基礎とGoの標準パッケージ
     9.1 ファイルシステムの基礎
     9.2 ファイル/ディレクトリを扱うGoの関数たち
     9.3 OS内部におけるファイル操作の高速化
     9.4 ファイルパスとマルチプラットフォーム
     9.5 path/filepathパッケージの関数たち
     9.6 io/fsによるファイルシステム抽象化
     9.7 os.Root によるセキュリティの強化
     9.8 本章のまとめと次章予告

    第10章 ファイルシステムの最深部を扱うGoの関数
     10.1 ファイルの変更監視(syscall.Inotify*)
     10.2 ファイルのロック(syscall.Flock())
     10.3 ファイルのメモリへのマッピング(syscall.Mmap())
     10.4 同期・非同期/ブロッキング・ノンブロッキング
     10.5 select属のシステムコールによるI/O多重化
     10.6 FUSEを使った自作のファイルシステムの作成
     10.7 本章のまとめと次章予告

    第11章 コマンドシェル101
     11.1 シェルとは何か
     11.2 シェルの利用形態
     11.3 POSIX、SUS、LSB、BusyBox
     11.4 環境変数
     11.5 シェルがコマンドを起動するまで
     11.6 Unix哲学とシェル
     11.7 まとめ

    第12章 プロセスの役割とGoによる操作
     12.1 プロセスに含まれるもの(Go視点)
     12.2 プロセスの入出力
     12.3 自分以外のプロセスの名前や資源情報の取得
     12.4 OSから見たプロセス
     12.5 Goプログラムからのプロセスの起動
     12.6 プロセスに関する便利なGoのライブラリ
     12.7 Goでは触れることのない世界
     12.8 子プロセスの内部実装
     12.9 本章のまとめと次章予告

    第13章 シグナルによるプロセス間の通信
     13.1 シグナルのライフサイクル
     13.2 シグナルの種類
     13.3 Goにおけるシグナルの種類
     13.4 シグナルのハンドラを書く
     13.5 シグナルの応用例(Server::Starter)
     13.6 Goランタイムにおけるシグナルの内部実装
     13.7 Windowsとシグナル
     13.8 本章のまとめと次章予告

    第14章 Goと並列処理
     14.1 複数の仕事を同時に行うとは?
     14.2 Goの並列処理のための道具
     14.3 スレッドとgoroutineの違い
     14.4 GoのランタイムはミニOS
     14.5 runtimeパッケージのgoroutine関連の機能
     14.6 Race Detector
     14.7 syncパッケージ
     14.8 sync/atomicパッケージ
     14.9 本章のまとめと次章予告

    第15章 並行・並列処理の手法と設計のパターン
     15.1 並行・並列処理の手法のパターン
     15.2 Goにおける並行・並列処理のパターン集
     15.3 本章のまとめと次章予告

    第16章 Goのメモリ管理
     16.1 メモリ確保の旅
     16.2 Goの配列
     16.3 スライスなど
     16.4 ガベージコレクタ
     16.5 Goにおけるメモリ関連のテクニック
     16.6 本章のまとめと次章予告

    第17章 実行ファイルが起動するまで
     17.1 実行ファイルが起動するまで
     17.2 実行ファイルを支える仕組み
     17.3 実行ファイルのメモリ配置
     17.4 Goのプログラムの起動
     17.5 インタプリタでのコードの起動
     17.6 まとめ

    第18章 時間と時刻
     18.1 OSのタイマー/カウンターの仕組み
     18.2 さまざまな時間
     18.3 時間に関するシステムコール
     18.4 Goで時間を扱う
     18.5 時刻のフォーマット
     18.6 テスト中の時間の早送り
     18.7 本章のまとめと次章予告

    第19章 Goとコンテナ
     19.1 仮想化
     19.2 コンテナ
     19.3 Windows Subsystem for Linux 2(WSL2)
     19.4 libcontainerでコンテナを自作する
     19.5 仮想マシンの仕組み
     19.6 本章のまとめ

    付録A セキュリティ関連のOSの機能とssh
     A.1 乱数
     A.2 TLS(Transport Layer Security)
     A.3 ssh(Secure Shell)
     A.4 キーチェーン

    付録B デバッガーのお仕事
     B.1 デバッグ対象のプログラムに接続する
     B.2 プログラムを止めたり進めたりする
     B.3 メモリの読み書きと変更の監視

    付録C 参考文献
    詳細を表示する

    カスタマーレビュー

    honto本の通販ストアのレビュー(0件)

    並び順:
    1/1ページ

    最近チェックした商品

    丸善ジュンク堂書店 公式YouTubeチャンネル

    【今できる!】人間関係の悩みを消す!一瞬で好かれる魔法の言い換えフレーズ|『知らない間に嫌われる言葉、話すたびに好かれる言葉』著者つみきち

    動画に関連する商品より

    【5万部突破】無意識に嫌われてない?人を激怒させる「悪気のない一言」とは?|『知らない間に嫌われる言葉、話すたびに好かれる言葉』著者つみきち

    動画に関連する商品より

    真夜中の本屋で語る田辺青蛙の「大阪怪談」|ミッドナイトジュンクラブ

    動画に関連する商品より
    御堂筋線怪談
    御堂筋線怪談