情報更新

last update 04/01 17:35

ツイート検索

 

@mkgask
サイトメニュー
Twilogユーザー検索

Twilog

 

@mkgask

みかげあすか@mkgask

  • 1,235フォロー
  • 451フォロワー
  • 32リスト
Stats Twitter歴
3,855日(2009/09/12より)
ツイート数
59,868(15.5件/日)

ツイートの並び順 :

表示するツイート :

2020年04月01日(水)3 tweetssource

5時間前

@mkgask

みかげあすか@mkgask

現在のモデルには循環参照が一つ存在する。貨物が配送記録を知っていて、配送記録は一連の荷役イベントを持っている。荷役イベントはどの貨物を取り扱ったかの情報を持っている。最初は荷役イベントのコレクションを配送記録に持たせる脆弱な実装でも構わない。

posted at 15:36:59

2020年03月31日(火)5 tweetssource

3月31日

@mkgask

みかげあすか@mkgask

このアプリが船の移動と貨物の移動を別々に両方追跡しなければいけないのなら、輸送機器移動と荷役イベントが双方向だったかもしれない。しかしビジネスの関心は貨物に集中しており、荷役イベントから輸送機器移動の関連だけを辿れるようにすれば、我々のビジネスに対する理解を捉える事が出来る。

posted at 15:16:48

3月31日

@mkgask

みかげあすか@mkgask

顧客が関わった貨物全ての参照を直接持つと、システムが長期に稼働した場合扱えなくなってしまう。顧客の概念は貨物に固有の物ではないし、特定の責務からは解放しておくのが一番である。DB検索で拾えれば十分であろう。

posted at 15:09:51

3月31日

@mkgask

みかげあすか@mkgask

ドメインモデルの図を描いた時、双方向の関連が現れると、設計上問題になる。関連を辿れる方向は実はかなり大事で、ドメインに対する深い洞察を捉えている事も多い。

posted at 15:04:19

3月31日

@mkgask

みかげあすか@mkgask

「あれもやってこれもやって、それらをずーっと続けていって、それぞれちゃんと面白くして、そこで元の…たとえばバカ殿に戻ってきたら “よっ、待ってました!”ってなるんですよ」

posted at 02:33:04

2020年03月30日(月)3 tweetssource

3月30日

@mkgask

みかげあすか@mkgask

顧客の役割は同一性や連続性が不要で、貨物や顧客の関連で共有できる値オブジェクトだ。
タイムスタンプや名前などその他の属性もほぼ値オブジェクトで構わないだろう。

posted at 15:17:21

3月30日

@mkgask

みかげあすか@mkgask

配送仕様が実際に表現しているのは、ある配送記録の特定の状態に対する仮説である。配送記録が最終的に配送仕様の表す状態になって貨物の配送が終了するのが望ましい形だ。配送記録を共有することは出来ないが、配送仕様は共有できる。配送仕様は抽象であり、値オブジェクトだ。

posted at 15:13:50

3月30日

@mkgask

みかげあすか@mkgask

配送記録には注意が必要だ。これは交換出来ないのでエンティティであるが、貨物と一対一で紐付いていて、実際には独自の同一性を持っておらず、所有者である貨物のIDを借りることになる。集約をモデル化するとこの構図がより明確になるだろう。

posted at 15:08:03

2020年03月28日(土)1 tweetsource

2020年03月27日(金)8 tweetssource

3月27日

@mkgask

みかげあすか@mkgask

今回のシステムでは輸送経路に従って場所を結びつける。そういった地理的なモデルの一つとして位置があり、任意の自動生成識別子があればこの場合は十分だと考えられる。

posted at 15:28:31

3月27日

@mkgask

みかげあすか@mkgask

位置について、2つの場所は同じ名前でも同一ではない。緯度経度から一意なキーが得られるが、このシステムのほとんどの目的にとって関心を引くものではなく、構造が複雑になるばかりで実用性は低いだろう。

posted at 15:26:33

3月27日

@mkgask

みかげあすか@mkgask

