gotanda.rb#52@オンライン "DB外の副作用をトランザクションから分離しよう"
DDDではよく「モデリングが重要だ!」と言われますが、どのようにモデリングすればいいのかがわからず、一歩を踏み出せないことは多いのではないでしょうか。 そんな方のために、本記事ではDDDにおいてシンプルで成果が出しやすいモデリング手法について紹介します。 (本記事は、YouTube動画「10分でわかるドメインモデリング」の内容をもとにした解説記事です。) DDDの目的 DDDの目的から確認しましょう。 DDDの目的は2つ。 ①機能性を高めること これは、役に立つものを作ること、言い換えると「作ったけど使えない」を避けることです。 そのために、ドメインモデリングを行い、ソフトウェアを適用して役立てようとしている現実世界の領域(これの領域をDDDでは「ドメイン」と呼びます)について理解を深め、解決策を検討することを目指します。 ②保守性を高めること これは、長期間開発しても機能拡張が容易であり
Googleは開催中のイベント「Google I/O 2022」の基調講演で、Dart言語のフレームワークであるFlutterの最新版「Flutter 3」を発表しました。 Introducing Flutter 3 at #GoogleIO! Now featuring: Stable support for macOS and Linux apps Improved @Firebase integration ...and much more! Details here → https://t.co/7PLgfRBobE pic.twitter.com/XYzmCn3NYN — Flutter (@FlutterDev) May 11, 2022 2月に登場したFlutter 2.10でWindowsアプリケーション開発が正式版となったのに続いて、Flutter 3ではMacとLinu
macOSでもLinuxの仮想環境が欲しい時はある Dockerを利用するなど、macOSであってもLinux環境が欲しい時はあります。 Microsoft365や、Adobe CCなど、macOSかWindowsでしか使えないプロプライエタリなソフトウェアを使う、開発もほとんどの場合macOSネイティブで問題ない、でもDockerも使う、などのように主たる作業はmacOSでやりながらLinuxもちょっと使わないといけないということは多々あります。 VirtualBoxなどを利用することによって、仮想環境にLinuxをインストールし利用することはできますが、WindowsにおけるWSL (Windows Subsystem for Linux) のようにネットワークやファイルシステムが統合されたように見える環境を構築するのは面倒です。 そこで、"macOS subsystem for Li
みずほ銀行で2021年8月20日、営業店の窓口業務が全面停止するトラブルが発生した。前日の19日午後8時53分ごろに営業店端末と勘定系システムをつなぐサブシステムで、データベース(DB)サーバーがディスク装置の故障をきっかけに停止したためだ。待機系DBサーバーへの切り替えも失敗、副データセンター(DC)に処理を切り替えた。副DCへの切り替えに着手するまで11時間超を要し、業務開始に間に合わなかった。 みずほ銀行で2021年8月20日、全463店舗で営業店端末や店頭のタブレット端末が使用不能になった。午前9時の開店から午前9時45分までは全ての店頭取引ができなくなり、その後も午前11時58分まで融資や外国為替(外為)の一部取引ができなくなった。営業店端末などと勘定系システム「MINORI」をつなぐサブシステム「業務チャネル統合基盤」が前日の8月19日午後8時53分ごろに停止したためだ。 業務
委託したシステム開発が頓挫したとして、野村ホールディングス(HD)と野村証券が日本IBMを相手取って計約36億円の損害賠償を求めた裁判。プロジェクト失敗はベンダー側に非があるとした2019年3月の一審判決から一転、2021年4月の控訴審判決はユーザー企業側に責任があるとした。工数削減提案に十分に応じなかったり、プロジェクト途中で追加要件を多発したりした野村側の姿勢を東京高裁は問題視し、逆転敗訴の判決を下した。 関連記事 野村HDが日本IBMに逆転敗訴の深層、裁判所が問題視した「X氏」の横暴な変更要求 野村HDが日本IBMに逆転敗訴のワケ、「工数削減に応じず変更要求を多発」と指摘 東京高裁が特に問題視したのが、システムの仕様を策定するうえで重要な役割を担っていた野村証券のユーザー部門「X氏」の振る舞いだ。 当時、投資顧問事業部(判決文では「投資顧問部」)の次長だったX氏は、パッケージソフトに
「Getty images」より 日本のゲーム業界を支えてきたセガサミーホールディングスに危険信号が灯り始めている。新型コロナウイルス感染症拡大の影響で、グループ会社が運営するゲームセンターなど施設運営事業の業績が悪化。昨年11月6日には、正社員と契約社員を対象に650人の希望退職を募る事態に陥った。コロナ禍の拡大で、政府は今月7日にも緊急事態宣言を発出する見込みで、いわゆる遊技機業界は引き続き苦境が続くとみられる。 そんな中、同社が社運をかけている事業が「スマートフォンゲーム」だ。だが、昨年末に満を持してリリースしたiOS/Android向けロールプレイングゲーム(RPG)アプリ『サクラ革命 ~華咲く乙女たち~』(開発・運営ディライトワークス)の売り上げが芳しくない。 『サクラ革命』の不調に関しては昨年12月20日、チャンネル登録者27万人を誇る有名ゲームレビュアーのナカイド氏が以下のよ
はじめに 本記事では、constこそが唯一神であることを証明したあと、letを使いがちな場面でいかにしてconstを使うかをまとめていきます。なお、ES2018までの基本構文(reduce, async/await, 配列とオブジェクトのスプレッド構文)を使用します。「いや、reduceとかスプレッド構文とか難しいからlet使うわ」という方のために、便利メソッド詰め合わせであるLodashを使った例もご紹介します。もちろん、Lodashは機能に対してサイズが大きいライブラリであるため、フロントエンド開発でバンドルサイズを軽減したいという方などはLodashの例は無視し、Lodashを使っていない方の例をご参照いただければと思います。 追記:Lodashの使用について 「Lodashのコードにlet使われてるやん」というご指摘を多く頂いたので追記いたします。 誤解を招くタイトルにしてしまい申
自己紹介 はじめまして。新卒2年目のみのちです。 1年目はBtoCサービスであるぐるなびの店舗ページと、BtoBサービスである店舗ページ管理ツール「ぐるなび PRO for 飲食店」の開発・運用の担当の店舗チーム、 2年目はレストラン検索の開発・運用の担当の検索チームに所属しています。 私は8月に店舗チームの部署に配属になり、10月からOJT研修を始めました。 11月に課題をやってみて、1月に勉強会を開きました。 この記事の3行まとめ 部署配属のあとにOJT研修課題としてISUCONの過去問に挑戦した 環境構築が思うようにいかなくて、まず環境構築で使われていたAnsibleの技術に興味を持った 社外のAnsibleもくもく会に参加し、社内ではチームで勉強会をした 研修内容を決める(10月) 毎年新卒で配属された人はOJT研修課題を行っており、前回うちの部署では自動販売機の機能実装などを行っ
星の海のビビ(Vivi) @strategic_vivi お客様「長年一人で社内システム開発していた社員が辞める事に」 「ほう」 お客様「社内システムメンテ出来なくなるのでスクラッチで刷新したい。ついては見積もりを。予算感は五千万くらい」 「分かりました」 …(翌日) 「概算見積もり出来ました」 お客様「いくらくらい?」 2019-05-09 23:50:29 星の海のビビ(Vivi) @strategic_vivi 「15億円です」 お客様「…は?」 「統計ベースで判断して15億円規模のシステムです」 お客様「…」 「弊社に言える事は一つです。その社員だった方を、年収1億円提示して今すぐ呼び戻して下さい」 世の中には、単に社内SEと呼ばれるハイパーエンジニアがいる。 それ評価出来なきゃ辞めるだろ。 2019-05-09 23:55:22
連載目次 頻出する契約前作業の悲劇 IT訴訟事例を例にとり、トラブルの予防策と対処法を解説する本連載。今回は契約締結を巡る裁判の例をお話ししたい。 ITベンダーが正式な契約を待たずに作業を先行させたために起きたトラブルは、本連載で何度も取り上げてきたが、裁判所の出した結論は実にさまざまだった。同じように契約なしでスタートしたプロジェクトでも、実質的に契約はあったとするものもあれば、なかったとするものもある。 筆者は、なるべく多くの紛争を紹介して、裁判所の判断には「幅」があることを理解していただきたいと思うので、今回も契約前作業を巡る裁判を取り上げる。 まずは、事件の概要から見ていただこう。 東京地方裁判所 平成17年3月28日判決から ある開発ベンダーが、インターネット接続業者に対して、代理店管理システムを提案した。インターネット接続業者は、これに対して幾つかの要望を申し入れ、開発ベンダー
どうもozです。 またも昔話ですが、ご容赦ください。 これは、あるシステム開発の現場に、協力会社のエンジニアを投入した時の話です… 待望のWPF経験者あらわる 当時私は、ある現場に、自社の社員T君に参画してもらっていた。T君はとても頭のキレが良く、お客様から絶大な信頼を得ていた。 現場では、T君をリーダーとした体制の構築を求められていた。 そんな折、T君チームに助っ人が必要と言う話が出て、C#ができるエンジニア、特にWPFの経験がある人物を求められた。 「そんな人、簡単にみつかるかーい」 と、半分あきらめムードで探していたところ、業界の兄貴分的な営業さん(実際はおっさん)からC#とWPFの経験があるエンジニアAさんの提案を受けた。 兄貴分的な営業さん(実際はおっさん)との付き合いは長く、会社が潰れそうな時(その後潰れた)にも相談に乗ってもらった方だ。 参画してもらうまで結構時間がかかった
メンバーの「順調です!」を鵜呑みにした結果――山本一郎氏が聞く、会社成長期に起こりやすい炎上事例と対処法:開発残酷物語(1)(1/4 ページ) トラブルの原因は何だったのか、どうすれば良かったのか、同じトラブルを起こさないようにどういう手だてを取ったのか。実在する開発会社がリアルに体験した開発失敗事例を基に、より良いプロジェクトの進め方を山本一郎氏が探ります。 クライアントの要求がまとまらない、開発工程に入ってから仕様変更があいついだ、でも納期は変わらない――システム開発の現場では、日々阿鼻(あび)叫喚のトラブルが起こっている。 しかし後から振り替えれば、トラブルには幾つかの共通点があり、事前に注意していれば防げたものも少なくないことに気付くだろう。 「開発残酷物語」は、システム開発会社比較検索サービス「発注ナビ」ユーザーのシステム開発会社の方々に、自慢(?)の失敗事例を披露いただき、契約
「マイナンバーがSIの限界を鮮明にさせた」。2016年1月から断続的に発生したマイナンバーカードの管理システムの障害事故だ。地方公共団体はカード交付業務に大きな支障をきたし、マイナンバーの出鼻を挫いた格好だ。 カードを発行する地方公共団体情報システム機構(J-LIS)のホームページによると、障害の原因はカード管理システムの中継サーバーを担当した事業者による事前の適合性評価が、十分に行われなかったことにあるという。発注先のコンソーシアムを構成するNTTコミュニケーションズとNTTデータ、富士通、NEC、日立製作所の5社の連携不足により、原因特定に時間もかかったという。 マイナンバートラブルで賠償金も 同機構は「コンソーシアムの責任は重大」だとし、損害賠償もじさない姿勢をみせる。複数の報道によると、コンソーシアムに最大で発注金額の約69億円の損害賠償を求めることを検討しているという。 この障害
私はシステム開発会社に勤務しているソフトウェア開発者です。 親会社向けのWebシステムの開発や、親会社のお客様のシステムの受託開発が主なお仕事です。 CodeIQの出題者の仕事を個人として行っていて、そのきっかけで本業の一部として金曜日のみ別の会社の システム開発をお手伝いすることになりました。これが2015年6月末のお話。 その時のエントリがこちら。 tbpgr.hatenablog.com 週1の現地勤務以外にも個人の時間で、個人としてリモートでもお手伝いしています。 今回振り返る内容はこの金曜勤務の会社の話のみです。 経緯 このエントリをまとめるに至った理由が実はありまして、今年は本業の開発が佳境にさしかかり、週に1回私が不在になるのがけっこうな痛手になってしまいました。 そのため、2016年6月末をもって金曜日に別の会社をお手伝いするのは終了になりました。 個人としては継続してお手
エリック・エヴァンスのドメイン駆動設計 ソフトウェアの核心にある複雑さに立ち向かう(Eric Evans 牧野祐子 和智右桂 今関剛) | 翔泳社の本 去年の秋ぐらいから設計に悩む事があり、エリック・エヴァンスのドメイン駆動設計、いわゆるDDD本を買ってました。 なかなか通しで読む時間が取れず、気になる所をつまんで読んでたので、ちゃんと理解出来てないなと思っていた所、読書会をすると言う知り合いが居たので混ぜてもらいました。 折角なので記憶に新しいうちにメモして置こうと思って書いてるけど、理解がふんわりしてるまま、もしくは勘違いしたまま書いてる可能性もあります。 あと、議事録ではないので、あくまで読書会で話した結果、自分が思った事を書いています。 なんか書いてたらすごく長くなっちゃったけど、次回以降もこんなに書けるか分かりません。 今回読んだ範囲 まえがき 第1章 知識をかみ砕く 第2章
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く