関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

プログラミングに関するozone188のブックマーク (3)

  • list_headの謎 - #include <fujita.h>

    通常のアプリケーションのプログラミングでは、OSや言語のライブラリの多大なサポートを受けながらコードを書いていく。それに対してOSカーネルのプログラミングでは頼れるのはハードウェアのサポートと、自分自身のコードのみである。というわけで、Linux kernelにはよく使う関数やデータ構造が用意されている。その1つにstruct list_head(include/linux/list.h)がある。 名前を見るだけでリンクリストとわかる。実際汎用リンクリストのためのデータ構造で、操作のための関数群とともに定義されている。ところでこのlist_headという構造体、メンバがstruct list_head *prev, *nextの2つだけなのだ。格納すべきデータはどこに入っているのだろう? 例えばC++なら、list_head<task_struct>のようにtemplate引数として型を指

    list_headの謎 - #include &lt;fujita.h&gt;
    ozone188
    ozone188 2005/10/17
    Cのoffsetofを利用して、構造体の中にリンクノードを埋め込むマクロ
  • 業務単位は「疎結合」されている - 設計者の発言

    業務のあり方には「ロジックで制御される性質」と「イベントで駆動される性質」とが混在している。しかしこれらは業務の記述を階層化することで、別個の性質として取り扱える。階層化せずに記述すれば、それらの性質が渾然一体となってわかりにくくなるか、職場の実態を表さないものになってしまう。 ◆ロジック制御とイベントドリブン 朝起きて顔を洗う。それを「眠りにつく」に後続する活動と考えれば、「活動が実施される順序」を表す矢印を用いて次のように表記できる。何も問題はなさそうだ。 眠りにつく → 起きて顔を洗う では、業務システムに含まれる活動として、「受注」と「出荷」を例にして同様のことを考えてみる。「受注してから出荷する」と言って間違いではないので、次のように表記できそうに思える。 受注する → 出荷する しかし、現実にはほとんどの受注・出荷活動はこのような「ロジック」で制御されているわけではない。誰かが

    業務単位は「疎結合」されている - 設計者の発言
    ozone188
    ozone188 2005/10/17
    イベントドリブン業務はDFDで書け
  • 何とかしませう。: ハンガリー記法。その真実。

    Radium Software Development (http/www.radiumsoftware.com) さんの記事より。 http://www.radiumsoftware.com/hungarian_notation.html プログラムのコーディング規約に、ハンガリー(ハンガリアン)記法というものがあります。  よく知らない人は、これに関する(私が知る限り)最も簡潔で分かりやすい説明が (C言語FAQ:17章 スタイル)の17.8の項に載っているので、 まずは、それを参照してください。 さて、お題のハンガリー記法についてなのですが、C言語FAQの説明を見ると分かるように、 プログラマーの間では、評判はあまりよろしくありません。 これは、「変数の型を、変数名に付加することにあまり意味がない。」 ということのほかに、以下の理由があると思います。 ・C言語の時はまだ良かったが、J

    ozone188
    ozone188 2005/09/30
    >オリジナルのハンガリー記法は、全く別のもの
  • 1