ブログ 2016/10/02 .NET Fringe Japan 2016で登壇してきました .NET Fringe Japan 2016やりました。 .NET Fringeっていう本家イベント(アメリカのポートランドで開催)があって、本家の人からそれの日本版をやりませんか?という話が来てそれに応じた形での開催だったりします。 アメリカのイベントって朝からがっつりやるんですよね。本家.NET Fringeは9時開始。日本でもたまにはがっつりやるかって感じで10時開始になりました。 まあ、逆に、アメリカのイベントは17時前に終わるんですが…10時~20時半はさすがにきつかったかなぁ。… 続きを読む 2016/09/09 ピックアップ Roslyn 9/9 タプルの分解の最適化 タプル構築と同時に分解(要するに多値代入というか)する場合は、タプルを作らない最適化かけたいって。 Optimize deconstruction of tuple literal to not construct a ValueTuple #13631 要するに、例えば以下みたいなswapコード書いたとして、 var x = 1; var y = 2; (x, y) = (y, x); 今だとこうなる。 var x = 1; var… 続きを読む 2016/09/06 ピックアップ Roslyn 9/6: defaultの型推論 なんか1個、気になったプルリクが。 Prototype: target typed "default" #13603 default(T)を、左辺から型が推論できる場合にはdefaultだけで書けるようにしようっていう作業。 ちょっと前に提案があって、前向きっぽい感じではあったんですけど、なんで今実作業やってんだろう。 今からC# 7リリース辺りまでは、C# 7に入る予定の機能のバグ修正・改善ばっかりになると思ってたんですけども。 これくらいの修正ならさっと… 続きを読む 2016/09/03 プログラミング言語における文字コードの話 世の中がほぼUnicode前提になってめでたしめでたし。とはいかなかった現実の話。 String型でできる文字列処理とか、ソースコード自体、特に識別子で使える文字とか。 軽くおさらい: Unicode まあいろんなところでいろんな人が書いてると思うのでさらっと概要だけ。 Unicodeは、元々、「65,536文字あれば十分だろ」とかいう幻想の元、2バイト固定長の文字コードとして作られていました。 もちろん足りなくて、ビット数を拡張。基本が2バイトのままでこの拡張した分を取り扱えるように… 続きを読む 2016/09/01 Unity 5.5でasync/await使えた話 Unity 5.5 ベータを入れてみたという話。 ブログ曰く、「Mono C# コンパイラー がMono4.4にアップグレードしました。」とのことなので、これ、C# 6使えるはずよね?と。 公式サポートはC# 4 リリースノートを見ると、「C# 4です」って書かれてるわけですが。 Mono 4.4のコンパイラーを使っててC# 6使えないとかお前は何を言っているんだ… まあ、標準ライブラリの方が .NET Framework 3.5相当のままなので、Taskクラスが使えない。 なので当… 続きを読む 新しい投稿へ 過去の投稿へ
2016/10/02 .NET Fringe Japan 2016で登壇してきました .NET Fringe Japan 2016やりました。 .NET Fringeっていう本家イベント(アメリカのポートランドで開催)があって、本家の人からそれの日本版をやりませんか?という話が来てそれに応じた形での開催だったりします。 アメリカのイベントって朝からがっつりやるんですよね。本家.NET Fringeは9時開始。日本でもたまにはがっつりやるかって感じで10時開始になりました。 まあ、逆に、アメリカのイベントは17時前に終わるんですが…10時~20時半はさすがにきつかったかなぁ。… 続きを読む
2016/09/09 ピックアップ Roslyn 9/9 タプルの分解の最適化 タプル構築と同時に分解(要するに多値代入というか)する場合は、タプルを作らない最適化かけたいって。 Optimize deconstruction of tuple literal to not construct a ValueTuple #13631 要するに、例えば以下みたいなswapコード書いたとして、 var x = 1; var y = 2; (x, y) = (y, x); 今だとこうなる。 var x = 1; var… 続きを読む
2016/09/06 ピックアップ Roslyn 9/6: defaultの型推論 なんか1個、気になったプルリクが。 Prototype: target typed "default" #13603 default(T)を、左辺から型が推論できる場合にはdefaultだけで書けるようにしようっていう作業。 ちょっと前に提案があって、前向きっぽい感じではあったんですけど、なんで今実作業やってんだろう。 今からC# 7リリース辺りまでは、C# 7に入る予定の機能のバグ修正・改善ばっかりになると思ってたんですけども。 これくらいの修正ならさっと… 続きを読む
2016/09/03 プログラミング言語における文字コードの話 世の中がほぼUnicode前提になってめでたしめでたし。とはいかなかった現実の話。 String型でできる文字列処理とか、ソースコード自体、特に識別子で使える文字とか。 軽くおさらい: Unicode まあいろんなところでいろんな人が書いてると思うのでさらっと概要だけ。 Unicodeは、元々、「65,536文字あれば十分だろ」とかいう幻想の元、2バイト固定長の文字コードとして作られていました。 もちろん足りなくて、ビット数を拡張。基本が2バイトのままでこの拡張した分を取り扱えるように… 続きを読む
2016/09/01 Unity 5.5でasync/await使えた話 Unity 5.5 ベータを入れてみたという話。 ブログ曰く、「Mono C# コンパイラー がMono4.4にアップグレードしました。」とのことなので、これ、C# 6使えるはずよね?と。 公式サポートはC# 4 リリースノートを見ると、「C# 4です」って書かれてるわけですが。 Mono 4.4のコンパイラーを使っててC# 6使えないとかお前は何を言っているんだ… まあ、標準ライブラリの方が .NET Framework 3.5相当のままなので、Taskクラスが使えない。 なので当… 続きを読む