タグ

LINQとlinqに関するhonamisのブックマーク (20)

  • LINQ for PHP comparison: YaLinqo, Ginq, Pinq

    Comparison of full-featured LINQ ports to PHP (YaLinqo, Ginq, Pinq), centered mostly on performance Project on GitHub: YaLinqoPerf — performance comparison Project on GitHub: YaLinqo — LINQ library Project on GitHub: Ginq — LINQ library Project on GitHub: Pinq — LINQ library Download source of YaLinqoPerf - 3 MB Introduction This article is about comparing (mostly performance-wise) of LINQ ports f

  • LINQでBigQuery: データスキャン量を抑えたクエリの実行方法

    膨大なデータへのクエリで、スキャン量を減らしてクエリの課金額を抑えるには? テーブルワイルドカード関数とテーブルデコレーターを説明する。 ← 前回 連載 INDEX 次回 → BigQuery特有のクエリ構文 前回の記事では、LINQ to BigQueryを使ったクエリの実行について説明した。今回は前回説明しきれなかった、テーブルワイルドカード関数およびテーブルデコレーターについて説明したい。 データスキャン量を抑えるための機能 テーブルワイルドカード関数やテーブルデコレーターといった機能はBigQuery独特の機能であるが、この機能が活用される背景には、BigQueryのテーブルはレコードの追記のみが可能で、更新や削除ができないことがある。 日々レコードが追加されていくテーブルを、同じテーブルのまま利用していくと仮定しよう。まずレコード数が増えるため、同じクエリであってもデータスキャン

  • PINQ - Home

    What is PINQ? Based off the .NET's LINQ (Language integrated query) , PINQ unifies querying across arrays/iterators and external data sources , in a single readable and concise fluent API . A quick example The following shows an example query using the PINQ library: $youngPeopleDetails = $people -> where ( function ( $row ) { return $row [ 'age' ] <= 50 ; }) -> orderByAscending ( function ( $row )

  • Final LINQ extensions III

    Final LINQ extensions III - Center CLR part 4 session http://www.kekyo.net/2015/08/30/5259Read less

    Final LINQ extensions III
  • やっぱりUnityでもC#なんだからLINQが使いたい! - Qiita

    はじめに プログラミング言語C# 最近ではWindowsプラットフォームだけでなく、活躍の場が多くなってきました。Xamarin(monoプロジェクト)により、AndroidやiOSなどのモバイルプラットフォーム向けにも、またLinuxMac向けにもC#で開発できるようになりました。 そしてゲーム分野でのC#の利用も多くなってきました。前述のmonoを用いているUnityゲームエンジンでは、PCゲーム専用機、そして各種モバイルプラットフォーム向けに、C#を使ってゲーム開発をすることができます。そんなUnityでのC#利用ですが実は大きな問題を抱えています。 Unityでは、iOSの実機での実行時、Ahead Of Time(AOT)コンパイル関連の問題により、いくつかの条件を満たした場合他のプラットフォームでは発生しない例外が発生してしまうことがあります。 どのような条件かは@neue

    やっぱりUnityでもC#なんだからLINQが使いたい! - Qiita
  • LINQで簡単DSL

    これはもともとお仕事記事として書いていたのですが、いろいろ折り合いつかず流れてしまいました。 まだ書きかけですが、完成させる気もいまいち湧かなかったので、このまま公開します。 サンプルプロジェクトは https://github.com/karino2/BParserDSL に置いておきます。 ------ 概要 LINQとはC# 3.0 から導入された、SelectManyのシンタックスシュガーの事だ。 近年ではRxやSpracheなど、SQL以外の分野でのLINQの活用例も増えてきた。 このシンタックスシュガーを用いてDSLを作る方法を解説する。 SelectManyを定義する事で、とても短時間で強力なDSLを構築する事が出来る。 (以下文) SelectManyは非常に強力で多くの応用がある事が判明してきていて、最近の言語では大抵言語のコアの文法要素として、このシンタックスシュガー

    LINQで簡単DSL
  • neue cc - LINQ to BigQuery - C#による型付きDSLとLINQPadによるDumpと可視化

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

  • 超LINQ入門

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

    超LINQ入門
  • LINQインスパイア系ライブラリGinqの紹介

    さらに条件増えたらますますネスト深く…むしろフィルタとマップが順に重なってることがわかりづらくなった。

    honamis
    honamis 2013/06/04
    PHP Version 5.3 or later / Licensed under The MIT License
  • linq.js - LINQ for JavaScript Library - Home

    1975 年以来、Microsoft はあなたと共に、大胆で好奇心に満ち、刺激的かつ画期的で、想像を超え記憶に残る数々のことを成し遂げてきました。それらすべてを一緒に祝いましょう。 フロッピー ディスクから CD-ROM、そして自動更新へ。進化のあらゆる段階には、限界を押し広げ、Word 文書や .jpg 画像をフォルダに整理し、タイルを並び替え、さらに Cortana に「こんにちは」と話しかける、あなたの姿がありました。Windows 11 ではあなたがどのような成果を上げ、素敵な体験をされるのか、とても楽しみです。 1980 年代を振り返ると、1983 年に Microsoft Word、1985 年に Excel、1987 年に PowerPoint が登場しました。1990 年代に入ると、これら 3 つのプログラムは 1 つにまとまり、Microsoft Office for W

    linq.js - LINQ for JavaScript Library - Home
  • LINQにオレオレ機能を追加 - xin9le.net

    LINQは便利です。LINQが使える環境なら率先して使いたいところです。LINQに出会ってからは、LINQに依存し過ぎてLINQがないと生きられない体になってしまいました。LINQさん、愛してます.../// と、くだらない前フリはさておき、LINQを使っていて思うことは「あってほしいメソッドが (稀に) ない」ということです。その多くはInteractive Extensions (Ix)を利用すれば何とかなるのですが、それでも他にも「あるといいのになー」と思うものはあります。それにIxはまだExperimental (実験版) リリースで、仕事で採用するにはそれだけでお許しが...。ということで、あると地味ぃに便利そうなものをいくつか紹介します。 ForEachメソッド 言わずと知れたForEachメソッド。LINQやったことある方なら、一度は作ったことあるんじゃないでしょうか。 pu

    LINQにオレオレ機能を追加 - xin9le.net
  • neue cc - Modern C# Programming 現代的なC#の書き方、ライブラリの選び方

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

  • LINQ で重複なしのランダムサンプリング - 捨てられたブログ

    LINQ で重複なしのランダムサンプリング[A]を行うもっとも単純な方法は,おそらくランダムに並び替えて先頭から所望の数だけ要素を取り出す方法でしょう。 var random = new Random(); source.OrderBy(_ => random.NextDouble()).Take(n); 重み付きでサンプリングしたい場合は乱数に重みを与えて大きい順に取り出します。 source.Zip(weight, (x, w) => new { Value = x, Weight = w }) .OrderByDescending(x => { var u = random.NextDouble(); return Math.Pow(u, 1.0 / x.Weight); }) .Take(n) .Select(x => x.Value); しかしこの方法では全体をソートするので,デ

  • 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最高ですよ! @

  • https://yamaokuno-usausa.hatenablog.com/entry/20120103/1325560028

  • 2種類のLINQ

    LINQとは何?みたいな話はすっとばしますよ♪ 今日のテーマはIEnumerableとIQueryableの使い分けです。 IEnumerableとIQueryable LINQ、つまりC#(やVB)のデータ処理の方法として、大まかにいうと以下のような2つの方式があります。 内部加工方式: データ全件もらって、プログラム中で加工 外部クエリ方式: クエリを投げて、外部のサーバー上で処理してもらって、結果だけ受け取る C#的にいうと、LINQを、IEnumerableを使って書く(内部加工)か、IQueryableを使って書く(外部クエリ)かの差です。 ほとんどの場合、性能のネックになるのは通信部分です。なので、「全件返してもらう」なんてことはめったにしません。 というか、データを持っているサーバーが、いわゆるリレーショナル データベースのように、高度なクエリを受け付けてくれる場合は迷わず外

    2種類のLINQ
  • 『よくあるコーディングパターンと LINQ to Objects の対応付け - 予定は未定Blog版』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『よくあるコーディングパターンと LINQ to Objects の対応付け - 予定は未定Blog版』へのコメント
  • Porting LINQ-2-SQL to Dapper for great justice

    I got this email over the weekend: I created the page which is extra embarrassing. Mister performance created a big fat performance mess. It is not the most important page on the site, it is only hit a few 100 times a day at most - however - perfomance is a feature. First thing I do when I see these issues is dig in with MiniProfiler. In seconds the reason for the big slowdown is isolated. The ugl

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

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

  • 1