『ふつうのLinuxプログラミング』初版 詳細目次
Last Updated: 2017-10-09
第1部 Linuxの仕組み
第1章 Linuxプログラミングを始めよう
- 本書の概要
- プログラミング環境の準備
- gccを使ったビルド(1)
- gccを使ったビルド(2)
- コマンドライン引数
- 開発環境の話
- 情報の集めかた
第2章 Linuxカーネルの世界
第3章 Linuxを描き出す3つの概念
- ファイルシステム
- プロセス
- ストリーム
- 3大重要概念のまとめ
第4章 Linuxとユーザ
第2部 Linuxプログラミングの根幹
第5章 ストリームにかかわるシステムコール
- この章で話すこと
- ファイルディスクリプタ
- 標準入力、標準出力、標準エラー出力
- ストリームの読み書き
- ファイルを開く
- catを作る
- その他のシステムコール
- 練習問題
第6章 ストリームにかかわるライブラリ関数
- stdio
- バイト単位の入出力
- stdio版catを作る
- 文字列の入出力
- 固定長の入出力
- ファイルオフセットの操作
- ファイルディスクリプタとFILE
- バッファリングの操作
- EOFとエラー
- stdioの動作を確かめる
- 練習問題
第7章 headコマンドを作る
- headコマンドを作る
- オプションの解析
- gdbを使ったデバッグ
- 練習問題
第8章 grepコマンドを作る
- grepを作る
- 日本語文字列処理と国際化
- 練習問題
第9章 Linuxのディレクトリ構造
- 基本的な構造
- /usr
- /var
- ルート直下の重要ディレクトリ
- ディレクトリを分ける基準
第10章 ファイルシステムにかかわるAPI
- ディレクトリの内容を読む
- ディレクトリを作る
- ディレクトリを削除する
- ハードリンク
- シンボリックリンク
- ファイルを消す
- ファイルを移動する
- 付帯情報を得る
- 付帯情報を変更する
- ファイルシステムとストリーム
- 練習問題
第11章 プロセスとハードウェア
- プロセスとは何か
- メモリ管理にかかわるAPI
- プログラムができるまで
第12章 プロセスにかかわるAPI
- 基本的なプロセスAPI
- プロセスの一生
- パイプ
- プロセスの関係
- 練習問題
第13章 シグナルにかかわるAPI
- シグナルとは
- シグナルを捕捉する
- シグナルの送信
- Ctrl-C
- 練習問題
第14章 プロセスの環境
- カレントディレクトリ
- 環境変数
- クレデンシャルの操作
- ユーザとグループ
- プロセスの使うリソース
- 日付と時刻
- ログイン
- 練習問題
第3部 Linuxネットワークプログラミング
第15章 ネットワークプログラミングの基礎
- インターネットの仕組み
- ホスト名とリゾルバ
- ソケットAPI
- 名前解決
- daytimeクライアントを作る
- 書籍案内
- 練習問題
第16章 HTTPサーバを作る
- WWWとHTTP
- HTTP
- HTTPサーバの概略
- サービス開始まで
- struct HTTPRequest
- リクエストを読み込む
- struct FileInfo
- レスポンスを出力する
- テスト
第17章 HTTPサーバを実用化する
- この章で行うこと
- 自力でネットワークに接続する
- 並列サーバ
- デーモンになる
- ログ
- chrootで安全性を高める
- 完成!
エピローグ
第18章 本書を読み終えたあとは
- Linux・UNIX全般
- カーネルの仕組みについて知る
- 移植性
- GUIプログラミング
- 端末操作
- make
- スクリプト言語
- バージョン管理システム
- ドキュメント
- パッケージと配布
付録
- 付録A.1. gccの主要コマンドラインオプション
- 付録A.2. 重要なシステム定義データ型
- 付録A.3. 練習問題の解答例
- 付録A.4. 参考文献