by shigemk2

当面は技術的なことしか書かない

2014-08-31から1日間の記事一覧

AOSA 4 その3 ライブラリインターフェイス層 #read_aosa

Berkeley DB - Wikipedia 設計講座 変数やメソッドや関数の名前の付け方、コメントの書き方、そしてコードの書き方については「良い書き方」が存在するが、それより大切なのは命名規約やコーディングスタイルの一貫性を保つことである ソフトウェアアーキテ…

AOSA 4 その2 アクセスメソッド #read_aosa

アプリケーション組み込み型のデータベースライブラリ Berkeley DB - Wikipedia Berkeley DBには4つのアクセスメソッドがある 名前 内容 Btree 可変長のキー/バリューペアに対応 キーの参照の局所性を提供する Hash 可変長のキー/バリューペアに対応 キーの…

AOSA 4 Berkeley DB その1 #read_aosa

Oracle資料 http://www.oracle.com/technetwork/jp/ondemand/db-new/ord-seminar-bdb-v1-20101027-251331-ja.pdf Berkeley DBの5つの特徴 • 組み込みに適した小型データベース • KVS型のAPIとSQLの2種類のAPIをサポート • オープンソース • 各種プラットフォ…

AOSA 3 The Bourne-Again Shell その7 #read_aosa

bashの開発で学んだこと ChangeLogを詳しく書く(そのとき変更したことを後から思い出せる) 回帰テストをプロジェクトの立ち上げ時から組み込んでおくべき(非対話的な処理はすべてカバーしている) 標準規格は重要。ソフトウェアの標準化作業も重要(さまざま…

AOSA 3 The Bourne-Again Shell その6 #read_aosa

コマンドの実行その2 単純なコマンドの実行 シェルの変数への代入(つまり、var=value形式の単語)は、それ自身が単純なコマンドの一種 指定したコマンド名がシェルの関数や組み込みコマンドにないものであった場合、bashはファイルシステムから、その名前の…

AOSA 3 The Bourne-Again Shell その5 #read_aosa

コマンドの実行その1 bashの内部パイプラインにおけるコマンド実行ステージは、実際のアクションが発生する場所である コマンド名の部分が読み込んで実行するファイルとなり、残りの単語はargvの残りの要素となる(ls -al hogeでいうと、lsがコマンドで、-al…

AOSA 3 The Bourne-Again Shell その4 #read_aosa

パースが終わったら、実行の前に、パース段階で生成された単語の多くを展開することになる。つまり、(たとえば)$OSTYPEを文字列"linux-gnu"に置き換えたりするような処理だ 変数は、わずかな例外を除いて文字列として扱われる(型付けが存在しない) シンタ…

AOSA 3 The Bourne-Again Shell その3 #read_aosa

パース パースエンジンが最初にする仕事は字句解析、つまり文字のストリームを単語に区切ってそれに意味を与えるということだ エイリアスは完全な単語なので、エイリアスを使えば文法をも変えられる エスケープを使えば特殊な意味をもたせることもできる 字…

AOSA 3 The Bourne-Again Shell その2 #read_aosa

入力の処理 入力処理は行単位で行われる コマンドラインの編集はreadlineライブラリを使って行われる キーシーケンス(カーソル移動や行削除などのキーバインド) マクロ Readlineの構造 ループで構成されている 管理する文字バッファや文字列はCのcharだけ…

AOSA 3 The Bourne-Again Shell その1 #read_aosa

AOSA 3 The Bourne-Again Shell その1 #read_aosa プリミティブ bash 3つのトークン 予約語(while) 演算子(=) 単語(それ以外) 変数およびパラメータ 変数の値は文字列 何も代入されていない変数はunset扱い $で始まる単語は変数あるいはパラメータへの参照…