タグ

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

  • LINQの仕組み&遅延評価の正しい基礎知識 - @IT

    .NET開発者中心 厳選ブログ記事 LINQの仕組み&遅延評価の正しい基礎知識 ―― ブログ「neue cc」より ―― 河合 宜文 2011/08/10 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 稿では、LINQについて基礎から理解することを目的に、その仕組みと遅延評価について最初から解説します(※「何をもって最初/基礎とするか」は人により異なると思いますが、稿の解説はあくまで、わたしなりの基準における基礎です)。 なお、ここではLINQ

  • C#/Scala/Python/Ruby/F#でデータ処理はどう違うのか?

    ■概要 以前、C#でのデータ処理について解説した。今回は、同様のデータ処理を、C#以外のプログラミング言語ではどうしているのか、(C#も含めて)以下の5つの言語を比較しながら説明していく。 C# Scala Python Ruby F# 結果としてできることは似ているのだが、その内部的な実装方法は言語ごとにさまざまである。 ■データ処理のおさらい 概念的には、「データ処理」というのは、Figure 1に典型例を示すように、条件選択や変換など、小さな処理単位に分けて、それをつないでいく形を取る。

    C#/Scala/Python/Ruby/F#でデータ処理はどう違うのか?
  • UIオートメーションによる自動UIテストの実践 ― @IT

    特集:UIオートメーションによる自動UIテストの実践 WindowsアプリのUIテストを自動化しよう クロノス 亀野 弘嗣 2008/06/03 読者の方々は、UI(ユーザー・インターフェイス)にかかわるテスト(以下UIテスト)を自動化できているだろうか? UIテストを自動化しようとしても、UIテストのコードは記述しにくく、記述方法に一貫性がない、などの理由から、自動化をあきらめる場合が多いのではないだろうか。 .NETの開発においても単体テストの自動化は一般的に行われるようになってきているものの、UIテストの自動化はそういった理由で実現が難しく、あまり行われていないのが現状だ。 そこで稿では、標準的で一貫性のある記述ができるMicrosoft UIオートメーション(以下UIオートメーション。詳細後述)と、テスト・ツールであるNUnitを使用して、UIテストを自動化する方法を紹介する(N

  • ( Javaには存在しなくて ) ScalaとC#には存在する言語機能 - xuwei-k's blog

    いわゆる静的型付けでオブジェクト指向な言語という点からみれば、ScalaもC#もJavaも似ている点があるわけですが、その中でJavaにはなくてしかしC# と Scala である程度共通するものを書きだしてみた。別に「この結果 = Javaがダメ」とかすぐに結論づけたいわけじゃなく、自分の頭の中整理してみたかっただけです。この3つを選んだのも自分がある程度使った経験があるというだけに過ぎません。ちなみにここで言ってるJavaJava6で、C# は4.0で、Scalaは2.8以降です。あと「似ている機能」があるだけで細かいところ色々違いますが、そこは自分の基準でなんとなく「似ている」と感じたものと書いているだけなのであしからず(´・ω・`) 型推論( C# はローカル変数のみだけど ) http://ufcpp.net/study/csharp/sp3_var.html いわゆるラムダ式っ

    ( Javaには存在しなくて ) ScalaとC#には存在する言語機能 - xuwei-k's blog
  • C#で解説する「データ処理の直交化と汎用化」(1/3) - @IT

    稿では、LINQ(Language Integrated Query)の生い立ちについての話をしてみたい。 LINQは、C# 3.0の目玉機能として、2005年夏に発表、2008年に初頭に製品化されたものである。製品化から数えてももう3年が過ぎたわけだが、いまだ誤解の多い機能だろう。LINQの一側面だけを見て、 O/Rマッパーの一種 C#やVB(Visual Basic)のコード中にSQL風のクエリを埋め込める機能 などといわれることもある。これは、一側面が見えているだけいいかもしれない。まれに、 if文やfor文が書ければ、プログラムは書ける C# 3.0/VB 9で何だかいきなり機能が増えすぎてもう付いていけない というような声さえ聞こえてくる。 しかし、そう身構えないでほしい。LINQが目指すものは実のところ単純で、「データ処理の直交化と汎用化」である。この考え方は何もLINQで初

  • .NET Framework 4更新

    原文(投稿日:2011/06/14)へのリンク .NET 4の累積パッケージが6月11日に公開された。このパッケージには、たくさんの修正と機能追加が含まれている。これらの多くは以前に個別の修正として公開されたものだ。また、HTML 5と移植可能なライブラリのサポートも含まれている。参考までに、下記に技術別の修正をまとめた。ファイルのバージョンを含む完璧な一覧についてはKB 2468871を参照のこと。 全般 3MB以上のファイルを添付したメール送信が失敗する。 WPF コントロールにバインドされたオブジェクトがそのコントロールの名前のスコープ外に定義されている場合、WPFアプリケーションがクラッシュする。 マウスポインタから遠く離れた場所でショートカットメニューが表示される場合がある。 .ttfファイルからテキストを読み込むとき、表示が不正になる。さらに、アクセス違反が発生してアプリケーシ

    .NET Framework 4更新
  • ついにExcel VBAとおさらばする時がきたかもしれん - かずきのBlog@hatena

    .NET系の言語をExcelで実行できるExcel-DNAをテライケメンのid:bleis-tiftの呟きから教えてもらえました。 Samplesも結構充実してるのでいいかんじ。ファイルをExcelにドロップするだけでいいので、お手軽に使えますね!! 個人的にイケてると思ったのは以下の点。 Excelのリボンにメニューを追加できる Excelの任意のセルの値の取得、設定が出来る VB, C#, F#が使える もうよだれものです。

    ついにExcel VBAとおさらばする時がきたかもしれん - かずきのBlog@hatena
  • DTO vs オブジェクト:3つの意見

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    DTO vs オブジェクト:3つの意見
  • 第3回 新しい繰り返しのスタイル - yield return文とForEachメソッド(1/4) - @IT

    繰り返しという古くて新しい問題 稿を書くに当たってあらためて考えてみると、プログラミングにおいて「繰り返し」とは古くて新しい問題であることが痛感される。 例えば、8bitワンボード・マイコンの全盛期、繰り返しはレジスタの値を1つずつ減らしてゼロになったら(ゼロ・フラグが立ったら)終わるという構造が多かった。ところが、最も人気のあった8080AやZ80といったCPUは、8bit単位でレジスタの値を1減らす命令(DCR/DEC)ではゼロ・フラグが変化したが、16bit単位でレジスタペアの値を1減らす命令(DCX/DEC)を実行してもゼロ・フラグが変化せず、ゼロ判定のために別途コードを書く面倒が必要だった。かといって、ライバルのモトローラ6800などでは、条件付きジャンプは8bit範囲の相対アドレスでしか飛べなかったので、ちょっとコードを書き足すとループの最初に戻れなくなってアセンブル・エラー

  • LINQ(リンク)の基礎知識

    VS 2008最大の新機能LINQを分かりやすく解説。C#コードでDBやオブジェクトを検索。LINQを始めるにはまずここから。 連載目次 Visual Studio 2008(以下、VS 2008)にはさまざまな新機能が追加されていますが、最大の新機能といえばやはり「LINQ」(「リンク」と読みます)でしょう。 LINQとは、 Language INtegrated Query の略で「統合言語クエリ」と訳されますが、もう少し分かりやすくいい換えれば、 言語(C#やVisual Basicなど)のコード内に記述できるクエリ となります。クエリとは「問い合わせ」です。開発でクエリといえばデータベース検索に使われるSQL文が代表的ですが、LINQではSQL文に似た構文によりクエリを記述し、データベースをはじめ、さまざまな対象から、データの検索や集計、取得などが可能になります。 LINQによるク

    LINQ(リンク)の基礎知識
  • Conqat

    ConQAT is an integrated toolkit for creating quality dashboards that allow to continuously monitor quality characteristics of software systems. It provides a comprehensive set of quality analyses for many programming languages out of the box (e.g. Java, C#). Moreover, ConQAT integrates with a number of state of the art quality analysis tools (e.g. PMD, FindBugs, FxCop). Finally, ConQAT is an exten

  • 【ハウツー】SeleniumとNUnitでWebサイトのテストを自動化する【前編】 (1) Visual Studio 2008ベースのテスト環境を準備する | エンタープライズ | マイコミジャーナル

    Seleniumとは SeleniumはIE、Firefox、Chrome、Safari、Operaといった多くのブラウザに対応しているWebテストツールです。操作を簡単にレコーディングでき、C#、VB.NETJavaPHPPerlRubyといったさまざまな言語から呼び出すことが可能です。詳細はこれはすごい! Web案件必須 Seleniumで確認してください。 環境の準備 稿では、Visual Studio 2008、Selenium IDE1.0.4、Selenium RC1.0.1、NUnit2.5.2を使用してWebテストを行います。環境設定の手順は次の通りです。 Selenium IDEをインストール Selenium RCの配置 NUnitをインストール テスト用プロジェクトを作成 実行時にNUnitが起動するように設定 (1)Selenium IDEをインストール

  • DynamicDataの日本語訳は修正可能 - naoki0311's diary

    d:id:naoki0311:20080813:1218672509 id:dotnetfanさんに教えてもらったんですが、DynamicDataの日語訳の部分は手動で変更が可能との事。 確かに、FieldTemplatesフォルダ内のChildren.ascx.vb内に記述がありました。 Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 'HyperLink1.Text = ("表示 " + ChildrenColumn.ChildTable.DisplayName) HyperLink1.Text = (ChildrenColumn.ChildTable.DisplayName + " 表示") End Sub 上記のように書き換えるだけで、まぁちょっとはしっくりくる感じになります。

    DynamicDataの日本語訳は修正可能 - naoki0311's diary
  • Dynamic Data

  • 状態遷移表からStateパターンを自動生成する

    前回のStateパターンのお話、おかげさまでかなり好評だったようです。流行のトレンドを追いかけるのはドキドキがいっぱいでモチベーションを維持する良い材料ではありますが、トレンドを楽しむにも「やりたい事をカタチにする」ために設計と実装の腕を磨いておかにゃなりませんですね。Stateパターンを適用すれば、状態(State)と事象(Event)および状態遷移表に基づいて見通しが良く変更に強い(かつ柔軟な)コードに落とすことができます。 状態遷移表に基づいてコードに落とすのは単調な作業です。状態の数だけclassを起こし、それぞれのclassに事象の数だけメソッドを定義するので、どのclassもまったく同じ構造です。お定まりのパターンを何度も淡々を繰り返すのは退屈ですが、計算機はこのテの作業が大好きです。文句も言わず嬉々としてやってくれます。今回のお題は「状態遷移表からC#コードを自動生成させてみ

    状態遷移表からStateパターンを自動生成する
  • .NETで簡単に暗号化(4) BearCatのモバイルと音楽のある生活

    前回から引き続き、DataSetの暗号化です。 XmlSerializer.Serialize メソッドのパラメータにCryptoStreamが指定できるかコードを書いてみました。 結果からいえば、あっけなく暗号化と復号化ができました。 コードは以下の通りです。 【暗号化:C#】 using System.Security.Cryptography; using System.Xml.Serialization; /// <summary> /// データセットを暗号化する /// </summary> /// <param name="filePath">保存するファイルパス</param> /// <param name="ds">暗号化対象データセット</param> /// <param name="key">暗号キー</param> /// <param name="IV">初期

  • 美しいプログラムを書く(脱添字職人編) | Webシステム開発/教育ソリューションのタイムインターメディア

    あらすじ あなたはとある業務用アプリケーションの開発・保守を任されています。 このアプリケーションはC#で記述されており、 とある企業におけるプロジェクト(Project)の管理を主目的としています。 プロジェクトには何名かの社員がアサインされており(AssignedStaffs)、 プロジェクト内には必ずマネージャーが1名存在します(ManagerStaffId)。 大まかなイメージとしては以下のようなコードになっています: public class Staff { public String Id {get; set;} public String Name {get; set;} ... } public class Project { public ArrayList AssignedStaffs {get; set;} public String ManagerStaffId {

    美しいプログラムを書く(脱添字職人編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • 【2011年度版】.NET開発者のためのオンライン・リソース・ガイド - @IT

    特集:フレッシュマン企画 【2011年度版】 .NET開発者のためのオンライン・リソース・ガイド デジタルアドバンテージ 一色 政彦 2011/04/19 稿は、これから.NETでプログラミングを始めようとしている方や、新しく.NETでの開発に携わることになったフレッシュマンに贈るオンライン・リソース・ガイドの2011年度版である。インターネット上に数ある.NET関連サイトの中で、.NET開発者がまずは押さえておくべきWebサイトについてまとめている。 ●稿がまとめているサイト&ジャンル分けについて .NET開発者がよく利用するサイトの代表は、やはり.NET Framework & Visual Studioを提供するマイクロソフトのサイトだろう。だが、ひとくくりに「マイクロソフトのサイト」といっても、マイクロソフトが運営するサイトは当にたくさんあり、それぞれのコンテンツも膨大となっ

  • C# Expressで構成マネージャ - 隊長GAN-STのブログ

    結局、連休中はWindows7をあまりいじれなかったので今日からいろいろと。 64bit版のWindows7を入れたので環境的には激変。 まずは今まで開発したソフトが使えるかどうかをチェック。 早速だが、仕事で作ったDirectShow系のプログラムが動かなかった(´・ω・`) どうやらDirectoShowフィルターの読み込みに失敗している様子。 原因は、64bitと32bitの混在によるものだった。 フリーで使えるVisual Studio 2008 C# Expressで開発したものだが、 デフォルトの設定だと「Any CPU」、すなわち64bitと32bit両対応でビルドされる。 だから、64bit環境で動かすと64bitモードで動くのだが、 使っているDirectShowフィルターが32bitでしか動かないので 呼び出し元が64bitで動かそうとしてエラーとなるわけだ。 ・ ・

  • C#のコード品質を上げるフリーツール8本 - give IT a try

    はじめに 読みにくいコードや複雑なコードをメンテナンスするのってイヤですよね。 コードの品質を上げる方法の一つにコードレビューがありますが、すべてのソースコードを人力でチェックしていくのは大変ですし、レビュアーのスキルや好みにも大きく依存してしまいます。 そういう場合はツールを使って自動化するのが有効です。 ツールを使えばあっという間に完了しますし、実施者のスキルや好みに左右されることもありません。 しかし、あまりお金がかかるツールだと、ちょっと気軽に導入しにくいです。 そこで今回はC#のコード品質向上に有効なフリーツールを紹介します。 実際のプロジェクトで使用したことがあるものばかりなので、どれも「使えるツール」だと思いますよ。 ところで、ツールを紹介する前にTipsと注意点を簡単に挙げておきましょう。 ツールを利用する際のTips 自分の書いたコードのみを対象とし、ツールが作成したコー

    C#のコード品質を上げるフリーツール8本 - give IT a try