タグ

cervinoのブックマーク (367)

  • ドメイン駆動設計によるシステム開発 | 知的資産創造 | 野村総合研究所(NRI)

    システム構築にかかるコスト・期間は20年単位で倍々に増加している。これは「2025年の崖」で示されているレガシーシステムの問題も大きいが、ウォーターフォールモデルで専門家による分業制をとっているシステム開発生産ラインのありようも看過できない。一方、アジャイル開発によるコスト削減や開発期間短縮の効果について、大規模な金融系システムでの実例はまだ少ない。さらに、昨今のマイクロサービスを実現するための設計手法も確立できてはいないと考える。 今回、筆者らチームは「ドメイン駆動設計」を活用し、システム構築コスト・期間を大幅に削減し、かつマイクロサービスに適合するシステム開発の可能性についてのPoCを実施した。

    ドメイン駆動設計によるシステム開発 | 知的資産創造 | 野村総合研究所(NRI)
    cervino
    cervino 2020/11/13
  • プロダクトにドメイン駆動設計を適用するためにはじめたこと - ContractS開発者ブログ

    こんにちは。最近Slackのカスタム絵文字作りにハマっている友野です。Holmesでサーバーサイドエンジニアをしています。 Holmesが提供するホームズクラウドは、今年8月にサービスローンチ3周年を迎えました! これまでの支持に感謝し、これからも長く使ってもらえるようにプロダクト改善に取り組んでいます。そのひとつとして、ドメイン駆動設計(以下、DDDと表記します)適用に関する取り組みについてご紹介します。似たような状況や同じ課題を持つ誰かの一助になれば幸いです。 背景と現状 まずはじめたこと 戦略的モデリング そして、戦術的な設計 採用するパターン2つ ドメインモデルを反映したオブジェクトを置くパッケージの作成 既存テーブル構造に依存しないRepository+Adapterパターン ふりかえり まとめ 最後に 背景と現状 ホームズクラウドはPMF(Product Market Fit

    プロダクトにドメイン駆動設計を適用するためにはじめたこと - ContractS開発者ブログ
  • ドメイン駆動設計とは何なのか? ユーザーの業務知識をコードで表現する開発手法について

    エリック・エヴァンズが提唱した、ユーザーが従事する業務に合わせてソフトウェアを開発する手法、ドメイン駆動設計。今やユーザーファーストの考え方は常識になりましたが、それを実現するための開発手法とは具体的にどういう考え方で成り立っているのでしょうか。成瀬允宣さんの『ドメイン駆動設計入門 』(翔泳社)から抜粋して紹介します。 記事は『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基』の「Chapter1 ドメイン駆動設計とは」から抜粋したものです。掲載にあたり、一部を編集しています。 ドメイン駆動設計とは何か ソフトウェアを開発するとき、私たちは新たに何かを学びます。たとえば会計システムを開発するのであれば経理について学ぶでしょう。物流システムを開発するのであれば輸送や配送について学びます。ソフトウェアシステムを開発する上で学んだ知識は汎用的な知識であることもあれば、ある組織

    ドメイン駆動設計とは何なのか? ユーザーの業務知識をコードで表現する開発手法について
  • Pythonのオブジェクト指向プログラミングを完全理解 - Qiita

    1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67」という言語を受け継いだもので、私が作った「Smalltalk」と関係ないのだとケイさんは考えています。 オブジェクト指向という名称は確かにアラン・ケイさんに由来するものです。しかし、C++Javaで使われている現代のオブジェクト指向は当初のと結構違います。ケイさん自身もこれらの言語を後継者として認めないです。では、ケイさん曰くC++Javaの親であるSimula 67という言語はどんな言語でしょうか。ここで、簡単なサンプルコードを見てみましょう。 Class Recta

    Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
    cervino
    cervino 2020/11/02
  • Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由

    DMM GroupのGoの勉強会「DMM.go」。DMM Groupのエンジニアが現場で培った技術やトレンドについて発表していきます。 2回目の開催となる今回登壇するのは、合同会社EXNOA プラットフォーム開発部の PFシステム部に所属する岡崎翔悟氏。「Goとクリーンアーキテクチャ」の内容で、実際の現場にいるからわかるGoの開発やクリーンアーキテクチャについて話していきます。関連資料はこちら。 合同会社EXNOAとは 岡崎翔悟氏:今回「Goとクリーンアーキテクチャ」と題しまして、EXNOAの岡崎が発表いたします。 「EXNOAって何だ?」と思われた方が多数いらっしゃると思うので、まずはそちらの説明から。DMM GAMESは2020年4月10日付でEXNOAに社名を変更しました。ただし、一般作品のブランド名として「DMM GAMES」は残っています。一般作品の「DMM GAMES」とR1

    Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由
    cervino
    cervino 2020/10/25
  • 11月新刊情報『Pythonではじめる数学の冒険』

    Pythonではじめる数学の冒険 ―プログラミングで図解する代数、幾何学、三角関数』 Peter Farrell 著、鈴木 幸敏 訳 2020年11月16日発売予定 380ページ ISBN978-4-87311-930-4 定価3,300円(税込) 数学を8年間、コンピュータサイエンスを3年間教えたことのある著者が、自らの経験に基づき、これからの時代に必要な数学とプログラミングの能力を身につけてもらいたいと筆をとった意欲作。定義や命題から入る伝統的なアプローチではなく、プログラミングによる視覚的アプローチで直感的な理解を促します。数学の視点からプログラミングを眺め、また逆にプログラミングの視点から数学を眺めることで、退屈な計算問題は、さまざまな工夫が可能なプログラミングの課題になり、プログラミングの文法は、数学の問題を解く上での強力な武器となり、それぞれの新たな魅力に気づかされるきっかけ

    11月新刊情報『Pythonではじめる数学の冒険』
    cervino
    cervino 2020/10/24
  • 認証と認可と課金とコアドメインを分離したシステムは勝てるという話 - まっちゅーのチラ裏

    自分が複数のシステムの開発を経験して得た確信として、「認証と認可と課金とコアドメインの分離がめちゃくちゃ重要である」というものがあるので、コレを整理してアウトプットしていく 分離するモチベーションとは Microservice文脈でいうと、デプロイ独立性だったり、リソースの最適配分だったり、障害の局所化だったり、開発組織とのマッピングだったりがメリットとして語られることが多い。 だが、ここで取り上げたいのは戦術的DDD的観点でのコンテキスト分離の有用性である。 ※ちなみにコンテキスト分離のみであればモジュラモノリスだけで実現可能。 戦術的DDD的観点での関心事の分離によるメリットとは コンテキストが分離されていることによって、境界をまたぐ際に「このI/Fは正しいのか?」を都度考えることを強制することができる。 境界がなければ意図しない密結合を生みやすくなってしまう。 もちろん、境界を超える

    認証と認可と課金とコアドメインを分離したシステムは勝てるという話 - まっちゅーのチラ裏
  • ドメイン駆動設計に関する何か - 日々常々

    2020-03-13追記: 「ドメイン駆動設計」のハードルを上げる意図はありません。そもそもそんな特殊技能でもないと思っています。「ドメイン駆動設計が合っているか」を測る材料になるかも?くらいの気持ちで読んでいただけると幸いです。 何度目か知りませんがDDDがまたブームを迎えているようで。DDD難民と言う言葉が出た頃を思うと感慨深いですね。実際難民になったわけではないので肌感覚で知らないのが残念なところですが、これはどうでもいい。 DDD、日語ではドメイン駆動設計となりますが、DDDを冠していてもドメインが語られることは少ないようです。 数ある書籍もドメインモデリングの話ではなく、ドメインモデルをいかに実装に落とし込むかにフォーカスしていると感じています。 これはこれで仕方ないと言うか、ドメインの話って広く語れないんですよね。 ドメインは領域で境界があって範囲が限定されています。特定ドメ

    ドメイン駆動設計に関する何か - 日々常々
    cervino
    cervino 2020/10/18
  • 東京大学の講義「AWSによるクラウド入門」をTypeScriptで写経した - dackdive's blog

    AWSによるクラウド入門 少し前に話題になっていた東京大学の講義資料をやってみたので、内容、感想などメモ。 講義で使用するソースコードはすべて Python で書かれていますが、自分が実際に使うとしたら TypeScript で書くだろうなと思ったので TypeScript で写経しました。 が、CDK のコードはすべて TypeScript で書けましたが、Lambda 関数や動作確認用のスクリプトなどを全て置き換えるところまでは至らず、Python のままです。 写経したリポジトリは https://github.com/zaki-yama-labs/intro-aws に。 学べること 講義資料には全部で5つのハンズオンがあります。 各ハンズオンで利用する AWS のサービスについては以下の通り。 全般 AWS CDK: Cloud Development Kit CloudFor

    東京大学の講義「AWSによるクラウド入門」をTypeScriptで写経した - dackdive's blog
  • マイクロサービス設計原則: SOLIDではなくIDEALS

    キーポイント For object-oriented design we follow the SOLID principles. For microservice design we propose developers follow the “IDEALS”: interface segregation, deployability (is on you), event-driven, availability over consistency, loose-coupling, and single responsibility. Interface segregation tells us that different types of clients (e.g., mobile apps, web apps, CLI programs) should be able to inte

    マイクロサービス設計原則: SOLIDではなくIDEALS
  • intra-mart Developer Site - Part 7

    この CookBook では imui の「ボタン」エレメントの色を CSS エディタで適用する方法を説明します。 完成サンプル 以下の完成サンプルをダウンロードしてご活用ください。 IM-Bloom …

  • 注目すべき最新データベース技術(パート1)

    この記事は、著者の許可を得て配信しています。 https://blog.pragmaticengineer.com/the-developer-culture-test/ 私はデータベースの大ファンで、いわゆる「NoSQL」データベースに関するを書いたり、影響力の高い分散型データベースRiakに携わったりと、技術職として最も実りある年のいくつかを過ごし、昨年は楽しみのためにPurpleというデータベースを構築したりもしました。 当然のことながら、私はTwitterやReddit、HackerNewsなどをさらっと読む場合、データベースやDB関連ツールの新しくて刺激的な開発に常に気にして見ています。今回の記事では、私が興味をそそられる最近登場した3つのデータベース技術についてお話したいと思います。 TileDB Materialize Prisma 後半では次の3つについてお話したいと思っ

    注目すべき最新データベース技術(パート1)
  • 僕らは何故Kubernetesを使うのか

    最初に お仕事で「Kubernetesはいいので、次のプロジェクトで使いたい」と言うと 「何がいいんですか?」とか「何ができるの?」とか聞かれてうまく答えれない事がまぁまぁあったので自分なりにKubernetesがなぜ生まれたのか、なんで使いたいのかと何ができるかをまとめてみた リソース調達の歴史から見るKubernetesが現在の地位につくまで リソース(アプリケーションを動かすためのサーバなど)調達の視点から、Kuberenetes誕生までを見ていきます。 物理サーバを調達する時代 原初のアプリケーション開発では、アプリケーションを開発してキャパシティを予測して、リソース見積もりを行い、サーバ購入を行っていました。 この方法では以下のような課題がありました。 リソースを用意するのに、数週間から数ヶ月かかる サーバを注文してから、到着するまでの時間もかかりました。 またその前のリソース見

    僕らは何故Kubernetesを使うのか
    cervino
    cervino 2020/09/21
  • Dockerを体系的に学べる公式チュートリアル和訳 - Qiita

    この記事について この記事は、Docker Desktopのチュートリアルを和訳したものです。 公式のチュートリアルなので、安心して、かつ効率的に学習することができます。 Docker DesktopからDocker Hub、Docker Composeまで網羅されているので、初学者がDockerに初めて触れたり、中級者が基礎を振り返るのに最適です。 翻訳元のチュートリアルは、2021/10/7時点で最新のものです。長い時間が経過している場合、情報が古くなっている場合がございますのでご注意ください。 読者に誤解を与えない部分は、読みやすさを重視して適宜意訳しています。 DeepL等を使用して推敲は行っていますが、間違っているところやより良い表現があれば、編集リクエストをお願いいたします。 翻訳元 getting-started : https://github.com/docker/get

    Dockerを体系的に学べる公式チュートリアル和訳 - Qiita
    cervino
    cervino 2020/09/14
  • ソフトバンク大規模通信障害の原因:Geekなぺーじ

    2018年12月6日、ソフトバンクのネットワークにおいて、4時間25分にわたり約3060万回線の利用者に影響を及ぼす通信障害が発生しました。 ソフトバンクおよびワイモバイルの4G(LTE)携帯電話サービス、「おうちのでんわ」、Softbank Air、3Gサービスなどが影響を受けました。 この障害は、EricssonのMME内部にハードコーディングされた証明書が期限切れになったため、SGSN-MME(Serving GPRS Support Nodex - Mobility Management Entity)が再起動を繰り返してしまったのが原因です。 ただ、証明書が期限切れになることで、なぜ大規模な通信障害に繋がってしまうのかが良くわかりませんでした。 どのような設計をしたら、証明書が期限切れになったことで通信機器が再起動を繰り返すような状況になるのか、昨年段階では、いまいち理解できなか

    cervino
    cervino 2019/02/04
  • 2018年「はてなブックマーク年間ランキング」トップ100 “時間泥棒”になりそうなあの記事が1位に - はてなニュース

    はてなブックマークのブックマーク数が多い順に記事を紹介する「はてなブックマーク年間ランキング」の2018年版を発表します。例年通り、上位トップ100の記事をピックアップしました(集計期間:2017年12月11日~2018年12月10日)。 平成最後の年のランキング1位は「増田文学100選」(はてな匿名ダイアリー)。はてな匿名ダイアリーには、「増田文学」というタグを付けられた一連の読み物群があります。2018年6月までの「増田文学」のエントリーをブックマーク数をベースにランク付けした記事が「増田文学100選」です。みなさんはいくつご存知でしたか。 ブロガー周りのトピックとしては、“けんすう”さんこと古川健介さん(Supership株式会社)の記事が、20位までに3もランクインしていることが驚きでした。自身の体験をもとに、生きやすさの手掛かりになりそうな内容を丁寧に伝えていること、それが読者

    2018年「はてなブックマーク年間ランキング」トップ100 “時間泥棒”になりそうなあの記事が1位に - はてなニュース
    cervino
    cervino 2018/12/29
  • CSV に SELECT / UPDATE クエリを実行できる VS Code の拡張機能「Rainbow CSV」 - kakakakakku blog

    定期的に CSV からデータを抽出する機会があり,抽出条件によって,今までは以下のような方法を使っていた. CSVExcel で開いてフィルターを使う方法 CSV を grep / egrep などの Linux コマンドで絞り込む方法 CSVAmazon S3 にアップロードして Amazon S3 Select でクエリを実行する方法 Rainbow CSV 新しい方法として VS Code の拡張機能「Rainbow CSV」を試すことにした.Rainbow CSV には多くの機能があり,例えば「ハイライト」や「CSVLint」や「RBQL (RainBow Query Language)」がある.データを抽出する用途だけでなく,CSV を確認するときにも便利で,普段から使える最高の拡張機能だった.以下からインストールできる. marketplace.visualstudi

    CSV に SELECT / UPDATE クエリを実行できる VS Code の拡張機能「Rainbow CSV」 - kakakakakku blog
    cervino
    cervino 2018/12/01
  • RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!

    「ユーザー目線」のシステムを目指して RDBが従来の階層型DBに比べて優れていた点はいくつか挙げることができますが、シェアを伸ばすうえで最も大きな影響は、ユーザーが使いやすいデータ構造とインタフェースにこだわったことです。すなわち、「テーブル」と「SQL」の発明です。 RDBでは、すべてのデータを「テーブル」というただ一つのデータ形式によって表現します。テーブルは、見た目が「二次元表」に似ているため*3、Microsoft ExcelGoogle ドキュメントなどのスプレッドシートを使い慣れた人が見ると、データを格納する方法が直観的にイメージしやすいという利点があります。実際、こうした二次元表によるデータ管理は、Excelなどのソフトウェアが登場する前から一般的な方法だったため、RDBが登場した当時の人々にとっても受け入れやすいものでした。 テーブルが画期的だった点は、もう一つあります。

    RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!
    cervino
    cervino 2018/10/10
  • フリーエンジニアが年間3,600万円の売上を上げた方法を解説する | SHINGO IRIE

    はじめましての方もいると思いますので、自己紹介から。 入江慎吾と申します。Web制作会社に10年勤務後、2011年にフリーランスとして独立しました。 独立して7年経つのですが、売上は毎年右肩上がりで個人で年間3,600万円の売上を記録しました。これまでやってきたことを振り返ってまとめてみました。使えるところがあれば、使ってください。 自分のサービスをつくるコネも何もない状態ではじめたので、最初の年は仕事がなく、ひたすら自分のサービスをつくっていました。1年で10個はつくりました。 これが直接成功したわけではなく、売上にもなってないのですが、仕事を呼び込むことにつながりました。 個人でサービスやアプリをつくってリリースしている人って日で見れば数はかなり少ないです。(昔はもっと少なかった) つくって出すだけでも、認知度上がります。実際、当時からTwitterのフォロワーは1,000人をすぐに

    フリーエンジニアが年間3,600万円の売上を上げた方法を解説する | SHINGO IRIE
    cervino
    cervino 2018/08/19
  • 無料で読めるITまんが 2018年版

    ネット上にはたくさんのIT系のコンテンツがあふれています。そのほとんどは文章として書かれていますが、一部にはマンガの形で面白く分かりやすくしたものもあります。ここでは、マンガ化されたITコンテンツを集めてみました。毎年お盆休みの恒例企画、ITまんがの2018年版です。 もしここに掲載していないITまんがをご存じでしたら、Twitter(@publickey)などで教えてください。毎年更新する予定です。 2018年版の新着ITまんが New! サダタローの「お仕事サボったろー」 「できるだけ楽してお金を稼ぎたい」と力強く宣言するサダタロー氏に、程よくサボれて楽しく仕事を進められそうなガジェットやITツールを編集担当が毎回紹介。

    無料で読めるITまんが 2018年版