C#

ROSのC#クライアントと非同期プログラミング

Reactive Extensionsを使って、ROSのC#クライアントを作りました。 https://github.com/zoetrope/RosSharp ROS ROSとは ROS(Robot Operating System)とは、Willow Garage社が開発しているロボットアプリケーションのためのソフトウェア開発基盤です。 Docume…

「Reactive Extensionsでセンサプログラミング」の補足

C# Rx

先日書いたReactive Extensionsでセンサプログラミング - ZOETROPEの日記に、twitter経由で@neueccさんからいくつかコメントをいただきました。 さらに、neue cc - RxとパフォーマンスとユニットテストとMoles再びという素敵な記事も!というわけで、補足記…

Reactive Extensionsでセンサプログラミング

C# Rx

本エントリはC# Advent Calendar 2011 : ATNDの20日目です*1。前日はid:masakitkさんのWindows.FormsだってTDD!でした。これまでReactive Extensionsがロボットの制御に使えるのではないかということで、いくつかエントリを書いてきましたが、今回はより具…

Reactive ExtensionsをRTミドルウェアに適用してみる

先日のエントリーでは、Reactive Extensionsを使って、ロボットの位置を算出するプログラムを書いてみました。しかし位置を算出するだけではあまり実用的ではありません。そこで今回は、RTミドルウェアにReactive Extensionsを適用することを考えてみます。R…

Rx-Testingの使い方

Rx C#

Rxを使ったプログラミングは楽しいのですが、時間に依存してたり非同期だったりするのでテストを書こうと思うとなかなか難しい。そこでReactive Extensionsでは、テスト用のクラスをいくつか用意してくれています。テスト用のクラスを利用するためには、NuGe…

Reactive Extensionsでロボット制御?

C# Rx

最近、Reactive Extensions(Rx)を使ってプログラミングを書くのがすごく楽しい。今のところRxの使い道としては、GUIアプリケーションや、Webサービスの非同期呼び出しなどが多いでしょうか。やさしいFunctional reactive programming(概要編) - maoeのブ…

ListViewでドラッグアンドドロップ

ののののblog M-V-VMパターンで添付ビヘイビアを使って、項目の入れ替えができるListViewを作ってみました。ちょっと長いですが。 なお、ViewModelBaseクラスは、WPF Model-View-ViewModel Toolkit 0.1で生成されたものを利用しています。まずはMainView.xam…

添付ビヘイビアでドラッグアンドドロップ

最近は、M-V-VMパターンの勉強がてらWPFのアプリケーションを作っています。M-V-VMパターンを使うとコードがスッキリかけるし、何よりViewModelがViewに依存していないおかげで、テストコードが書きやすいのがすばらしいですね。 いろいろな処理がきれいに書…

ReSharper4.1購入

1年くらい前から買おう買おうと思いつつ、ずっと購入していなかったReSharper。今のお仕事ではバリバリC#を使っているので、良い機会だと思い購入しました。 我楽多園: ReSharperでショートカットを有効にするの記事では、ReSharper4.1でもショートカットキ…

XMLドキュメントコメントに関するメモ

