2016 年の総括 (あるいは近況報告)

気付くと 2016 年も終わりを迎えつつあるらしく、驚きを禁じ得ない今日この頃です。

ちゃっかりサイトを HTTPS 化してたり、記事の一番下に GitHub の当該ファイルに飛べるリンクを追加したりと、どうでもいい手入れを細々としてましたが、本題のほうは書けるようなネタも無いかな…という感じで程よく放置してました…が、特に死んでたというわけではなく、ぼちぼちとコードを書いたり書かなかったりしてました。

Read More

NDepend: LINQ for お手軽コード解析

最初は小さいコードでも、日々進捗を重ねることで大きなものとなる。そしてある日、積み上がった成果の大きさに気付き、達成感に思わず笑顔になってしまうものですね。

成果が積み重なるのは喜ばしいことですが、同時に複雑さも折り重なり、問題も山積、問題に気付けないことにも同時に気付く、そういう未来も同じくらい存在します。長期的に育ってゆくコードベースの健康を維持したり、問題の芽を摘むための方策のひとつとして、静的解析が挙げられます。

.NET 環境向けにも様々なツールが存在するわけですが、今回、その中のひとつである NDepend のライセンスを開発元より頂戴しまして、実際に使ってみる機会を得ました。(ありがとうございます!)

日頃この手の解析ツールをしっかりと使ってきた方ではないのですが、せっかくの機会ですし、自分なりに遊んでみて、長短織り交ぜてレビューしてみようと思います。

Read More

LT: Windows Spotlight + LINQPad で楽しい壁紙生活

まどすた #1 で LINQPad をネタに LT をさせて頂きました。

本稿の投稿日時が実際のものと盛大に食い違っているわけですが、既にスライド中に URI が仮置きされていて、今更変えるのも…というのが要因です。すっかり遅くなってしまいましたが、まあ、書かないよりは…という奴です。

Read More

Rx を可視化する ― LINQPad + Rx-Testing + α

Rx、というかリアクティブ プログラミングは時間に密接に関連した概念です。したがって、その挙動を再現可能な形で確認したり、あるいは可視化することは少なくとも簡単なことではないといえます。

Rx においては時間軸と実行処理の抽象化のためにスケジューラと呼ばれる概念が用意されており、これを選択したり、あるいは独自に実装することで Rx の処理に介入することができます。つまり、これを実装すればオペレータの挙動が綺麗に出力できるかも?…と思ったら、既にそういう用途に使えそうなものがありました。

Read More

ご報告

3 月末日をもちまして株式会社グラニを退職いたしました。

2014 年 8 月に入社して以来 Unity と格闘する日々を送りつつ、社内での自動ビルドおよび実機配布システムの構築・管理なども行い、おおよそ 1 年半の間、多くの学びを得ることができました。

一方で、今までの歩みも踏まえつつ、より自分の力を活かし、また、今後様々な経験を積む機会について熟慮した結果、今回の決断に至りました。

4 月 1 日より株式会社ライフベアのエンジニアとして働いております。

メイン フィールドは Unity から Xamarin へと移りますが、C# プログラマとして活動してゆくことは変わりありませんので、今後ともよろしくお願いいたします。

Interactive LINQPad: お手軽ポチポチ Rx

LINQPad は .NET コードのお手軽な実行環境、そして良質なデータ ビジュアライザとして全ての .NET ユーザの必携ツールといっても過言ではないといえるのではないでしょうか。入力補完などの一部の便利な機能は有料ではありますが、実際のところ、購入する価値は十分にあると思います。

それはさておき、LINQPad はどんなオブジェクトも .Dump() すれば見やすく表示してくれるというのが最高に魅力的です。これだけでも LINQPad は十分に便利で使う価値があります。ですが、LINQPad の便利さはそれに留まるものではありません。

…ということ等々を以前書いたりもしましたが、文章ばかりの記事でして面白みにも少し欠けていました。先の記事は割と総論的な内容だったので、趣向を変えて、面白く膨らませそうな LINQPad の便利な使い方について、折にふれて書いていこうと思います。

さて、LINQPad はその名の通り LINQ の学習に非常に有用ですが、Reactive Extensions (Rx) の学習でも活躍します。本稿では、更にひと手間加える事で、LINQPad 上で Rx を interactive に利用する方法を紹介します。

Read More

Unity の Debug.Log 着色かんたん化への道

イェーイ!printf デバッグ最高!!!

実際、お手軽なのは素晴らしいことですし、安定してる (最近はかなり改善されたとはいえ、Unity で VS のデバッガにアタッチしたりすると稀によく死にますし…) というのも重要なわけで、皆の頼れる味方、UnityEngine.Debug クラスのロギング系メソッドは最高に便利ですね。しかも、Rich Text 機能を用いることで、

1
<color=red>こんな</color>感じで<color=blue></color>とか<color=green>指定</color>できたり<b>超便利</b>

こんな感じでとか指定できたり超便利 です。最高ですね。ただ、ちょっとこれは書きづらい…なんとかしたい…

Read More

Visual Studio を diff / merge ツールとして使う

Git などのバージョン管理システムを用いるにあたり重要な機能はマージであり、避けられないのはコンフリクトです。私は rebase 教徒なのでマージではないかもしれませんが…いずれにせよ、コンフリクトからは逃れられない。こればかりは仕方ありません。

Windows においてグラフィカルにコンフリクトを解決するためのツールは数多く…と言いたいところですが、決して多くありません。どれが使いやすいかというと、うーん…一長一短ということにしておきたい感じです (私見)。そんな中、Visual Studio をマージ ツールとして使うことができ、触り心地も悪くない感じです。Windows 環境のマージ ツールでお悩みの方は、一度試してみては如何でしょうか。

Read More