荷役イベントと輸送機器移動は、現実を反映したものであり通常置き換える事は出来ない。よってエンティティとなる。荷積みと荷降ろしは同時に行われる事はなく、貨物IDと時間、タイプによって荷役イベントは一意に特定できる。

posted at 15:19:21

2020年03月26日(木)2 tweetssource

3月26日

@mkgask

みかげあすか@mkgask

みんなQiitaから撤退するのはいいんだけど、移転先ここにしまーすって宣言してほしい
インターネット迷子になりそう

posted at 12:46:45

2020年03月24日(火)8 tweetssource

3月24日

@mkgask

みかげあすか@mkgask

VSCodeでWakatime使ってるんだけど、500ファイル2500箇所まとめて置き換えしたらタスクマネージャにwakatime-cli.exeがずらーっと並んでCPUとメモリ食いつぶされてしまった
PC死ぬほど重くなったけどシャットダウンボタン効いてくれて助かった

posted at 20:39:09

3月24日

@mkgask

みかげあすか@mkgask

貨物についても、外観がそっくりでも区別の必要があり、エンティティでなければならない。
実際に輸送会社では全ての貨物にIDが振られている。このIDは自動生成でよく、ユーザにも公開され、予約時に顧客に伝えられ、問い合わせの際に使用する番号になるだろう。

posted at 15:36:53

3月24日

@mkgask

みかげあすか@mkgask

比較的簡単なものとして、顧客オブジェクトは個人や企業を表し、重要な同一性がすぐに見て取れる。これを追跡するのにどうするべきか?ドメインエキスパートと協議の結果、最初の営業の時に各顧客にIDが割り振られることがわかった。全社的に使用中のIDらしく、これで既存の名簿との同一性も確保できる

posted at 15:32:56

3月24日

@mkgask

みかげあすか@mkgask

次にエンティティと値オブジェクトの区別をつけていく。
各オブジェクトについて、追跡が必要な同一性や表現されている基本的な値を探す。
まず明快なケースを確認し、その後より曖昧なケースについて検討する。

posted at 15:25:08

2020年03月23日(月)5 tweetssource

3月23日

@mkgask

みかげあすか@mkgask

あか姉さまって呼ばれた茜ちゃんが家でも葵ちゃんをあお姉さまって呼んで何故かお嬢様言葉を始めてしまって翌日そのままのノリでゆか姉さま、マキ姉さまって続けた結果その晩ゆかきりのボイチャでお嬢様言葉が続いて東北家に逆輸入されたところまで見えた

posted at 22:59:46

3月23日

@mkgask

みかげあすか@mkgask

きりたんの真似してタコ姉さま、ずん姉さまって呼んでたウナちゃんが琴葉姉妹まであか姉さま、あお姉さまって呼び始めるところまで幻視した

posted at 22:21:07

3月23日

@mkgask

みかげあすか@mkgask

ドメインの責務とシステムの他の責務が混ざらないように、システム層を分離する必要がある。
今回のソフトウェアでは深く分析しなくても
・追跡問い合わせ
・予約
・イベント記録
の3つの機能がアプリケーション層に必要だと分かる。

posted at 15:24:06

2020年03月19日(木)5 tweetssource

3月19日

@mkgask

みかげあすか@mkgask

そのような実装の問題は今のモデルでは含んでいないが、実際の設計ではよく考慮しなければならない。またモデルが設計をより良く支えるために改良される場合には、ドメインへの新しい洞察も反映されるべきだ。今回は説明を簡易かつ明確にするために、変更のきっかけはモデルと設計を結ぶ事に限定する

posted at 15:27:52

3月19日

@mkgask

みかげあすか@mkgask

ここまでの内容がモデルに既にあるが、本来はモデルの改良と設計、実装がイテレーティブな開発プロセスて連携して進められなければならない事は忘れないで欲しい。またこの内容には永続化や関連オブジェクトの検索が含まれていないが、適切な仕組みが既にあるものとしている。

posted at 15:23:00

3月19日

@mkgask

みかげあすか@mkgask

動画作りたいし、ゲーム作りたいし、webサービス作りたいし、ツール作りたいし、3Dモデル作りたいし、ゲーム遊びたいし動画見たい
自分が6人足りない

