亀岡的プログラマ日記

京都のベッドタウン、亀岡よりだらだらとお送りいたします。

C#

MSの今回の発表で何が起こるのか、の私的感想

さて、まさかのMSの大鉈連発に、TL大騒ぎでございます。まさかOSS化まで入ってるとは僕も思ってなかった。MSクラスタですらもざわざわである。 んで、今回の決定が意味することをちょっと考察してみたいなーと。備忘録的にね。 あくまで 私的感想です。鵜呑…

TPLで楽々セミコロンレスC#

C#

さて、今日も酔ってます(前置き) TPLはセミコロンレスにうってつけ セミコロンレスC# を考えた時、難しくなるのはやはり戻り値がvoidのメソッドをどうセミコロンレス = 返り値をもたせるか、ということになります。 つまり、 voidな任意の関数をラップでき…

セミコロンレスC# を夢見て

C#

酔っ払ってます(前置き) セミコロンレス? Javaの世界では最早常識だそうです。 Semicolonless Java 2012 - プログラマーの脳みそ Semicolonless Java8 - プログラマーの脳みそ セミコロンレスJavaはJava8の夢を見るか? - bitter_foxの日記 セミコロンレ…

AppVeyorを使ってCI環境構築してみた

某艦これビューアで。 posaunehm/KanColleViewer .NET用のCIサービス、AppVeyor てなわけで、AppVeyorです。 元はといえば、このツイートでして。 @Grabacr07 @Posaune appveyor にしましょう。OSSなら無料— たなか@開幕勝利 (@tanaka_733) 2014, 4月 28 流…

ジェネリック[メソッド/クラス]を動的に呼び出す

C#

意外とやり方がわからないことだなー、と思ってメモしておきます。 やりたいのは、Type型を実行時に渡して、GenericメソッドやGenricクラスを呼び出す、といったものです。メタプロやってると欲しくなるんですよね。 Genericメソッドを呼び出す場合 まずはメ…

C++のライブラリを自動でC#にラップするライブラリ、Mono CppSharp

MonoプロジェクトのGithubをうろうろしてるとなんか面白そうなのを見つけました、ってので。 mono/CppSharp ってのを見つけました。こいつは、C++のDLLを自動でラップしてくれるコードを吐いてくれる、というライブラリです。C++ネイティブのライブラリをC#…

SonarとJenkinsを連携させる

さて、先日紹介したSonarですが、単体で使うぶんにはあんまり美味しくありません。手動でバッチ叩くなんてやってらんねーですよね。 てなわけで、Jenkins先生登場です。連携させましょう、そうしましょう。 できること できることは、、、まぁ解析を定期的に…

SonarQubeをWindows環境で使ってC#コードを解析する[追記しました]

C#

SonarQubeをWindows環境で使ってC#コードを解析する はじめに注意 ココらへんの事柄は一年も経てば色々変わったりするので、古い情報はあんまり真に受けないこと。 一応検証環境はWindows 8.1 Professional on VMWare Fusion 5だけれど、まぁWindows 7以降な…

VisualStudio 2012で単体テストの実行が遅い場合の対処法

Visual Studio 2012以降、単体テストがMSTestオンリーから、NUnitやらxUnit.netをVisual Studioで統合して管理できるようになりましたね。その役目を担っているのがTest Adapterです。NUnitだとNUnit Test Adapterを使えば、完全に統合されて凄くハッピーで…

DispatcherFrame徹底解説

C#

というほど「徹底」でもないのだけれど、コードプロジェクトに分かりやすい記事が上がっていたので訳してみた。前の二重メッセージループの中でもやっとしていたので。 メッセージループをアプリケーション内で複数作ってみる - 亀岡的プログラマ日記

CodeIQの問題の回答(Triany)をGithubにあげてみたよ。

C#

CodeIQの問題が楽しそうだったので解いてみた。のをGithubにアップしました。 posaunehm/Triany · GitHub 二分木を作りやすそうだなー、と思いつつもごくごく普通に単方向リストで実装。んで普通にTDDしてみました。なんというか、TDDをやっていると人間は過…

StringBuilderの使いどころ

さて、昨日の記事ですが、色々問題が有りまして。@posaune あ、なので、2番目のケースもC#では+演算子を使用すべき状況だとおもってます。(StringBuilderを使うと、String.Concatより遅い上に見づらい)。3番目もString.Concatの引数に突っ込んでしまえば…

StringとStringBuilderと、in C#

C#

@irofさんから「.NETでやれ」といわれたのだけれど。 文字列連結と+演算子について整理しておく - 日々常々 本気で、「まとめる」だけにしますよ。逆アセンブルめんどいし。 +演算子 を使用するべき状況 in C# というわけで定数は.NETでどうなのよ、といいま…

Undoを有効にしつつテキストボックスに文字列をセットする。

まぁ、まんまなのですが。ふつーにTextBoxに文字列をセットすると、Undo対象になってくれません(当たり前ですがね) textbox.Text = "ほげほげ"; でも、例えばユーザーの入力をフックして別のテキストボックスに値を放り込む、ということをしたい場合はUndo…

ListBoxの中身を逆順にする

割と小さめのネタですが。WPFのリストボックスはなんでもできる、というのはよく知られている話ですが、んじゃ下から上に並ぶListBoxでどんくらいのコードで出来るのかな?というのを書いてみました。残念ながら標準でListBoxの要素配置を行うItemsPanelはSt…

System.Drawing.BitmapをSystem.Windows.Media.BitmapSourceにWin32無しで変換する。

