sheephumanのブログ

広汎性発達障害と診断されたASD孤立型。

C# ドメイン駆動設計(DDD)とは何か

 

 

 ドメイン駆動開発とも言われている、ソフトウェア開発手法の僕なりの理解です。

以下の講座を履修して学びました。

 

C#でドメイン駆動開発パート1【C#でドメイン駆動開発とテスト駆動開発を使って保守性の高いプログラミングをする方法】 | Udemy

 

 

 

 

 

 

 

 

 

 具体的な構成

 大まかな説明です。

 

f:id:sheephuman:20201027111039p:plain
DDDの層構造

View(UI)

普通にフォームですね。WeatherLatestViewとしています。

f:id:sheephuman:20201027102721p:plain

ViewModels 

public partial class WeatherListView : Form
{
 private WeatheListViewModel _viewModel = new WeatheListViewModel();
 public WeatherListView()
{
  InitializeComponent();

  WeathersDataGrid.DataBindings.Add("DataSource", viewModel,nameof(viewModel.Weathrs));
   //DataGridViewです。
}
}

 そうですね!

 www.youtube.com

Entityクラス

Entityとはクラスに渡す変数の集まりで、完全コンストラクタパターンで定義しておきます。

 public sealed class AreaEntity
    {
        public AreaEntity(int areaId,string areaName)
        {
            AreaId = areaId;
            AreaName = areaName;
        }


        public int AreaId { get; }
        public string AreaName { get; }
    } </p>

 笑う所

 www.youtube.com

 

明確に変数の役割が決まっている場合は、新しく専用のクラスを作り、そこにまとめて変数を格納しておきます

        public DateTime Date { get; }
        public Condition Condition { get; }
        public Temperture Temp { get; }
        public string AreaName { get; set; }

また、ValueObjectクラスを作り、各Entityクラスに継承させておきます。 

public abstract class ValueObject<T> where T : ValueObject<T>
    {
        public override bool Equals(object obj)
        {
            var vo = obj as T;
            if (vo == null)
            {
                return false;
            }
            return EqualsCore(vo) ;
        }

    public static bool operator ==(ValueObject&lt;T&gt; vo1, ValueObject&lt;T&gt; vo2)
    {
        return Equals(vo1, vo2);
    }
    public static bool operator !=(ValueObject&lt;T&gt; vo1, ValueObject&lt;T&gt; vo2)
    {
        return !Equals(vo1, vo2);
    }


    protected abstract bool EqualsCore(T other);

    public override int GetHashCode()
    {
        return base.GetHashCode();
    }

    public override string ToString()
    {
        return base.ToString();

  } }

この実装により、変数を渡した際の同一性が保証されます。

↓Temperatureクラスの操作はUI側では行わず、クラス側のみで行います

