プログラミング C# - 翔ソフトウェア (Sho's)

C#/.NET/ソフトウェア開発など

TypeScript の特長

■ TypeScript とは C# のような静的型付き言語に慣れているプログラマーにとって、JavaScript は多少違和感がある。 「クラスがない」などは、ちょっと何言ってるか分からないかも知れない。 そこで TypeScript の登場だ。 特長 次のような特長がある。 Java…

Hokuriku.NET Vol.13 in 富山「3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~」の資料公開

Hokuriku.NET Vol.13 in 富山 (2月16-17日) のライトニングトークでやった資料を公開。 3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~ from Fujiwo サンプル コード サンプル コードはこちら。 ■ 関連記事 [Event] Hokuriku.NET Vol.13 in 富山 <h4></h4>

Developers Summit 2014 参加レポート

概要 『Developers Summit 2014』 会期 2014年2月13日(木)・14日(金) 会場 目黒雅叙園 主催 翔泳社 目的 新人技術者教育とモバイル開発に関する情報収集。技術者との技術交流。 参加セッション 【13-C-1】 『Cocos2d-x によるスマートフォンアプリ開発のこれ…

「新人技術者にどうプログラミングを教えたか」 at Developers Summit 2014

Developers Summit 2014 の 【13-D-7】 コミュニティLT に参加した。 資料 Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」 from Fujiwo

Hokuriku.NET Vol.13 in 富山

『Hokuriku.NET Vol.13 in 富山』に参加してきた。 『Hokuriku.NET Vol.13 in 富山』 開催日 2014/01/25 会場 富山県民会館 詳細 http://atnd.org/events/46157 イベントの写真 イベントの様子 懇親会はブリしゃぶ 当日のスライド (一部) xin9le さん:『Reac…

Lightningtalks Timer by HTML5

以前作った HTML5 用のライトニングトーク用のタイマーを、TypeScript で書きなおしてみた。 TypeScript を使うことで、よりすっきりと書ける。また、Visual Studio でのインテリセンスや静的な型チェックが行える為、とても楽だ。 lightningtalktimer.ts Ty…

Microsoft Virtual Academy のご紹介

