タグ

ブックマーク / neue.cc (10)

  • neue cc - ZeroFormatter - C#の最速かつ無限大高速な .NET, .NET Core, Unity用シリアライザー

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

    mayuki
    mayuki 2016/11/08
  • neue cc - AsyncOAuth ver.0.7.0 - HttpClient正式版対応とバグ修正

    HttpClientがRTMを迎えた、と思ったら、次バージョンのベータが出た、と、展開早くて追いつけないよ~な感じですが、とりあえず正式版のほうを要求する形で、AsyncOAuthも今回からBetaじゃなくなりました。 AsyncOAuth - GitHub PM> Install-Package AsyncOAuth AsyncOAuthについてはAsyncOAuth - C#用の全プラットフォーム対応の非同期OAuthライブラリを、HttpClientについてはHttpClient詳解、或いはAsyncOAuthのアップデートについてを参照ください。 今回のアップデートなのですが、PCL版HttpClientのRTM対応という他に、バグ修正が二点ほどあります。バグ的には、結構痛いところですね……。 OrderByと文字列について バグ修正その一として、OAuthの認証シグネチャを作るの

    mayuki
    mayuki 2013/06/24
    OrderByでOAuthパラメータ並び替えで同じくハマったことが…。一見ちゃんとできていそうなのに「たまに動かないことがある」風になるのでだいぶ苦労しますね。
  • neue cc - C#のラムダ式でyieldっぽい何かをawaitで代用する方法

    C#がインラインでyield書けないならawait使えばいいじゃない。と、偉い人は言いました。というわけで、こそこそっと開発がされているIxに、面白い機能が入りました(開発リポジトリ上だけなのでNuGetからダウンロードしても、まだ入ってません)。こんなのです。 var hoge = "あいうえお"; var seq = EnumerableEx.Create<int>(async Yield => { await Yield.Return(10); await Yield.Return(100); hoge = "ふがふが"; // インラインで書けるのでお外への副作用が可能 await Yield.Return(1000); }); foreach (var item in seq) { Console.WriteLine(item); // 10, 100, 1000 } Conso

    mayuki
    mayuki 2013/03/27
    なんという黒魔術
  • neue cc - linq.js ver.3.0.2-RC, WinRT対応、最新RxJS対応など

    RCリリースしました!これでAPI弄りは終了で、あとはドキュメント周りの調整のみといったところです。 linq.js - LINQ for JavaScript ダウンロードはダウンロードボタンからではなく、ダウンロードタブからlinq.js ver.3.0.2-RCを選択してください。というかここからダイレクトに飛んでください。 Beta2から結構立ちましたが、その間に、ノートPCがぶっ壊れたり(今もサポートで修理中、ちょうどうっかり未Pushなコミットが溜まってた状態で逝ってしまったのが痛手でどぅーにもこーにも)、そもそも日にいなかったり(シンガポールにいましたというか、今は日にいますが、これからは基的にシンガポール中心になる感)とか、まぁ色々で色々で捗らずで。 さて、その間でもないですが、プログラミング生放送で8/25にセッションを持ちまして、そこでlinq.js ver.3の

    mayuki
    mayuki 2012/09/18
    IIterable<T>を簡単に扱えるのはすばらです。これからはどんどんlinq.jsを使おうと思います!!1/RxJSはMS-RSLなのですね…。ざんねん。
  • neue cc - Reactive Extensions + asyncによるC#5.0の非同期処理

    Reactive Extensions(Rx)の利点ってなんですかー、というと、合成可能なんです!ということです。合成可能って何?というと、LINQが使えるということなんです!です。じゃあ他には、ということで…… 詳しくはこの動画/スライド見るといいです。 Curing Your Event Processing Blues with Reactive Extensions (Rx) | TechEd Europe 2012 | Channel 9。最初のほうの例が非常に分かりやすいので、とりあえずその部分だけ引っ張ってきますと // sender, argsの型がふわふわ exchange.StockTick += (sender, args) => // senderの型が消えてる { if (args.Quote.Symbol == "MSFT") { // 合成できないからイベント

  • neue cc - Modern C# Programming Style Guide

    C# Advent Calendar 2011、ということで、C# 4.0時代のプログラミングスタイルについて説明してみます。モダン、というけれど、某書のように変態的なことじゃなくて、むしろ基的な話のほうです。こういったものはナマモノなので、5.0になればまた変わる、6.0になればまた変わる。変わります。古い話を間に受けすぎないこと(歴史を知るのは大事だけど、そのまま信じるのは別の話)、常に知識をリフレッシュするようにすること。そういうのが大事よね。でも、だからってモダンに書けなきゃダメ!なんてことはありません。ただ、知ること、少しずつ変えていくこと、そういうのは大事よね、って。 ところでしかし、私の主観がかなり入っているので、その辺は差っ引いてください。 varを使う C# 3.0から搭載された型推論での宣言。出た当初には散々議論があって、今もたまに否の意見が出てきたりもしますが、va

  • neue cc - ReactiveProperty : WPF/SL/WP7のためのRxとMVVMを繋ぐ拡張ライブラリ

    MVVM拡張、という言い方が適切かは不明ですが、ともあれ、RxでXAMLによるUIシステムとの親和性を高めるライブラリを作成し、リリースしました。 ReactiveProperty - MVVM Extensions for Reactive Extensions 中身は大きく分けて二つで、一つはReactivePropertyというXAMLと双方向にバインド可能なIObservable<T>、ReactiveCommandというIObservable<bool>からCanExecuteの条件を宣言的に生成するコマンドなど、MVVM的なUI絡みのクラス群。もう一つはWebClientやWebRequestなど、非同期処理のための拡張メソッド群になります。 名前はUI中心に見えますが、UI絡みはいらないよ、という人は非同期周りだけを使ってくれても問題ありません。それと、機能紹介の前に一つ。決

  • neue cc - Widows Phone 7でアプリケーション名やバージョン番号をバインドする方法

    アプリケーション名の表示や、about画面に表示したいであろうバージョン番号、どうします?直書きのstringやリソースから?それもいいのですけれど、せっかくプロジェクトのプロパティ(AssemblyInfo.cs)で、アプリケーション名やバージョン番号を設定しているわけだから、そこから利用できたほうがいいですよね。 というわけで、これらの情報はアセンブリから取得しましょう。 public class AssemblyInfoData { public static readonly AssemblyInfoData ExecutingAssembly = new AssemblyInfoData(Assembly.GetExecutingAssembly()); public string FileName { get; private set; } public string Vers

  • neue cc - Reactive Extensions入門 + メソッド早見解説表

    Silverlight Toolkitに密かに隠された宝石"System.Reactive.dll"が発見されてから1年。Reactive FrameworkからReactive Extensionsに名前が変わりDevLabsでプロジェクトサイトが公開され、何度となく派手にAPIが消滅したり追加されたりしながら、JavaScript版まで登場して、ここまで来ました。IObservable<T>とIObserver<T>インターフェイスは.NET Framework 4に搭載されたことで、将来的なSP1での標準搭載は間違いなさそう。Windows Phone 7にはベータ版の開発キットに搭載されているように、間違いなく標準搭載されそう。 現在はAPIもかなり安定したし、Windows Phone 7の登場も迫っている。学ぶならまさに今こそベスト!そんなわけで、Rxの機能の簡単な紹介と導入コ

  • neue cc - Rx Framework

    .NET Reactive FrameworkからReactive Extensions for .NET (Rx)に名称が変わったようなので、タイトルも変更。長いね。というわけで久しぶりなのですが、今回はざっとexception handling operators、つまり「Catch, Finally, Retry, OnErrorResumeNext」を見てみることにします。それとRun(ForEachなので説明不要ですが)。Rxって何?という人はHello, Reactive Extensionsをまず参照下さい。 Rxの花形はイベント合流系のメソッドにあると思うので、ひたすら脇役ばかりを紹介してちっとも流に入ろうとしないのはどうかと思うのですけど、EnumerableExのCatchを見て、あー、こりゃ便利だ、ヤバい、便利だ、用途すぐ浮かんでしまった、というわけでしてCatch

  • 1