<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>amedora's note</title>
    <description>調べたことや気づいたことの記録</description>
    <link>http://amedora.github.io/note</link>
    <atom:link href="http://amedora.github.io/note/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>トランザクションとリポジトリと Unit of Work</title>
        <description>
          
          データの永続化とトランザクションについて、nrsさんの『ボトムアップドメイン駆動設計 後編』の『3. トランザクション』を基本にいくつかの解法を比較してみます。 『ボトムアップドメイン駆動設計』で例示されているのは、 A) アプリケーションサービスでトランザクションスコープを定義するもの。 B) Unit of Workパターンで、Unit of Workが複数のリポジトリを持ちながらトランザクションを制御するもの。 の2つ。 MediatR の作者の Jimmy Bogard が ContosoUniversityCore でやっているのは、 Unit of Work として SchoolContext を定義するよ、アプリケーション全体でそれを使うよ。 全体で使うからアクションフィルタでトランザクションの開始と終了をコントロールするよ。 というパターン。 dotnet-architecture/eShopOnContainers では、 リポジトリが Unit of Work を持つよ。 この Unit of Work は Mediator のインスタンスを持つよ。 Unit of Work で変更を保存する前に、この Mediator がそれまでに発生したドメインイベントを全てDBに反映するよ。 というパターン。 いちばんリッチなのは...
        </description>
        <pubDate>Thu, 29 Nov 2018 00:00:00 +0900</pubDate>
        <link>http://amedora.github.io/note/2018-11-29-Repository-Pattern/</link>
        <guid isPermaLink="true">http://amedora.github.io/note/2018-11-29-Repository-Pattern/</guid>
      </item>
    
      <item>
        <title>ASP.Net Core で開発するなら MediatR は使いたい</title>
        <description>
          
          Jimmy Bogard（jbogard） 作の jbogard/MediatR がめちゃくちゃいい感じです。めちゃくちゃいいのに、ぐぐってみても日本語で紹介された記事が皆無なのでここで紹介しておきたいと思います。 MediatR は、デザインパターンのひとつ、Mediator パターンの実装をサポートするライブラリです。 ASP.Net Core で MVC や Web API を実装していて、何も考えずにガリガリ書いていたらファットコントローラができちゃいました…というような失敗をこのライブラリを活用することで避けることができます。 Mediator パターンと併せて、考え方の背景として『単一責任の原則』と『CQRS』を理解しておくとよいでしょう。 どういうふうに使えるのかは jbogard/ContosoUniversityDotNetCore を見ると早いです。 Microsoft の定番サンプルアプリケーション Contoso University が、MediatR を活用して実装されています。 たとえば、”コース”の削除においてコントローラがやっているのはこれだけ: namespace ContosoUniversity.Features.Courses { public class CoursesController : Controller { private readonly IMediator _mediator; public CoursesController(IMediator mediator) =&amp;gt; _mediator = mediator; // ～省略～...
        </description>
        <pubDate>Mon, 10 Sep 2018 00:00:00 +0900</pubDate>
        <link>http://amedora.github.io/note/2018-09-10-MediatR/</link>
        <guid isPermaLink="true">http://amedora.github.io/note/2018-09-10-MediatR/</guid>
      </item>
    
      <item>
        <title>Boostnote v0.11.9 に Ditaa サポートがマージされました</title>
        <description>
          
          Boostnote のv0.11.9がリリースされました。この中に、私が出していた DitaaサポートのPRが取り込まれています。


  公式ブログのリリースノート


Ditaa はPlantUMLが対応するグラフの1種です。Boostnote は PlantUML に対応するために gmunguia/markdown-it-plantuml を利用しています。
markdown-it-plantuml 自体がまだ Ditaa に対応していなかったので、まず作者に「Ditaa に対応する予定はないか？」とうかがいました。
すると、予定を聞いただけなのに回答は「対応したぜ！提案ありがとう。」でした :)

結果的には markdown-it-plantuml 側の対応がなくとも実装はできたのですが、ライブラリ作者に要望を出して
その機能を実装してもらえるという経験は初めてでしたので、今回もOSSの醍醐味を体感できました。

        </description>
        <pubDate>Tue, 04 Sep 2018 00:00:00 +0900</pubDate>
        <link>http://amedora.github.io/note/2018-09-04-BoostNote-Ditaa/</link>
        <guid isPermaLink="true">http://amedora.github.io/note/2018-09-04-BoostNote-Ditaa/</guid>
      </item>
    
      <item>
        <title>英語スキルゼロで翻訳プロジェクトに貢献する</title>
        <description>
          
          最近はサボり気味ですが、Vue.js 公式サイト翻訳プロジェクトにちょこちょこ参加しています。

私の英語スキルは、普段マニュアルを読んだりフォーラムでちょっと質問したりする分には
問題ないレベルだと思っていますが、公式ドキュメントとして品質の高い文章を書けるかというとその自信はありません。

じゃあプロジェクトに何も貢献できないのかというとそうではなく、品質の高い文章が書ける方には
それに集中していただくため、誰にでもできるけどちょっとだけ手間な部分を私が受け持つことで
貢献ができるはずです。そういう考えで、”サンプルコードがちょっと変更された”とか typo の修正とか、
スキル不要な部分をやらせてもらってます。

業務でもプライベートでも Vue.js を採用する機会が増えているので、少しでもお返しができれば。

        </description>
        <pubDate>Mon, 27 Aug 2018 00:00:00 +0900</pubDate>
        <link>http://amedora.github.io/note/2018-08-27-jp-vue-js/</link>
        <guid isPermaLink="true">http://amedora.github.io/note/2018-08-27-jp-vue-js/</guid>
      </item>
    
      <item>
        <title>Boostnote v0.11.8 に Markdown Table Formatter がマージされました</title>
        <description>
          
          2018年7月19日にリリースされた Boostnote の v0.11.8 に、私が出していたPRが取り込まれています。


  公式ブログのリリースノート


このPRは、Markdown の中で書かれたテーブルを自動整形するものです。
私の素の実力ではとても実装できるような機能ではありませんでしたが、実装を希望するIssueでアイデアは提示されてましたので、それを参考にsusisu/mte-kernelを利用する形で実装できました。

OSSプロダクトに対して、これまでも typo の Fix や翻訳で貢献したことはありましたが、機能追加での貢献は初めてでしたので貴重な経験になりました。

        </description>
        <pubDate>Thu, 19 Jul 2018 00:00:00 +0900</pubDate>
        <link>http://amedora.github.io/note/2018-07-19-BoostNote/</link>
        <guid isPermaLink="true">http://amedora.github.io/note/2018-07-19-BoostNote/</guid>
      </item>
    
  </channel>
</rss>
