タグ kawasima
人気順 10 users 50 users 100 users 500 users 1000 usersデータ詰め替え戦略 - kawasima
このSpring Bootを使ったクリーンアーキテクチャの例は、データの詰め替え過剰にみえる。 https://www.baeldung.com/spring-boot-clean-architecture これだけのモデルと詰め替えが必要なのだろうか? 『Get Your Hands Dirty on Clean Architecture 』にこのマッピング戦略(詰め替え戦略)が書かれている No Mapping (レ... 続きを読む
古典ドメインモデリングパターンの解脱 - 大吉祥寺.pm - kawasima
2024年7月13日の大吉祥寺.pmで発表した「古典ドメインモデリング(パターン)の解脱」のスライドログです。 この2冊で書かれているドメインモデルパターンを「古典」の対象にします。 ドメインモデルパターンは「複雑さに対処するため」と述べています。が、古典では次の2点が課題となっていると考えます。 これら2点につ... 続きを読む
データベース設計におけるNULL - kawasima
3値論理の話は「3値論理 ―― 神のいない論理」が詳しい。 NULL絶対ダメ論や現実的には無理だから上手く付き合っていくしかないんだよ論など見られるが、せっかくCodd博士が上図の分類を提示しておられるので、これを元にもっと詳細化して考えてみよう。 ここで考えた全体のデシジョンツリーは以下のとおり。 ※ イミュータ... 続きを読む
ドメインモデルの完全性と純粋性 - kawasima
ドメインモデルには、完全性と純粋性、そしてアプリケーション性能の3つ全てを同時に満足させることは難しい場合があるという話。 https://enterprisecraftsmanship.com/posts/domain-model-purity-completeness/ 各評価軸とそれを満たすことによって得られるメリットの一般的な見方は以下のとおり。 完全性: ドメイン層... 続きを読む
なぜマイクロサービスは失敗するのか? - kawasima
Eberhard Wolffさんのこのプレゼンの要約です https://www.youtube.com/watch?v=B3O-qYM-Kkw 共通のデータモデル 共通のデータモデルを通信に使う 各サービスで必要となるデータの内部モデルは異なるかもしれない データモデルが、共通ライブラリと同じ意味合いになる すべてのサービスが、最新のライブラリを使わなくて... 続きを読む
モダンなソフトウェア設計の書籍 - kawasima
https://twitter.com/ScottWlaschin/status/1388856995462189063 のまとめ Growing Object-Oriented Software, Guided by Tests Practical Object-Oriented Design Programming DSLs in Kotlin The Joy of Kotlin Designing Elixir Systems With OTP Data-oriented design (Web上で読める) 関数型プログラミング寄り Ele... 続きを読む
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』 1. ソフトウェア開発における 『知の高速道路』 kawasima 吉祥寺 .pm #26 2. 知の高速道路 梅田望夫 英語で読む ・ IT トレンド (2004/12/06) 3. 将棋ソフトを使った研究手法 1. 自分の指した将棋を解析させてみる 2. コンピュータに課題局面から検討させてみる 3. 将棋ソフト... 続きを読む
レイヤードアーキテクチャ - kawasima
POSAでの定義 レイヤードアーキテクチャを、体系だって書いたのは「Pattern-Oriented Software Architecture, Volume 1, A System of Patterns」だろう。まずはその原典に立ち返って、レイヤードアーキテクチャとは何かをみてみる。 コンテキスト ソースコードの変更がシステム全体に波及させたくない。それが1つのコン... 続きを読む
Microservices分割大全 - kawasima
#WIP Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティ... 続きを読む
アーキテクチャ設計における垂直思考と水平思考 - kawasima
アーキテクチャを検討する上でArchitecture Decision Recordsを使って、検討の経緯も含めて文書化するとよい。 このADRをレビューするにあたっては、コンテキストのセクションもよくよく議論すべきで、意思決定が妥当かだけ見ても、「実はコンテキストに誤りやあやふやなところがありA案よりもB案の方が良かった…」みた... 続きを読む
イミュータブルデータモデル - kawasima
はじめに CRUDのうちUPDATEがもっともシステムを複雑化する。更新には複雑なルールが伴うからだ。業務的に複雑なルールが存在するのは仕方ないこともあるが、システム、設計で複雑さを更に増さないようにしたい。UPDATEに着目し、その発生をできるだけ削ることによって複雑さをおさえるためには、まずデータモデルをその... 続きを読む
ソフトウェアアーキテクチャを学ぶために - kawasima
どういう順で、どういう書籍をもとに勉強していけばよいかを書いていく。 なぜソフトウェアアーキテクチャが重要なのかを学ぶ クリーンアーキテクチャ 疎結合がなぜソフトウェア設計で重要なのか? 良いソフトウェア設計のためにやるべきことは何か? クリーンアーキテクチャそのものの話については飛ばして良い。 アーキ... 続きを読む
ロギングベストプラクティス - kawasima
#翻訳 #WIP https://www.scalyr.com/blog/the-10-commandments-of-logging/ CC BY 4.0 @Brice Figureau 1.自分でログの書き出しをしない printfをつかったり、ログエントリを自分でファイルに書き出したり、ログローテションを自分でやったりしてはいけない。運用担当者にお願いして、標準ライブラリやシステムAPIコール... 続きを読む
Excel方眼紙を支える技術2016 - Qiita
POIを使ったExcel帳票の出力は、システムエンジニアにとっては日常茶飯事、おちゃのこサイサイであります。 takezoen先生による2015年版はこちらになります。 ここで紹介されている、S式からExcel方眼紙を出力するライブラリaxebomber-cljは、こちらをご覧ください。 http://qiita.com/kawasima/items/60197799a7990c578263 特筆... 続きを読む
kawasima/jagrid · GitHub
受託プログラマの進路 〜アジャイルセールスと手塚モデル〜
受託プログラマの進路 〜アジャイルセールスと手塚モデル〜 - Presentation Transcript About me SIer Redmine TestLink https://github.com/kawasima/redmine_impasse/ 35 Software is Beautiful http://gihyo.jp/lifestyle/serial/01/software... 続きを読む