Hatena::ブログ(Diary)

今日の役に立たない一言 − Today’s Trifle! −

HOME
"さわださとし Hub page"はこちら
"satoshi's OO and Java" の HOME はこちら
"satoshi's 父子家庭日記"はこちら
"satoshi's Michelin"はこちら
"satoshi's 飲んだくれ日記"はこちら
"satoshi's check it!"はこちら
"satoshi's Punk Music"はこちら
簡単! Joomla!でサイトを作ろうNew!
0000 | 00 |
2003 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 | 12 |
2008 | 01 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 09 | 10 | 11 | 12 |
2011 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 |
カテゴリ一覧: OO /Java /PHP /XP /SWE /net /Web /Browser /Unix /Linux /Windows /Joomla
Science /DB /Tech /Book /English /Car /Law /sake /foods /misc
 

2005-05-10

[]自宅のパソコンがぁぁぁ 自宅のパソコンがぁぁぁを含むブックマーク

昨日、家に帰ってパソコンの電源を入れると Windows が起動する途中でリセットがかかってしまう現象を繰り返すようになっていた。会社のサーバだけじゃなくて家のまでかよ!

セーフモード再起動するとうまく起動することもあるし、セーフモードでも起動途中でリセットがかかることがある。別のハードディスクに付け替えたり WindowsCD を入れて再インストールしようとしたけど、どれもまったく違うタイミングリセットがかかる。どうもハードディスクの問題ではなくて、マザーボードか何かの拡張ボードに問題がありそうな雰囲気。

[]Firefoxに「極めて重大」な2件の脆弱性 Firefoxに「極めて重大」な2件の脆弱性を含むブックマーク

最近は GMailOpera で読めるようになったので、FireFox をまったく使わなくなっている。

これら脆弱性を悪用するには、FirefoxWebサイトからソフトをインストールできるように設定されている必要がある(デフォルトではupdate.mozilla.orgおよびaddons.mozilla.orgダウンロードサイトに設定されている)。

(略)

Secuniaは対処策としてJavaScriptを無効にすることを勧めているが、mozillaZineはWebサイトからのソフトインストールを無効にするだけでこの問題を解決できるとしている。

Webサイトから直接インストールなんて滅多に使うことがないから、とりあえず久しぶりに FireFox を起動して、ソフトインストールを無効に設定しといた。設定は以下の手順。

1. メニューで[ツール]-[オプション]を選択する。
2. 画面左の「Web 機能」を選択する。
3. 「Web サイトによるソフトウェアインストールを許可する」のチェックをはずす。
4. OKする。

[]Blogを学習ノートに、RSSを連絡帳にするシステム Blogを学習ノートに、RSSを連絡帳にするシステムを含むブックマーク

既存の技術も、ちょっとしたアイディアで大きなビジネスになるってののいい例だねぇ。

きっとビジネスモデル特許とかで既に市場を押さえちゃってるんだろうな。

[][]構造化手法とオブジェクト指向 構造化手法とオブジェクト指向を含むブックマーク

オブジェクト指向レス開発 via PM見習いの読書日記

まずコメントする前に、個人的には業務系システムの経験は皆無だということを断っておく。

内容的にはソフトウェア開発全般を考慮して書いているので、特に業務系だとかは意識してないが、的外れな点があったら、コメントでご指摘ください。

さて本題。

基本的に構造化手法で物事を考えるのです。構造化では解決できないものについて、オブジェクト指向を導入します。オブジェクト指向だけでは解決できないものについて、仕方がないのでデザインパターン適用を考えます。

基本的に構造化手法で考えるのには同意。でも、構造化で解決できないものにオブジェクト指向を導入するのではなく、構造化手法にオブジェクト指向の考え方を組み合わせることでよりよい設計を考える、というのが適切だ。

そもそもオブジェクト指向というのは構造化手法とはまったく別のものではなく、オブジェクト指向は構造化手法を包含している。構造化手法とは何かというを思い出してみよう。構造化手法とは、以下の4つのアプローチからプログラムを構築することだ。

  • 順番に処理を記述するシーケンス
  • 分岐条件を記述する制御構文
  • 反復処理を記述する反復構文
  • 階層的に機能の木構造を作る詳細化

