タグ

2016年7月10日のブックマーク (12件)

  • DDD: ImmutableなEntityの実装方法〜ステートソーシングなEntityとイベントソーシングなEntity〜 - Qiita

    DDD: ImmutableなEntityの実装方法〜ステートソーシングなEntityとイベントソーシングなEntity〜ScalaDDDドメイン駆動設計 ドメイン駆動設計では、Value ObjectはImmutable、EntityはMutableという雰囲気があるように思うが、ScalaでDDDを実践しようとなると、EntityがMutableでは逆に実装が複雑になることが多い。僕がDDDを始めた2013年頃は、ImmutableなEntityの実装に関する情報がほとんどなく実装方法を試行錯誤していた。その中で、個人的にImmutable Entityの実装方法が落ち着いてきたので、僕がどのように実装しているかについて紹介したい。 なお、ここで紹介するScalaコードはGitHubのsuin/scala-playgroundで公開しているので、コンパイル・実行など試してみたい場合はご

    DDD: ImmutableなEntityの実装方法〜ステートソーシングなEntityとイベントソーシングなEntity〜 - Qiita
  • knockoutのデバッグ方法 - Qiita

    この記事は、knockout.js Advent Calendar 2015の9日目の記事です。 先に8日目に目を通すことを推奨しています。 knockout , knockout-es5 , knockout.punches環境を想定しています。 あらゆるMV*ライブラリ/フレームワークにして共通して言える事なのですが、 指定したHTMLの要素(element)が一体どのscopeに属しているのかを正確に把握することが大切です。 Webブラウザで、F12を押すことで、一般的には開発者用のツール(Developer Tools、インスペクタ)が起動します。 ここではChromeの場合で説明します。 DeveloperToolsを開いている状態で、 scopeを調べたい対象の要素を右クリックし、要素を検証(N)を選択します。 その後、DeveloperToolsのConsoleに、 ko.d

    knockoutのデバッグ方法 - Qiita
    JHashimoto
    JHashimoto 2016/07/10
    “その後、DeveloperToolsのConsoleに、 ko.dataFor($0) や、 ko.contextFor($0) など実行すると、その要素のscopeが何なのかがわかります。”
  • knockoutのsubscribe - Qiita

    この記事は、knockout.js Advent Calendar 2015の10日目の記事です。 先に9日目に目を通すことを推奨しています。 knockout , knockout-es5 , knockout.punches環境を想定しています。 subscribeはライトユーザは、ほとんど利用することがないかもしれません。 (解説: 公式、日語) subscribeを用いると、値が変化した際のイベントハンドラを設定できます。 subscribeは、observableに対して設定をしてあげる必要があるため、knockout-es5を利用している際にはひと手間かかります。 knockout-es5においてobservableを取得するには、ko.getObservable({someObject},'property-name')を行います。 これで、observableが取得できる

    knockoutのsubscribe - Qiita
    JHashimoto
    JHashimoto 2016/07/10
    “subscribeはライトユーザは、ほとんど利用することがないかもしれません。subscribeを用いると、値が変化した際のイベントハンドラを設定できます。”
  • [小ネタ] knockout.jsでラジオボタンのモデルの値に真偽値を使う - Qiita

    knockout.jsで真偽値を入力させる場合はチェックボックスを使うのが最も簡単ですが、「はい/いいえ」みたいに明示的に「いいえ」を指定させたい場合があります。このような場合はラジオボタンを使って以下の様にすることになります。 <label><input type="radio" name="question" value="1" data-bind="checked: question" />はい</label> <label><input type="radio" name="question" value="0" data-bind="checked: question" />いいえ</label> value属性にビューモデルに設定される値を指定するわけですが、この値は文字列なので、ビューモデルに設定される値も文字列になります。普通にPOSTしてサーバに送信する場合はサーバが真偽

    [小ネタ] knockout.jsでラジオボタンのモデルの値に真偽値を使う - Qiita
    JHashimoto
    JHashimoto 2016/07/10
    “こんな時に使えるのがcheckedValueパラメータです。選択された時の値を指定することができるので、trueとfalseを指定してあげればビューモデルに真偽値が設定されるようになります。”
  • [小ネタ] knockout.jsのattrバインディングでreadonly属性を設定する - Qiita

    HTMLのreadonly属性はちょっと変わった属性で、名前と値の組ではなくて属性名だけで指定します1。この属性をattrバインディングを使って設定しようとすると意外と難しかったりします。どう難しいか順を追ってみていきましょう。 まず、attrバインディングを使ってreadonly属性を変更する場合は、以下のように記述することになります。 readonlyAttrは属性値を返すobservableなプロパティです。が、これはいったい何を返せば良いのでしょうか。値など要らないわけですが、何かを返さないとattrバインディングが満足してくれません。 ここでHTMLの仕様を記憶からひねり出します。実は属性名のみの指定はreadonly="readonly"の略記です。ということはつまり、readonlyAttrは以下のようにすればいいはずです。 が、うまくいきません。isReadonly()が偽

    [小ネタ] knockout.jsのattrバインディングでreadonly属性を設定する - Qiita
    JHashimoto
    JHashimoto 2016/07/10
    “なんと、属性値としてnull、false、undefinedを指定すると属性を削除してくれるようです。まさにこんな時のための機能があるではありませんか。”
  • Mappingプラグイン(その1) - 418 | I'm a teapot

    これはKnockoutJSアドベントカレンダー17日目の記事です。 KnockoutJS Advent Calendar 2014 - Qiita MappingプラグインはKnockoutJS公式のドキュメントに唯一書かれてあるプラグインです。 http://knockoutjs.com/documentation/plugins-mapping.html 公式ドキュメントには色々書いてありますが、簡単に言うと 「JSのオブジェクト内のプロパティや配列を observable / observableArray に変換」するプラグインです。 個人的にはばっちりハマるパターンにまだ落とし込めてないので良さげなパターンあれば教えて欲しいです。 下図の Model 部分についてサーバからJSONを取得してマッピングさせるときに便利なんじゃないかと思います。 ※公式ドキュメントでは view m

  • Windowsフォームアプリケーションでリソースリークしないために(1) - atsukanrockのブログ

    最近になって初めて*1、格的なWindowsフォームアプリケーションを開発した。その中でいくつかリソースリークしやすいポイントを見つけたので記録する。 書いてみるとかなりの分量になったので、分割することにした。エントリはその第1回。 Windowsフォームアプリケーションとは いきなり「Windowsフォームアプリケーション」という言葉を使ったが、.NET FrameworkのSystem.Windows.Forms名前空間以下に含まれる型を使って作成するデスクトップアプリケーションという意味で使った。以降もこの意味で使う。 さて、ここからが主題。 Image.Disposeを忘れない Windowsフォームアプリケーションで画像を扱う場合、一般的にImageクラスを使う。このクラスはIDisposableインターフェイスを実装している。よってそのインスタンスを使い終わった時点で、Di

    Windowsフォームアプリケーションでリソースリークしないために(1) - atsukanrockのブログ
    JHashimoto
    JHashimoto 2016/07/10
    "画像を消去する場合だとまだ良いが、画像を差し替える場合などには忘れがちではないだろうか。画像を差し替える場合、差し替える前のPictureBox.Imageプロパティ値をDisposeしなければならない。"
  • Visual Studio 2015 Update3適用後に拡張機能でエラーになった場合の対処(更新:パッチリリース) - kkamegawa's weblog

    Visual Studio 2015 Update3適用後にこんな現象が出ることがあります。 どうしたものやら…VS拡張がおかしい? pic.twitter.com/PegUL7NKwG— はぇ~☆ (@haxe) July 9, 2016 これはソリューションエクスプローラーですが、私はチームエクスプローラーで起きました。 拡張機能のパッケージ読み込みに失敗したといわれます。原因はどちらも同じで、コンポーネント関係のキャッシュが壊れてしまうことです。一番よく出るのはUpdate 3適用直後です。私も一つの環境で起きて困りました。VSをアンインストールしても変わりません。 対処方法としては、Visual Studioを一度終了させて、%localappdata%\Microsoft\VisualStudio\14.0\ComponentModelCache フォルダをさっくり消してください

    Visual Studio 2015 Update3適用後に拡張機能でエラーになった場合の対処(更新:パッチリリース) - kkamegawa's weblog
  • StyleDocco

    StyleDocco generates documentation and style guide documents from your stylesheets. Stylesheet comments will be parsed through Markdown and displayed in a generated HTML document. You can write HTML code prefixed with 4 spaces or between code fences (```) in your comments, and StyleDocco shows a preview with the styles applied, and displays the example HTML code. The previews are rendered in resiz

    JHashimoto
    JHashimoto 2016/07/10
    "StyleDocco generates documentation and style guide documents from your stylesheets."
  • aigis - Style Guide Generator

    Aigis is a style guide generator. Make easier and maintainable. View on GitHub What is aigis? Aigis is a Node.js package that parses comments in your CSS and auto-generate a style guide. It is similar to Hologram , like a Node.js implementation of Hologram. Why did we create aigis? We didn't want the dependence on Ruby environment only to generate a style guide. Less dependencies is better. So we

    aigis - Style Guide Generator
  • hologramでカスタムスタイルガイド | CodeGrid

    hologramというRubyベースのスタイルガイドジェネレータを解説します。インストールから基的な使い方、細かなカスタマイズ方法までを紹介し、一通り使いこなせるようになります。

    hologramでカスタムスタイルガイド | CodeGrid
  • スタイルガイドジェネレータの KSS が良さそう - text.ykhs.org

    KSS はスタイルガイドジェネレータです。 Github の中の人、Kyle Neath 氏を中心に開発されていて、Github 自体にも使われています。 普段は SCSS で使っていますが、CSS, SCSS, LESS といった形式に対応しているそうです。 KSS · Knyle Style Sheets http://warpspire.com/kss/ Ruby 製のツールで Rails や Sinatra に組み込んで使用します。 そして Github のリポジトリには Sinatra で動かす場合のサンプルも含まれています。 kss/example at master · kneath/kss · GitHub https://github.com/kneath/kss/tree/master/example 上記サンプルの views ディレクトリを見てもわかるように vie

    JHashimoto
    JHashimoto 2016/07/10
    “スタイルガイドっていうのは CSS で作ったスタイルを一覧して確認出来るようにした一種のドキュメントで、”