クラス内部でさらにFloatHelperを呼び出し、とにかくEditする層の細分化を図っています

 public  class Temperture : ValueObject<Temperture>
    {
        public const string UnitName = "℃";
        public const int TemperatureDecimalPoint = 2;

    public Temperture(float value)
    {
         Vaiue = value;
    }

  public float Vaiue {  get;   }


    public string DisplayVaiue
    {
        get
        {
         return  FloatHelepr.RoundString(Vaiue,TemperatureDecimalPoint);

         }
    }
    public string DisplayVaiueWithUnit
    {
        get
        { return FloatHelepr.RoundString(Vaiue, TemperatureDecimalPoint) + UnitName; }
    }
    public string DisplayValueWithUnitSpace
    {
        get
        { return FloatHelepr.RoundString(Vaiue, TemperatureDecimalPoint) +&#34; &#34;+ UnitName; }
    }


    public string DisplayValue { get; set; }
    public int DecimalPoint { get; private set; }

    protected override bool EqualsCore(Temperture other)
    {
        return Vaiue == other.Vaiue;
    }</pre>

まとめ

このように細分化を行っていくと、やや手間がかかるものの、バグの少ないCodingを自ずと強制することになります。

初心者は全てViewModel側(Form側)でコーディングするという事をやりがちですが、Visual Studio上でプロジェクトファイルを作り、フォルダ分けして管理していく事でコーディングルール・プログラミングの方針を確定させ、円滑な作業を行っていくという事を可能にします。

言語習得アプリの設計

 

 

 すべての女性は羊である。ゆえに女性は大切にして、常にご機嫌をとらなくてはいけない。羊はウールや肉の糧として贖われ、女性を肥沃にする。女性はハイヒールを履いて魅力を振りまき、周囲を肥沃にする。悪い男や狼、害獣から、女性とひつじを守らなくてはいけない。

 

 おはようございます。ひつじ!人間です。#女性とひつじ タグも鋭意制作中です!

 

 

 

 今回は英語等の多言語習得を目的とした、英語学習アプリの設計案を出したいと思います。私は、英語などの他言語を習得する際に、あくまで自分の興味や関心など、自分の文脈を英語表現で培っていくべきではないかと考えています。

 

 TOEIC等の資格も実力を保証するものであり、就職等には役立つかもしれませんが、高得点を出すのはなかなかに労力と時間がかかり、敷居の高い作業です。

 

 そこで、センテンスや単語の意味を各々のペース・文脈で蓄積していくという方法論を提示したいと思います。

 WPFで制作したいのですが、まだ慣れていないので、制作は暫く先になるかもしれません(というか頓挫するかもしれない)。

 

 

 

システム要件

  • 単語やセンテンスを素早く登録する
  • 重要な単語に色を付ける
  • データベース内を検索できる
  • 操作が容易
  • 使い方ガイドを初回起動時のアプリ内で行う
  • 必要に応じて他言語を追加で登録できるようにする
  • 政治・経済・ビジネス・生活などでジャンル分けを行う

 コンセプトは「自分で追加していくオリジナル辞書」である。

 

 

  タブ型にするなどの方法が良いかも知れない。

  英語学習アプリは沢山あるので、その中から適当に選んで参考にする。

 f:id:sheephuman:20201024114634p:plain

  

 

ベーシックインカムのメリット・デメリット (BI part 2) 

 

 

 前回に続いて、ベーシックインカム(以下BI)について調査しました。

記述の正当性と正確性については検証を行わないものとします。

 

前回の記事

sheephuman.hatenablog.com

(スターはURLを変えたので消えてしまいました。申し訳ないです)

 

 

 

BIの財源としての既存の福祉制度の撤廃

 

tymyh1123.hatenablog.com

ベーシックインカムとは「相対的貧困」を解決するための制度です。

>日本の①+②の数値はOECD加盟国で最低です。
これが日本でBI導入が財政的に難しい理由であると同時に、積極的に導入するメリットが乏しい理由。

 ┗①とは失業率であり、②は公務員の数が労働力人口に占める比率である。

 

 

傍証 

news.yahoo.co.jp

>日本は2015年時点で5.9%。雇用者全体のおよそ1/17が公務員という結果になる。これはOECD諸国では最低率。

 

 

>日本の公共部門の雇用者数(公務員の数)が労働人口に占める比率は7〜8%と世界屈指の低水準です。
しかも、その3分の2程度は、教育、警察、消防、公衆衛生、自衛隊、裁判所など我々の文明社会の基幹部分に携わっている公務員であり、残りの効率化の対象となるような公務員は100万人、労働力人口の2%程度です。

 

 

>この100万人をリストラすることで、1億2千万人の全国民が働かずに食えるユートピアが作れるという話はにわかには信じがたい。

 

 

年金の廃止

news.yahoo.co.jp

厚労省のモデル年金の受給額は夫婦(妻は国民年金)で約22万円。しかし、年金が廃止されてベーシックインカムに置き換えられると、夫婦でベーシックインカム2人分の14万円しかもらえない。

 

 ┗現行制度の平均年金受給額(年金の受給額~わたしはいくらもらえる?年代・年収・職業別に解説~ | Money VIVA(マネービバ)

  自営業や専業主婦など(国民年金のみ)  …約56,000円/月
  会社員や公務員など(国民年金+厚生年金)…約14万5,000円/月

 

 >竹中平蔵氏 平均で7万円レベルなら、財政的に大きな負担にならない、と申し上げたんです。例えば、家族4人で28万円は必要ないかもしれませんので、3、4人目はもっと安くしましょう

 

 

 高齢者世代の生活がどんどん苦しくなる。

 弊害(デメリット)

  ・(将来的に)若年者の家族の生活が苦しくなるという事

  ・医療費や介護費用が全額自己負担となる。

    ┗当然、月々7-8万円のベーシックインカムでは賄えない難病や重症の場合は対応できなくなる。

 ・勤労意欲の低下 → メリットの項を参照

 

メリット

 ・若年者の幸福度が上がる。短期的な臨時収入が入ることにより、将来の計画を立てたり、そのための勉強時間を確保するなどが容易になる。

 

  ・幸福度が上がるので、勤労意欲も出る(という実験結果がある)。

  ┗詳しくは下記

 

 

 

フィンランド政府が2年間ベーシックインカム給付をして分かったこと(山森 亮) | 現代ビジネス | 講談社(1/5)

 その他 アメリカ、ナミビアやインド  などがベーシックインカムの実験を行っており、今なお議論が進められています。他にもあるかもしれません。

 

 

 

一応、日本でも民間が勝手にやっているものがある。

 

    https://twitter.com/kei_ikeuchi/status/1315620598857392128

 

    若年の単身者に偏り過ぎてますね。

 

 

 ・少子化対策には絶大な効果がありそう

    ┗要検証。

 

 

 

 まとめ

 ここから導き出される結論は、日本でのベーシックインカムの導入は実質的に2者択一であるという事です。日本には、既存の福祉金給付制度に加えて、ベーシックインカムまでを+するような財源の余剰は無いのです。

  これは記述をトレースしてるだけなので、情報量はともかく、誤読の余地はないと考えられます。要するに、真か偽かで判断してほしいという事ですね。

 

 また、ベーシックインカムで継続的にプラスの給付が欲しいと考える世帯はかなり多いと考えられ、特に学生単身世帯ベーシックインカムに好意的です。

 

 

 政治家のいいなりになるのは問題ですが、利害関係を調整して最大幸福を追求するのが政治ですので、問題となる部分はその都度調整を加えるしかないのではと思われます。

 

 

 

 おまけ

  前回の記事でも触れましたが、民間でBIとして給付してる人が居ます。動画のネタで話題になりそうな人だけだと思われますが。

twitter.com 

 この人はあまり筋道だった思考は得意ではないようですので、とりあえずマネタイズと人助けがしたい人なのだと思われます。 

 

ひつじと英語とスラング

 

最近私が自作した英文を投稿します。

 

 

リツイートを無暗にしてはいけません。リツイートおじさんになってしまいます。 Don't let the retweets recklessly. I end up being a " Retweeting uncle".

 

 

Sudden realization you're being left out.

 

 

あたしはゲイなのよ。 Coming out: I'm gay.

 

fucked up how sheepish wolfs have bigger wools than male wolf.

羊のオオカミがオスのオオカミよりも大きな羊毛を持っているのはサイアク。


 

 

Let’s just start as friends. = 友達から始めましょう.

 

 

 

女性を監禁するのは犯罪。 Confinement of women is a crime.
 
 
 収入がない男は最低。 .
A man witiout income is suck.
 

最近は「生英語」に興味があります。 Recently, I like "raw English".

 

 

”Raw Manga”を検索すると違法なサイトがたくさん見つかりますね! If you search for "Raw Manga", you will find many illegal sites!

 

 

こんな男は危険なので、避けた方がいい。 Such a man is dangerous and should be avoided.

 

 

互いの距離が埋まるかどうかは、結果論でしかない。 ひつじは美しいです。 Whether or not the distance between each other is filled is only a consequential theory. Sheep is Beautiful.

 

 

I got hired without even doing a Sheep house interview lmao, thank God

 

 

互いに付き合いを継続しようと思ったら、意中の人に張り付くよりは、暇人を数人集めてきた方が早い。 If you often come along, don't stick to the person you are interested in, it is better to read a few people.

 

 

 

これらはEdrew MindMaster に登録するつもり。

 

 

 

ベーシックインカムと無人化技術の今

 

 こんにちわ。ベーシックインカム(以下BI)について、かなりいい加減に調査した記事です。とりあえずツイートを中心にまとめる方針です。

 

 

 私も御多分に漏れず政治とか興味なくて、「BIが空から降ってきたらいいな」などと考えてるクチなんです。まあそれでもたまには考えた方がいいかなーと、重い腰を据えて取り組んでいます。

 

 

 

BIの背景

note.com

  >その一方で人々は仕事を奪われ、日々の生活の糧にも窮するようになる。そこで、政府は大儲けをしている企業に重税をかけ、それを財源に、人々に生活保護として生計費を配るようになる。これが、未来型BI(ベーシックインカム)の絵図だ

 

未来型BIの財源

 →AI 

 →無人化技術

tifana.ai

無人化・自動化が進んでいる分野

   →「サービスカー」と呼ばれる公共交通機関や物流向けの商用車の自動運転化は、遅れはあるものの着実に進んでいるようです。

 →大阪メトロの「ニュートラム」や神戸新交通の「ポートライナー」、東京臨海新交通臨海線ゆりかもめ」など鉄道7事業者8路線では、すでに無人の自動運転が実施されています。

 

→農業機械(トラクタなど)の自動運転

 ┗自動運転農機

無人コンビニ 

2020/08/19

lifepepper.co.jp

>2018年10月〜12月にかけて、JR東日本赤羽駅で導入実験を実施。2020年3月には高輪ゲートウェイ駅にて日本で初めて本格オープンしました。

 

>また、2019年8月〜20年2月にかけて、ローソンが横浜市内の店舗にて深夜時間帯の無人運営実験を実施しました。

 

 

BIの実現可能性

 

tymyh1123.hatenablog.com

 

>この金額をまかなうためには、国民負担率(国民所得に占める税金と社会保険料が占める割合)が現行の40%を60%にする必要があるという。

 

https://twitter.com/miyamototooru/status/1308950107509800960?s=20

 

税率は50%必要。

www.moneypost.jp

ここでは何が正しいのかは検証しません。とりあえず参考になる数値を引っ張ってきただけです。

 

 

BIのテスト状況

 

  2019.6.17 今回は、昨年末まで2年に渡ってフィンランド政府がおこなったベーシックインカムの給付実験について紹介する。

gendai.ismedia.jp>いずれも統計的には有意な差ではなく、給付は雇用には変化をもたらさなかったと結論づけている。

 

>これらを踏まえて、主観的な幸福度に効果があったと政府は結論づけている

 

>この点に関して言えば、今回の実験結果は、ベーシックインカムによって人びとが働かなくなることはなさそうだ、ということになる。

 

→→さて、負の所得税が提唱されたのにはいくつかの理由があるが、そのうちの一つはいわゆる「福祉の罠」と呼ばれるものである。

   ┗たとえば就労可能であると判断されると給付資格を失うような給付であれば、かりに病状などが回復して職探しを始めた段階で給付を失うことになる。

 

 

 

>類似の効果は、ナミビアやインドの実験でも報告されているが、これらの場合はコミュニティ全体が給付をうけていたため、コミュニティ全体が良い方向に変容した結果として解釈することができる。

 

2020/06/30 12:15

 米11都市でベーシックインカム導入実験、29歳市長が発起人

    

  >国のロサンゼルスやアトランタを含む11の都市の市長らが6月29日、ユニバーサル・ベーシック・インカム(UBI)のテスト導入を行うと宣言した。新型コロナウイルスパンデミックを受け、行政の間では人々に最低限の収入を保証する政策の検討が進んでいる。

 

forbesjapan.com

 

 

 

 おまけ

 Twitter上には「ベーシックインカムの実験」と称してお金を配る人も居ます。

お金を無心すれば、給付をくれるかも知れませんよ(笑)

 

 

 サイト 

www.bicinemas.com

 動画を月額1000円で販売してましたが、最近は一部を無料公開してるようです。

 

 

 

 

 

PCの新調と勝手にスリープ復帰する件

 

 

 購入記事 

sheephuman.hatenablog.com

 

お久しぶりです。ひつじ!人間です。

めんどくさいので更新する気になかなかならないんですね。ひつじというのは大体寝そべってもぐもぐやっている生き物です。

 

 

10月から新PCに乗り換えまして(実に3か月放置している)、スリープした直後に勝手に復帰するという現象に遭いました。10秒ぐらいでまたファンが回りだすので、困ってました。

 

 自分は最短の手順を好むので、とりあえず今回の原因だけ手短に記しておきます。

 

 

「 デバイスマネージャーのネットワークアダプター」です。

 

FreeAlermClock(レビュー:https://forest.watch.impress.co.jp/docs/review/740268.html

)を目覚ましに使ってまして、スリープ解除タイマーは残さないと後々困るんです。

 

 

 

 

あとは、セキュリティの更新とアクティビティ時間の調整ですね。

 

f:id:sheephuman:20201012113854p:plain

 

 更新プログラムが停止してる間は勝手に復帰しない筈、なので。。。

インスタント家計簿 1.2.6 Update

 

 

ダウンロード

www.vector.co.jp

 

Versionは1.2.6となります。

 ※手違いでRead meのVersionなどが反映されていません後日、差し替えます。

blog版↓をどうぞ。

 

使い方 

sheephuman.hatenablog.com

 

使用感ツイート

 

 

更新履歴

 DataView内のある列のセルをクリックするとコンボボックス、DateTimePickerが表示されるようにした。

  •  DataView参照用のCheckBoxを追加
  •  セルの一列目「支出」を手動で編集するとChartに反映されるように修正 編集済みフラグも追加

 [新規データ]押下時の挙動を一部変更
 Window位置も記憶させる仕様に変更

 

 

今後の更新予定

 気が向いたら。要望があれば追加で何か付けます。

グラフ表示を独立させる

効果音付ける

Chaetを色分けする など

 

 

 

 

参考までに

本アプリで付けた家計簿記録

クリップボード出力機能を使用してます。

無精なのでまだ全部記録してない。

 

¥79,860

40000 家賃 8月31日  
6850 電気代 8月17日  
4873 電気代 8月14日 7月分電気代
3922 業務スーパー 8月11日  
3000 Hard-OFF 8月01日  
2695 業務スーパー 8月30日  
2695 PS.FA 8月06日 ワイシャツ
2102 業務スーパー 8月01日  
2035 快活クラブ 8月14日  
1670 maruhiro 8月21日  
1645 業務スーパー 8月19日  
1266 maruhiro 8月06日  
1069 業務スーパー 8月13日  
770 韓国風ビビンバ丼専門店 8月23日 カルビ入りビビンバ
660 セブンイレブン 8月14日  
624 業務スーパー 8月31日  
563 スギ薬局 8月21日  
562 吉野家 8月13日  
450 日高屋 8月08日  
403 業務スーパー 8月08日  
374 郵送 8月13日  
362 業務スーパー 8月18日  
319 セブンイレブン 8月02日 アイスコーヒー、辛口ビーフジャーキー
218 Cando 8月06日  
217 郵送 8月01日 履歴書
208 セブンイレブン 8月19日  
200 郵送 8月01日 切手
108 セブンイレブン 8月14日