XMLドキュメントコメントを真面目に書こうと思って調査したので、メモとして残しておきます。 XMLドキュメントコメントの書き方 まず、基本的なXMLドキュメントコメントの書き方はMSDNで。 XML ドキュメント コメント (C# プログラミング ガイド) ドキュメン…

Microsoft Enterprise Library Validation Application Block

C#

最近、カスタム属性を使って、メンバフィールドのバリデーションができないかなーと考えてました。例えば、こんなカスタム属性を作って、 class ValidatorAttribute : Attribute { public Func<int, bool> Validate { get; private set; } public ValidatorAttribute(Fu</int,>…

MEF(Managed Extensibility Framework)

C#

最近、MEF(Managed Extensibility Framework)って言葉をよく聞くようになったなと思っていたのですが、Visual Studio 2010(.NET Framework 4.0)で標準搭載される機能なんですね。 Managed Extensibility Framework - Home 動的に機能を拡張するためのフレー…

CCRでサンタクロース問題

C#

以前からMicrosoft Robotics Developer Studioに含まれるCCR(Concurrency and Coordination Runtime)という技術に興味があったんですが、最近機会があったので少し調べてみました。こちらの記事によると、CCRは、Erlangというプログラミング言語のアクターモ…

CORBAからWCFへ(性能比較編)

ちょっと古いけど、興味深い記事を発見した。Windows Communication Foundation (WCF) と既存の分散通信テクノロジのパフォーマンスの比較今では.NET 3.5 SP1がリリースされてパフォーマンスも改善されているだろうから、どこまで参考になるのか分からないけ…

CORBAからWCFへ

仕事では今でもCORBAを使っているんだけど、WCFに乗り換えられないものかと検討している。*1さすがに一気に全部置き換えるわけにもいかないので、既存の実装をうまく再利用しつつ乗り換える方法を考えている。 インタフェースの定義 まずはインタフェース定…

Parallel.Forって何だ?

C#

昨日の勉強会でParallel.Forというもの存在を知ったのですが、どんな機能なのかよく分かりませんでした。そしたらコメント欄で「Parallel Extensions to the .NET Framework 3.5」で利用できるよ、と教えてもらったので*1、さっそく使ってみました。まずは、…

わんくま同盟勉強会(C# Day)行ってきた

わんくま同盟 東京勉強会 #23 C# Dayに参加してきました。http://www.wankuma.com/seminar/20080809tokyo23/Default.aspxわんくま勉強会は初参加*1だったので、ちょっとドキドキしながらの参加でしたが、面白かったです。プレゼン中はMISAOってソフトで、ニ…

Observerパターン

社内でアジャイルプラクティス読書会をやっていたのですが(http://d.hatena.ne.jp/ZOETROPE/20080513#1210682874)、約2ヶ月かけて全部読み終わりました。この読書会は結構好評だったので、続けていきたいねという話になり、じゃあ次はデザインパターンをやっ…

C#の洋書

C# 3.0 Cookbook作者: Jay Hilyard,Stephen Teilhet出版社/メーカー: Oreilly & Associates Inc発売日: 2007/12メディア: ペーパーバック購入: 1人 クリック: 1回この商品を含むブログ (2件) を見る 書店で見かけて、衝動買いしてしまった。英語読めないのに…

LINQ to Trac

先日、TracのチケットをLINQで集計するプログラムを書いてみたのですが、いったんチケットを全部取得してから集計するというかっこ悪いものでした。(LINQでTracのチケット集計 - ZOETROPEの日記)そのため全取得ではなく、whereで渡されたラムダ式からTracの…

LINQでTracのチケット集計

LINQが面白そうなんだけど、まだ触ったことがないんですよね。というわけで、C#でTracのチケット操作 - ZOETROPEの日記を題材にして、LINQで遊んでみました。まず、Tracにアクセスするためのソースは、http://blog.bittercoder.com/default,date,2006-10-16.…

WPFでニコニコメソッド修正しました

以前作ったWPFでニコニコメソッド - ZOETROPEの日記を使ってくださっている方がおられました。 http://d.hatena.ne.jp/StL/20080310/p1 http://blogs.ricollab.jp/webtech/2008/03/rest_and_roa-2/ さすがに、telnetの接続が切れただけで落ちるのは問題なの…

C#でTracのチケット操作

XML-RPC.NETを利用して、C#のプログラムでTracのチケットを操作してみました。まずは、http://www.xml-rpc.net/から、xml-rpc.net.2.1.0.zipをダウンロードします。次にC#のプロジェクトを新規作成し、xml-rpc.net.2.1.0.zipを解凍してできたフォルダの下に…

プログラミングMicrosoft .NET Framework 第2版

今年の4月に年間50冊読書するぞと目標を立ててから、薄いビジネス書ばかり読んでいたのですが、意外と読めることが分かったので、最近は厚い技術書に挑戦しています。まずはコレ。プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書)…

IronPythonとC#の連携

C#で作ったライブラリをIronPythonから呼び出して遊んでみた。Pythonを触るのは始めてということもあり、色んな所ではまったのでちょっとメモしておく。 文字列配列の渡し方 まずは、IronPythonからC#に文字列配列を渡すところが上手く動作しなかった。 どう…

WPFでニコニコメソッド メモリリーク

先日作ったWPFでニコニコメソッドができるツール(d:id:ZOETROPE:20070909)を使って、どれくらいコメントつけられるか遊んでいたのですが・・・タスクマネージャを開くと、メモリの使用量がエラいことに!(1000個くらいコメントつけると1GBくらいメモリを消費…

WPFでニコニコメソッド

LL魂で、kogurroさんのプレゼンソフトに影響を受けたことと、WPFの勉強も兼ねて、ニコニコ動画風にデスクトップ上にコメントが流れるツールを作ってみました。(ちょっと乗り遅れた感はありますが。) このツールには、次のような特徴があります。 常に最前面…