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

  • Windows 8時代のアプリ開発とWinRT(1/4) - @IT

    特集:WinRT登場で変わる開発技術と開発言語 Windows 8時代のアプリ開発とWinRT 岩永 信之 2012/06/01 ※編集部注: 日、Windows 8のRelease Preview版(=従来のRC版(リリース候補版)に相当。日語版も含む)がリリースされた。下記のリンク先から誰でもダウンロードできる。 Windows 8 Release Preview のダウンロード 今後のスケジュールでは、問題なく進めば約2カ月後の8月ごろに、RTM版(=正式版)がリリースされ、年末商戦の時期には実機が店頭に並ぶことになる(「Windows 8 Release Preview 提供開始 - Building Windows 8 - MSDN Blogs」に基づく情報)。 また同時に、Visual Studio 2012(コード名:Visual Studio 11)のRC版もリリースさ

    ZOETROPE
    ZOETROPE 2012/06/03
  • F#言語の基礎文法(1/2) - @IT

    前回は、F#の概要や、関数型プログラミングの基礎、F#でよく使われるデータ構造のリストとタプルを説明した。今回後編では、F#でプログラムを書くに当たって必要最低限の文法を紹介していく。 ■主要な文法 ●if式 F#で条件による分岐を行うためには、if式を使用する。

    ZOETROPE
    ZOETROPE 2012/05/11
    目から鱗/”F#では変数を導入する箇所では常にパターン・マッチとなる。”
  • F#で初めての関数型プログラミング(1/3) - @IT

    ■F#とは F#は、マイクロソフト社製のプログラミング言語で、Visual Studio 2010から標準搭載されている。まずは、F#がどのような言語なのかを見てみよう。 ●マルチパラダイム言語「F#」 F#は複数のパラダイムをサポートするマルチパラダイム言語だ。F#がサポートするパラダイムには、 手続き型 関数型 オブジェクト指向プログラミング などがある。 マルチパラダイム言語であるため、C#やVB(Visual Basic)といった従来の.NET言語を置き換える形でF#を使うこともできる。しかし、記事ではF#のメインとなるパラダイムである「関数型」にフォーカスを当てて紹介していく。 ●関数型言語「F#」 F#は、静的型付けの関数型言語である「OCaml」に強い影響を受けている。そのため、F#の主となるパラダイムは関数型プログラミングになる。 さて、関数型言語とは何だろうか? この問

    ZOETROPE
    ZOETROPE 2012/04/13
  • XAMLファミリ共通開発のすゝめ(後編)(1/2) - @IT

    特集:XAMLファミリ共通開発のすゝめ(後編) MVVMパターンを使ったクロス・ターゲット開発 岩永 信之 2012/01/17 前回、GUIアプリ開発において、異なるターゲット間でソース・コードを共通化できる部分と、できない部分があるという話をした。共通化できないのは、以下のような部分である。 UIに深くかかわる部分 セキュリティにかかわる部分 この辺りを最初から意識して作れば、クロス・ターゲット開発もしやすくなるだろう。特に、XAMLファミリの場合、XAML+.NET言語(C#やVB:Visual Basic)を使って、データ・バインディングという仕組みに基づく共通の開発スタイルになっているため、アプリの大部分を共通化できる。 今回は、具体的なサンプル・アプリ(C#)を使って、XAMLファミリ間でのクロス開発の手法を説明していこう(※以下の文中も含めて、VBのコードは割愛する)。サン

    ZOETROPE
    ZOETROPE 2012/01/25
  • イベント・プログラミングとRx(1/3) - @IT

    連載の第1回では、Reactive Extensions(以降、Rx)の概要とインストール方法を解説した。今回からは具体的な使い方を見ていこう。 まずはRxを利用する際の基的な流れを見ていく。次に、Rxの持つ代表的な2つの性質であるイベントと非同期のうち、イベントを中心的に取り上げる。 ●基的な記述方法 最初に、シンプルなRx(Observableオブジェクト)のコードと、foreach文(Enumerableオブジェクト)のコードの対比を見てみよう。 using System.Linq; using System.Reactive.Linq; // Observableオブジェクト(Rxのコード) Observable.Range(1, 5) .Subscribe(x => Console.WriteLine(x)); // Enumerableオブジェクト foreach (va

    ZOETROPE
    ZOETROPE 2012/01/07
  • XAMLファミリ共通開発のすゝめ(前編)(1/3) - @IT

    特集:XAMLファミリ共通開発のすゝめ(前編) Windows 8時代のGUI開発を考える ―― プラットフォームの性能を最大限に引き出して、Metro/Windows Phone 7/WPF/Silverlightをまとめて開発する方法 ―― 岩永 信之 2011/12/02 GUI開発、特に、プラットフォームの性能を最大限に引き出す必要があるようなアプリ開発において、重要なのは、すべてを共通化することではなく、何が共通化できて何ができないかを把握することである。また、共通化できる部分/できない部分それぞれの課題について考えることも重要だ(Figure 1)。 これから説明していく“XAMLファミリ”では、これらの課題に対して、以下のような解決策を提供している。 一貫した開発スタイル XAML+.NET言語 共通の開発ツール(Visual StudioとExpression Blend)

    ZOETROPE
    ZOETROPE 2011/12/04
  • Reactive Extensionsの概要と利用方法

    連載:Reactive Extensions(Rx)入門 第1回 Reactive Extensionsの概要と利用方法 河合 宜文 2011/11/01 C# 3.0より導入され、プログラミング・スタイルに大きな変革をもたらしたLINQはご存じだろうか。詳しくは「特集:Road to LINQ」で紹介されているが、データ加工における処理の手間を大きく解消するものである。LINQの特徴として、各種のデータソース(=配列やXMLデータ、SQLデータベースなど)に対して統一的な記法を提供することが挙げられる。 Reactive Extensions(以降、Rx)は、LINQが適用できるデータソースの概念を「非同期」と「イベント」に広げた、いわば「LINQ to Asynchronous」「LINQ to Events」とでも言うべきものである。それにより、従来では手間のかかった複雑な非同期処理

  • iPhoneでC#アプリが審査に通るワケ OSS実装「Mono」で広がる.NETの応用 − @IT

    2009/01/29 iPhone向けにC#で書かれたゲームが40以上存在する――。2009年1月7日付けのブログ投稿で、こんなにわかに信じられない現象を伝えるのは、メキシコ出身のオープンソース開発者、ミゲル・デ・イカザ(Miguel de Icaz)氏だ。iPhoneアプリケーションの開発といえば、アップルが提供するSDKに含まれるObjective-Cを使うか、Webブラウザ上でのみ動作するJavaScriptで実装するかのいずれかだった。 C#のような実行時にランタイム(.NET Framework)を必要とするプログラミング言語は、iPhoneでは使えない。なぜなら、任意のコードを実行できるランタイムを配布パッケージに含めることを、セキュリティ上の理由からアップルが禁じているからだ。 ではなぜ、C#アプリケーションが審査に通るのか? この背後には、オープンソースプロジェクト「Mo

    ZOETROPE
    ZOETROPE 2009/01/29
    iPhoneでC#が使えるのは魅力的だが、64000円はちと高い。
  • .NETと安全なポインタ(1/2) - @IT

    連載第2回となる今回は、「管理下ポインタ」(Managed Pointer)について取り上げる。 ■C#は参照渡しをサポートする C#は関数引数の参照渡しをサポートしている。といっても、C#コンパイラがすべき仕事はほとんどない。参照渡しの仕組みはCommon Language Infrastructure(CLI)によって提供されており、C#コンパイラは必要なメタデータと中間言語(IL)コードを出力しているだけである。 対照的に、Java Virtual Machine(JVM)は関数引数の参照渡しをサポートしない。JVM上で動く言語を設計するとして、その言語で参照渡しをサポートしたければ道は1つ、JVMがサポートする機能を用いて参照渡しをエミュレートすることである。つまりコンパイル時に参照渡しを「消去」する必要がある。 実際にC#のコード例で見てみよう。クラスFooのインスタンスを作り、

    ZOETROPE
    ZOETROPE 2009/01/27
    へー、値型のフィールドアクセスってこんな仕組みだったのか。配列の話は、あとでもう一回読む。
  • iPhoneをリモコンにしてみる(1/4)- @IT

    マウスやキーボードだけではつまらない。Flashを応用して、iPhoneやバランスWiiボード、Chumbyを入力デバイスにしてみよう フィジカルコンピューティングとは? フィジカルコンピューティングとは、Tom Igoe氏が提唱した教育プログラムで、人間がいかにコンピュータと対話できるか、を考える取り組みです。 マウスやキーボードなどの標準的な入力デバイスだけでなく、人間が普段コミュニケーションに使う身ぶりなどの身体的な動作を、入力の助けとなる動きと考えます。 フィジカルコンピューティングでは、物理現象をPCに入力する方法としてセンサやマイコンを学び、主にメディアアートやインスタレーションなどのシーンで活用されていますが、最近では、ニンテンドーDSやWiiなどのゲーム機や、iPhoneなどのモバイルデバイスなど既存の製品でも直感的な操作が可能になり、よりユーザーに身近なものになってきまし

  • グーグル、C 向けテストツールをオープンソースで公開 - @IT

    2008/12/12 米グーグルは12月11日、C++用のテストツール「Google C++ Mocking Framework」(Google Mock)をBSDライセンスの下に、オープンソースとして公開したと発表した。Google MockはLinuxWindowsMac OS Xで使える。同社はGoogle Mockを100以上の社内プロジェクトで利用しているという。同社は5カ月前にも「Google C++ Testing Framework」(Google Test)をオープンソースで公開しており、両者を併用することでMockオブジェクトを使ったテスト駆動開発が行えるという。将来的にはGoogle MockをGoogle Test以外のテストツールでも使えるようにしていくという。 Mockオブジェクトは、プロトタイプ設計やテスト時に利用するもので、物のオブジェクトを実装する代

    ZOETROPE
    ZOETROPE 2008/12/15
    "Google Mockでは、作ろうとするMockオブジェクトのインターフェイスを簡単なマクロを使って記述するだけで、Mockクラスとして展開してくれる"
  • 正しいバージョン管理でさらにイケてる.NET開発(1/3) - @IT

    ■1. はじめに 前回の記事では、オープンソースでのバージョン管理の一例として、Subversion/TortoiseSVN/AnkhSVNの紹介と簡単な利用方法について説明した*1。 *1 前回の記事が執筆~公開されている間に、Subversionの最新バージョン1.5.0が公開されている。これからSubversionを試す方は、下記の最新バージョン(2008年7月23日時点)で試してみるとよいだろう。 ・Subversion 1.5.0 ・TortoiseSVN 1.5.0 ・AnkhSVN 2.0.4757 バージョン管理を利用せずに開発することに懲りた中村君、玉田君は、その後社内でSubversionを導入することを推し進め、社内の開発標準フレームワークの開発・運用を任されるまでに成長していた。 中村君「ほんとSubversionって便利だよな。いま思うとバージョン管理なしでどうや

  • [ASP.NET AJAX]ASP.NET AJAX Control Toolkitを利用するには?[2.0、3.0、3.5、C#、VB] - @IT

    IT > Insider.NET > .NET TIPS > [ASP.NET AJAX]ASP.NET AJAX Control Toolkitを利用するには?[2.0、3.0、3.5、C#、VB] .NET TIPS [ASP.NET AJAX]ASP.NET AJAX Control Toolkitを利用するには?(2008年7月改訂版)[2.0、3.0、3.5、C#、VB] 山田 祥寛 2007/03/01 2008/06/05 更新 2008/07/31 更新(大幅に改訂) 2009/10/08 更新 ASP.NET AJAX Control Toolkit(以降、Control Toolkit)は、マイクロソフトが無償で提供する「ASP.NET AJAX」をベースに構築されたサーバ・コントロール集だ(ASP.NET AJAXについては「DBプログラミング 7つのヒント - 同

  • ASP.NETアプリ開発者のためのVisual Studio 2008新機能 Part I(1/4) - @IT

    2007年12月14日、英語版の開発完了から約1カ月を経て、待ちに待った「Visual Studio 2008 日語RTM版」(以降、VS 2008)の開発が完了した。Visual Studio 2005(以降、VS 2005)の日語RTM版リリースが2005年12月15日のことであったから、実に2年ぶりのメジャー・バージョンアップということになる。 この2年を早いととるか遅いととるかは人それぞれかもしれないが、少なくとも最新のプラットフォーム/フレームワークでの開発を手掛ける開発者にとっては、一日千秋の思いで待ちわびたリリースだったのではないだろうか。 というのも、VS 2005のリリース以降に登場したプラットフォーム/フレームワークは少なくない。Windows Vista、2007 Office Systemsをはじめ、WPF/WCF/WF/WCなどのフレームワークを抱える.NET

  • 連載:C# 3.0入門 ― @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー

    ZOETROPE
    ZOETROPE 2008/05/31
  • Eclipseプラグイン コード品質のカイゼン(JUnit Factory)

    これはすごい!?コード品質のカイゼン化プラグイン2種:CoolなEclipseプラグイン(24)(1/3 ページ) ソフトウェアの品質と保守性を向上させるために、テストケースの作成は重要です。しかしながら、時間がない、面倒だなどの理由によりユニット(単体)テストが省略されることはしばしばあります。 また、ソフトウェアの修正や仕様変更を考慮すると、保守性の高い(分かりやすい/読みやすい)コードにする必要があります。 稿では、ソースコードからJUnitをベースとしたたテストケースを自動的に生成する「JUnit Factory」とコードの保守性の指標であるCRAP(Change Risk Anti Pattern)を計測する「Crap4j」をご紹介します。 テストケースを自動生成するJUnit Factoryとは? JUnit Factoryはソースコードからテストケースを自動生成し、しかも生

    Eclipseプラグイン コード品質のカイゼン(JUnit Factory)
    ZOETROPE
    ZOETROPE 2008/02/09
    テストケースを自動生成するJUnit Factory 保守性が高いコードか計測するCrap4j
  • Mylyn&Tracでリズムに乗ってタスクを大掃除♪

    最小限の管理コストで最大の「見える化」を 近年「開発の見える化」が話題となっていますが、いざやろうとするとなかなか難しいものです。 模造紙を壁に張り付ける「タスク看板」などを利用してタスクの「見える化」を行っても、肝心のタスクの実行状況が見えなかったり……。そんなことはないでしょうか? 当にチームメンバーのタスクを把握できているでしょうか? そもそも「タスク」とは、コーディングやテストといった純然たる作業や、故障処理、管理、仕様変更などの副次的な作業も含みます。開発を見える化する際に基となる1つの単位です。 今回紹介するMylynとTracを利用すると、タスク取得→コミット、タスク取得→コミット、……というリズムに乗った開発で、作業履歴(ログ)を残しながら各開発担当者の作業内容を明確にできます。最小限の管理コストで最大の見える化を。世にも不思議なMylynマジック、とくとご覧ください。

    Mylyn&Tracでリズムに乗ってタスクを大掃除♪
  • 「トロン技術者認定試験」実施へ、目指すは“組み込み版TOEFL” - @IT

    2007/12/05 T-Engineフォーラムと社団法人トロン協会は12月5日、組み込みリアルタイム技術者の技術力を認定する「トロン技術者認定試験」を実施すると発表した。12月12日からの「TRONSHOW 2008」で模擬試験を実施。2008年4月に試験を開始する予定だ。T-Engineフォーラム会長の坂村健氏は「TOEFL、TOEICの組み込み版と思ってもらってよい」と話し、世界で通用するスキルの客観的な指標に育てることを強調した。 坂村氏は組み込みソフトウェア開発を海外企業を含めて外部委託するケースが増えていると説明。しかし、委託先企業の技術力が分からないままで、開発を委託してしまい「期待した品質が得られず、トラブルになるケースが頻発している」と指摘した。トロン技術者認定試験は「このようなトラブルを減らすのが目的」といい、組み込みソフトウェア開発の技術力を測定できるようにする。ま

    ZOETROPE
    ZOETROPE 2007/12/05
  • Google先生は不要?——ソースコード共有サイト「code*」開設 − @IT

    2007/08/01 テックスタイルグループのオープンタイプは8月1日、ソースコードやプログラミング情報をユーザー間で共有できるWebサイト「code*」(コードなにがし)を8月2日に開設すると発表した。オープンソースコミュニティなどに利用を呼びかけたり、テックスタイルグループが持つ技術情報1万件を投稿し、Webサイトを育てる。 テックスタイルグループ代表の吉田斉氏は、ソースコードや技術情報の技術者間の共有がないため、「ネットのサービスはほとんどが1からの手作りになっている」と指摘。「Google先生に聞く、またはメーリングリストで質問して『ググれ』と怒られる」状況になっていると説明した。情報共有がないため、開発に時間やコストが多大にかかり、独自性を生み出すその先の開発にリソースを割けない状況になっているという。 code*が目指すのは「ソースコードのWikipedia」。コンテンツは技術

  • 連載:C# 2.0入門 ― @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー