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

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

「犬と猫の話」のまとめから得られた、OOPに関する課題感のメモ

先日、OO論でTLが盛り上がったので、可能な範囲でまとめた。 "犬と猫の話(または、オブジェクト指向とか型とか型クラスとかの話)": https://togetter.com/li/1462076 まとめを読んで、いくつか課題感を整理できそうだったので、メモっておく。なお、本記事…

「青銀行の勘定系をFirebase前提で構築できるか?」

Firebaseについて、事前知識 Firebaseとは、以下のような機能群を「Serverless」の文脈でバンドルしたものである。「Serverless」として、これらの統合管理コンソールの出来栄えが秀逸。 - Firestore ... Document-oriented KVS - Cloud Functions ... AWSの…

「2025年問題」についてまとめ

2025年問題とは? 一つは、SAPの旧世代ERPのサポート期限が2025年である、という問題。 - "SAPサポート期限「2025年問題」とは?", リアルテック社ブログ, 2018/11/28: https://www.realtech.jp/blog/sap-problem-of-eos-by-2025 *「SAP 2025年問題」のアウ…

そのプログラミング言語、Simpleですか?Easyですか?

ScalaMatsuri 2019 Unconference Day 16時からC会場で開かれました「From Go To Scala Easy vs Simple」セッションを受けて、自分としてのまとめを記します。 ※当日のツイートまとめました。→ https://togetter.com/li/1371467 ◇ まず、私はかつてDSLを作ろ…

「アパレル業界における廃棄在庫問題」

6月6日に開催された、下記講演会に参加してきました。 「ファッションとサスティナブル」〜これからのアパレル企業が目指すもの〜 https://senken.co.jp/posts/ots-fashion-sustainable ◇ ■ 事前知識 〜 アパレル業界における廃棄在庫問題 アパレル業界では…

アットウェア社@WeWork訪問

アットウェア社代表の牧野氏とは「よこはまクラウド勉強会」などを通して交流させていただいております。そのアットウェア社がWeWorkみなとみらいに入居しました。 アットウェア社: https://www.atware.co.jp/ 私の勤務先でありますMonopos社でもちょうどオ…

「伝票指向アーキテクチャー」を知っていますか?

(※この記事は2015年に書いてて放置してたのですが、今さら公開してみます。) 浅海智晴氏のRelaxer、そして「伝票指向アーキテクチャー」を覚えているでしょうか?知っているでしょうか?氏のブログを読ませていただいてる間に下記記事のことを思い出しまし…

落合陽一著、「デジタルネイチャー」を読んで

本記事は、落合陽一氏著「デジタルネイチャー」の読解メモである。 ・ 落合陽一氏および/または著書「デジタルネイチャー」をどのように評したとしても、全て氏の手中にあるように感じる。一方これだけの書を読みつつ、たとえ理解が部分的であったとしても…

J. Coplien氏による「Lean Architecture / DCI Evening」に参加してきました

J. Coplien氏、および奥様のGertrud Bjørnvig氏による、こちらの講演に参加してきました。PHPメンターズの久保氏、杉本氏他の皆様は、以前よりCoplien氏と交流(※ぃぇ、こ←れだけじゃないですが。。)があって、機会あって今回の開催に至ったとのことです。 …

DSLは“超高級言語”(DSLなどについて整理するメモ、その2)

以前の記事で、DSL(Domain Specific Language)の仕組みの在り方のバリエーションを整理してみた。今回は、DSLの成立過程についての私の見立てを記す。なお、本記事中で単に「DSL」と云った場合、「外部DSL」を意味する。 ◇ プログラミング言語高級化の流れ…

Intentional ProgrammingとIntentional Software社についてメモ

(この記事執筆時点からだいぶ前になるが、)PHPメンターズな方面の方々のツイート等を見ていて、「Intentional Programming」なる用語を知った。 Wikipedia, "Intentional Programming": https://en.wikipedia.org/wiki/Intentional_programming Wikipedia…

スターバックス社エンジニアリング・ディレクター Jamie Allen氏の講演備忘録、およびつらつら思うこと(および現金払いだと"One More Coffee"が150円になる話)

過日、株式会社セプテーニ・オリジナルさま主催の「新宿 Geek Lounge#2 Scala Meetup」に参加いたしました。 元Typesafe/Lightbend社Akkaエンジニア、現スターバックス社でディレクターをされているJamie Allen氏が、日本向けRewards Program(ある種のポイ…

データ制約に統一され得る、型、契約、バリデーション

◆まとめ◆ プログラミング言語では「型」がドメインモデルを表現する重要ツールである。一方、モデリング観点からはデータ値に対する制約こそがある意味本質で、(主にNominal Subtypingが想定されるところの)型も制約の一手段なのだと気付く。 制約一般を型…

國分功一郎著、「中動態の世界 意思と責任の考古学」を読んでみた

「中動態の世界 意思と責任の考古学」、 國分功一郎著、医学書院 「おすすめ本」紹介サイトHONZで紹介されていた同書に興味を持って読んでみた。 〜・〜 現代の印欧語は、能動態-受動態のパースペクティブに支配されている。ところが古代ギリシャ以前には、…

サロゲート単独主キー vs 複合主キー問題、復習編

こちらの会に参加いたしました。 「単独主キー主義」の是非を問う<超高速開発コミュニティ&第57回IT勉強宴会in東京> ※“予習編”の記事もご覧ください。 ◇ 懇親会含め活発に意見交換がなされ、いわゆる“学びしかなかった”会となりました。 このテーマ立ては…

サロゲート単独主キー vs 複合主キーの話、予習編

6月28日開催の下記のイベントに参加させていただく予定です。 「単独主キー主義」の是非を問う<超高速開発コミュニティ&第57回IT勉強宴会in東京> * 開催の経緯としては、まずは、渡辺幸三氏の以下の記事があって、 「単独主キー専用環境」と賢くつきあう…

DDDと目的-目標-手段に関するポエム^H^H^Hエッセイ

DDD

DDDは、カオスの辺縁を追求するような作業であって、「明らかに誤り」というのはわかっても、「十分に成功した」かどうかは常にわかりにくいのだと思う。 DDDの実践は実際には古くて、自分の観測範囲としては、2000年ごろには、オブジェクト指向の行き着く先…

境界付けられたコンテキストの階層的認識について

要約 境界付けられたコンテキストは、次のように階層的に認識すべきだろう。 (1) 複数のステークホルダー同士が一式の業務用語セットを共有している範囲としてのコンテキスト *一般に複数のサブドメイン横断的である。 (2) (1)のコンテキストと、サブドメイ…

モデル駆動、DSL、自動生成、などについて整理するメモ、その1

モデル駆動の実現方式には、「内部DSL式」か「外部DSL式」かの選択と、「インタープリター式」か「コンパイラー式」かの選択があると考える。 内部DSL 「内部DSL式」では、ホストとなるプログラミング言語と同じレベルでモデル記述する。Javaだったらアノー…

参照系と更新系の非対称性について、追補

以前の記事を補足、あるいは主張を一部修正するものです。 〜・〜 サブジェクト指向とは? ある要求仕様のセットがあったとき、そこに仕様変更のライフサイクルに違いのあるサブセットが認められるならば、それらは、同一のデータ資源(=オブジェクト)に関…

「DDD座談会」に参加してきました

6月5日に開催された、かとじゅん氏(Twitter:@j5ik2o)主催の「DDD座談会」に参加してきました。 後半戦、アルコール後は、文字通りの座談会となり、大いに盛り上がりました。 #dddzk 盛り上がってきたww pic.twitter.com/Ytgj21us5G— なおぴ! (@naopi) 201…

業務プロセス全域をデザインするにおいて、境界付けられたコンテキストを如何に捉えるかという話

要約 エンタープライズ・システムでは、同じ用語でも、部門や担当が異なれば意味も異なっている、という状況は日常的です。各担当が各人のリアルとして見ている個々の"Fact"と、全ての担当の見解を統合的に説明できる“イデア”であり仮説である"Truth"には、…

「OOは静的構造を、関数型は動的振る舞いをモデル化するのに有用だという話」を補足する話、もしくはデータフロー・プログラミングの話

要約 動的振る舞いのモデル化には、単に関数型というよりも、純粋関数型の一つの適用と捉えられる「データフロー・プログラミング」としての理解が有用です。データフロー・プログラミングとは数値計算処理を関数型の概念で再構成したものです。データフロー…

OOは静的構造を、関数型は動的振る舞いをモデル化するのに有用だという話

要約 関心対象について分析し理解しようとしたら、多かれ少なかれ「要素分解していく方法」を取るでしょう。「要素分解していく方法」とは構造を捉えることに関してのアプローチです。 構造を捉えるに当たって、OOは「要素分解していく方法」をよく支援しま…

参照系と更新系の非対称性について

要約 (1) 参照系の要件はもっぱらデータ資源利用側から発せられ、更新系の要件はもっぱらデータ資源提供側から発せられる。 (2) よって、もし「フロントエンド・アプリ」と「バックエンド・サービス」とに階層分けするならば、参照系は「フロントエンド・ア…

P2P取引システムのユースケースの一般構造に関する考察

ビットコインおよびブロックチェーンは、中央の第三者機関が無くとも、相互に信認できる取引を遂行していける仕組みが構築可能な事を示しました。ビットコインやブロックチェーンに触発された「Bitcoin 2.0」などと総称される様々な後続プロジェクトが立ち上…

ウォーターフォールとアジャイルのコスト構造はジレンマ状態にあるのではないか、という話、他

ウォーターフォールかアジャイルか論は、単純にどちらかがより良いとかより悪いとかというよりも、どういう状況のときどういう方法が効果的なのか見極めて、適切に選択していこう、という段階なのだろうと思います。とはいっても、現場的に実際に見極めよう…

ドメインとデータ、サブジェクトとオブジェクト、および、事実は常に事実であり、真実は常に仮説である、という話

先日参加の「PHPメンターズセミナー」には相当に触発されました。本記事はその勢いのままに書いたエントリーとなります。 ※下記記事もご参照ください。 →《PHPメンターズセミナーに参加してきました》 〜・〜 突然ですが、下図は、視点Aから見ると対象物は四…

PHPメンターズセミナーに参加してきました

去る10月3日(土)、「PHPカンファレンス2015」に併設開催の「PHPメンターズセミナー」に参加してきました。 「PHP」関連のカンファレンスではあるのですが、メンターズセミナーの副題は「モデルを設計せよ!-ドメイン駆動設計を超えて」です。しかもツイッ…

書きやすさ重視か、読みやすさ重視か

先日現場のメンバーと、コーディングスタイルについて少々議論したのですが、その結果、プログラミング言語選択やコーディングスタイルには、 - 目下の書きやすさを重視した姿勢 と、 - 後に第三者が読むことを想定した、読みやすさを重視した姿勢 の二つが…