この Visual Studio 拡張が熱い!

この記事は Visual Studio / Visual Studio Code Advent Calendar 2015 の 18 日目です。

Visual Studio の醍醐味のひとつといえばカスタマイズ、そしてその一角を占めるのが拡張 (extension) の導入ですよね。Visual Studio Community の登場により、拡張がサポートされていない Express Edition に遠慮する必要性が相当減ったのは 2015 年の大きな変化といえるのではないでしょうか。

そこで本稿では、私が個人的におすすめしたい「入れてすぐ納得できる」拡張をいくつか紹介したいと思います。(全部知ってたらごめんなさい!)

Read More

C# の定義済み型キーワード、そして… Int32 やめます

長らく bool でなく Booleanstring ではなく String、そして int ではなく Int32 と書いてきた (いわゆる) CLR 型名派の私。

世間の声にもめげず、自分を曲げずにここまでやってきました。Visual Studio や ReSharper のコード スタイル設定での公認機能拡充等々で遂に我々 (?) の時代が来た!と思っていた…のですが…

Read More

ReSharper の Postfix Templates は神機能

ReSharper 10 の RTM がリリースされました!色々と新機能や拡充された機能があるわけですが、今回紹介したいのはこれ! Postfix Templates です。

この機能、ReSharper 9 までは拡張 (extension) として提供されていたのですが、10 になって本体に統合されました。これを機に是非ひとつ試してみては如何でしょうか?

Read More

Keybase.io 使ってみた

数ヶ月?くらい前に耳にして招待の待ち行列に並んだ記憶は残ってたのだけど、すっかり忘れてた Keybase.io というサービスがあるのですが、突然招待が届いたので、一通り登録して使ってみました。

1 年以上前からあるサービスみたいなので、少し乗り遅れた感はあるのですが、折角このタイミングで使えるようになったんだから仕方ない。

Read More

Object 型のインスタンスを活用

例えば C# で lock 構文を用いるとき、

1
2
3
private static readonly _gate = new object();
// ...
lock (_gate) { /* do something... */ }

と、特別に用意した static readonlyObject 型のインスタンスを同期オブジェクトに用いるのがお約束となっています。何気なくスルーしてしまうこのイディオムですが、きちんと向き合ってみると意外と便利に活用できるみたいです。

本稿では、いわゆるシンボル型の実装を題材にして、Object 型のインスタンスの活用について記していきます。記事は C# コードを取り上げていますが、比較的言語中立な話なはず。

Read More

エレメンタル プログラミングのすゝめ

プログラマが日々コードを書くなかでも、そこには山があり、谷があり…そして、光があり、闇があります。プログラマは、いつも同じような無味乾燥なコードを書いているわけではないはずです。

周りの人に感動を与える芸術的な光のコードを書くときもあれば、目を背けざるを得ない、絶望を振りまく闇のコードを書かざるを得ないときもある。そして、そんな深い絶望を超絶技巧でねじ伏せる魔術的なコードは、両方の要素を具えているといえます。

プログラミングとは、そう、光と闇との大いなる戦い…今回提唱するエレメンタル プログラミングで、皆さんもこの大いなる戦いに身を投じましょう。

(注: 本稿は有用と思われる内容も含んでいますが、本質的にはネタ記事です)

Read More

Unity5β で IL2CPP をコードから有効化する

先日 Unity 5.0.0b19 がリリースされ、iOS で IL2CPP をバックエンドにしたビルドが行えるようになりました。もちろんすぐに試してみたいところではありますが、出たばかりなので当然動かない可能性も高いし、従来のビルドと比較できるようにもしてみたい。IL2CPP 有効 / 無効の両方でビルドを自動化したい…となるわけです。

例によって一筋縄ではいかなかったので、やり方について簡単にまとめました。

Read More