2016年7月12日火曜日

【書籍】 Mike Gancarz 『UNIXという考え方』 オーム社 2001.2

(重要な考え方)
1.スモール・イズ・ビューティフル
testコマンド
2.一つのプログラムには一つのことをうまくやらせる
3.できるだけ早く試作する
 短い仕様書、ソフトを書く、テストして直す
4.効率性より移植性を優先する
 cal シェルスクリプト(unixプログラミング環境から)、cp(既存のファイルにうっかり上書きする事故を防ぐためのcpへのフロントエンド)、l ls-F, ll ls-l, mv(うっかり上書きを防ぐ)、vit vi-t
5.数値データはASCIIファイルに保存する
6.ソフトウェアを梃子として使う(プログラムの再利用)
よいプログラマはよいコードを書く。偉大なプログラマはよいコードを借りてくる。
自動化する
・ハードコピーは使わない、データのソートはツールで、ファイル一覧を作成、ファイルの内容の検索はソフトで、履歴機能、複数ウィンドウ、マウス、コマンドやファイルの補完機能
7.シェルスクリプトで梃子の効果と移植性を高める
システムユーザを書き出す
echo "who | awk '{print $1}' | sort | uniq " '|' sed ' s/ /, /g'
(注)"はバッククォート
現在実行しているコマンド名の表示 sh -x
事前grepし、インデックス作成 インデックスからは、ある文字列を含むファイルへのポイントが帰ってくる
8.過度の対話的インターフェイスを避ける
scan メールフォルダの内容一覧を書き出す
grep jack *.txt
9.すべてのプログラムをフィルタとして設計する
データ入力はstdin、データ出力はstdout、エラーメッセージや警告はstderr
(重要度の低い考え方)
1.好みに応じて自分で環境を調整できるようにする
2.オペレーティング・システムのカーネルを小さく軽くする
3.小文字を使い、短く
4.木を守る(紙のドキュメントを使わない)
5.沈黙は金
6.同時に考える(仕事を分割して、小さい仕事を同時に実行する)
7.部分の総和は全体よりも大きい(小さい部品の集めて大きなアプリケーションに)
8.90%の解を目指す
9.劣るほうが優れている(生き残るのは最大公約数的なシステム)
10.階層的に考える
■ 所 在   ★★☆☆☆
  8F007.6カ 市立

0 件のコメント: