タグ

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

  • イミュータブルデータモデル - kawasima

    はじめに CRUDのうちUPDATEがもっともシステムを複雑化する。更新には複雑なルールが伴うからだ。業務的に複雑なルールが存在するのは仕方ないこともあるが、システム、設計で複雑さを更に増さないようにしたい。UPDATEに着目し、その発生をできるだけ削ることによって複雑さをおさえるためには、まずデータモデルをそのように設計しておかなけれなならない。このイミュータブルデータモデルは、それを手助けする手法で、手順に沿って実施すればある程度のスキルのバラつきも吸収できるように組み立てられている。 手順 Step1. エンティティを抽出する まずエンティティを抽出するところから始める。 5W1Hがエンティティの候補 従業員,患者,プレイヤー,顧客,生徒,... 製品,サービス,コース,曲,... 時間,日付,月,年,年度,... 送付先,URL,IPアドレス,... 注文,返品,入金,出金,取引,

    イミュータブルデータモデル - kawasima
  • 図解 システム化とアドリブのよい使い分けとは?|深津 貴之 (fladdict)

    世の中をみると、官僚的なシステム化と現場主導のアドリブ、二つの世界観に二分されがちです。当は両者の中間がベストなのに、どうしても片側に寄ってしまうようです。 偏る原因は、おそらく両方が得意な人が少ないため。 このためシステムとアドリブの住み分け、バランスの取り方を人に説明するのは難しいものです。僕も長く悩んでいましたが、最近、ようやく頭の中でメンタルモデル化できました。 岩として考えるシステムとアドリブの特性は、以下のようにモデル化できます。システムは大きな岩。アドリブは多くの小石。 システム化:単一の大きな岩 アドリブ化:大量の小石 システムの考え方平地にドンと置かれた大岩が安定するように、システム化は地盤がしっかりした環境で力を発揮します。また大きな問題をざっくり埋めるような、手っ取り早く80点をとるような場合にも便利です。 一方、大岩を坂道のような不安定な足場に置くと、とても危険で

    図解 システム化とアドリブのよい使い分けとは?|深津 貴之 (fladdict)
  • 目指せ!落ちない高可用性サーバ、ハードウェアの選び方 - Qiita

    10年以上金融機関で働いているインフラエンジニアの落ちないサーバにするための考察です。 ハードウェアの専門家ではないので、正確ではないかもしれません。 今までの経験からの個人的考え方になります。 私たちオンプレ重視のインフラエンジニアは、 クラウドサービスではできない高可用性サーバを導入したり、 複数台構成で1台故障しても問題ない構成のサーバはコスト重視するなど、 システムに最適なサーバを導入しようとしています。 高可用性サーバを追求する目的 ■アプリに影響を与えないように Active/Standby構成にしていて、インフラ的にはダウンタイムが数秒だとしても、 アプリによっては復旧に時間がかかったり、問題ないことの確認にも時間がかかってしまいます。 また、正しくサーバが落ちればアプリが問題ないとしても、 サーバが中途半端な状態のままになってしまい、なんだかおかしいということもあります。

    目指せ!落ちない高可用性サーバ、ハードウェアの選び方 - Qiita
  • 1