『ふつうのLinuxプログラミング 第2版』詳細目次
Updated: 2017-09-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 参考文献