つまり、WindowsFormのBitmapをWPFから使う方法ですね。あんまり使う機会がないとおもいきや、私は結構システムリソースの中にBitmapを保存して管理したいなぁ、と思ってしまう人なので(構文チェック効きますし)、そんな時になんだかなぁと困っていたので…

忘年会駆動でフグ鍋の待ち時間にしゃべってきた。 #hogedriven

C#

忘年会駆動 2012 - connpass忘年会駆動されてきました。なんというか、あれだけいろんな人がいるのにみんな方向性違う発表ってどないやねん。そんななかでも少数派の.NET勢として、変態アドベントカレンダーネタからこんなスライド作ってしゃべりました。 Ja…

JavaをC#に変態させる。 #hentai_advent

この記事は変態アドベントカレンダー20日目の記事です。昨日はinatonさんの d:id:motefu:20121219 でした。・・・普通に役に立つんですが。今回の僕の記事どうしましょう。 変態アドベントカレンダー、楽しいですね。しかしながら、みなさん変態の意味を取り…

VisualStudioのTestRunnerがUpdate1で改善されていました。

テストエクスプローラのフィルタリングはUpdate1で改善されてるけど、Express版は改善されなかったのかな? / “JUnit実践入門 MSTest用パッチ #TddAdventJp - 亀岡的プログラマ日記” htn.to/EX8dct— ∧( 'Θ' )∧さん (@wkoichi) 12月 14, 2012 仰るとおりでし…

JUnit実践入門 MSTest用パッチ #TddAdventJp

『GUIテストについて書くといったな。あれは嘘だ』(C.V 玄田 哲章)というわけで、TDDアドベントカレンダー13日目です。タイトル通り、MSTestの話をします。昨日はTugu Katagiriさんの【TDD Advent Celndar 2012】12日目:虫退治もTDD!+オマケ話でした。…

C#とNVIパターン

C#

先日、怖いもの知らずにもEffective C#C++大阪に行ってきたのですよ。 Effective C++ 読書会 vol.2 大阪 - [PARTAKE] かなーり濃ゆいC++の話が聞けて満足でした。その中で色々気になる話をメモっていたのですが、そんななかでC++11にて、C++で暗黙実装される…

F# のPipe-forward 演算子(パイプライン演算子)って、C# の拡張メソッドの仕組みと似てるよねー、という雑惑。

C# F#

2012年5月29日追記:タイトルをtypoっていました。。。わりとF#面白がって使ってます。まだまだ入門書を必死で社協している最中ですが、楽しいですね、写経。 そんなこんなで、いろいろコード片らしきものは以下に書いています。 F#写経用リポジトリ@GitHub…

エクセルのバイナリフォーマットを解析してごにょごにょするライブラリ。

最近CodeProjectネタが多いな。。。まぁまじめに読んでるとかなり面白いですよ、CodeProject。 そんなわけで記事紹介です。 Generate Excel files without using Microsoft Excel - CodeProject 中身を見ると、真面目にバイナリフォーマットを解析してるっぽ…

.netのメモリモデルにについて

Code Projectの以下の記事がかなりわかりやすかったのでメモ。 Six important .NET concepts: Stack, heap, value types, reference types, boxing, and unboxing - CodeProject StackとHeap .NETの世界には2種類のメモリコンテナがあります。一つがStackで…

TDDで作るBrainFuck実行機 5(最終回):リファクタリングをしないとTDDとは言えんのですよ。

C#

なんとなくインデックス作っておきます。 TDDで作るBrainFuck実行機 TDDで作るbrainfuck処理系(予告編) - 亀岡的プログラマ(?)日和。 TDDでだらだら作るBrainFuckコンパイラ その1 - 亀岡的プログラマ(?)日和。 だらだらTDDなBrainFuckCompiler! そ…

だらTで作るBrainFuckな実行装置 その3

C#

考えてみたらコンパイラでもなんでもなくて、Executer:実行機などというべきですよね、フツー。そんなこんなで、多分BrainFuckの中では一番考えないといけない、開き括弧・閉じ括弧を行なって行きましょう。 まずはともあれテストです。ロジック的なことを…

だらだらTDDなBrainFuckCompiler! その2

C#

さてさて、今日は値のインクリメントあたりまで実装してみましょう。まずまず、テストコードですね。とりあえずは、Runした後に値がひとつインクリメントされるだけ、ってことで・・・まずはインクリメント。 [Test] public void 値インクリメントテスト() {…

TDDでだらだら作るBrainFuckコンパイラ その1

C#

というわけで、TDDの個人的練習として、BrainFuckの実行環境を作っていきましょう。とはいえ、いきなりコードを書くわけじゃあないです。最初にざっくりとしたインタフェースを固めておかないとどうしようも無いです。これはTDDの基本ですね! ざっくり仕様…

WritableBitmap記事まとめ

どうせなら、ということで初めてインデックス作っておきます。 WritableBitmapさっくり入門 WritableBitmapをちびちびさわってみる。その1。 - 亀岡的プログラマ(?)日和。 WritableBitMapをちびちびさわってみる。その2。 - 亀岡的プログラマ(?)日和…

WritableBitmap最終回(暫定) 見せてもらおうか、Nativeの性能とやらを。

WritableBitmapもつらつらやってきましたが、一応コレで最終回としたい感じです。 最後にNativeAccessをやってみましょう。クラスは3つほど作りますよ。 C#本体 C++/CLIのラッパー(子クラスのメソッドをコールするだけ) C++NativeのCalculator(処理はここ…