たなかこういちの開発ノート

システム開発に携わる筆者が、あれこれアウトプットするブログ

"CRUD is dead"(死んだのは"U"と"D")と「RethinkDB」、もしくはAuroraの周辺話し

ときどき参加させていただいている「Scala勉強会」にて、OE氏(@OE_uia)より、ScalaDays 2015 in San Franciscoのレポートがありました。いろいろ話はあったわけですが、その中でひとつ気になったフレーズがありました。それは、 "CRUD is dead" です。 調べ…

マルレク講義ノート:Amazon Auroraについて

2015年3月24日に開催されたマルレクの講義ノートです。マルレク開催概要と講演資料は下記にて。 マルレク 第六回「Amazonのクラウド・データベースAurora」 開催概要:http://kokucheese.com/s/event/index/271242/ 講演資料:https://drive.google.com/file…

CAP定理とBASEトランザクション(丸山先生の講義より)、そしてMicroservice、最後に「酸と塩基」

もはや3、4年前ですが丸山先生よりCAP定理やBASEトランザクションの講義をうかがう機会がありました。今回改めてまとめてみました。 <参考資料> 丸山不二夫、「Cloudの技術的特徴について」:http://qcontokyo.com/tokyo-2009/pdf/GeneralSession-Day2-Mar…

Graph DBの使い所

結局のところGraph DBはどういった場面によく適用できるのでしょうか?オブジェクト指向の言葉で、 RDBと対比しながら考察してみました。 * RDBの広域構造と局所構造は次のように理解できます。 広域構造の特徴 テーブルはクラスの存在を、テーブルに格納さ…

エラーケースのパターン分類〔実装編〕

(※〔概念編〕からの続きです。) 各Condition=終了ケースをどのよう実装できるか、具体的な(主にJavaによる)実装パターンをまとめました。 Condition 終了ケース Log4j Log Level Java例外 実装例 トランザクション HTTP Status Code (Web API) GREEN 成…

エラーケースのパターン分類〔概念編〕(3/3)

(※前回からの続きです。) ■ 「Condition」の定義 五つの終了ケース類型を改めて下にまとめます。それぞれにイメージカラーを付けています。(※さながらトリアージュの優先度分類風。)筆者はこのカラー表現を「Condition」と称することとしています。 Cond…

エラーケースのパターン分類〔概念編〕(2/3)

(※前回からの続きです。) ■ 「失敗終了」をさらに二つに分類する 「失敗終了」は、その要因に基づいてさらに下記の二つに分類します。 - 機能要件に係るもの - 非機能要件に係るもの 「失敗終了」は、処理呼び出し側が呼び出し時の“契約”を守らなかったこ…

エラーケースのパターン分類〔概念編〕(1/3)

一般にエラーケースあるいは“例外系”などと称される処理の終了ケースを整理し、類型化してみました。なお、ここでいう「処理」とはおおよそ「業務ロジック」のことです。 ■ エラーケースの基礎的な分類 まず、処理(業務ロジック)が、機能要件として期待さ…

フロントエンド・アプリはシナリオとナビゲーションを、バックエンド・サービスはドメインとプロセスを

フロントエンド・アプリ−バックエンド・サービスというアーキテクチャーを採用するとして、具体的に両者の役割分担をどのように線引きすればよいでしょうか。 一つの結論として下記のように考えることができるでしょう。 システムの利用シナリオをよく支援し…

iPhone 6 Plus、所感

iPhone 6+を横に持ってみて想起したのは、HP200LXだ。 HP200LXは、10数行程度のディスプレイサイズを確保し、PC/AT&MS-DOSでできることは全てできる最小サイズだった。あの小ささの中に、デスクトップPC同等の機能性が盛り込まれているという、それが携帯で…