タグ

2014年1月8日のブックマーク (18件)

  • Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて | Born Too Late

    あけましておめでとうございます。 大晦日は実家でプログレ聞きながらコード書いてました。 今さらながら Heldon の Stand by とか聞いてたんですが、Tangerine Dream を思わせるミニマルなシンセサイザーの反復と、リシャール・ピナスによるロバート・フリップばりの暴力的なギターソロが絡みあっており、大変良いですね。 作ったもの また説明長くなりそうなので、はじめに作ったものの紹介です。 dee dee-rails この Dee というのが DI コンテナの体です。 名前は Ozzy Osbourne ソロ 1st Blizzard of Ozz におけるランディ・ローズのギター曲からです。 50 秒と短く、メタルアルバムの中にあってクラシック風の静かなギター曲ですが、同時にアルバムから欠かせない存在感を放つ名曲です。 何が言いたいかというと、Dee はコンパクトな実装

    kahki
    kahki 2014/01/08
  • DCI/Serviceをめぐる話題

    Yuya Takeyama @yuya_takeyama ちょっと釣りっぽいタイトルになおした > Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて http://t.co/vABmwWB5A5 2014-01-01 01:31:44 Sho KUSANO / rosylilly @rosylilly なんで DCI がさらっと Dis られてるのかちょっとわからなかった / “Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて - Born Too Late” http://t.co/0lV9jfUb6A 2014-01-01 05:24:47 Yuya Takeyama @yuya_takeyama @rosylilly もともと、ドメインロジックとか、DB 関係無いモデルをどこに

    DCI/Serviceをめぐる話題
    kahki
    kahki 2014/01/08
  • ドメインを巡るお話 | Uzzu::Blog

    Jan 4 2014Tags: dci ddd 昨年末にだらだらDCIに関する自分の考えを整理したくて身内で話していて、 結論としては「DDDとDCIどちらもメンタルモデルに近づけるために機能してる点は変わらない。その先DDDあるいはDCIをフレームワークにするか、あるいは一部に取り入れるのか、そこは取組むドメインによって取捨選択だよね」というところに落ち着いたのだけれど、勿体無い内容な気がするので改めてブログに書くことにする。 DDD脳から見たDCIの考察 DCIはFATなドメインモデルに対するアプローチというよりは、シナリオを明確にするためのアプローチなのかなと思う。 DDDを実践するような複雑な問題に直面した時、ドメインモデルは山のように増える。より知識を噛み砕いてドメインモデルにしたほうがより上層のロジックが簡潔になるので積極的にドメインモデルに落とし込む方がよく、結果として、シナ

  • ServiceとDCIについて - じゅんいち☆かとうの技術日誌

    面白そうなネタがあったので、自分なりの考えをまとめてみる。 Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて この記事はRuby用のDIコンテナの話題なんですが、DCIについても言及されているようです。比較軸はDIそのものというより、サービスとDCIだと思うので、それについてダラダラといくつか考えをまとめてみます。多分も返事になるようでならないかも。それと宗教上の都合でDDDの視点から書きます…。 サービスという言葉はあいまい まず、簡単に前提の整理から。単に”サービス”って言葉が何を指すのか結構曖昧です。 サービスは簡単にいうと手続きとか振る舞いのことですが、細かくいうと、PofEAAでいうサービスと、DDDいうサービスは、目的が異なります。前者はアプリケーションのためにドメインモデルを再利用するためのものです。後者はドメインの知識

    kahki
    kahki 2014/01/08
  • 『DCI なんて面倒なだけで Service 使えばいい』への返答 - 鳩舎

    NOTE: 最下部に追記があります。 よく言われる話として、 DCI なんて実装が面倒な上に夢の実装の話をしており、現実解としては Service クラスを用いて実装すればシンプルな実装になるのだから、そういったものは必要ないのだ、というご意見への返答です。 こういった批判の文脈の際、 Service クラスというのがどこの Service クラスを指しているのか、が問題なのですが、 DDD における Service ではないように思えるので、おそらく PofEAA などで語られる Service Layer などを指していると思われます(違うならそう言ってください)。 PofEAA における Service Layer(以後、 Service と呼ぶものはこの PofEAA における Service です)はドメインオブジェクトからアプリケーションロジックを切り離すことを主目的としていま

    『DCI なんて面倒なだけで Service 使えばいい』への返答 - 鳩舎
    kahki
    kahki 2014/01/08
  • 「『DCI なんて面倒なだけで Service 使えばいい』への返答」を読んだ感想とポエム

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    「『DCI なんて面倒なだけで Service 使えばいい』への返答」を読んだ感想とポエム
    kahki
    kahki 2014/01/08
  • 単体テストとMVCとDDDに対する個人的見解 - hatajoeのブログ

    NOTE: 2014-01-08 追記あり。 前回のエントリでレガシーな開発環境を改善している話をした。 レガシーな開発環境の上にはレガシーなプロジェクトが存在していて、これを改善するためにどうすれば良いかを考える課程で、MVCとDDDに対する考えがまとまってきたのでアウトプットしておく。(まとまってきただけで実務レベルまではまだ落とし込めていない感) 自分が担当しているとあるWebコンテンツの話。 題ではないので簡単に前置く。 PHP 仕様書、ドキュメント無し テスト無し 独自カスタマイズされたWAF コピペ、使用されていないソース 使用されていないテーブル、カラムの点在 Fat Controller そんな状態なわけで、当然のように日々の改修や新機能の追加でエンバグを起こす。しかも大人の事情で開発メンバーは突然入れ替わったりする。 これまでは、気をつけようとかしっかりチェックしていこ

    単体テストとMVCとDDDに対する個人的見解 - hatajoeのブログ
    kahki
    kahki 2014/01/08
  • AngularJSの2way bindingの仕組みを追ってみた - yo_waka's blog

    AngularJSの特徴でもある、モデルとビューの2way binding。 AngularJSの簡単なコードがあるとする。(投稿時点ではv1.2.6) <body ng-app ng-init="message = 'nothing'"> <div ng-controller="SampleCtrl"> <input type="text" ng-model="message"> <br> <button ng-click="clearMessage()">Clear</button> <br> <span>{{getMessage()}}</span> </div> <script> var SampleCtrl = function($scope) { $scope.message = ''; $scope.clearMessage = function() { $scope.mes

  • 2013年厳選版!フロントエンドエンジニアがオススメするWEB系の技術書・指南書 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは。LIGフィリピン支社代表のせいと(@seito_horiguchi)です。 今まではデザイナーという肩書きだったのですが、最近会社の偉い人たちが 「フロントエンドエンジニアがほしいなあー。(チラッ)」 「そうだねー。ほしいねー。誰かやってくれないかなー(チラッ)」 という会話を僕の聞こえるところでよくするので、空気を読んでジョブ・チェンジした次第であります。 さて、今年も残すところあとわずかということで、今年僕が読んでタメになったWEB系の技術書やら指南書やらをご紹介いたします。WEB系の仕事をされている方、今後する予定のある方はぜひ参考にしてみてください。 もくじ 1.Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ 2.スマートフォンサイトデザインブック 仕事で絶対に使うプロのテクニック 3.レスポンシブWebデザインテクニックブック プロが教えるマルチ

    2013年厳選版!フロントエンドエンジニアがオススメするWEB系の技術書・指南書 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • 無料でマイクロソフトの技術を学習できる!マイクロソフトバーチャルアカデミー開校のお知らせ - 酢ろぐ!

    マイクロソフトバーチャルアカデミーが開校しました Microsoft Virtual Academyは、オンラインでマイクロソフトのテクノロジーを学習できるサイトです。 WindowsWindows Azure、Windows Serverなど製品別の学習コースと、HTML5やC#などのトピック別の学習コースがあります。具体的にどのような学習コースがあるかというと…沢山あります。 あまり僕の興味のない分野の学習コースを紹介しても仕方がないので、Windowsストアアプリに関する面白そうな学習コースだけ紹介したいと思います。 Windows 8 UX デザイン ジャンプスタート 基的に全画面に1ページだけ表示させたり、1画面上に複数のアプリを起動させたりすることのないタブレット(例えばiPad)と違って、Windowsストアアプリは1画面上に複数アプリは起動するわ、液晶サイズがデバイスに

    無料でマイクロソフトの技術を学習できる!マイクロソフトバーチャルアカデミー開校のお知らせ - 酢ろぐ!
    kahki
    kahki 2014/01/08
  • ASP.NET WebAPIでAPIを作ってJavaScriptから呼ぶまで - かずきのBlog@hatena

    ということで、タイトル通りのことをしてみようと思います。空のASP.NETプロジェクトからいろいろ足していく形でやろうと思います。 プロジェクトの作成とAPIの作成 まず、空のASP.NETプロジェクトを作ります。 ASP.NET WebAPIに必要なアセンブリを追加します。特に縛りがない限りは最新を利用したほうがいいのでNuGetからMicrosoft ASP.NET Web API 2 Web Hostをインストールします。ぱっと見た感じ以下のアセンブリが参照に追加されました。 Nwetonsoft.Json System.Net.Http System.Net.Http.Formatting System.Web.Http System.Web.Http.WebHost 次にプロジェクトに以下のものを追加します。 プロジェクトの右クリックメニューから「追加」→「フォルダ」を選びC

    ASP.NET WebAPIでAPIを作ってJavaScriptから呼ぶまで - かずきのBlog@hatena
  • 作って分かるJavaScriptでデータバインド - Qiita

    はじめに JavaScriptにおけるデータバインドの実装方法を双方向データバインドライブラリのKnockoutJSのソースコードを読み、自分で以下のような最低限の機能を実装をしていきます。 変更をsubscribeできるobservableオブジェクト 他のobservableオブジェクトの値の変更を検知して、自身の値を変えるdependentObservableオブジェクト 上記の機能を実現するために、KnockoutJSの以下のオブジェクトの仕組みを解析しました。 ko.subscribable ko.observable ko.dependencyDetection ko.dependentObservable(ko.computed) この記事のソースコードはgithubで提供されています。 https://github.com/tenntenn/js-binding-hunds

    作って分かるJavaScriptでデータバインド - Qiita
  • Excel方眼紙を支える技術 - たけぞう瀕死ブログ

    最近仕事Excel方眼紙を読んだり書いたりするプログラムばかり書いているのですが、そんなExcel方眼紙を支える最新のJava技術を紹介したいと思います。 なにはなくともPOI JavaExcelと言えば外せないのがPOIです。以前はJExcel APIという対抗馬もあったのですが、Excel 2007に対応していないので現在ではPOIが唯一の選択肢といっていいでしょう。 POIは非常にプリミティブなAPIを提供するライブラリで、使いこなすにはそれなりの修練が必要です。そのため、可能であれば実際の読み書きには後述するXLSBeansやjXLSなどを使った方がよいでしょう。ただし、jXLSのようなテンプレートエンジンでは細かいセルのスタイル設定などはできないため、POIを併用しないとならないケースも多いです。Excel方眼紙を支える技術のベースとして押さえておくべきライブラリといえるでし

    Excel方眼紙を支える技術 - たけぞう瀕死ブログ
  • テストコードを書きながらSymfony2のblogチュートリアルを写経した

    Symfony2のblogチュートリアルにファンクショナルテストを書きながら写経してみました。 動作確認環境 Symfony 2.0.11PHP 5.3.10PHPUnit 3.6.10 目次 テストを書く前の準備 6章 参照系ページのファンクショナルテスト 7章 登録ページのファンクショナルテスト 8章 登録ページのバリデーションのファンクショナルテスト 10章までチュートリアルを進める fixtureでテストの順番の依存性を解決 テストを書く前の準備 コマンドラインからSymfony2のテストを実行できるようにしておきます。下記は、Symfony2の体が ~/Sites/Symfony にある場合の例です。 $ cd ~/Sites/Symfony $ phpunit -c app Configuration read from /Users/karakaram/Sites/Symf

    テストコードを書きながらSymfony2のblogチュートリアルを写経した
  • .NETのコードカバレッジ計測ツールPartCover

    NUnitと組み合わせて使う.NETのコードカバレッジ計測ツールにPartCover という無料で使えるツールがあるみたいです。 ちなみにコードカバレッジ計測ツールは、まだ使ったことないです。 PartCover http://sourceforge.net/projects/partcover/ .NET用のpartcover.net4というのもあるみたいです。 https://github.com/sawilde/partcover.net4/ C#の単体テストに関するテクニックいろいろ http://www.lolitaengine.com/blog/article/20130720-UnitTest Part Cover 紹介 その1 - Part Cover browser から テストコード(NUnit)のカバレッジを取得する http://d.hatena.ne.jp/oda

    .NETのコードカバレッジ計測ツールPartCover
    kahki
    kahki 2014/01/08
  • GUI Test is (not) necessary

    Asian Automation Alliance ~自動化を語り合おう!(2014/06/28) でデモを交えながら話した元ネタです。(20分)

    GUI Test is (not) necessary
  • Visual Studio Tools for Git を利用してGitHubにアップロードしてみた

    最近、GitHubを使えないと技術者にあらずみたいな風潮がありますが。御多分にもれず私も使ったことがありませんでした。だって、IDE統合されてないSCMプロバイダなんて…(以下略 そんなことを考えていたら、とうとうVisual StudioにもMS謹製のGitプラグインが出てしまいました。ので、あきらめて使ってみました。 なお、今回試した環境は、Visual Studio 2012 Professional Update2です。 まずは、Visual Studio Tools for Gitのインストールから行います。Visual Studioのツールメニューより、拡張機能と更新プログラムを選択すると以下のようなダイアログが表示されます。そのダイアログで、オンラインからgitで検索するとVisual Studio Tools for Gitが見つかると思いますので、ダウンロードボタンをクリ

    Visual Studio Tools for Git を利用してGitHubにアップロードしてみた
    kahki
    kahki 2014/01/08
  • 太一のコードの読み方メモ

    太一のコードの読み方メモ 全体として太一が感覚的に実践している事を論理的に説明しようと試みている為、 説明の粒度が適切でなかったり一貫性が無いように見える部分があるかもしれない。 普段やっているけども書ききれていない事も多分きっとある。 コードを読むとは何か コードを嗜む コードを学ぶ 武器を手に入れる これは武器を手に入れるコードリーディングの話 武器とは何か プロジェクトで戦う為の道具となる知識 プロジェクト内における技能を示す為の道具となる知識 プロジェクトのやり方を自ら決められる様になる為の道具となる知識 権限と責任がバランスよく割当てられた時モチベーションは最大化する 何と戦うのか プロジェクトリスク プロジェクトをより良い状態にする為の基礎的な根拠となるのがコードである コードが全てではないが適切に動作するコードが無ければプロジェクトは終わらない これはつまり理想を体現する為の

    太一のコードの読み方メモ
    kahki
    kahki 2014/01/08