タグ

ブックマーク / atmarkit.itmedia.co.jp (216)

  • 特集 C# 2.0新機能徹底解説(後編) ― 進化したC# 2.0の状態管理、匿名メソッドとイテレータ(1/4) - @IT

    前編では、C# 2.0の3つの主要な新機能のうち、ジェネリック(Generics)についての概要を解説した。後編である今回は、残る2つの新機能、 匿名メソッド(Anonymous Methods) イテレータ(Iterator) について解説を行っていく。 匿名メソッドとイテレータはどちらも、状態管理に必要なロジックをプログラマに代わって生成してくれるという特徴を持っている。ここでいう状態管理とは、スコープを越えたローカル変数の管理や、foreach文によるループ処理内部での実行ポイントの管理のことである(詳細は追って説明する)。 特にイテレータは、複雑な状態管理をコンパイラにより生成されるMSILコードが自動的に行ってくれる。これにより、単純なコードでも複雑な状態を表現できるようになる。その変化は衝撃的だ。今回はその変化の仕組みの内側を探ることで、C# 2.0が持っている状態管理の全容を

  • 特集 C# 2.0新機能徹底解説(前編) ― 開発生産性を飛躍的に高めるジェネリック(1/4) - @IT

    C# 2.0(2005年提供予定)の新機能徹底解説ということで、数回に分けてC# 2.0の拡張点に関する記事を執筆させていただくことになった。C# 2.0の主要な改善点は、一言で表現すれば、「より書きやすくなった」ことだ。C言語に源流を持つ言語(例えば、C++Javaなど)の根底にある思想は「シンプルなコードは美しい」ということだが、C# 2.0でもこの考え方が受け継がれている。C# 2.0はシンプルかつパワフルな言語である。 C# 2.0では、現行のC# 1.0に対していくつかの新機能が追加されているが、その中でも主要なものは以下の3点だ。 ジェネリック(Generics) 匿名メソッド(Anonymous Methods) イテレータ(Iterator) 今回では、このうちジェネリックについて解説する。 ジェネリックについては、まず「ジェネリックとは何か?」を説明し、さらにジェネリッ

  • コーディングに役立つ! アルゴリズムの基本 - @IT

    連載ではアルゴリズムとデータ構造を学ぶ、または学び直すことで、プログラミングのスキルを深めていきます。アルゴリズムは学問として取り扱われることが多いですが、この連載では開発の現場に役立つスキルを身に付けることを目的とします。 機械学習/Deep Learningが気になる人も要注目、「アルゴリズム」の基が学べる無料の電子書籍150ページ 人気連載まとめ読み! @IT eBook(29) 人気過去連載を電子書籍化して無料ダウンロード提供する@IT eBookシリーズ。第29弾では「コーディングに役立つ!アルゴリズムの基」10回分を1冊のPDFとしてまとめた。アルゴリズムとは何か? なぜ学ぶべきなのだろうか?

  • 連載インデックス「Androidで動くJavaアプリ開発入門」 - @IT

    連載インデックス 「Androidで動くJavaアプリ開発入門」 初心者のための入門連載です。「Androidアプリとは何か」の基礎知識から開発環境の構築(Android Studio、SDK ToolsとEclipse ADT、NDK、エミュレーターなどのインストールや使い方)、Java言語で書くアプリ開発の基的なところから、最新版5の新機能までまとめて解説します。Activity、Intent、サービス、WebView、ゲーム開発、センサー、カメラ、位置情報/GPSBluetooth通信、NFC、Android Wearなど ※連載のアップデート版連載は「実業務でちゃんと使えるAndroidアプリ開発入門」として連載中です。 Javaでの常識が通用しないAndroidにおけるメモリ管理の注意点 実業務でちゃんと使えるAndroidアプリ開発入門(3) Androidアプリのメモリ

  • EF 4.1の目玉機能「コード・ファースト」を理解しよう(1/3) - @IT

    連載:Entity Framework 4.1入門 第1回 EF 4.1の目玉機能「コード・ファースト」を理解しよう WINGSプロジェクト 土井 毅(監修:山田 祥寛) 2011/06/03 ■Entity Framework 4.1の概要 2011年4月11日、ADO.NETのコンポーネントであるEntity Framework(以降、EF)の新しいバージョン4.1がリリースされた。バージョン番号の増分は以前の「4」から「0.1」だけであるが、EF 4.1にはそれまでのバージョンにはない、「コード・ファースト」という新しい開発スタイルが追加され、より簡潔なコードでデータベース開発を行えるようになった。 EF 4.1の主な新機能は以下の2つである。 (1)新しい開発スタイルであるコード・ファーストのサポート ソース・コードのみでデータベースの設計まで行えるコード・ファーストは、連載で主

    ichiroku11
    ichiroku11 2011/06/04
    連載:Entity Framework 4.1入門
  • .NET TIPS [ASP.NET]アプリケーション個別の構成ファイルの変更を禁止するには? - Webフォーム - @IT

    ASP.NETの動作を規定する「構成ファイル」は、「マシン構成ファイル(machine.config)」と「アプリケーション構成ファイル(web.config)」に大別される。machine.configはサーバに1つしか配置できないが、web.configはアプリケーションごと、またはアプリケーション・フォルダ配下のサブフォルダ単位に(フォルダ階層ごとに)配置することができる。 構成ファイル(web.config)が異なる階層のフォルダに配置されており、それぞれのフォルダにある構成ファイルに同一の項目が設定されている場合には、最下層の構成ファイルの設定が優先的に適用されるようになっている。また、構成ファイルに設定されていない項目でも、より上位の階層に配置された構成ファイルにその項目の設定がある場合には、その上層の構成ファイルから「設定の継承」が行われて適用されるようになっている。 ASP

    ichiroku11
    ichiroku11 2011/05/26
    MachineToApplication
  • クロスブラウザはもう古い! HTML5+CSS3時代のプログレッシブ・エンハンスメント

    IE 9が登場! ユーザーの閲覧環境がますます多様化! 4月26日、ついに日でもInternet Explorer(以下、IE) 9が公開されました。また、マイクロソフトは早くもIE 10のプレビュー版を公開しており、CSS3やJavaScript周りが、さらに強化されるなどリッチなWeb表現が加速してきています。 IEのみならず、Firefox、Safari、Google Chrome(以下、Chrome)など他のWebブラウザもすさまじい勢いで進化してきており、スマートフォンやタブレットPCなどのデバイスも続々と開発され、ユーザーの閲覧環境がますます多様化してきています。 そうした流れの中で、必然的に欠かすことができなくなる知識が、この「プログレッシブ・エンハンスメント」という概念です。 プログレッシブ・エンハンスメントって何? Webブラウザや端末などの閲覧環境が多様化してきていま

    クロスブラウザはもう古い! HTML5+CSS3時代のプログレッシブ・エンハンスメント
    ichiroku11
    ichiroku11 2011/05/24
    一撃デザインの種明かし
  • スタート・ダッシュで差をつけるWP7の基礎知識(1/3) - @IT

    特集:開発者のためのWindows Phone概説 スタート・ダッシュで差をつけるWP7の基礎知識 WINGSプロジェクト かるあ(監修:山田 祥寛) 2011/05/24 2011/05/26 更新 ■はじめに いま、スマートフォンが日市場をにぎわせている。特に日の開発者の間では、比較的参入が容易なAndroidが人気だ。Androidといえば(基的に)Java開発になってしまうが、だからといって.NET開発者が落胆する必要はない。今年後半にも登場が予想されるWindows Phone 7(もしくは、Windows Phone 7.1。以下、Windows Phone)を搭載したスマートフォンが、開発者にとって、以下のような理由から大きな期待が持てるからだ。 Nokiaをはじめとする大手携帯電話ベンダのバックアップ 整備されたハードウェア規格 マイクロソフト・プラットフォームの特徴

  • 教科書に載らないWebアプリケーションセキュリティ - @IT

    [これはひどい]IEの引用符の解釈 教科書に載らないWebアプリケーションセキュリティ(1) Webアプリケーションとセキュリティは切り離せない。セキュアなコードを書くために知っておくべき小ネタを取り上げる

  • 第3回 モデル・バインドとアノテーション検証の実装(1/3) - @IT

    データ登録の基 それではさっそく、具体的なコードを見ていこう。 ■Createアクション・メソッド まずは、コントローラのコードから。登録フォームの表示に関係するのは、入力フォームを生成するためのCreate()メソッドと、フォームから入力された値を処理するためのCreate(book)メソッドである。 // 入力フォームを生成するためのCreateアクション public ActionResult Create() { return View(); } // [Create]ボタンをクリックしたときに呼び出されるCreateアクション [HttpPost] public ActionResult Create(Book book) { if (ModelState.IsValid) { db.Books.Add(book); db.SaveChanges(); return Redir

    ichiroku11
    ichiroku11 2011/05/21
    連載:ASP.NET MVC入門【バージョン3対応】
  • 進化したInternet Explorer 9 第2回 強化されたタブとセキュリティ機能 − @IT

    第2回 強化されたタブとセキュリティ機能:製品レビュー 進化したInternet Explorer 9(1/2 ページ) タブ機能やダウンロードマネージャ、セキュリティ強化など、IE9の新機能を概観する。IE9はGPUアクセラレーションでどれだけ速くなるのかも検証。 連載目次 前回は、IE9の概要と、特徴的な新デザインについて解説した。今回はその続きとして、GPUによるアクセラレーションとタブ操作機能、追跡防止/ActiveXフィルタ機能、ダウンロード・マネージャなどについて解説する。 GPUアクセラレーションによる高速レンダリング IE9では、GPUを利用して高速なWebページのレンダリングを実現している。ゲームWindows Vista/Windows 7のAeroデスクトップ処理以外ではあまり使われることのないGPUであるが、HTML5のビデオ再生支援機能の利用やSVGScala

    進化したInternet Explorer 9 第2回 強化されたタブとセキュリティ機能 − @IT
    ichiroku11
    ichiroku11 2011/05/19
    進化したInternet Explorer 9
  • 進化したInternet Explorer 9 第1回 IE9の概要と新ユーザー・インターフェイス − @IT

    第1回 IE9の概要と新ユーザー・インターフェイス:製品レビュー 進化したInternet Explorer 9(1/2 ページ) GPUやマルチコアCPU対応で性能を向上させたIE9。シンプルなユーザーインターフェイスとHTML5準拠でIE9はブラウザ戦争を勝ち抜けるか?

    進化したInternet Explorer 9 第1回 IE9の概要と新ユーザー・インターフェイス − @IT
    ichiroku11
    ichiroku11 2011/05/19
    進化したInternet Explorer 9
  • C#開発者が“Kinectハック”に挑戦してみた(1/3) - @IT

    特集:Kinectセンサーの可能性 C#開発者が“Kinectハック”に挑戦してみた デジタルアドバンテージ 一色 政彦 2011/05/16 「Kinectハック」をご存じだろうか? その名のとおり、Kinectセンサー(詳細後述。コード名:「Project Natal」。以降、「Kinect」)をハックすることだ。つまり、Kinect製造・販売元以外の第三者が技術力を駆使してKinectが動作する仕組みを解析し、Kinectを(来の用途以外の目的で)自分が自由に使える道具に(ソフトウェア的に)仕立て上げてしまうことである。当然ながら、このような行為は法的な問題を含んでいる可能性がある(と考えられる)が、記事の執筆時点で、マイクロソフトはほぼ黙認しており、これにより世界中でいま、Kinectハックが広がりを見せている。 また、米国で4月13日に開催されたWeb開発者向けカンファレンス

  • .NET TIPS [ASP.NET]ページから生成されたソース・コードを見るには? - C# VB.NET Webフォーム - @IT

    ASP.NETのパフォーマンスは、従来のASPに比べて大幅に改善されている。その理由の1つは、ASPがインタプリタ形式により実行されていたのに対して、ASP.NETではコンパイルされたWebページが実行されるためだ。 .aspxファイルで記述されたASP.NETのページは、それが最初にアクセスされたときに、まずはC#やVisual Basic .NETのソース・コードに変換され、続けてコンパイラによりDLLファイル(アセンブリ)へとコンパイルされる。こうして作成されたアセンブリはメモリへロードされ、ページのインスタンスが作成されてから実行される。 途中で作成されたソース・コードは、リリース・バージョンのWebアプリケーションであれば、コンパイル後は不要であるため削除されるが、アプリケーションがデバッグ用にコンパイルされた場合にはソース・コードはそのままとなる。このため.aspxファイルでの

  • Visual StudioのIntelliSenseでCSS3を利用するには?[C#、VB] - @IT

    「TIPS:Visual StudioのIntelliSenseでHTML5を利用するには?」では、Visual Studio 2010(以降、VS 2010)のコード・エディタのIntelliSense(インテリセンス)で、次世代のWeb標準技術であるHTML5のタグや属性を利用する方法について説明した。このHTML5機能は、VS 2010 SP1(Service Pack 1)で追加されたものだ。 では、そのSP1でHTML5とともに使われるCSS3も使えるのだろうか? 残念ながら、ほんの一部の機能(=奇数番目の<div>要素を意味する「div:nth-child(2n+1)」などのセレクタ指定)を除いて、基的に利用できない状況である。VS 2010 SP1の時点で、CSS3のIntelliSenseを有効にするには、別途、スキーマを用意する必要がある。TIPSでは、この方法を説明

  • 第5回 POCOによるエンティティ・クラス(1/3) - @IT

    *1 「Plain Old CLR Object」の略。特別なクラスやインターフェイスの継承/実装を行っていないプレーンな.NETクラス(のオブジェクト)のこと 前回までに解説してきたとおり、Entity Frameworkは“概念モデルによるプログラミング”という、扱いやすいプログラミング・モデルを提供してきたが、同時にそれは、アプリケーションがEntity Frameworkという特定の技術に深く依存することも意味していた。データベースに直接アクセスする部分がEntity Frameworkに依存することには何ら問題はないが、実際の業務処理を行うビジネス・ロジック部分までがEntity Frameworkに依存するのは望ましいことではない。 .NET Framework 4のEntity Frameworkの新機能である「POCOによるエンティティ・クラス」を用いることで、Entity

    ichiroku11
    ichiroku11 2011/04/25
    連載:ADO.NET Entity Framework入門
  • 第4回 データベースからのEntity Data Model生成(1/3) - @IT

    今回のテーマは、データベースからのEntity Data Model(以下EDM)の生成である。 第1回から説明しているように、Entity Frameworkの理想は、まず概念モデルの設計があり、そこからデータベースの実装を行うことにあるといえる。しかし、現時点での開発においては、データベース設計が先にあり、プログラミング用のモデルとして概念モデルを後で設計するケースも多いだろう。 また、概念モデルを先に設計している場合でも、Entity Frameworkのデータベース自動生成機能がシンプルな構造にしか対応していないことから、自動生成をあきらめ、データベースからEDMを生成するケースも考えられる。 このように、既存のデータベースを解析し、モデルを生成することを、一般にデータベースのリバース(リバース・エンジニアリングの略)と呼ぶ。Entity Frameworkにおいても、Visual

    ichiroku11
    ichiroku11 2011/04/25
    連載:ADO.NET Entity Framework入門
  • フォーム関連要素(終) HTML5で仕様になった入力値チェック+便利な3Tips

    フォーム関連要素(終) HTML5で仕様になった入力値チェック+便利な3Tips:HTML5“とか”アプリ開発入門(9)(1/3 ページ) HTML5で強化された入力フォームに関する話題は、今回でいったん終わりとします。これまでの3回で、<input>要素に加えられた変更と、新たに追加された<form>関連の要素についてお話ししてきました。 今回の話題は、フォームの入力値チェック(バリデーション)が主になります。また、autofocus属性やform属性など、これまでの記事で触れられなかった内容も紹介したいと思います。 HTML5では入力値チェックの仕組みが“仕様”に HTML 4までは、フォームに入力された値をチェックする仕組みがほとんど備えられていませんでした。そのため、入力値のチェックは基的にサーバサイドでのみ行うか、JavaScriptを用いてチェックする必要がありました。 しか

    フォーム関連要素(終) HTML5で仕様になった入力値チェック+便利な3Tips
    ichiroku11
    ichiroku11 2011/04/25
    いろいろなバリデーション。
  • 第3回 Entity Frameworkにおけるクエリと更新(1/3) - @IT

    アプリケーションからクエリを行うには、Object Servicesを介する方法と、EntityClientデータ・プロバイダを直接呼び出す方法がある。Object Services経由では、「Entity SQL」「クエリ・ビルダ」「LINQ to Entities」の3つのクエリ方法がある。 この図1から分かるように、Entity Frameworkは、ADO.NETがデータベースにアクセスする際のドライバ的な役割を持つADO.NETデータ・プロバイダの上に構築されている。そして、Entity Frameworkによりアプリケーションからクエリを行う際には、Object Servicesを介して呼び出しを行う方法と、EntityClientデータ・プロバイダを直接呼び出す方法の2種類が存在する。 EntityClientデータ・プロバイダは、Entity Frameworkの下位のコン

    ichiroku11
    ichiroku11 2011/04/25
    連載:ADO.NET Entity Framework入門/「Lazy-loading」=「実際に必要になるまで読み込みを怠ける」に対し、「Eager-loading」=「最初から熱心に読み込みを行う」といった意味合いをもつ。LINQはアドホック・クエリが苦手。
  • 第2回 EDMにおける多対多関係とEntity Frameworkでのデータの取得/保存(1/4) - @IT

    前回では、Entity Frameworkの概要を解説し、シンプルなEntity Data Model(以下EDM)を作成した。今回は、より複雑な構造を持つ概念モデルをEntity Frameworkでどのように扱えるか、多対多関係を持つエンティティをサンプルとして解説する。 また、EDMをアプリケーションからどのように呼び出すことができるか、データの取得・保存方法についても解説していく。 今回作成するサンプルのダウンロード(ef4basic_2_sample.zip) 多対多関係の実現 前回のサンプルでは1つのエンティティを作成し、概念モデルからデータベースを自動生成した。今回は前回のサンプルの続きとして、多対多関係(「n対n関係」とも呼ばれる)を持つエンティティを概念モデルで設計しよう。 ■Categoryエンティティの作成 前回はアドレス帳アプリケーションのアドレス帳エントリであるE

    ichiroku11
    ichiroku11 2011/04/25
    連載:ADO.NET Entity Framework入門