Microsoft Virtual Academy のご紹介 Microsoft Virtual Academy は、マイクロソフトの無償のオンライン トレーニングです。 Microsoft Virtual Academy 特徴 入門者向けの内容が多いのが特徴です。 スライドと動画を観ながら講義を受けられます。 (英語のコ…

TypeScript に関する参考資料

TypeScript に関する参考資料を集めてみた。 Web TypeScripthttp://www.typescriptlang.org TypeScript Language Specification Version 0.9.5 (2013/11/18) http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf Tutorialhttp…

メタプログラミング入門 - Roslyn による C# ソースコードの解析と変更

この記事は、「C# Advent Calendar 2013」の 12 月 12 日分。 ※ 「[C#][.NET][CodeDOM] メタプログラミング入門 - CodeDOM によるクラスの生成」の続き。 Roslyn Roslyn は、C# や Visual Basic のコンパイラーの内部の API 等を公開したものだ。"Compiler a…

メタプログラミング入門 - CodeDOM によるクラスの生成

※ 「[C#][.NET][CodeDOM] メタプログラミング入門 - CodeDOM による Hello world!」の続き。 CodeDOM によるクラスの動的生成 前回は、CodeDOM を使って Hello world! を表示するプログラムを動的に生成した。 もう少し CodeDOM を使ってみよう。 今回は、Co…

メタプログラミング入門 - CodeDOM による Hello world!

※ 「[C#][.NET] メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (パフォーマンスのテスト)」の続き。 CodeDOM による動的コード生成 これまで、Reflection.Emit、式木、Roslyn による動的コード生成を試してきた。これら…

November 2013 MVP Global Summit

※ 「November 2013 MVP Global Summit - 出発前」の続き。 Microsoft MVP Global Summit に参加してきた。9回めの参加。 C# の Microsoft MVP として、多くの技術セッションに参加することができた。 セッションを含めて英語漬けの毎日だったが、1人で他国の…

November 2013 MVP Global Summit - 出発前

Microsoft MVP Global Summit 明日から、Microsoft MVP Global Summit に参加予定。今年は二回目。 世界中から、招待された数千人の Microsoft MVP が集まり、米国ワシントン州のマイクロソフト本社及びその周辺で、製品チームのマイクロソフトの社員と共に…

メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (パフォーマンスのテスト)

※ 「[C#][.NET][Roslyn] メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (Roslyn 編)」の続き。 オブジェクトの文字列変換のメタプログラミング ここまで、8通りの文字列変換メソッドを見てきた。 メソッドの動的生成を行…

メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (Roslyn 編)

※ 「[C#][.NET][式木] メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (式木編)」の続き。 Roslyn によるメタプログラミング Roslyn によるメタプログラミングに関しては、以前、次にあげる記事で扱った。参考にしてほし…

メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (式木編)

※ 「[C#][.NET] メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (Reflection.Emit 編)」の続き。 式木によるメタプログラミング Reflection.Emit の次は、式木によって文字列生成を行う例を見ていこう。 題材は同じく 「[…

プログラミング C# (開発関連) - 目次

プログラミング C# (開発関連) - 目次 <h4><a href="http://blog.shos.info/common/csharp_expression_index.html" data-mce-href="http://blog.shos.info/common/csharp_expression_index.html">■[C#][ラムダ式][LINQ][Expression][式木] 関連記事一覧</a></h4> <h4></h4>

メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング (Reflection.Emit 編)

※ 「[C#][.NET] メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング」の続き。 Reflection.Emit によるメタプログラミング それでは、Reflection.Emit を用いて文字列生成を行う例を見ていこう。 題材は 「[C#][.NET] メタプ…

メタプログラミング入門 - 目次

■ [C#][メタプログラミング][Reflection][Expression][式木][Roslyn][dynamic] 関連記事一覧

メタプログラミング入門 - 応用編 - オブジェクトの文字列変換のメタプログラミング

※ 「[C#][.NET] メタプログラミング入門 - 応用編 - オブジェクトの文字列変換を静的/動的に行う」の続き。 前回は、メタプログラミングによらない静的な方法とリフレクションによる動的な方法で、オブジェクトを文字列に変換した。 今回から、メタプログラ…

メタプログラミング入門 - 応用編 - オブジェクトの文字列変換を静的/動的に行う

※ 「[C#][.NET] メタプログラミング入門 - メソッド呼び出しのパフォーマンスの比較」の続き。 前回は、コード生成を行ってメソッド呼び出しを行う3通りの方法と静的なメソッド呼び出しや動的なメソッド呼び出しのパフォーマンスを比較した。 今回から、少し…

メタプログラミング入門 - メソッド呼び出しのパフォーマンスの比較

※ 「[C#][.NET] メタプログラミング入門 - Add メソッドのパフォーマンスの比較」の続き。 C# によるメタプログラミングでのパフォーマンスの比較 前回は、C# によるメタプログラミングで Add メソッドを動的生成した場合の実行速度を測定した。 今回も同様…

メタプログラミング入門 - Add メソッドのパフォーマンスの比較

※ 「[C#][.NET] メタプログラミング入門 - Roslyn による Add メソッドの動的生成」の続き。 C# によるメタプログラミングでのパフォーマンスの比較 前回まで、C# によるメタプログラミングで Add メソッドを動的生成するプログラムを作成してきた。 [C#][.N…

メタプログラミング入門 - Roslyn による Add メソッドの動的生成

※ 「[C#][.NET] メタプログラミング入門 - 式木による Add メソッドの動的生成」の続き。 Roslyn によるメタプログラミング 前回は、式木を用いて Add メソッドを動的生成するプログラムを作成した。 今回は、Roslyn によるメソッドの動的生成だ。 Roslyn は…

メタプログラミング入門 - 式木による Add メソッドの動的生成

※ 「[C#][.NET] メタプログラミング入門 - Reflection.Emit による Add メソッドの動的生成」の続き。 式木によるメタプログラミング 前回は、Reflection.Emit を用いて Add メソッドを動的生成するプログラムを作成した。 今回は、式木によるメソッドの動的…

メタプログラミング入門 - Reflection.Emit による Add メソッドの動的生成

※ 「[C#][.NET] メタプログラミング入門 - はじめに」の続き。 Reflection.Emit によるメタプログラミング 前回は、C#/.NET でメタプログラミングを行う方法について述べた。 これから数回に渡って、それぞれの方法について紹介していきたい。 今回は、Refle…

メタプログラミング入門 - はじめに

数回に渡って、C#/.NET によるメタプログラミングを紹介して行きたい。 先ずは概要から。 ■ メタプログラミング ・メタとは メタ (meta) は、「高次な-」「超-」等の意味の接頭語で、ギリシャ語から来ている。 プログラミングでは、メタプログラミングの他…

CP/M80 シミュレーターで懐かしの BDS-C を動かしてみた

先日、自宅の本棚を見ていたら、ちょっと古めのIT関連本が有ったので、写真を撮って SNS にアップしてみたところ、IT系の知人が結構懐かしがった。 「ちょっと古めのIT本」 Z80 や MC6809 のアセンブリ言語の話題から、BDS-C の話題になった。 私も色々思い…

.NET アプリケーション (WPF/Windows フォーム) で多重起動を禁止し、単一のプロセスで動作させる

■ 概要 .NET アプリケーション (WPF/Windows フォーム) で多重起動を禁止し、単一のプロセスで動作するようにする方法を C# で示す。 ■ 解説 WPF アプリケーションや Windows フォーム アプリケーションにおいて、多重起動を禁止してみよう。 ここでは、既に…

文字が数字かどうかを判定する (char.IsNumber メソッドでローマ数字や漢数字は数字と看做される?)

文字が数字かどうかを判定する場合、System.Char.IsNumber メソッドを使うことができる。 では、ローマ数字などは数字と判定されるのだろうか? char.IsNumber の場合 今回調べた結果、次のようなテストが通ることが分かった。 using Microsoft.VisualStudio.…