タグ

c#に関するmasakitkのブックマーク (83)

  • より実践的なDDD本「.NETのエンタープライズアプリケーションアーキテクチャ第2版 」 - Shin x Blog

    DDD 関連の書籍といえば、Eric Evans の DDD ( エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) )や、Vaughn Vernon の IDDD ( 実践ドメイン駆動設計 (Object Oriented SELECTION) )が有名です。 DDDで登場する実装パターンや周辺知識をより実践的に解説しているのが、「.NETのエンタープライズアプリケーションアーキテクチャ 第2版 (マイクロソフト公式解説書)」(naa4e)です。 .NET 以外にも大いに通じる内容 書は、.NET の名を冠しており、サンプルコードは、C# で記述されています。また、利用するライブラリも .NET 周辺のものであったり、解説で登場する RDBMS も、Web 系でよく登場する MySQL や PostgreSQL よりも、S

    より実践的なDDD本「.NETのエンタープライズアプリケーションアーキテクチャ第2版 」 - Shin x Blog
  • neue cc - ZeroFormatter - C#の最速かつ無限大高速な .NET, .NET Core, Unity用シリアライザー

    (現状は)C#専用の、新しいシリアライズフォーマットを作りました。アセットストアには置いてないんですが、GitHubで公開しています。ReadMeが超書きかけですが明日ぐらいには全部書き終わってるはず……。 neuecc/ZeroFormatter 特徴はデシリアライズ速度がゼロなので、真の意味で爆速です。そう、無限大高速。 嘘くせー、って話なんですが、実のところこれは類似品があって、Googleの出してるFlatBuffersと基的な考えは同じです(他にCap'n Protoというのもあります、こっちも元Googleの人ですね)。デシリアライズ「しない」から速い。つまるところ必要になるときまでパースを先送りするってことです。これは、アプリケーションの作りにもよりますが非常に効果があって、例えばデカいマスタデータをドバッと取得するなんてときに、その場で必要なデータってその巨大データのごく

    masakitk
    masakitk 2016/11/09
  • om's System:C# コーディングガイドライン勉強会 議事録

    先日公開されたC#コーディング ガイドラインをネタに勉強会をやってきました。 その中で出た話を簡単にまとめました。 AV1000 クラスやインターフェイスはひとつの役割だけを持つようにする サービスのファサードなどで大きな役割を持ってしまうこともあるのではないか? 分割を検討してみて、できない場合はしょうがない。 AV1010 継承メンバーをnewキーワードで隠すべきではない virtualをnewでかぶせる意味はない。 これができてしまうという言語的な問題があるのではないか。 AV1013 ベースクラスから派生クラスを参照しない ファクトリなどでやってしまうことがある。 static なファクトリクラスを作った方がいいかもしれない。 AV1135 文字列やコレクションのプロパティ、メソッド、引数はnullであってはならない。 stringはnullを渡したい。 stringは、IsNul

    masakitk
    masakitk 2013/02/27
    参考になる
  • C#、2012年の首位プログラミング言語に名が挙がる

    C# Named Top Programming Language of 2012 Eight Reasons C# is the Best Language for Mobile Development 集計方法1つ変えるだけで順位なんて変わるという話でもあったりはするのだけども。 ある指標では、2012年で一番伸びた言語はC#ということになるそうです。 去年、C#とか.NET周りで何があったかというと、MonoTouch/Mono for Android であったり、Unity(Monoベースのゲーム エンジンの)であったり、Windows 8であったり。 Windows 8 Windows 8、というか、WinRTで、ネイティブ(C++)の復権があったり、JavaScript+HTML5での開発もできたりで、世の中には「.NETは下火」なんていう人もいるにはいましたが。実際にWind

    C#、2012年の首位プログラミング言語に名が挙がる
    masakitk
    masakitk 2013/01/07
  • [C#][ラムダ式][LINQ][式木] 匿名メソッドとラムダ式の違い (プログラミング C# - 翔ソフトウェア (Sho's))

    この記事では、匿名メソッドとラムダ式の意味の違いについて考えてみたい。 ■ 同じように使える匿名メソッドとラムダ式 匿名メソッドとラムダ式は、同じように使うことができる場面が多い。 例えば、以下のようなデリゲートを引数にとるメソッドがあったとして、 using System; using System.Collections.Generic; static class Enumerable { // 述語に基づいて値のシーケンスをフィルター処理 public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate) { foreach (var item in source) { if (predicate(item)) yield

  • 2012年05月: 気長に日記

  • 大切な事は全て.NETから学んだ

    下記の文章、「こういうテーマでufcpp.net内のC#ページを更新(今の【雑記】的にやるか、新しいフォルダー掘るかして)したい」というもの。 いつ手を付けるかは未定。実際のところしばらく無理。 表題、誇張ではなく、割と真実。 ソフトウェアに求められる品質水準は非常に高くなっていて、開発者に求められる知識は年々増えています。 単純にプログラミング言語の基礎を覚えるというだけではまるっきり不足で、そこから様々なパターンを覚えて初めて実用化に足る最低水準になります。 パターン。 こういう場面ではこう書くと解かりやすい こう書かないとこんな問題が 計算速度優先ならこう、省メモリならこう 等々、いわゆる先人の知恵。 歴史を積み重ね、普通に1からたどるにはあまりにも遠い道のりに至りました。 先人と同じ手順を経ていては、追いつくことで精一杯。その先の新しい世界を目指すことも叶いません。 楽をするひつよ

    大切な事は全て.NETから学んだ
    masakitk
    masakitk 2012/10/17
    確かにjavaよりもいろいろなものを学べるきがする
  • neue cc - 非同期WebRequestとTimeout処理の今昔

    最近はTypeScriptにお熱ですが、とはいえ、C#も大好きな私です。むしろC#は大好きです。今日はすっかり飽き飽きな非同期のTimeout処理について、おさらいすることにしましょう!題材はいつもどーりWebRequestでいいですよね。 まず、都合のいいTimeoutをシミュレートできるAPIは探せば多分あるでしょうが、面倒なので自分で作りましょう。いえ、簡単です。「空のASP.NET WebApplication」を立ち上げてジェネリックハンドラを追加。とりあえずレスポンスを返すのに3秒かかるということにしときましょう。 public class Timeout : HttpTaskAsyncHandler { public override async Task ProcessRequestAsync(HttpContext context) { await Task.Delay(

  • [雑記] 非同期制御フロー

    概要 C# 5.0のasync/awaitがなかったころ、少し複雑目な非同期制御フローをどうやって実現していたかという話。 C# 5.0を使えない状況下で非同期処理を書くことになった場合の参考としてや、async/awaitがどうやって実現されているかを知るきっかけになると思います。 サンプル コード(ZIP 形式。proj/sln 含め一式。) ポイント C# 5.0(await演算子)便利だなー await演算子が内部的にやっていることは、イテレーターに近い なので、昔はイテレーターを使って非同期処理をすることが結構あった サンプルの要件 今回の例として使うのは、Figure 1に示すような、確認ダイアログ表示のフロー。 確認ダイアログを表示する例 要は、何かを実行するにあたって、特定条件下では確認ダイアログの表示が必要で、すべてのダイアログで「OK」を押したときにだけ実行に移るという

    [雑記] 非同期制御フロー
  • C#と諸々 「テスト駆動開発」から 「ビヘイビア駆動開発」へ

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) BDD (Behavior Driven Development) というものを今更ながら知りました。 言葉だけはたまに見かけてましたが、どんなものか全く知ろうとせず、ずっとどうでもいいやと思っていました。 ところがこれ、TDD を進化させたようなものだったんですね。 「テスト駆動開発」ではどうしても「品質のため」と誤解されがちで、「設計のため」って言っても中々信じてもらえません。でも「ビヘイビア駆動開発」ならきっと大丈夫。 これからは TDD を捨てて BDD へ移行していきたいと思います。 ただ、.NET 界隈だと残念ながら BDD はあまり浸透してない感じですね。具体的にどういう方法で実践していくのが良いか悩みどころです。 [Web 上で見つけた

  • Amazonian - All things Cloud, DevOps and Automation - Continuous Learning :-) | Dan Gibbons @ iFunky Cloud Ops

  • Reactive Extensiions再入門 その1 - かずきのBlog@hatena

    修正履歴 2011/11/04 21:36 「Reactive Extensionsで提供されている機能」の「IObserver<T>生成へのショートカット 」の「ラムダ式からIObservable<T>を内部的に生成してくれる」を「ラムダ式からIObserver<T>を内部的に生成してくれる」に修正しました。ということで、この一年の目標で書いた目標を実現すべく第一歩として、とりあえず書いてみようと思います。書いておけば誰か間違いを指摘してくれるだろうというヨコシマな動機で書いているので、読んでくれる人がもしいるなら一緒に勉強していきましょう! はじめに ここでは、Reactive Extensions(下記リンク)の著者自身の理解を深めるために著者自身のReactive Extensionsの理解している内容を記載します。 Dev Lab Reactive Extensions ホームペ

    Reactive Extensiions再入門 その1 - かずきのBlog@hatena
  • Visual Studio 2012の新機能(1/4) - @IT

    特集:新IDE「VS 2012」レビュー Visual Studio 2012の新機能 デジタルアドバンテージ 一色 政彦 2012/09/04 8月16日(日時間)にMSDNサブスクリプション会員向けにVisual Studio 2012日語正式版(以降、VS 2012)がリリースされた。稿では、このVS 2012の新機能を、キャプチャ画像を多用して短くまとめて紹介する。リリースから2週間以上が経過しているので、すでにいろいろと試している開発者も少なくないだろうが、ぜひ新機能情報の整理に役立ててほしい。 なお稿では、Windows 8上にインストールしたVS 2012「Ultimate」エディションを用いる。また、VS 2012のIDE(統合開発環境)の初回起動時に設定する[既定の開発環境の選択]ダイアログでは「Visual C# 開発設定」を選択した状態である。これらの条件と異

  • neue cc - DataSetについて

    けちょんけちょんに言ってるとか言ってないとかで言えば言ってるので、遅まきながらその理由などをつらつらと。正直なところDataSetなんて現代の観点から使ってみれば、一発でどれだけクソなのか自明だろう、ぐらいに思ってたので別に言うまでもないと思ってたので特に述べてなかったのですが、意外と支持の声も大きいのですね。困惑するぐらいです。 DataSetというと型付きと型無しがありますが、形無しのほうは、もういらないんじゃないかな。カジュアルな用途ならExpandoObjectを使ってくれという感じだし、そうでないなら、C#で型無しのヘヴィな入れ物とか利点を損ねるしかないわけで。せめてdynamicに合わせた作り直しが必要よね。 それでもADO.NETと密接に結びついていて、たとえばSqlBulkCopyはDataTableしか受け取らないなどがある。だから必要か、というと、そうじゃあなくて。そう

  • 非同期処理とディスパッチャー

    24日・25日とWDDに行ってたわけですが。 講演者の皆様、UIスレッドとディスパッチャーの話で苦労されてた印象。この辺りの仕組み、どうなんだろうなーとか、少し書いておこうかと。 UIスレッドに紐付いたクラス まず前提。 UIスレッド まず、GUIがらみのクラスは、単一スレッドからしかアクセスできないように作ってあります。スレッド安全に作ろうとするとパフォーマンスが出ないので、いっそのこと、UIスレッド以外からアクセスがあったら例外を出して止まるように作ってあります。 この、GUIコンポーネントと紐付いているスレッドがUIスレッドです。 エンド ユーザーからの入力なんかを受け付けているのもこのUIスレッドで、UIスレッド上で時間がかかる処理をすると、UIがフリーズします。 なので、時間がかかる処理をするときは、一度別スレッドで処理して、結果をUIスレッドに戻すというフローが必要です。 WP

    非同期処理とディスパッチャー
  • Unityで覚えるC#

    Behavior Treeという手法を使い、自作ゲームAIを実装してみました Behavior Designer : https://www.assetstore.unity3d.com/jp/#!/content/15277 講演したイベント 【年末だよ】Unity お・と・な のLT大会 2016【ポロりしてもいいのよ】 http://peatix.com/event/212468

    Unityで覚えるC#
  • Part 5: Create a blog reader (Windows Store apps using C#/VB and XAML) - Windows app development

    [ This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation ] We introduce the essential code and concepts you need to create a Windows Store app using C# or Visual Basic. You'll use XAML to define the UI, and your selected language to write the app logic. Important   This tutorial is intended fo

    Part 5: Create a blog reader (Windows Store apps using C#/VB and XAML) - Windows app development
  • NUnitの全貌 ~ 基本から、最新バージョンの新機能まで

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    NUnitの全貌 ~ 基本から、最新バージョンの新機能まで
  • 深夜のasync/await談義

    C# の新しい機能である、async/awaitがよくわからんかったので、識者の方に教えてもらってました。

    深夜のasync/await談義
  • C#(VB)プログラマのためのF#入門

    This document discusses various programming languages and tools, including F#, C#, VB, .NET Framework, and related concepts. It compares features of F# to other languages like options vs null, pattern matching, pipe operators and more. It also covers F# tools for Visual Studio like F#Depth colorizer and various IDE editions for using F#.Read less

    C#(VB)プログラマのためのF#入門