並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 330件

新着順 人気順

モデリングの検索結果41 - 80 件 / 330件

  • モデリングから考える長期的なCOVID-19戦略

    青が何も介入をしなかったとき、黄色が4月8日から8割の接触を減少させたときです。 4月8日から接触を8割カットすると、新規患者数は4月17日頃にピークを迎え、その後減少が予想されます。5月8日から普段通りの生活に戻ると再度感染者は増加する。 長期的に見ると 波は横にずれますが、形はほとんど変わりません。ピーク時の1日の新規感染者数が120万人となると到底医療システムが成り立ちません。 ところで、「集団免疫」という言葉がかなり聞かれるようになりましたが、免疫をもつ人が人口のある程度の割合(この割合は病原体それぞれの感染力や人々の接触パターンによりますが)に達した時に、感染拡大は収まります。 逆に集団免疫の状態に到るまでは一時的な措置を取っている間は感染拡大がおさまってもそれをやめると再燃する、というジレンマがあります。 厳しい外出制限をこのまま永遠に(ワクチンが開発されるまで)しなければいけ

      モデリングから考える長期的なCOVID-19戦略
    • ARCHITECTURE.mdというものを書いてみた - maru source

      こんにちは丸山@h13i32maruです。システム全体を簡単な図とテキストでまとめる「ARCHITECTURE.md」というものを最近知りました。これは良さそうと思い、JasperのARCHITECTURE.mdを書いてみました。 jasperapp/jasper/ARCHITECTURE.md ARCHITECTURE.md自体の目的は「プロジェクトへの新規参加者が全体像の把握を効率的に行えるようにする」という感じです。書き方の指針や注意点などは考案者による記事を見てもらうのがよさそうです。また良いサンプルとしてrust-analyzerというOSSのARCHITECTURE.mdが紹介されています。 https://matklad.github.io//2021/02/06/ARCHITECTURE.md.html https://github.com/rust-analyzer/ru

        ARCHITECTURE.mdというものを書いてみた - maru source
      • UMLとかAWS構成図とかを描くツール

        UMLとか構成図とかの図を描くの何のツールを使えばいいか迷いませんか?私は迷います。 ですので、最近使っているツールを紹介します。 世の中にツールがイロイロあるのは理解した上で、大量に紹介するとやっぱり迷うので、似たようなツールや個人的に使わないツールはバッサリ省いています。 パワポで描く まずはPowerPointです。 エンジニアや技術系の方は「パワポで図を描くのはちょっと、、、」と思われるかも知れませんが、状況によってありだと思っています。 パワポのメリット パワポは、ビジネスユーザーならほぼ誰でも使える システムを作る時に、お客さん側も含めた関わるメンバー全員がITに詳しいとは限りません。しかしそういう人にもシステムに対する理解は最低限していただく必要があります。システム構成図とか特に興味がない人に説明するときに「新しいツールをいれてください」というのはハードルが高いです。 パワポ

          UMLとかAWS構成図とかを描くツール
        • Diagram as Code

          Diagram as Code6 different ways to turn code into beautiful architecture diagrams

            Diagram as Code
          • プログラマーって3時間かかれば人力でできることを1秒でこなすために12時間コードを書いてるような悲しい生き物みたいなとこあるよね

            よわどら🦈🍀🌈🎵🦈 @cc226158 プログラマー、例えば3時間かかれば人力でできることを1秒で楽にこなすために12時間コードを書いてるという悲しい生き物のイメージがある 2021-02-01 14:48:25

              プログラマーって3時間かかれば人力でできることを1秒でこなすために12時間コードを書いてるような悲しい生き物みたいなとこあるよね
            • 超入門!テーブル設計をデータモデリングから考えよう

              基本から学ぶ テーブル設計 超入門! 〜データモデリングとテーブル設計の基本を学ぼう〜 https://modeling-how-to-learn.connpass.com/event/242944/ にてお話した際のプレゼン資料です。 入門者に向けて、テーブルを設計する上でモデリングすると…

                超入門!テーブル設計をデータモデリングから考えよう
              • リモートワークのいま学びたい、GitLab Handbookと徹底した文書化への狂気 - Qiita

                1200人以上の全社員がリモートワーク。GitLabが公開する「リモートワークマニフェスト」は何を教えているか? スケールする組織を支えるドキュメンテーションの技術を”GitLab Handbook”から学ぶ その コメント GitLab Handbookで面白かったもの@コミュニケーション編 GitLabのリモート統括責任者が語る 日本企業が「まずやるべきこと」 を読んだ。主題はGitLab社の https://about.gitlab.com/handbook/ である。 2022.02追記 GitLabで学んだ最高の働き方 Developers Summit 2022-02-18 2022.01追記 リモートワークのいま学びたい、GitLab Handbook非同期コミュニケーションのススメ - Qiita Handbook要点 「GitLab社ではリモートワークの中でも生産性高く働

                  リモートワークのいま学びたい、GitLab Handbookと徹底した文書化への狂気 - Qiita
                • イミュータブルデータモデルの極意

                  6. Data / Inform / Information Inform: “to convey knowledge via facts (事実によって知識を伝える)” Data (Factの集合) Information 選択・加工して知識を取り出す Value of Values (Rich Hickey) 業務システム構築におけるデータモデリング (和田省二) 7. Dataを場合分けする Event (コト) Resource (モノ) 日時属性をもつ 日時属性をもたない 非対称性 対称性 ある一時点 ライフサイクルがある 一時点の事実の記録なので、属性は変わる ことはない。 ライフサイクルにともない属性が変化して いくこともある。 属性が変化しても同じモノであることを示 すためIdentityが必要。 データは大まかに2種類に分別できる。

                    イミュータブルデータモデルの極意
                  • カルマンフィルターが自動運転の自己位置推定で使われるまで - TIER IV Tech Blog

                    はじめまして、ティアフォー技術本部 Planning / Controlチームで開発を行っている堀部と申します。 今回は状態推定の王道技術「カルマンフィルター」が実際に自動運転で用いられるまでの道のりやノウハウなどを書いていこうと思います。 みなさんはカルマンフィルターという言葉を聞いたことがありますでしょうか。 カルマンフィルターとは「状態推定」と呼ばれる技術の一種であり、自動運転においては現在の走行状態、例えば車速や自分の位置を知るために用いられます。 非常に有名な手法で、簡単に使えて性能も高く、状態推定と言えばまずカルマンフィルターと言われるほど不動の地位を確立しており、幅広いアプリケーションで利用されています。 使い勝手に定評のあるカルマンフィルターですが、実際に自動運転のシステムとして実用レベルで動かすためには多くの地道な作業が必要になります。 この記事では、カルマンフィルターが

                      カルマンフィルターが自動運転の自己位置推定で使われるまで - TIER IV Tech Blog
                    • PlantUMLのテーマ(思わぬ展開) | フューチャー技術ブログ

                      秋のブログ週間連載の7本目です。 はじめにPlantUMLで使えるテーマについてのご紹介です。 以前、チームで機能設計するためのPlantUML標準化の記事でも書かせていただきましたが、PlantUMLのデフォルトカラーって少しドライですよね。 色の好みは人それぞれで、あれはあれでカッコよさはありますが、複雑な図は少しでも可愛く描きたい・楽しく見たいものです。 この記事ではPlantUMLのテーマについて、いくつかのオプションを紹介していきます。「PlantUMLの色を変えてみたい!」という方は是非ご活用いただければ嬉しいです。 前提 PlantUMLでは、skinparamを利用して図のビジュアル各要素を定義しますが、「テーマ」はskinparamの集合体です この記事ではテーマの作り方や、各運用方法等については触れません この記事で紹介するオリジナルテーマはシーケンス図のために作られた

                        PlantUMLのテーマ(思わぬ展開) | フューチャー技術ブログ
                      • 主フこそ3Dプリンターいじれると最高なのではないか|池澤 あやか

                        最近、おうちに 3D プリンターをお迎えしました。 いままでも、シェア工房スペースを持つ DMM.make AKIBA まで行けば 3D プリンターを使つかうことはできましたが、大きいものを出力しようと思うと7時間くらいかかります。待ち時間も考えると、日常的に使えるものではありませんでした。 家に3Dプリンターがやってくると家でうだうだしているうちに印刷できるので、ここ最近は毎日稼働させて、家のカイゼンに使える小物を出力するのにハマっています。 ヘビーユースしているうちに、「これは一家に一台、主フこそいじれると最高なのではないか?」と思うようになりました。 3Dプリンターをおうちに迎えて感動したこと 1. 100均に行って便利小物探さずとも、Thingiverse で探せる! Thingiverse は、3Dデータのシェアリングプラットフォームです。 生活で使える小物、面白いアイテム、フィ

                          主フこそ3Dプリンターいじれると最高なのではないか|池澤 あやか
                        • 簡単にできるDDDのモデリング - ドメイン駆動設計 - little hands' lab

                          DDDではよく「モデリングが重要だ!」と言われますが、どのようにモデリングすればいいのかがわからず、一歩を踏み出せないことは多いのではないでしょうか。 そんな方のために、本記事ではDDDにおいてシンプルで成果が出しやすいモデリング手法について紹介します。 (本記事は、YouTube動画「10分でわかるドメインモデリング」の内容をもとにした解説記事です。) DDDの目的 DDDの目的から確認しましょう。 DDDの目的は2つ。 ①機能性を高めること これは、役に立つものを作ること、言い換えると「作ったけど使えない」を避けることです。 そのために、ドメインモデリングを行い、ソフトウェアを適用して役立てようとしている現実世界の領域(これの領域をDDDでは「ドメイン」と呼びます)について理解を深め、解決策を検討することを目指します。 ②保守性を高めること これは、長期間開発しても機能拡張が容易であり

                            簡単にできるDDDのモデリング - ドメイン駆動設計 - little hands' lab
                          • PlantUML で JSON データを簡単視覚化

                            最近,仕事で使うことがあってたまたま気がついたのだが, PlantUML って JSON や YAML のデータを視覚化できるんだね。 やり方は簡単。たとえば { "firstName": "John", "lastName": "Smith", "isAlive": true, "age": 28, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021-3100" }, "phoneNumbers": [ { "type": "home", "number": "212 555-1234" }, { "type": "office", "number": "646 555-4567" } ], "children": [], "spous

                              PlantUML で JSON データを簡単視覚化
                            • GitUML

                              Understanding source code is every programmer's biggest challenge GitUML helps programmers understand new code more quickly. Understand code quickly Rapidly generate diagrams from programming source code. Diagrams from git repositories - automatic diagram updates when you push! Upload source code files Live UML Fiddle converts source code into UML as you type UML Fiddle (Python) UML Fiddle (Javasc

                              • 「全数調査なら何でもわかる」という誤解 - 間違えがちな母集団とサンプリングそしてベイズ統計 - - ill-identified diary

                                この文章は pandoc-hateblo で tex ファイルから変換しています. PDF 版はこちら 2021/10/15 追記: 後半のベイジアンブートストラップに関する解説はこちらのほうがおそらく正確です ill-identified.hatenablog.com 概要挑発的なタイトルに見えるかも知れないが, 私はしらふだしこれから始めるのは真面目な話だ — 正直に言えばSEOとか気にしてもっと挑発的なタイトルにしようかなどと迷ったりはしたが. 「全数調査できれば標本抽出の誤差はなくなるのだから, 仮説検定は不要だ」という主張を見かけた. いろいろと調べた結果, この問題を厳密に説明しようとすると最近の教科書には載ってない話題や視点が必要なことが分かった. ネット上でも勘違いしている or よく分かってなさそうな人をこれまで何度か見かけたので, これを機に当初の質問の回答のみならず関

                                  「全数調査なら何でもわかる」という誤解 - 間違えがちな母集団とサンプリングそしてベイズ統計 - - ill-identified diary
                                • ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita

                                  ※ 参考記事「PlantUML を VSCode で利用したいけど、プレビューが表示されずエラーが出る」 参考(PlantUML 導入後の編集中画面) 2-2. ER図 今回作成したER図 Qiita記事でも、コードブロック内でPlantUMLの構文がそのまま使えます。(このER図は、Qiitaのコードブロックで表示させています) 今回作成したER図のPlantUMLの表記 @startuml yonde ' hide the spot hide circle ' avoid problems with angled crows feet skinparam linetype ortho entity "families" as families { id -- name nickname introduction created_at updated_at } entity "users

                                    ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita
                                  • 詳細設計の書き方 - Qiita

                                    はじめに システム開発において詳細設計という工程があります。 プログラマーはこの詳細設計を確認しながら開発を行うことになります。そのため詳細設計ではシステムの構造や仕様、動作などを細かく定義することが必要になります。 詳細設計を行うことでシステム開発の方向性が明確になり、コーディングやテストをスムーズに行うことができます。 詳細設計の成果物としてはクラス図やシーケンス図、画面設計書やデータベース設計書などがあり、システムの動きや機能を具体的に表現するものです。 今回は詳細設計を作成する機会があったので、詳細設計の書き方についてまとめたいと思います。 詳細設計の目的やメリット 詳細設計の目的は、システム開発の品質や効率を向上させることです。詳細設計では、システムの仕様や動作を細かく定義することで、以下のようなメリットがあります。 開発工程でのバグや遅延を減らすことができる テスト工程での不具

                                      詳細設計の書き方 - Qiita
                                    • ドメイン駆動設計は何を解決する手法なのか - stmn tech blog

                                      こんにちは、リファクタリング大好きなミノ駆動です。 株式会社スタメンでは、企業エンゲージメント構築サービスTUNAG(ツナグ)の技術的負債解消と今後の持続的成長のため、ドメイン駆動設計(DDD)の導入を検討しています。 ところでDDDはとかく理解しづらく、何のためのDDDなんだという議論になりがちです。この記事では、DDDの真の主人公コアドメインを中心に、DDDが何を解決するものなのか、全体像を改めて整理します。 この記事で扱う内容 DDDが解決したい課題と解決方法の全体像。 この記事では扱わない内容 設計パターンの実例などの実装詳細。 大事な前提 〜利益を得るためのサービス開発 会社でのサービス開発は、趣味や道楽でやるものでしょうか。違いますね。ビジネスとして、企業活動としてサービス開発しています。当たり前の話ですが、利益を得られるように開発しなければなりません。 ドメイン駆動設計は、継

                                        ドメイン駆動設計は何を解決する手法なのか - stmn tech blog
                                      • DDD本を読むためには前提知識が非常に多いよ - Qiita

                                        初めに きっかけ 新人研修中にDDDとか、PoEAAとかの話が少しだけ出ました。 ただ、イマイチわからないとの声が多数。 理由 なぜなら予備知識がたくさん必要だからです。(ほんとに多い) これはわからなくて当然。 そこで 独断と偏見で、予備知識となる用語を解説します。 偏見多いので、より正確な情報は、書籍やWebで調べてね。 この辺を説明します UML クラス図/シーケンス図 デザインパータン GoF/PoEAA 階層化アーキテクチャ DDD本のサマリ 知らなきゃいけない知識が多くて面倒だね。 説明しないけど、オブジェクト指向やデータベースとかの知識も必要だよ。 説明前にDDD本のページを見てみよう!!! DDD本の最初のページ 「エリック・エヴァンスのドメイン駆動設計」より ??? よくわからないね さっきの図って何? 灰色の中心部分はソフトウェア設計のモデリングを表しています。 モデリ

                                          DDD本を読むためには前提知識が非常に多いよ - Qiita
                                        • 「確率」についてご指摘いただきました|深沢真太郎 ビジネス数学・教育家 作家(34冊/小説・ビジネス書・教育書)

                                          ビジネス数学教育家・深沢真太郎です。 7年前に書いたSPI対策本の中で、確率に関する記載内容に数学的な誤りがあるのではと突然twitterでご指摘をいただきました。 まずはご指摘に感謝いたします。ご本人にもそのようにコメントをお返しいたしました。 厳密性の必要な数学を論じる場面において「間違い」の議論が生じる発信が(書籍に)あったことはよくないことだと思います。この点については落ち度があると考えます。申し訳ございません。書籍ですから、不勉強である部分は確認し、内容は精査して改訂できるようであればそのように検討したく存じます。 ありがとうございました。 <追記 2021.3.4> 該当する書籍の内容についてお詫びと訂正について出版社と協議いたします。配信型授業の中で類似した内容の言及をしておりますので次回の配信にてお詫びと訂正をする予定です。自身の勉強不足により初学者向けの媒体で正しくない情

                                            「確率」についてご指摘いただきました|深沢真太郎 ビジネス数学・教育家 作家(34冊/小説・ビジネス書・教育書)
                                          • Python コードでアーキテクチャ図を生成できる Diagrams がめっちゃ便利! - kakakakakku blog

                                            「Diagrams」を使うと Python コードでアーキテクチャ図を生成できる.サポートされているアイコンセットがとても多く AWS や Google Cloud や Microsoft Azure もあれば,Kubernetes やプログラミング言語なども使える.試してみたけどめちゃくちゃ便利!まさに Diagram as Code だ✌️ diagrams.mingrammer.com セットアップ 「Diagrams」は Graphviz に依存しているため,macOS だと pip と brew ですぐにセットアップできる. $ pip install diagrams $ brew install graphviz 試してみた さっそく Examples を参考にアーキテクチャ図を作ってみた! サンプル : AWS from diagrams import Cluster, D

                                              Python コードでアーキテクチャ図を生成できる Diagrams がめっちゃ便利! - kakakakakku blog
                                            • VSCode上でシーケンス図/クラス図/フローチャートをサクッと書きたい ~Mermaid Graphical Editor~ - Qiita

                                              VSCode上でシーケンス図/クラス図/フローチャートをサクッと書きたい ~Mermaid Graphical Editor~初心者umlVSCode新人プログラマ応援mermaid はじめに Mermaid Graphical EditorというVSCodeの拡張機能にとても感動したので一筆書きました こんな方におすすめ シーケンス図/クラス図/フローチャートをサクッと書きたいけどmermaidとか難しそう 😢 できること VSCode上でポチポチしながらシーケンス図/クラス図/フローチャートを描けるようになる mermaid記法のコードも自動生成されるよ 個人的メリット mermaidの学習コスト0 紙で書くよりも修正しながら書きやすい 導入手順 (簡単7steps) (1) VSCode上で「Mermaid Graphical Editor」という拡張機能をインストールする (2)

                                                VSCode上でシーケンス図/クラス図/フローチャートをサクッと書きたい ~Mermaid Graphical Editor~ - Qiita
                                              • フロントエンドエンジニアが変える現場のモデリング意識/modeling-awareness-changed-by-front-end-engineers

                                                フロントエンドエンジニアが変える現場のモデリング意識/modeling-awareness-changed-by-front-end-engineers

                                                  フロントエンドエンジニアが変える現場のモデリング意識/modeling-awareness-changed-by-front-end-engineers
                                                • DDD くらいできるようになりたいよねって話 - Qiita

                                                  はじめに 私自身は今年の 7 月にドメイン駆動設計(DDD)を実践する企業に転職したばかりで DDD 実践歴は浅いのだが、最近は開発業務の他にも中途採用者の DDD 教育や 現場で DDD!2nd のドライバー役をする機会を頂くなど、DDD の布教活動にも少し関わっている。 その中で「DDD ムズイ」という言葉をよく聞いたので、DDD の実践に悩んでいる人向けにサンプル問題の解説を通して、実は DDD 自体は難しくないんだよってことを教える目的で本記事を書いた。 TL;DR(最初に結論) DDD 自体はドメインを中心にモデリングと実装をイテレーティブに繰り返す設計プロセスであり、モデリングと OOP の理解があれば誰でもできる。 難しいのは DDD 自体ではなくて、モデリングまたは OOP である。特に「良いモデル」を得ることは非常に難しい。 なので「DDD ムズイ」と感じる人はモデリング

                                                    DDD くらいできるようになりたいよねって話 - Qiita
                                                  • 『ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用』は、現代ソフトウェア開発の”知の高速道路” - Magnolia Tech

                                                    ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用 作者:田中 ひさてる技術評論社Amazon 予約してまで買ったものの、なかなか時間が取れず、読めていなかった『ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用』をようやく読み終わりました。 筆者である田中ひさてるさん自身で描かれた表紙の可愛らしさからは想像もできないハードな内容なので、一気に読もうとすると「分かった気」になるだけで全然理解していなかった、ということになりがちなので、3回くらいぐるぐる読むといいと思います(そうです、この本は本文もイラストも丸っと同じ人が書いているのです!!)。 目次 第1章 クリーンアーキテクチャ 第2章 パッケージ原則 第3章 オブジェクト指向 第4章 UML(統一モデリング言語) 第5章 オブジェクト指向原則 SOLID 第6章 テスト駆動開発 第7章 依存

                                                      『ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用』は、現代ソフトウェア開発の”知の高速道路” - Magnolia Tech
                                                    • 再検証性がある数理モデルが公開されてない 毎週計算方法を変えている ..

                                                      再検証性がある数理モデルが公開されてない 毎週計算方法を変えているパラメータは人力抽出この3点はヤバさのハッピーセットなんやが、未だにknoa氏を有難がろうとしてる連中は、それが分からんのやろなーって思ったわ。 こんなもんをそこそこの理系大学で卒業研究として出そうとしても、担当教授に卒業可能な研究成果として認められない程ハチャメチャなんや。 再検証性がある数理モデルが公開されてないこれは何度も指摘されてる訳やが、予測モデルが存在しなければ誰にも再検証できないし、予測の尤もらしさが検証できない。例えばや、毎日我々が参考にする天気予報にも、当然やが予測に用いた数理モデルが存在する訳や。 それを元にスパコンで計算して過去の例と付き合わせ、予測精度や誤差まで検証したうえで、「こんな感じの精度のモデルをつこうてるから、参考にすべきところは参考にしてな」って予報を日々公開してるんやな。 可笑しいと思っ

                                                        再検証性がある数理モデルが公開されてない 毎週計算方法を変えている ..
                                                      • DynamoDB の設計について考えてみる。 - Qiita

                                                        Amazon DynamoDB の特性 フルマネージド型の NoSQL データベースサービス 3つの Availability Zone に保存されるので信頼性が高い 性能要件に応じて、テーブルごとにスループットキャパシティを定義するキャパシティの Auto Scaling、オンデマンドキャパシティといった設定も可能 ストレージの容量制限がない DynamoDB のテーブル DynamoDB におけるテーブルはRDBMSにおけるテーブルと概念が異なります。 テーブルを作成する際に、Primary Key を指定する必要があります。 Primary Key はテーブルの各項目を一意に識別するために使います。Primary Key は、Partition Key および Sort Key で構成されます。(Sort KeyがなくPartition Keyのみの場合もあります) Item は R

                                                          DynamoDB の設計について考えてみる。 - Qiita
                                                        • 「キズナアイ」の3Dモデルの原点は「アイマス」!? トミタケさんに聞く3Dモデリングの世界

                                                          バーチャルYouTuber・VTuberという言葉が普及して幾年が経ち、バーチャルYouTuber市場は,今まさに群雄割拠の世にあります。 読者の中にも、テック系バーチャルYouTuberとして一躍することを志しているエンジニアの方がいらっしゃるのではないでしょうか? そんなバーチャルYouTuberのなかでも、ひときわ知名度が高く、世間にも知られているキャラクターといえば、2016年6月30日に自我に目覚め、同年12月1日にバーチャルYouTuberとしてデビューした「キズナアイ」さんでしょう。 YouTubeをはじめとしたWebコンテンツのみならず、地上波放送にも活躍の幅を広げる彼女は、バーチャルYouTuberの草分け的存在として、その地位を確固たるものとしています。 そんな世界の「キズナアイ」さんをモデリングしたのが、今回アンドエンジニアがインタビューした3Dモデラー、トミタケさん

                                                            「キズナアイ」の3Dモデルの原点は「アイマス」!? トミタケさんに聞く3Dモデリングの世界
                                                          • 0063 号 巻頭言

                                                            DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日本 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ

                                                            • 輸送問題を近似的に行列計算で解く(機械学習への応用つき) - 私と理論

                                                              輸送問題と呼ばれる問題があります. この問題は,普通は線形計画法やフローのアルゴリズムを使って解かれます. この記事では,この輸送問題を近似的に行列計算で解くアルゴリズム(エントロピー正則化 + Sinkhorn-Knopp アルゴリズム)を紹介します. 輸送問題とは アルゴリズム 得られる解の例 なぜこれで解けるのか? 競プロの問題を解いてみる 機械学習界隈における流行 まとめ 輸送問題とは 輸送問題とは以下のような問題です. 件の工場と 件の店舗からなる,ある商品の流通圏があるとする. 各工場には 個の在庫がある.. 各店舗では 個の需要がある. 在庫の総和と需要の総和は等しいとする (すなわち ). 工場 から店舗 に商品を一つ運ぶためには の輸送コストがかかる. 各工場 から各店舗 への輸送量 を適切に決めて,各店舗の需要を満たしつつ輸送コストの総和を最小化せよ. 輸送問題は最適化

                                                              • DB設計書の管理が楽になるDBML入門 – DBMLの書き方,dbdiagram.io, dbdocs の紹介 – | SIOS Tech. Lab

                                                                Table users { id integer [pk] first_name varchar last_name varchar email varchar [not null] password varchar [note: 'Hashed password'] created_at datetime [not null, default: `now()`] updated_at datetime Indexes { email [unique, name: "ui_users_email"] } Note: 'table: users' } 上記のテーブル定義を dbdiagram.io の左側のコード記載部分に張り付けると右側にプレビューが表示されます。 以下は dbdiagram.io でのプレビューをした時の表示です。(Noteの箇所は説明のため加工しています) (1) Ta

                                                                  DB設計書の管理が楽になるDBML入門 – DBMLの書き方,dbdiagram.io, dbdocs の紹介 – | SIOS Tech. Lab
                                                                • FigmaとNotionでUML・経理処理・デザインまでAll in oneな仕様書を書いて、更新・共有を楽にしてる話 - Qiita

                                                                  前提としての情報 単に「Figmaで要件定義のためのUMLも、外部設計のためのデザインも、内部設計のためのERDも全部つくるよ〜〜」という話をすると、ERD書くならデザインツールなんて使わないで、DBMSから自動生成できるツールとか使った方がいいじゃん、みたいな疑問が出るのは重々承知なので、そもそもこの形式に落ち着いた前提事項を書いておきたいと思います。 ご興味がなければ読み飛ばしてください。 筆者の仕事範囲 さて、冒頭で「事業会社でデザイナーとPMの狭間みたいな仕事をしてます」と書きました。キャリアの背景的には受託のPMっぽい仕事(厳密には違うんですが、本旨ではないので割愛します)→事業会社のインハウスデザイナー→現職という感じで、外渉から手を動かす所まで、必要ならなんでもします。 ざっくりいうと、機能の起案をして、経理などの関連部署に相談して、WBS引いて、UML書いて、画面遷移図書い

                                                                    FigmaとNotionでUML・経理処理・デザインまでAll in oneな仕様書を書いて、更新・共有を楽にしてる話 - Qiita
                                                                  • データモデルはドメインモデルに先行する - 設計者の発言

                                                                    関わっているあるプロジェクトで、Javaでのコンポーネントベース開発を進めるためのクラス図が出来上がりつつある。DDD(ドメイン駆動設計)に関心を持つ技術者にとってお手本になるような端正なドメインモデルだ。それを眺めながら関係者がしみじみと感じていることがある。どんなに優秀なドメインエキスパートと組んだとしても、DDDにもとづいてこのモデルを「先に」生み出すことは不可能だっただろう。 どういうことか。我々はまず、泥臭い分析と設計を重ね、あるべきデータモデルを完成させた。そのうえで実装方式の専門家の協力を仰ぎ、クラス図が出来上がった。つまり、データモデルからドメインモデルが導かれたのであって、その逆ではない。じっさい、ドメインモデルからデータモデルを導くことが不可能であったことは、両者を並べたら一目瞭然なのであった。 これは重要な論点だ。データモデリングとドメインモデリングのどちらを先行させ

                                                                      データモデルはドメインモデルに先行する - 設計者の発言
                                                                    • ER図の自動生成について、dbdiagram.io, DBeaver, A5M2 を比較してみる。 - Qiita

                                                                      はじめに データベース設計のER図について、自動で生成する以下3つのツールを比較した記事です。 dbdiagram.io DBeaver A5:SQL Mk-2(A5M2) 先日、こちらの記事をQiitaに投稿したところ、多くの方に記事を見ていただき、コメントも多数いただきました。 ER図に関するお勧めのツールをコメントいただく方が多くいらっしゃいました。 今回はその中から、無料でも利用できる3つのツールの「ER図の自動生成」の機能を試します。 比較の結論としては、〇〇が一番良いという感想ではなく、どのツールも多機能で、できることは違うので、今後使うときは用途や業務の環境によって使い分けていけたらと思っています。 目次 それぞれのツールについて、下記の内容を書いていきます。 1. dbdiagram.io 1-1. 始める 1-2. 使う 1-3. 感想 2. DBeaver 2-1. 始

                                                                        ER図の自動生成について、dbdiagram.io, DBeaver, A5M2 を比較してみる。 - Qiita
                                                                      • ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8

                                                                        ドメイン駆動設計 モデリング/実装ガイド https://little-hands.booth.pm/items/1835632 発売記念に、本書の1,2章の内容を中心にDDDの概要について解説する勉強会です。 Read less

                                                                          ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
                                                                        • GitHubで使えるようになった Mermaid の便利なところ

                                                                          はじめに GitHub で Mermaid がサポートされました。 Mermaid は図やグラフを描画するの独自の記法を持ちます。 その記法を Markdown のコードブロック中に記述するだけで図を描画できるのが便利です。 ...便利なのですが、記法が独特なことや機能が豊富なことから、とっつきにくいところもあります。 弊社[1]では みんチャレ 開発の情報共有ツールとして esa.io を活用しており、 esa も Mermaid をサポートしており以前から活用していました。 この記事では、私がこれまでに活用してきた中から特に便利だと感じた機能を紹介します。 ちなみに Zenn も Mermaid をサポートしているため図を描画できます。 Gantt ガントチャートです。 私が Mermaid を使いたいと思ったきっかけの機能です。 まずは、一番シンプルな例を書きます。 gantt Co

                                                                            GitHubで使えるようになった Mermaid の便利なところ
                                                                          • DDDでの要件定義〜実装までの流れについて解説します

                                                                            本記事では、ソフトウェア開発手法の一つであるDDD(domain-driven design)を使って要件定義〜実装を行う際のプロセスやポイントについてまとめていきます。 (書籍「ドメイン駆動設計モデリング/実装ガイド」の内容を大いに参考にさせていただいていますが、独自の内容・考察も記載しているつもりです。) DDD とは? DDD(domain-driven design)は日本語に訳すとドメイン駆動設計で、ソフトウェア開発手法の一つです。 ドメイン駆動という言葉から、ドメインというものが重要そうだということは伝わってくると思いますが、そもそもドメインという言葉が抽象的でわかりにくいですよね。 ドメインは直訳すると「領域」ですが、DDD で指している「領域」とは「ソフトウェアで問題解決しようとする対象領域」です。 そして、① ドメインについての理解を深めてモデルを作成し(DDD では、後

                                                                              DDDでの要件定義〜実装までの流れについて解説します
                                                                            • 決済ステータス定義の最適解

                                                                              ネットスーパーシステムの決済ステータス表現 (状態遷移) は複雑だ。 その理由は要求要件が多いことに起因しているが、多いことが悪いのではなく、それに応えなければシステムとして真の価値を発揮できないからで。逆に問題解決できなければ、著しく利便性を落としてしまうので、必須要件という位置付けにある。 前提文脈を汲み取りづらいモデリングなので、問題解決例を示すのはあまり見かけないが、自分が考えた決済ステータス定義の答えを示す。 この内容は過去にブログや登壇で話した内容の延長でもあるので、過去の内容も参考にすると良いかもしれません。 「E-Groceryにおけるカード決済処理の難しさと設計戦略」 「ネットスーパーの買い物体験を支える工夫と決済機能実現の過程」 前提条件 注文から支払い完了まで時間差がある注文後に注文内容の変更ができる品切れが発生するケースがある販売員が注文内容を変更できる0円での支払

                                                                                決済ステータス定義の最適解
                                                                              • ERDをPlantUML形式で自動生成するツールを作った - くりにっき

                                                                                PlantUML + ERDでPlantERDです github.com モチベーション PlantERDの特徴 使い方 出力するテーブル数の制限について 技術的に頑張ったこと テストのこと Foreign keyで隣接している別のテーブルを探す方法 複数DB対応のつらみ 追記:2019/12/13 9:45 モチベーション 既存プロダクトへの不満が一番大きいです。 https://github.com/voormedia/rails-erd は出力が画像なので取り回ししづらい そもそもRails前提なので他言語とかでは使えない https://github.com/schemaspy/schemaspy も悪くなさそうなんだけどここまでリッチじゃなくていい テーブル数個の小規模アプリならいいんだけど、中規模以上のアプリで使うと人間が読むに耐えないERDが生成されて精神が崩壊する 僕は初め

                                                                                  ERDをPlantUML形式で自動生成するツールを作った - くりにっき
                                                                                • 俺氏、将棋が二人零和有限確定完全情報ゲームでないことに気づいてしまうwww | やねうら王 公式サイト

                                                                                  このブログをご覧の方は将棋が二人零和有限確定完全情報ゲームであることはご存知でしょう。これは、ゲーム理論や探索アルゴリズムの教科書にでも載っています。「二人零和有限確定完全情報ゲームって何?」って方は、Wikipediaでも見ていただくことにして話を先に進めます。 零和とは? この「零和」というのは、和が零。英語で言うとゼロサムです。 零和(「ゼロ和」と読むのが一般的だが「レイワ」とも読む):プレイヤー間の利害が完全に対立し、一方のプレイヤーが利得を得ると、それと同量の損害が他方のプレイヤーに降りかかる https://ja.wikipedia.org/wiki/二人零和有限確定完全情報ゲーム つまり、自分が勝ちなら、相手は負け。相手が勝ちなら自分は負け。勝ちを+1点、負けを-1点、引き分けを0のように定めるなら、(ゲーム終局後に)自分と相手の点数を足すと0になる。なので、ゼロサムゲームと