posted at 12:50:29

3月19日

@mkgask

みかげあすか@mkgask

PS5より弱いRDNA2グラボのPCをお使いのみなさん
(最上位の5700XT Anniversaryより上なのでPS5より強いRDNA2グラボは市販に存在しない、はず)

posted at 12:25:13

2020年03月18日(水)3 tweetssource

3月18日

@mkgask

みかげあすか@mkgask

貨物の現在の状態を追跡するのに、配送記録が必要となる。配送記録は目標を設定する配送仕様とは逆に、実際に貨物に起こった事を記録する。
貨物の追跡は、最後の配送記録に記載された荷積みまたは荷降ろしのイベントと日時、また関連する輸送機器移動から荷出し地を抽出するなどして構成される。

posted at 15:42:39

3月18日

@mkgask

みかげあすか@mkgask

輸送機器移動は貨物を輸送機器に載せてある位置から別の位置へ移動することをさす。この移動は一回または繰り返し行われる。

posted at 15:36:21

2020年03月17日(火)5 tweetssource

3月17日

@mkgask

みかげあすか@mkgask

そういえば突然思い出したけど、今朝見た夢は架空の実家で何かの事件があって飛んで帰って架空の妹の無事を確認して抱きしめて安堵の涙を流すというものだった

posted at 20:53:54

3月17日

@mkgask

みかげあすか@mkgask

顧客には荷送人、荷受人、支払者などがいて、それぞれの役割を担うことになる。特定の貨物に対して所定の役割を果たせる顧客は一人だけとなる。役割は簡単に文字列を置いておくだけの時もあるし、振る舞いが必要な時はクラスでしっかり作ることもある。

posted at 15:32:27

3月17日

@mkgask

みかげあすか@mkgask

・モデルの全体図で説明する際、配送仕様の詳細を伏せる事ができる(のちのちあっさり変更になる可能性がある)
・貨物を実際に配送する手段が定まっていなくても、配送の必要がある貨物があることを明示できる。モデルの表現力が高まっている

posted at 15:28:42

3月17日

@mkgask

みかげあすか@mkgask

配送仕様は少なくとも荷出し地と到着日時を含んでいるだろうが、より複雑でも構わない。
貨物オブジェクトに内包してしまっても実現はできるだろうが、配送仕様として抽象化することには利点がある。
・貨物オブジェクトに内包すると、貨物オブジェクト大きくなりすぎ、理解や変更が困難になる

posted at 15:25:15

3月17日

@mkgask

みかげあすか@mkgask

動画のコンセプトにあうストーリーがやっと降りてきたのでやっと全体が把握できた
あと一ヶ月で作れるやろかってのは毎年のこと・・・
またとりあえずで一周作ってしまって、時間余ってから細かいブラッシュアップ考えよう

posted at 12:00:12

2020年03月16日(月)6 tweetssource

3月16日

@mkgask

みかげあすか@mkgask

貨物は荷積み、荷おろし、通関手続など各種のアクションが行われる。これらは荷役イベントとして扱われ、このアクションの完了をトリガーとして請求が発生するなど、さまざまな出来事に繋がるだろう

posted at 15:29:27

3月16日

@mkgask

みかげあすか@mkgask

ドメインモデルのクラス図(ツイートでは省略)を作った事によって知識が体系化され、言語として次のように言えるようになった
・貨物には複数の顧客がつく
・顧客はそれぞれ異なる役割を持つ
・配送目標が定義される
・仕様を満たした輸送機器の移動によって配送目標が達成される

posted at 15:25:30

3月16日

@mkgask

みかげあすか@mkgask

月曜休みより金曜休みのほうが嬉しいね
三連休やったから残りキリキリ働けより、4日だけ働けば三連休だぞ、のほうが良い感じする

posted at 14:37:48

3月16日

@mkgask

みかげあすか@mkgask

体内から排除すべき敵が少ないので免疫機構動かさなくて良いので体温低い?
免疫機構動かさなくて良いとエネルギーを他のリソースに割り振れるので体調良く感じる?
人体なんもわからん

posted at 11:51:22

このページの先頭へ