2018-01-01から1年間の記事一覧

結合の種類と結合度

先日に発見したモジュールの結合の定義を自身でも気に入ったので、よく知られている結合の種類をこの定義に当てはめてみようと思います。 Coupling (computer programming) - Wikipedia モジュールの結合にはいくつかの種類がありまして、以下のものが知られ…

モジュールの分割点

アーキテクチャの問題とは、システムをどこで分割 (decomposition) するかという問題と言い換えてよいでしょう。分割するのは、魚を捌くのと同じようなもので、包丁を入れるべき場所というのがあります。 分割するというからには、切り分けるサイズがありま…

メソッドは関数ではないのだが

Clean Architecture を読んでいて、クラスおよびメソッドのことを、関数あるいはサブルーチンの一種としているような記述があって、やや気に障りました。 具体的には、単一責任原則の説明のところでして、 上の絵のように Employee というクラスにいろんな機…

疎結合の正体見たり

モジュールが疎結合になっているとか密結合になっているとか、業界にいますとよく聞きます。モジュール間の結合度の定義を発見したのでメモしておきます。 モジュール の モジュール に対する結合度 は以下の式で定義できます。 ここで、 は が に対して持つ…

ビジネス向けの製品は嫌い

ビジネス向けやエンタープライズ向けといって売られている製品に、会社員をしていますとよく出会います。特に IT ベンダーはこれらの言葉を好んで使います。しかし、私はそういったビジネス向けの製品を好ましく思っていません。 ビジネス向けと特別に言わな…

シェルスクリプトのキモいところ

シェルスクリプトのインタプリタを作ろうかと、シェルスクリプトの仕様を調べています。気持ちの悪い仕様をいくつか見つけました。仕様書*1を見ながら、dash で試しました。 丸括弧と波括弧のふるまいが違う。 丸括弧はサブシェル、波括弧はコマンドのグルー…

ケリー基準

ケリー基準という、賭けに投じるべき額の総資金に対する割合を与える式があります。次のような問題があったとしましょう: 賭けに勝つと掛け金の r 倍が利益になる。賭けに負けると掛け金分が損失となる。賭けに勝つ確率は p である。総資金の一定の割合 f …

マネージャをマネジメントする。

マネージャと呼ばれる職種の人はどこの組織にもいます。いわゆる中間管理職の人々です。個人の人格は別にして、彼らには組織上の機能の要請から、共通の行動原理があります。マネージャは例外なくこの行動原理にしたがって動きます。特に優秀なマネージャで…

接点 t を見つける

現実はおそらく一つなのだろうけれども、どの断面で切り取るかによって見え方は全く異なるものになります。人の知性では世界をそのまま認識することはできず、何かしらのフィルターを通して世界を見て解釈します。フィルターとはフレームワークやパラダイム…

愚者は経験に学び、賢者は歴史に学ぶ

経験とはそう大切なものなのだろうか。 何かをするにあたって、経験が全くないよりは豊富に経験があった方が上手くできるでしょうし、年の功が役に立つことはあります。役に立つとは問題を解決するのに有効かどうかということです。問題を解くことに効果があ…

社員は大事にされなきゃ貢献もしない

4月――どこからともなく新入社員が会社に入ってきます。私も会社員をしている時間がずいぶん長くなってしまい、彼らを指導する立場になってしまいました。会社員をやっているものの、私は会社組織というものがあまり好きではないのだが、彼らには会社組織に愛…

実装に依存するな、仕様に依存しろ

仕様とはわかりくい概念です。辞書には次のようにあります: 製品や注文にあたって、あらかじめ定める仕上がり品の構造やデザイン。 仕様は発注者が定めて、受注者がそれに従うもののようです。仕様書を固めて、そのとおりに製造し、仕様書と照らし合せて完…

社会は素人ばっかりだ

社会に関する驚くべき事実の一つが、ほとんど全ての人が労働をして給与所得を得ていることです。大体の人は働かないと文化的な生活が維持できないので、何かしらの職業についています。当たり前のことではあるが、よくよく考えてみるとすごいことです。こん…

設計は名前のことだけ考えろ

ドゥルーズという学者は 哲学とは概念を創造することだ と述べていますが、現代で「概念の創造」という仕事を最も行っている職種は哲学者ではなくてプログラマでしょう。辞書を引くとコンピュータ用語が多く出てきます。それだけ新しい概念が作られたという…

パッケージングと付加価値

安く買って高く売るは、商売の基本です。世の中には仲介業者というのが大勢いて、(ちゃんと調べたことはないですが)労働者のかなりの割合が仲介業をしていると思われます。 しかし、今や21世紀であって、これだけ IT 化が進んできますと、ただ右から左にも…