見れば分かるとおり、この4つのアプローチはオブジェクト指向にも含まれていることは明らかだ。

オブジェクト指向はこれらのアプローチに加え、クラスインスタンス概念や、継承と多態といった考え方を新たに導入した。アプローチが増えたということは、よりよいプログラムを構築するための選択肢が増えたのだから、歓迎すべきである。

引用する箇所が前後するが、ここにもコメントしておく。

そして 規模が大きければ大きいほど、重要度の相関関係が指数的なものになり 構造化の重要度は ますます向上します。

「規模が大きければ大きいほど」という話であれば、オブジェクト指向的にはアーキテクチャパターンの適用を検討すべきではないかと思う。システムをサブシステムに分割する場合を考えてみよう。構造化手法では機能的側面にのみ着目してサブシステムへの分割を検討する。それに対して、オブジェクト指向では、例えばオブジェクト(サブシステム)の責務といった、機能的側面とは異なる点にも着目できる分だけアプローチの仕方が増えている。

「構造化の重要度は ますます向上」と書かれているが、オブジェクト指向の新しい考え方ばかりに目を奪われて、もともとのアプローチだった構造化手法の考え方で分析するのを忘れているのが問題なのだ。

世間では、オブジェクト指向で導入された新しいアプローチは良くて、構造化手法にもあった歴史のあるアプローチは悪だとでも認識されているのだろうか?

さて、さらに前の部分を引用する。

「失敗オブジェクト指向」にしてしまわない近道の一つは、「構造化」の導入であると私は確信しています。というか、そもそもオブジェクト指向においても 「構造化」にまつわる概念存在しているのですが、多くの文献や記事においては 「構造化手法」の側面は かなり薄っぺらくしか扱われていないように考えます。

現実はそのとおりだと思う。なぜなら、オブジェクト指向の文献や記事を書く人たちの頭の中では、構造化手法はすでに暗黙知として組み込まれているのである。今さら言うまでもないが、構造化手法を理解することは、ソフトウェア開発者常識だ。構造化手法を知らずにオブジェクト指向を理解しようというのは、基礎を身に付けないまま高等テクニックに挑戦しようとしているようなものだ。

構造化手法の時代からある機能的な詳細化は、多くの局面でほぼ正しいやり方であることは間違いない。しかし機能的詳細化だけだと、分類しにくい部分がどうしても発生してくる。それを解決してくれるのがオブジェクト指向だ。

例えば、ある機能と別の機能を接続するための部分は、どちらの機能に入れるべきか迷いやすい点だ。オブジェクト指向的に考えれば、単純に接続するのを目的とした Observer や Adapter であったり、または異なる機能に共通する抽象であったりする。

オブジェクト指向は、構造化手法での詳細化では設計しにくかった部分に対して明確な分析を与えてくれる。構造化手法の考え方では結合をなくせなかった部分を完全に切り離してくれる。オブジェクトに責務を与えることによって、責任範囲と依存関係を明確にしてくれる。

オブジェクト指向で新たに導入されたアプローチを利用しなくてもそれなりの設計は可能である。でも、よりよい設計をするためにはオブジェクト指向で導入されたアプローチは必須である。利用しないとか利用させないというのは、よりよい設計を放棄しているのに他ならない。

amapyonamapyon 2005/05/11 00:20 「代弁ありがとうございます」ってくらい、強く同意です。

satoshissatoshis 2005/05/12 10:09 はぶ日記 http://d.hatena.ne.jp/habuakihiro/20050511/1115792865 で「ところで、構造化プログラミングとSA/SD(構造化技法)って違うんじゃないの?」と書かれているのはこの文章に対する指摘だと思います。たしかにごっちゃになってますね。構造化手法の4つのアプローチとして挙げているのは、構造化プログラミングの4つのアプローチでした。書き直すのも手間だし主旨は変わらないので放置します。(^^;

トラックバック - http://d.hatena.ne.jp/satoshis/20050510


10000番ポートがブロックされている環境ではこちらのカウンターは表示されません2004/02/29に値が壊れたすごいカウンター
←はてなカウンター