タグ

考察とイミュータブルに関するsnjxのブックマーク (8)

  • データモデリング初学者がイミュータブルデータモデリングを実践してみて感じたこと - エニグモ開発者ブログ

    こんにちは、新卒エンジニアの川です。 BUYMAのサーバーサイドを中心に開発しています。 この記事はEnigmo Advent Calendar 2022の12日目の記事です。 データモデリングについて学習中で、DB設計の入門書を読んで論理設計について第1~5正規化といった内容を学習しましたが、いざ個人開発でデータモデリングしようとしたらどうしたらいいのかよくわからず、手を動かすことはできませんでした。 そんな状況の時にイミュータブルデータモデリングというモデリング手法について知ったことをきっかけけに、データモデリングがイメージしやすくなりました。 この記事ではイミュータブルデータモデリングを実践してみて感じたことを紹介できればと思います。 目次 データと情報の違い イミュータブルデータモデリングとは イミュータブルデータモデリングの手順 普段Railsで開発していて感じたこと イミュー

    データモデリング初学者がイミュータブルデータモデリングを実践してみて感じたこと - エニグモ開発者ブログ
  • イミュータブルデータモデルにおける "削除フラグ" の表現

    イミュータブルデータモデリング Q. イミュータブルデータモデリングについて教えてください。 A. 以下、ChatGPT の回答です。 イミュータブルデータモデリング(Immutable Data Modeling)は、データモデリングのアプローチの一つで、データを不変(変更不可)な形式で扱う方法です。このアプローチでは、データが一度生成されたら、その値を変更せず、新しいバージョンを作成することが一般的です。イミュータブルデータモデリングは、分散システム、バージョン管理、データの整合性、履歴のトラッキングなどのさまざまな領域で有用です。 以下は、イミュータブルデータモデリングの主要な特徴と利点です。 データの安定性と信頼性: データが不変であるため、一度データが記録されたら、それを変更することができないため、データの信頼性と安定性が向上します。これは、エラーやバグがデータを破損させる可能性

    イミュータブルデータモデルにおける "削除フラグ" の表現
  • イミュータブルデータモデリングについて

    どうもoreoです。 今回はWEB+DB PRESS Vol.130のイミュータブルデータモデル特集を読んだメモを記載します。主に自分用の記事ですが、データモデリングとは?どうやるの?といった方の参考になればと思います。 1 良いデータモデリングとは? 良いデータモデリングとは、モデリングの過程で考慮されていなかった要求の穴やエッジケースの発見につながるもの。データモデリングの質的価値は、作成時により深く業務要求を分析し、顧客やチームとの対話を生むこと。その為、データモデルはソフトウェアエンジニアだけでなく関係者全員の理解のために、そこに隠れた曖昧さや要求を洗い出し、議論するために使う。 2 イミュータブルデータモデルとは? モデルが複雑になる要因はデータの更新処理(CRUDのU)である。システムで扱う情報はモノ(リソース)とコト(イベント)に分類することができる。このイベントを極限まで

    イミュータブルデータモデリングについて
  • 実践イミュータブルデータモデル — NEWTポイント機能の設計

    こんにちは、バックエンドエンジニアの飯沼です。かんたんに海外ツアーを予約できるNEWT(ニュート)と、それを支える社内向けのツアー入稿・予約管理システムのバックエンド開発を担当しています。 先日、ツアーの旅行代金の5%分のポイントを還元する「NEWTポイント」をリリースしました。1ポイント=1円として次回の旅行予約で使えるおトクな機能となっておりますので、海外旅行をご検討の方はぜひご活用ください。ポイント機能の思想やサービスとしての設計についてはPMの藤沼の記事をご覧ください。

    実践イミュータブルデータモデル — NEWTポイント機能の設計
  • イミュータブルデータモデルへの取り組み with Ruby on Rails - リサーチ・アンド・イノベーション 開発者ブログ

    こんにちは。リサーチ・アンド・イノベーションの中村(konk303)と申します。 いわゆる「railsおじさん」的な立場で、主にサーバーサイドの開発をしています。 Introduction 稿ではQiitaのイミュータブルデータモデルと webアプリケーションにおける現実解にインスパイアされて、弊社でのイミュータブルデータへの取り組み(とその苦しみ)を紹介したいと思います。 qiita.com イミュータブルデータモデルとは? まるっと引用。 イミュータブルデータモデルと webアプリケーションにおける現実解 - Qiita 詳細はリンクに譲りますが、「履歴を全て残すようなデータ設計にし、 UPDATE を廃することで情報の追跡可能性を確保、堅牢な設計にする」モデリング手法です。 原則この手法に従うと、そうそう汚いモデルにはならないという優れもの(雑) です。イベントが起こる度に新規レコ

    イミュータブルデータモデルへの取り組み with Ruby on Rails - リサーチ・アンド・イノベーション 開発者ブログ
  • イミュータブルデータモデルと webアプリケーションにおける現実解 - Qiita

    これは第2のドワンゴ Advent Calendar 2017の5日目です 5日11時時点で2日担当の yonex がまだ記事書いてないですが、気にせず続けます。niconico(く)のリリースが来年と聞いて残念な気持ちです。 おめー誰よ? ドワンゴ Advent Calendar皆勤賞っぽいですが、私はドワンゴ社員ではありません。 定年をとうに過ぎたおじさんです。 前置き web アプリケーションの開発において、データモデリングはとても重要です。 SIerではDBAとか言って専門の設計担当がいるみたいですが、中小webサービス企業でそこまでの分業ができるわけもなく、大体においてwebアプリケーション(サーバサイド)エンジニアが担当することになります。 詳細はリンクに譲りますが、「履歴を全て残すようなデータ設計にし、 UPDATE を廃することで情報の追跡可能性を確保、堅牢な設計にする」モ

    イミュータブルデータモデルと webアプリケーションにおける現実解 - Qiita
  • イミュータブルデータモデル - kawasima

    CRUDのうちUPDATEがもっともシステムを複雑化する。更新には複雑なルールが伴うからだ。業務的に複雑なルールが存在するのは仕方ないこともあるが、システム、設計で複雑さを更に増さないようにしたい。UPDATEに着目し、その発生をできるだけ削ることによって複雑さをおさえるためには、まずデータモデルをそのように設計しておかなけれなならない。このイミュータブルデータモデルは、それを手助けする手法で、手順に沿って実施すればある程度のスキルのバラつきも吸収できるように組み立てられている。

    イミュータブルデータモデル - kawasima
  • ValueObjectという考え方 - Qiita

    以前、DDD(ドメイン駆動開発)を経験した流れでいくつかのことを学びました その中でDDDの神髄を垣間見たのでかいつまんで紹介できればと思います 記事のターゲット DDDを学び始めた人 値オブジェクト・ValueObjectとはなにか、その片鱗を知りたい人 Value Objectとは 値オブジェクトとしてエリック(青)では紹介していますね Value Objectの特徴 特徴として以下のような内容があります 一意性を持たない 計測/定量化/説明を責務とする イミュータブルオブジェクト 交換可能 ふるまいに副作用がない 一意性を持たない オブジェクト毎に hogehoge_id のような一意性を表現するプロパティを含まず、一意性がない特徴です 逆にIDを持つようなオブジェクトは「Entity」といいます この特徴の意味するところはオブジェクトをプリミティブライクに扱えることだと考えられ

    ValueObjectという考え方 - Qiita
  • 1