サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
takeshik.org
最初は小さいコードでも、日々進捗を重ねることで大きなものとなる。そしてある日、積み上がった成果の大きさに気付き、達成感に思わず笑顔になってしまうものですね。 成果が積み重なるのは喜ばしいことですが、同時に複雑さも折り重なり、問題も山積、問題に気付けないことにも同時に気付く、そういう未来も同じくらい存在します。長期的に育ってゆくコードベースの健康を維持したり、問題の芽を摘むための方策のひとつとして、静的解析が挙げられます。 .NET 環境向けにも様々なツールが存在するわけですが、今回、その中のひとつである NDepend のライセンスを開発元より頂戴しまして、実際に使ってみる機会を得ました。(ありがとうございます!) 日頃この手の解析ツールをしっかりと使ってきた方ではないのですが、せっかくの機会ですし、自分なりに遊んでみて、長短織り交ぜてレビューしてみようと思います。 NDepend 事始め
まどすた #1 で LINQPad をネタに LT をさせて頂きました。 本稿の投稿日時が実際のものと盛大に食い違っているわけですが、既にスライド中に URI が仮置きされていて、今更変えるのも…というのが要因です。すっかり遅くなってしまいましたが、まあ、書かないよりは…という奴です。 発表資料 スライドのデザインも、標準のものを少し手直しして、アクセント カラーを LINQPad のアイコンから拝借した濃紅っぽい色と白色の組み合わせにし、従って背景もダーク カラーに変更するなど、それなりに手を入れています。 …というのもすべて、7 ページ目のネタを作るための下ごしらえな訳でして、実際のところ、他の要素は全てオマケなのかもしれません。とはいえ、オマケにしては結構前提とするコードの量も多いので、このように総括っぽい記事を書いている次第です (遅刻してますが)。 以下は、LT 中のデモに相当す
Rx、というかリアクティブ プログラミングは時間に密接に関連した概念です。したがって、その挙動を再現可能な形で確認したり、あるいは可視化することは少なくとも簡単なことではないといえます。 Rx においては時間軸と実行処理の抽象化のためにスケジューラと呼ばれる概念が用意されており、これを選択したり、あるいは独自に実装することで Rx の処理に介入することができます。つまり、これを実装すればオペレータの挙動が綺麗に出力できるかも?…と思ったら、既にそういう用途に使えそうなものがありました。 Materialize だけでは不足ある IObservable<T> で発生する要素 (OnNext, OnError, OnCompleted) は、Observable.Materialize メソッドを用いることで解析に適した Notification<T> オブジェクトに変換でき、OnNext を
LINQPad は .NET コードのお手軽な実行環境、そして良質なデータ ビジュアライザとして全ての .NET ユーザの必携ツールといっても過言ではないといえるのではないでしょうか。入力補完などの一部の便利な機能は有料ではありますが、実際のところ、購入する価値は十分にあると思います。 それはさておき、LINQPad はどんなオブジェクトも .Dump() すれば見やすく表示してくれるというのが最高に魅力的です。これだけでも LINQPad は十分に便利で使う価値があります。ですが、LINQPad の便利さはそれに留まるものではありません。 …ということ等々を以前書いたりもしましたが、文章ばかりの記事でして面白みにも少し欠けていました。先の記事は割と総論的な内容だったので、趣向を変えて、面白く膨らませそうな LINQPad の便利な使い方について、折にふれて書いていこうと思います。 さて、
Git などのバージョン管理システムを用いるにあたり重要な機能はマージであり、避けられないのはコンフリクトです。私は rebase 教徒なのでマージではないかもしれませんが…いずれにせよ、コンフリクトからは逃れられない。こればかりは仕方ありません。 Windows においてグラフィカルにコンフリクトを解決するためのツールは数多く…と言いたいところですが、決して多くありません。どれが使いやすいかというと、うーん…一長一短ということにしておきたい感じです (私見)。そんな中、Visual Studio をマージ ツールとして使うことができ、触り心地も悪くない感じです。Windows 環境のマージ ツールでお悩みの方は、一度試してみては如何でしょうか。 Visual Studio as a (Diff / Merge) Toolとりあえず、百聞は一見に如かずということで、どんな具合に表示されるか
この記事は Visual Studio / Visual Studio Code Advent Calendar 2015 の 18 日目です。 Visual Studio の醍醐味のひとつといえばカスタマイズ、そしてその一角を占めるのが拡張 (extension) の導入ですよね。Visual Studio Community の登場により、拡張がサポートされていない Express Edition に遠慮する必要性が相当減ったのは 2015 年の大きな変化といえるのではないでしょうか。 そこで本稿では、私が個人的におすすめしたい「入れてすぐ納得できる」拡張をいくつか紹介したいと思います。(全部知ってたらごめんなさい!) C# outlineこの拡張、私が事あるごとにその素晴らしさを熱く語ってる気もするのですが、本当に素晴らしいので取り上げます。 C# outline 2015 はその名
長らく bool でなく Boolean、string ではなく String、そして int ではなく Int32 と書いてきた (いわゆる) CLR 型名派の私。 世間の声にもめげず、自分を曲げずにここまでやってきました。Visual Studio や ReSharper のコード スタイル設定での公認機能拡充等々で遂に我々 (?) の時代が来た!と思っていた…のですが… C#, 謎の挙動ある日の夜、まあ、こういうコード書いてたわけです。
数ヶ月?くらい前に耳にして招待の待ち行列に並んだ記憶は残ってたのだけど、すっかり忘れてた Keybase.io というサービスがあるのですが、突然招待が届いたので、一通り登録して使ってみました。 1 年以上前からあるサービスみたいなので、少し乗り遅れた感はあるのですが、折角このタイミングで使えるようになったんだから仕方ない。 (改めて) 免責: 本稿における内容は全て著者の理解に基づくもので、内容の正確性は一切保証されません。以下の内容を参考にした行動について、著者は一切の責任を負いかねます。 Keybase.io はいわゆる公開鍵基盤と呼ばれる類のもので、個人がアップロードした PGP 公開鍵と様々なソーシャル アカウントを確実な形で紐付けることで、鍵を保持する個人の証明を行うことができるサービスのようです。 基本的な仕組みとしては全く真新しいものでもない (というか、もっと原始的で確実
プログラマが日々コードを書くなかでも、そこには山があり、谷があり…そして、光があり、闇があります。プログラマは、いつも同じような無味乾燥なコードを書いているわけではないはずです。 周りの人に感動を与える芸術的な光のコードを書くときもあれば、目を背けざるを得ない、絶望を振りまく闇のコードを書かざるを得ないときもある。そして、そんな深い絶望を超絶技巧でねじ伏せる魔術的なコードは、両方の要素を具えているといえます。 プログラミングとは、そう、光と闇との大いなる戦い…今回提唱するエレメンタル プログラミングで、皆さんもこの大いなる戦いに身を投じましょう。 (注: 本稿は有用と思われる内容も含んでいますが、本質的にはネタ記事です) コードの光と闇を示す古典的手法一般に、コードに直接現れない意図を示す手段としては、名前などでそれを示すことを別にすれば、コメントが挙げられるでしょう。
先日 Unity 5.0.0b19 がリリースされ、iOS で IL2CPP をバックエンドにしたビルドが行えるようになりました。もちろんすぐに試してみたいところではありますが、出たばかりなので当然動かない可能性も高いし、従来のビルドと比較できるようにもしてみたい。IL2CPP 有効 / 無効の両方でビルドを自動化したい…となるわけです。 例によって一筋縄ではいかなかったので、やり方について簡単にまとめました。 どうすれば IL2CPP を使ってくれるのか色々と探してみて BuildOptions.Il2CPP というのがあるのを見つけられはするのですが、これを OR してビルドしても、確かに IL2CPP はロードされ、IL2CPP 使用を表すコンパイル時定数の追加もなされてはいるのですが、肝心の出力は全く変化しません。あともうひと押しが必要らしいのです。 結論から言ってしまうと、
この記事は C# Advent Calendar 2014 の 6 日目の記事です。LINQPad の基礎的な機能について解説します。 LINQPad をご存知の方はもしかしたら多いのかもしれず、あるいは少ないのかもしれませんが、このツール、LINQPad という名前ではありますが LINQ とはあまり関係ありません。名前で結構損をしてるのではないかと常々思ってしまうので、ちょっと残念な感じではあります。 もちろん LINQ のお勉強にも便利なのは間違いないのですが、お手軽な C# / F# / VB コードの実行環境として、また、.NET オブジェクトを見やすく出力することのできるツールとして、十分に便利なツールです。Visual Studio の C# Interactive もしばらく出てこなさそうですし、ちょっとしたコード パッドとしてだけでも十分有用ではないかと思います。 ですが
転職のお知らせ: 全く隠してないのでもはや筒抜け感がありますが、数週間前から株式会社グラニで働いてます。 で、最近は Unity の闇と日々格闘する毎日を送っているわけなのですが、Unity のビルド プロセス、あるいは batch mode については最低限の情報は纏まっており、とりあえず適用してみるのは簡単かなという一方、それ以上の情報というのは少ない印象があります。で、問題にぶち当たったときに情報が枯渇 (全くゼロというわけでもない) しており絶望、というビルドできないプロセスが完成している状況です。 ということで、自分が苦しんだ Unity (のビルド周り) の闇とその解決策について書いてみようと思い立った次第です。(しばらく同趣旨の内容が続きそうな予感…!) ビルド ターゲットが変更されない件ビルドを自動化したい → batch mode でスクリプトを実行すればよい、ということ
近況 (※ここ数週間程度) について (夏休みのまとめ)。 退職しましたもはや旧聞に属する話ですが、一部界隈から何か書けと猛烈なプッシュを受けたので… 本日の業務連絡です pic.twitter.com/IZYO9ApuRc — たけしけー (@takeshik) August 1, 2014 昨年 3 月より働いてきた gloops を退職しました。1 年 3 ヶ月程度働いたことになるらしく、世間一般的には短いという扱いになるのかなとも思いますが、個人的にはかなり長く思われたし、山あり谷あり、色々なことがありました (雑な総括だ…)。 退職の要因なんてものは、一度辞めようと心に決めた瞬間に、あらゆることが辞める理由に見えてしまう以上いちいち列挙出来るのかという感もありますが、敢えて挙げると (後で見返して自省の材料とする): 得るものが大変に大きかった仕事が一息ついた段階で、今後どのよう
これは Esolang Advent Calendar 2012 の 4 日目の記事 (えっ) らしいです。 .NET における Expression Trees の簡単な紹介と、言語処理系のインフラストラクチャとしての利用についての簡単な紹介です。 はじめに言語処理系を構築するにあたっては AST (抽象構文木) を定義し、構築し、解析し最終的な出力を得る、というのがひとつの定石であるのは、たぶん疑うところではないと思われます。 また、近頃はリッチな言語の上で言語を構築することにより、基盤言語のライブラリ資産をそのまま適用できるようにしてしまおう、という発想が割と幅を利かせているように思われます。JVM とか、CLI とか、あと最近の流行は JavaScript ですね。 今回話題にするのは CLI、即ち .NET を基盤にした言語における話となります。 Expression Trees
このページを最初にブックマークしてみませんか?
『TAKESHIK.ORG』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く