タグ

LINQに関するterazzoのブックマーク (31)

  • JavaにC#のLINQを移植してみた - jLinqer - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    JavaにC#のLINQを移植してみた - jLinqer - Qiita
  • 列挙可能から完全なるモノまで – IEnumerableの探索 – C# Advent Calendar 2014

    この投稿は、C# Advent Calendar 2014 の14日目の記事です。 IEnumerableにまつわるアレやアレ こんにちは! いつもはAsyncとLINQの事をしゃべったり書いたりしています。「列挙可能から完全なるモノまで – IEnumerableの探索」というお題で書いてみようと思います。 .NETでは、LINQにまつわるインターフェイスがかなり多く含まれています。その中でも、IEnumerableインターフェイスの継承グラフに存在する様々なインターフェイスを、どのように使い分けるべきか、と言うのが分かりにくいかも知れません。沢山のインターフェイスが定義されているのは、歴史的な事情もあります。 LINQ to ObjectやLINQ to Entitiesなど、一般的に使用されているLINQの背景には、「列挙可能である」という性質があります。この事は、以前にLINQの勉

    列挙可能から完全なるモノまで – IEnumerableの探索 – C# Advent Calendar 2014
  • neue cc - LINQ to GameObjectによるUnityでのLINQの活用

    Unityで、LINQは活用されているようでされていないようで、基的にはあまりされていない気配を非常に感じます。もったいない!というわけじゃないんですが、以前に私の勤務先と別の会社さんとで勉強会/交流会したのですが、そこで作ったスライドがあるので(若干手直ししたものを)公開します。LINQについて全くの初心者の人向けにLINQの良さを説明しようー、みたいな感じです、でもちょびっとだけ踏み込んだ内容もね、みたいな。勉強会自体は5月ぐらいにやったので、ずいぶんと公開まで開いてしまった……。 その私の勤務先(まどろっこしい言い方だ……)グラニでは会社間での勉強会は大歓迎なので、もし、やりたい!という人がいらっしゃいましたら是非是非私のほうまでー。オフィスは六木にあるのでその周囲ほげkmぐらいまでなら出張りますです(他のオフィスを見てみたい野次馬根性)。私の持ちネタとしてはC#, LINQ,

    terazzo
    terazzo 2014/11/11
  • neue cc - LINQ to BigQuery - C#による型付きDSLとLINQPadによるDumpと可視化

    と、いうものを作りました。BigQueryはGoogleのビッグデータサービスで、最近非常に脚光を浴びていて、何度もほってんとりやTwitterに上がってきたりしてますね。詳細はGoogle BigQuery の話とかGoogleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由あたりがいいかな、超でかいデータをGoogleパワーで数千台のサーバー並べてフルスキャンするから、超速くて最強ね、という話。で、実際凄い。超凄い。しかも嬉しいのが手間いらずなところで、最初Amazon RedShiftを検討して試していたのですが、列圧縮エンコードとか考えるのすっごく大変だし、容量やパワーもインスタンスタイプと睨めっこする必要がある。それがBigQueryだと容量は格安だから大量に格納できる、チューニング設定もなし、この手軽さ!おまけにウェブインターフェイスが中々優れ

    terazzo
    terazzo 2014/09/24
  • An Internal of LINQ to Objects

    History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法

    An Internal of LINQ to Objects
    terazzo
    terazzo 2013/12/15
  • Excel を LINQ で検索する方法 | Moonmile Solutions Blog

    よく業務の帳票を作る時は、Excel の隠しシートを使って「印刷画面」と「データ画面」を分けて作ります。 直接帳票をデータベースから書き込んでもいいのですが、 セルの名前付けの不整合などがややこしい。 行列を指定するときなんか、かなり大変。 ということがあって、別にデータ用のシートを用意しておいて、セル参照させるんですよね。ただ、このパターンって、行数が増えるようなレポートの場合はうまくいかなくて、結局のところコードのほう(C#/VB)で、がりがりと行列を作り込んだりします。 さて、来はデータの書き込みを紹介したいところなのですが、OleDb プロバイダって entity data model に対応していないじゃん、ということでちょっとげんなり…どうしたものかと思っていたところ、結構簡単に linq 実装が出来そうなソースを見つけました。 Using Linq with Excel s

    terazzo
    terazzo 2013/11/29
  • 超LINQ入門

    LINQ勉強会で発表してきました。 2時間のハンズオンだったんですが、ただただ疲れた。 ネットワーク環境がなかったので、結構見ながら移してもらう状況が多かったのがちょっと残念でしたが、がんばったよ。 以下資料です。 なお、ソースコードはGitHubにあげてます。 ハンズオンの順序でコミットしてるので過去からログを参照していただければと思います。

    超LINQ入門
    terazzo
    terazzo 2013/06/30
  • Java8のStreamを使いこなすをC#で - 平々毎々(アーカイブ)

    さて、C#で関数型っぽいことをやって遊んでみたわけですが、恥ずかしくなっての写真に置き換えました。 C#で実際に使うのは、LINQです。 ということで、LINQの使い方をひととおり見てみます。 基 LINQの中核となるのはIEnumerable<T>インタフェースです。これがJava8のStreamに相当します。 さて、IEnumerable<T>インタフェースにはForEach拡張メソッドが用意されていません。これはFAQで、意図的に入れていないということです。 LINQとはズレますが、List<T>クラスにはForEachメソッドがありますから、こっちを使いましょう。ええ、クラスです。インターフェースではありません。 var names = new[] {"hoge hoge", "foo bar", "naoki", "kishida"}.ToList(); names.ForE

    Java8のStreamを使いこなすをC#で - 平々毎々(アーカイブ)
    terazzo
    terazzo 2013/05/06
  • Request Rejected

    The requested URL was rejected. Please consult with your administrator. Your support ID is: 13223646053836467957 [Go Back]

    Request Rejected
    terazzo
    terazzo 2013/04/16
  • neue cc - Modern C# Programming 現代的なC#の書き方、ライブラリの選び方

    と、題しまして第1回 業開中心会議 .NET技術の断捨離で話してきました。岩永さんが概念的なものを、私がC#とライブラリにフォーカスして具体的なものを、パネルディスカッションでフレームワーク周りの話を。的な分担だったでしょうか。 Modern、といっても、すんごく最先端で尖った感じ!ではなくて、来は今そこに当たり前のようにあるやり方を、ちゃんと選択していこう。といったような内容です。対象をどの辺に置こうかなあ、といったところで、やっぱ@ITでいうギョーカイだと、ラムダ禁止とか.NET 2.0を強いられているんだ、とかそういう人も少なくないのだろうと思ったので、その辺りを最低ラインに敷いて中身を組みました。 つまりLINQ使えってことですよ!というか、もう登場から5年も経とうとしているのに、未だにLINQ使うべきだよ!と言って回らなければならない事実が悲しくもあり。ちなみに他の言語にもLI

  • amagamimagazine.com - amagamimagazine リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    terazzo
    terazzo 2013/01/07
  • LINQ で LifeGame

    上記表のとおり実装したところ、NextGenerationメソッド内部ですが、こんな感じになりました。 うん、LINQっぽい。 public static World NextGeneration(this World world) { var lifes = world.SelectMany(life => from x in Enumerable.Range(-1, 3) from y in Enumerable.Range(-1, 3) select new { X = life.X + x, Y = life.Y + y, Score = x == 0 && y == 0 ? 0.5 : 1 }) .GroupBy(s => new { s.X, s.Y }) .Select(g => new { X = g.Key.X, Y = g.Key.Y, Score = g.Sum(a

    LINQ で LifeGame
  • [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

    terazzo
    terazzo 2012/11/29
  • neue cc - 複数の値とC# 5.0 Async再び、或いはAsyncEnumerableへの渇望とRx

    以前にReactive Extensions + asyncによるC#5.0の非同期処理では、単体の値であったらasync、複数の値であったらIObservable<T>が使い分け、とかかんとかと言ってましたが、当にそうなの?もしくは、そもそも複数の値のシチュエーションって分かるような分からないようななのだけど?などなどと思ったりする昨今を如何様にお過ごしでしょうか。というわけで、今回はグッとこの部分に深く迫ってみましょう。 同期的なシチュエーション さて、例、なのですけれど、データベースで行きましょう。生DataReaderを転がしてます。 // 接続文字列に Asynchronous Processing=true は非同期でやるなら欠かさずに const string ConnectionString = @"Data Source=.;Initial Catalog=Advent

  • Scala脳のための C# LINQ · eed3si9n

    2012-07-22 これは Scala プログラマのための C# LINQ 機能の覚え書きだが、逆としても使えるはず。 型推論 C# には型推論がある。個人的に、ローカル変数ではできるだけ var を使うようにしている。 var x = 1; Scala にも var があるけど、可能なら不変 (immutable) な val を使うのが好ましいとされている。 新しい List と Array の作成 C# はインラインでコレクションを作ることができる。 using System.Collections.Generic; var list = new List { “Adam”, “Alice”, “Bob”, “Charlie” }; var array = new [] { 0, 1, 2 }; 全ての Scala コレクションにファクトリメソッドがある。 ラムダ式を使ったフィルタ

  • 関数型言語ってこわい?C#erがLINQでパーサーに挑戦(1) - 平々毎々(アーカイブ)

    註:この記事は、「ごはんはおかずLINQはモナド」と聞いたことがあるけど、モナドって何なのかは特に知りたくない、でもLINQがモナドだと何ができるのかはちょっとだけ知りたい、という奇特な人向けに、「簡単なパーサーを実装する」というお題でコードを見てみようという、まったくPVの伸びなさそうな記事です。 なので、以下のテーマは対象外。 モナドを学びたい→Haskellを勉強しよう。 Maybeモナド/Option型をC#/LINQで→こちらでどうぞ。http://d.hatena.ne.jp/liner_lock/20111012/1318428588 実用的なパーサー/パーサジェネレータが欲しい→僕も情報を持ってません。 実装したいのは、ゼロ以上の整数、加算記号(+)、乗算記号(*)、開かっこ、閉かっこから構成される数式を文字列で与えられたときに、パースして結果を計算し、intを返すメソッド

    関数型言語ってこわい?C#erがLINQでパーサーに挑戦(1) - 平々毎々(アーカイブ)
    terazzo
    terazzo 2012/04/18
  • C#次世代非同期処理概観 - Task vs Reactive Extensions

    乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)

    C#次世代非同期処理概観 - Task vs Reactive Extensions
  • neue cc - LINQのWhereやSelect連打のパフォーマンス最適化について

    Where連打していますか?それともパフォーマンスの悪化を心配して&&連結にしていますか?LINQの仕組み&遅延評価の正しい基礎知識 - @ITではWhere+Selectに対して 「WhereSelectEnumerableIterator」となっていて、名前のとおり、WhereとSelectが統合されていることです。これは、「Where」->「Select」が頻出パターンなので、それらを統合することでパフォーマンスを向上させるためでしょう。 と書きましたが、では連打の場合はどうなっているでしょうか。見てみましょう。 var seq1 = Enumerable.Range(1, 10) .Where(x => x % 2 == 0) .Where(x => x % 3 == 0); // どうでもいいんですが、これはVisual Studio 11 Betaです。VS11最高ですよ! @

    terazzo
    terazzo 2012/03/08
    問い合わせを正規化してるんならキャッシュとかにも効きそう
  • F# 3.0 の Query expressions - SG

    この記事は F# Advent Calendar 2011 の13回目です。 ←前回 [twitter:@furuya02] さん「F#によるパケットモニタの作成(WinPcap)」 →次回 [twitter:@jsakamoto] さん 「F# で正規表現デザイナ ASP.NET MVC アプリを作成する」 はじめに 今年の Advent Calendar 向けに、「F# で iPhone 向けゲームを作成する」という記事を書こうと奮闘していましたが、ゲーム(というより 3D)の開発知識を問われたり、残業の理に導かれたりして間に合わなくなってしまいました。最近、仕事の合間に LINQ の復習をしていたので、F# 3.0 からサポートされる予定の「Query expressions」についてゆるふわに書いておこうと思います。 注意 Developer Preview の F# を使用してい

    F# 3.0 の Query expressions - SG
    terazzo
    terazzo 2011/12/13
    コンピュテーション式はベストフィットな感じする
  • WEB+DB PRESS での連載第2回はLINQについて

    WEB+DB PRESS Vol.64 ということで、「いまどきの.NET開発」連載第2回目は ”統合言語クエリLINQの理解と活用” と題してLINQについて記事を書きました。 一般的な説明というより、私がどうとらえているか、という話をまとめています。 8月24日に発売されますので、ぜひお読みいただいて感想をきかせていただけるとありがたいです。 感想はこのBlogか twitterで @onos あてにお願いします。

    WEB+DB PRESS での連載第2回はLINQについて
    terazzo
    terazzo 2011/08/29