タグ

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

  • C#次世代非同期処理概観 - Task vs Reactive Extensions

    1. C#次世代非同期処理概観 Task vs Reactive Extensions 2012/3/10 #riaarch Yoshifumi Kawai @neuecc 2. Profile  Name => Yoshifumi Kawai仕事は近頃はASP.NETで、あまりRIAじゃなかったり  まあ、HTML5もRIAですし!  Twitter => @neuecc  HN => neuecc  読むときは“のいえ”と読ませてます  サイトのドメイン(特に意味はない)を繋いだだけ で、識別子になればそれだけでいいと思って発音考 えてなかったので割とアレ  Microsoft MVP for Visual C#(2011/4-)

    C#次世代非同期処理概観 - Task vs Reactive Extensions
  • さとやn Blog : C#でRedisしてみる

    2011年07月12日19:30 カテゴリC#mono C#でRedisしてみる MemcachedをRubyから試す予定だったけど、半分気まぐれRedisをC#から試してみることにしました。 仕事ではどっちもRailsでやる予定なんで、家で触るならC#でってことで。 とりあえずRedisをインストール。 wget http://redis.googlecode.com/files/redis-2.2.11.tar.gz tar xzvf redis-2.2.11.tar.gz cd redis-2.2.11 make sudo make install 因みにhttp://redis.googlecode.com/ このサイトではブラウザ上でインタラクティブにRedisのコマンドを叩けるTutorialがあって大変面白かったです。 Redisサーバーを起動してみる。 redis-serv

    さとやn Blog : C#でRedisしてみる
  • neue cc - ImplicitQueryString - 暗黙的変換を活用したC#用のクエリストリング変換ライブラリ

    ImplicitQueryString - CodePlex QueryStringかったるいですね、変換するのが。intに。boolに。それ以外に。そのままじゃどうしようもなくストレスフル。そこで、以下のように書けるライブラリを作りました。勿論NuGetでのインストールも可能です。あと、ライブラリといっても例によって.csファイル一個だけなので、導入は超お手軽。 以下はASP.NETの例ですが、NameValueCollectionを使っているものは全て対象になります。QueryStringだけじゃなくてRequest.Formなどにも使えますね。 // using Codeplex.Web; int count; string query; bool? isOrdered; // support nullable protected void Page_Load(object send

  • Quick Test Switcher 1.1 をリリースした - ぐるぐる~

    テストコードと実装コードの切り替えを支援する Visual Studio 用のアドインを作りました。 マニュアル的なもの Visual Studio Gallery のページ ソースコード コードを開いた状態で Ctrl-0 を押すと、対応するファイルがある場合にそれを開きます。 頻繁にテストコードと実装コードを切り替える TDD のお供にどうぞ。

    Quick Test Switcher 1.1 をリリースした - ぐるぐる~
    masakitk
    masakitk 2012/02/15
    これは使ってみよう
  • C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう

    はじめに 各地でTDD Boot Camp(TDDBC)が開催されるようになり、このところTDD(テスト駆動開発)が注目を浴びています。ただ、自分でも試してみようと思った時に目につく書籍や記事などは、JavaRubyPHPといった、いわゆるオープンソース系の言語ばかり。.NET Framework(Windows)で開発の仕事をしているとTDDは関係ないんだろうか、…とさえ思えてくるかもしれません。 しかし、そんなことはありません。.NET FrameworkでのTDDに必須のユニットテストフレームワークとして有名なNUnitの最初のバージョンは、Visual Studio .NET 2002がリリースされる以前の2001年に公開されています。.NET Frameworkは、生まれたときからTDDと共にあると言っても過言ではないでしょう。 この記事では、TDDとTDDBCについて簡単に

    C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう
  • C# の社内勉強会でした

    10年ほどオンラインゲームの縁の下にいます。 2007年2月まで: コミュニティーエンジン中国CEO 2007年2月~2010年4月:CE日社 2010年5月~2011年5月:ONE-UP 株式会社 東京開発グループ グループマネージャ 2011年6月~:株式会社Aiming 東京開発グループ ゼネラルマネージャ http://about.me/toshi_k

    C# の社内勉強会でした
    masakitk
    masakitk 2012/01/25
  • 再帰で考える - ぐるぐる~

    再帰は関数型言語を構成する重要な部品の一つです*1。 しかし、手続型言語に慣れたプログラマにとって、再帰で考えるというのは難しいものがあります。 このエントリは、そういうプログラマが再帰で考えることができるようになるために書きました。 言語としては、F# と C# を使っています (推奨は F#。C# の例は実用性が無いに等しい) が、Java プログラマでもある程度読めるでしょう。 前提条件として、これらの言語の文法は知っているものとします。 特に、C# で言う Func デリゲートを多用します。 すごい長いので、時間があるときに一気にどうぞ。 再帰以外の話もちょろちょろと出てきます。 再帰の重要性 いきなりですが、再帰はあくまで最後の手段です。 普通は再帰をカプセル化した関数を使うことになります。 通常使わないのであれば、再帰を学ぶことに意味はないのでしょうか? いいえ、それでも再帰を

    再帰で考える - ぐるぐる~
  • C#|二重起動を禁止してコマンドライン引数を取得する

    C#のWindowsアプリケーションで二重起動を禁止するにはMutexを使う方法がある。 Mutexを使った方法では、後から起動されようとしたインスタンスのコマンドライン引数を、起動済みのインスタンスが受け取ることが出来ない。 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBaseを用いることで上記の問題を解決出来る。 Microsoft.VisualBasicをプロジェクトの参照に追加して次のようなクラスを用意する。 using System.IO; using Microsoft.VisualBasic.ApplicationServices; class myApplication:WindowsFormsApplicationBase{ public myApplication() : base

    masakitk
    masakitk 2012/01/13
  • Javaの未来についてのNeal Gafter氏とのディスカッション

    それに対する回答は、"我々は今それに取り組んでいます。いずれそれをあなたにお伝えします"というものでした。エキスパートグループが"これを公開したくない"と言った訳ではありません。エキスパートグループは公開で議論することを望んでいますし、Oracleも公開したいと思っているがまだできていないだけだ、と言っています。 そして、パブリックレビューの期間が終わりましたが、それらにはまだアクセスできません。Java言語仕様の改訂のため、JSRが検討されており、私はそのレビューに行きました。しかし、取り組んでいるのはエキスパートグループでさえなく、Alex Buckley氏とOracleの言語チームが、仕様を訂正して仕様バグを直していました。 彼ら(Oracle)はこう言いました。"これはこのバージョンの仕様で修正されたと考えているバグのリストで、これが訂正後の仕様です"と。私はリストを見て、バグを確

    Javaの未来についてのNeal Gafter氏とのディスカッション
  • http://atnd.org/events/21988

    http://atnd.org/events/21988
  • コレクションの内部実装

    昨日に引き続きコレクションの話なの、とC#たんはC#たんは前振りしてみる。 今日はコレクションの中身がどうなっているか、実装についてです、とC#たんはC#たんは説明してみたり。 配列リスト 個数不定のデータを持つための一番手っ取り早い方法は、事前に配列を確保しておいて、状況に応じて確保しなおす方法です。 List<T>やStack<T>で内部的にやってることはほぼこれだけです。その他のコレクションでも、この手の仕組みはよく使います。 要は、配列と、実際に何個目まで要素が詰まっているかを表す変数countを持ちます。 要素を追加するたびに、countを増やします。 配列がいっぱいになったら、新しい配列を確保して要素をコピーします。 要素のコピーはそれなりに高負荷なので、要素の最大数がだいたいわかってる場合は、事前に確保する配列の長さをコンストラクターに渡しておきます(capacity引数)。

    コレクションの内部実装
    masakitk
    masakitk 2011/12/15
  • 導入 - ヘルプ | ReSharper

    IntroductionWith unparalleled support for C#, VB.NET, C++, XAML, XML, HTML, ASP.NET, and ASP.NET MVC, including comprehensive cross-language functionality, JetBrains ReSharper will help any Visual Studio user write better code, easily examine and refactor existing codebases. You can spend less time on routine, repetitive manual work and instead focus on the task at hand. A robust set of features f

    導入 - ヘルプ | ReSharper
    masakitk
    masakitk 2011/12/08
    色々できてちょっと感動。まだまだ使いこなせていないなあ。
  • LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。 - 地平線に行く

    C#のLINQメソッドは超便利!!、なんですが…肝心のAPIがわかりづらいです。 そこで、種類ごとにまとめて、簡単なサンプルを書いてみました。 結果の表示に、独自の拡張メソッド ToResult(this IEnumerable) を使用しています。このメソッドは、文の最後に記載しています。 サンプルコードのダウンロードはこちら。 要素の取得(単一) メソッド名 機能 ElementAt ElementAtOrDefault 指定した位置(インデックス)にある要素を返します。 First FirstOrDefault 最初の要素を返します。 Last LastOrDefault 最後の要素を返します。 Single SingleOrDefault 唯一の要素を返します。該当する要素が複数ある場合、例外をスローします。 該当の要素がない場合は… 「〜OrDefault」が付いていないメソッ

    LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。 - 地平線に行く
  • 普通の FizzBuzz - 捨てられたブログ

    FizzBuzz 問題を普通に C# で書いただけという何の面白味もないエントリーです。 using System; using System.Linq; using System.Text; class Program { static void Main() { var fb = new Fizz(new Buzz(FallThrough.Instance)); var answer = Enumerable.Range(1, 100).Select(fb.FizzBuzz); Console.WriteLine(string.Join(" ", answer)); } } public abstract class FizzBuzzBase { private readonly FizzBuzzBase next; protected FizzBuzzBase(FizzBuzzBas

    masakitk
    masakitk 2011/10/24
  • 31日間ReSharper一周 | matarillo.com

    2013-07-11 10:17:13 Joe White’s Blogに“The 31 Days of ReSharper”という記事群がポストされていて面白かったので翻訳してみた。 ReSharperとは、JetBrains社(IntelliJ IDEAというJavaの開発環境を販売している会社)がリリースしたVisual Studioアドインで、基的にC#用の開発環境。 なお、元記事は2007年に書かれたもので、その時点ではReSharperのバージョンは2.5系であることに注意。 (2013/7/11追記)ReSharperのバージョン8から、C++がサポートされるようになる。(なので、「ReSharperはC++には対して役立たない」はもう正しくなくなる。)詳細はJetBrains社のブログで確認してほしい。 31日間ReSharper一周 ReSharperは、(VS 200

  • C# in a Nutshell - LINQ Quiz

    Translations: English | Spanish Take the following short quiz and test your knowledge of LINQ! All samples assume the following namespaces are imported: using System; using System.Linq; using System.Data.Linq; using System.Xml.Linq; using System.Collections; and that the following array is defined: string[] colors = { "green", "brown", "blue", "red" }; OK, let's get started! Q1. What does the foll

  • [雑記] 例外の使い方(C# によるプログラミング入門)

    概要 言語構文的な意味での例外処理の方法は「例外処理」で説明しましたが、 実際のところ、どういう場合にどうやって例外を投げて、 どうやって処理すればいいのかは、 慣れるまでなかなか難しかったりします。 ということで、ここでは、例外の使い方について説明したいと思います。 例外の投げ方の基方針 例外の投げ方に関する考え方は意外とシンプルで、 「メソッドの定める結果を達成できないなら例外を投げる」という方針で OK です。 いくつか例を挙げてみましょう。 規約と例外 メソッド 規約 例外が起きる場面

    [雑記] 例外の使い方(C# によるプログラミング入門)
  • 【ハウツー】Moqを活用して.NETでモックを使ったテストを行う (1) Moqとは | エンタープライズ | マイコミジャーナル

    はじめに Moqは、.NETで注目を集めているモックライブラリです。MoqはシンプルなAPIを持ち、Visual Studioのインテリセンス機能を活用できるため、初心者でも簡単にモックを使い始めることができます。 モックとは モックを使うと、未実装のクラスやインタフェースを、あたかも実装済みのように振る舞わせることができます。また、番環境とテスト環境で振る舞いを変えたい場合にも使用できます。例えば、外部リソース(サーバやWebサービス)と連携する場合や、環境によって異なる要素(現在時刻等)のテストに役立ちます。 Moqとは Moqはオープンソースのモックライブラリで、モッキュ(Mock-You)と発音します。.NET環境においてはNMock、TypeMock.NET、EasyMock.NET、RhinoMockなど多くのモックライブラリが存在しますが、Moqは初心者でも覚えやすい簡単な

  • moq | まさくらのブログ

    moq とは、.NET Framework 3.5 以降用のモックオブジェクトフレームワークです。 NerdDinnerステップ12:単体テスト等で、あの Scott Gu 氏が使っているので興味がわきました。 この手のモックオブジェクトフレームワークでは NMock が有名だと思うのですが、moq は、これらのものと違い、.NET Framework 3.5 で追加された機能をうまく使うことで、より使いやすいものとなっています。 NMock で IDataReder.IsDBNull() を実装する場合、以下のようなコードになります。(通常、単体テスト時はスタブではなくモック (Expect) を作成しますが、moq との比較のため、スタブを作成しています) // スタブの作成。IDataReader.IsDBNull() メソッドの実装を作成します。 Mockery mock = ne

  • C#&VB ラムダ式 基礎文法★チートシート - @IT

    チートシートとは、いわゆる「カンペ(=カンニング・ペーパー)」のことだ。 実際のプログラミングでは、各プログラミング言語の基礎文法から、クラス名やメソッド名まで、覚えることがたくさんある。しかし、使用頻度の低いものなどはすぐに忘れてしまう。知っているはずなのに、いま思い出せない……。そんなときに、コッソリと見るのが「カンペ(=チートシート)」である。 忘れがちな基礎文法を覚えるまで、もしくは、多すぎるメソッド/プロパティを一覧表から素早く見つけるため。そんな目的・場面で、「.NET開発者中心 チートシート」が提供するチートシート(PDF版/画像版/Deep Zoom版)をご活用いただきたい。 印刷して机の前に貼るなら、「PDF版」がお勧め。ローカル・ディスク上に保存しておき、随時参照する場合は「画像版」お勧めだ(どちらもページからダウンロード可能)。 また、ネット上で手早く参照するなら、