タグ

設計に関するkochizufanのブックマーク (3)

  • 分散キューという名の苦しみ - Software Transactional Memo

    TL;DR 分散システムにおいてキューを導入する場合、当にキューが必要なのか再考すべき。そこが地獄の入り口だから。 システムの抽象 コンピュータの世界は、来は0と1の信号の羅列が飛び交う無機質なものである。でも人類は信号だけですべてを語らず、様々な喩えを定義してきた。それはデスクトップ・ウィンドウ・マウスカーソルといったグラフィカルな表現に留まらず、パケットやカプセル化といった用語にロック・キュー・リスト・木などのアルゴリズムやデータ構造の世界にも自然に溶け込んでいる。これらはすべて人間の理解を助けるための喩え話に過ぎず、この喩えこそが人間のより直感的な理解をもたらす一方で、発想の制約を生み出してきた。 人間が大きなシステムを作るときも何らかの喩えを用いてシステム全体を整理する。アーキテクチャの「ポンチ絵」を描いて情報共有をするのは企業に勤めていれば経験した人も多いだろう。パワーポイン

    分散キューという名の苦しみ - Software Transactional Memo
  • ラフな描画にも対応したJavaScript製のシーケンス図描画ライブラリ·JS Sequence Diagrams MOONGIFT

    JS Sequence DiagramsはJavaScriptを使ってUMLのシーケンス図を描画するライブラリです。 システムの仕様書を書くためのモデリング言語として知られているのがUMLです。思ったよりも普及しませんでしたが、仕様書の冗長的な文章よりも図の方が分かりやすいケースも多いです。今回はJavaScriptを使って描くシーケンス図ライブラリ、JS Sequence Diagramsを紹介します。 この手書きの乱雑さがいい感じです。 正確な描画もできます。 まさにシーケンス図です。 ノートをつけたり、全く関連し合わない図も書けます。 秀逸なのはやはり手書き風の乱雑な描画ができることではないでしょうか。正確に書くと分かりやすくなる反面、ちょっとしたミスも許されない感じになりますので、ちょっとくらいラフな方が開発もしやすいのではないでしょうか。シンプルな記法からシーケンス図が作れるのは

    ラフな描画にも対応したJavaScript製のシーケンス図描画ライブラリ·JS Sequence Diagrams MOONGIFT
  • 8ビット時代のグラフィックについて::Colorful Pieces of Game

    twitterで、X1やSMC-777などのVRAMがI/Oポートの先にある設計をおかしいハードだと書かれていたので「あー、今の目で見るとわからんか」と思うと同時に、それがゼンゼンおかしいどころでなく、とてもリーズナブルな設計の一つであったのだ、という話をここに書いておこうと、突然思ったので書く。 まず、当時のパソコンでとても主流だったグラフィックスを解説すると640x200。 RGB1ビットずつのデジタル8色。縦横8で割るとわかるが80x25。つまり当時のキャラクタ画面のドットに1:1対応するグラフィクスだ。 これRGB、それぞれのプレーンのサイズをKBで表すと16KB。 今から見ればカスのようなサイズだけど、アドレスバスが16ビットしかない8ビットマシンでは大問題になる。 アドレスバスが16ビットってことは、64KBが直接アクセス可能なメモリ量ってことになる。ここに16KB*3のプレー

    kochizufan
    kochizufan 2013/03/28
    その時代その時代の制約による設計があるわけで。
  • 1