亀岡的プログラマ日記

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

.NET

Friendlyの「功」と「罪」

この記事は、Friendly Advent Calendar 2014 - Qiitaの12/14日分の記事となります。 https://github.com/Codeer-Software/Friendly ここでは、僕なりのFriendlyの強力さと、その強力さ故の落とし穴について話しておこうと思います。割と妄想込みです。ハイ。…

「越境」するライブラリCodeer.Friendlyを紹介しに「越境」してきた話 #devlove #DevKan

これはDevLOVE Advent Calendar 2014 「越境」の11/16日分の記事です。 越境ネタ、ということで色々考えたのですが、題記のネタが今一番自分の中でホットになってますので、ちょいとこれでやってみます。 MVP Global Summitにいってきたよ! MVP Global Summ…

結局Microsoftの目的は何なのか、もうちょっと考えてみる

今朝の記事は予想外に色んな人に読んでもらえたみたいで、ありがたい限りです。一時間程度でラフにまとめたものなのでお恥ずかしい限りですが、みなさまの役に立ってたら幸甚です。いや、ほんとに。 んで、見たことないくらいたくさんついたブクマを眺めてい…

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

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

PDFBoxをビルドして.NET用のDLLを作る

IKVM病の発作です 諸事情が有り、ちょいと.NETでPDFをいじることになりました。 実は超絶大昔にこのBlogでも触っていたりするのですが、まぁiTextSharpがAGPL(!)だったりするので、ちょいとまぁ、業務には使いにくいのです。 御存知の通り、iTextSharpはJ…

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

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

SonarとJenkinsを連携させる

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

Microsoft MVP for Visual Studio ALM を受賞しました

この度、2013年10月よりMicrosoft MVP for Visual Studio ALMを受賞しました! いや、ほんとに自分でもびっくりしております。いやはや・・・ Visual Studio ALMって? 近しい人には何人かに言ったのですが、ほぼ全員に「ALMって何よ?」と聞かれました。そ…

StringBuilderの使いどころ

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

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

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

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

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

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 仰るとおりでし…

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

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

WCFの後方互換性についてあれこれ。

WCFの後方互換性についての以下の記事替わりと面白く、メモがてらまとめます。 WCF Backwards Compatibility and Versioning Strategies – Part 1 - CodeProject サービス側だけを変化させて、クライアントのサービス参照を変更しない場合に、どんなことが起…

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

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

もうちょっとDynamic Proxyの原理を理解しようとしてみる。あるいはMSDN探検隊。

MSDNはお友達♪ということで、もうちょっと昨日のDynamic Proxyの原理を理解しようとしてみます。 あ、これはチュートリアルとかじゃなくて、本当にわからないものをなんだかなぁと考えてるだけです。一緒にMSDNの森をフラフラしましょうぜ。まず一番のポイン…

C++CLIにおけるDisposeパターン

機能の記事ではC#でのDisposeパターンについて考察しました。そいでは現在僕がひぃひぃ言ってるC++CLIではどうなるのでしょうか。 以前の記事で書いたように、 つまりC#のDispose → C++CLIのデストラクタ C#のデストラクタ → C++CLIのファイナライザ という…

Disposeパターンにおけるオブジェクトのライフサイクルはこういうことかな??

さてさて、昨日ほっぽり出したDisposeパターンです。とはいえ機能紹介したMSDNのサンプルコードはFinalizerが入ってませんので、どうも例としてイマイチな気がします。というわけで非常にすっきりまとまっているid:okazukiさんのサンプルを引っ張ってきます…

私訳:Disposeパターンの実装コードのコメント

やっぱ昨日も書いたとおり、Diposeパターンが良く分からないので、とりあえずMSDNのサンプルコードにくっついてるコメントを訳してみる。ほとんど極私的メモだけど、いちおう公開しておく。。。 // リソースは最初に初期化されてコンストラクタに渡されるが…

Intellisenceの偉大さを知る木曜の夜

業務の都合でC++とC#をつなぐ必要性に駆られてちょろちょろと方法を模索しているのですが・・・ C++CLI in VS2010の絶望感がやばい。 ホントになんというか、なんでこんなものを世に出したレベル。 はい、ご存知のように、C++CLIではインテリセンスが効きま…

弱参照の続き

d:id:posaunehm:20110302:1299073801 の続きです。簡単な弱参照の動き検証プログラムをWinFormで作ってみました。まあつまり、どのタイミングで開放されるかを見ておきたいだけなのですが。 スクショはこんな感じ。 要は、ボタンを押すと以下の様なコードを…

Blendでd:DataContextを設定する方法。

Visual Studio 2010とBlend4では,データバインディングの設定がすごくやりやすくなりましたよね。(今更 例えばBlendだと,こんな感じで設定できて非常に良い感じです。これがないとプロパティ名を直打ちすることになっちゃいますからね。マジ鬼畜です。勘…

弱参照ってなんなのさ。

最近自分の情報収集圏内で、局所的にWeakEventパターンが話題になっていた。用途としてはMVVMをやるときのModel-ViewModel間のインタラクションのために、イベント付けまくるからリークが、みたいな流れで。 MVVMでメモリリークしちゃってました 原因と対策…

クロスドメインでWCF RESTを呼び出す方法。

WCF REST、便利ですねえ。 もちろんイントラ以外で使う場合はセキュリティとか考えないと行けないこと有ると思うんですが、開発用のツールをちょろっと作るのには非常に便利です。というわけで今日作ってたのが、動作ログを取るツール。 ・・・動作ログなん…

WCF RESTをIIS 7.5にホストしてみる。

WCF=REST情報が少なくて割と泣ける。便利なのになー。まあ、ともかくWCF RESTをIIS7.5にホストしたかったのだけれど、やりかたがイマイチ分かりにくかったので。整理の意味を込めて。一番参考になったのは、ここ。 Walkthrough on creating WCF 4.0 Service …

SnapToDevicePixelsとUseLayoutRoundingの違い

WPF4でUseLayoutRoudningプロパティが追加されました。 こいつはWPFのサブピクセル描画に起因する画像のボヤケを取り除くための物になっています。ところが,WPF3までにはSnapToDevicePixelsがありました。こいつも機能的にはほぼ同一だったはず。。。一体違…

コミケロムデータからPDFを作るツールを作成していました。

C78に一般参加していました。死ぬほど疲れた。んで、コミケのロム版を今回は購入して、専用ソフトから印刷した紙とiPad用アプリこみまぷ!を持っていったのですが、これらだけだと開場待ち待機中にサークル一覧みて最終チェックを行うのができないなーと思い…

BeginInvokeとEndInvoke

今更ながらCodeProjectからおしえられるとゆー。 The methods BeginInvoke and EndInvoke will do all the work for you. BeginInvoke will process your asychronous call in a new thread. EndInvoke will return you the result from that thread. If the…

WCF RESTでPOSTとかUPDATEするにはRequestHeaderを指定しないとダメ。

とりあえずメモの殴り書き。WCF RESTサービスを作ってみました。 10 行でズバリ !! REST サービスの作成 (C#): Visual Studio 2008 対応版 これのしたで紹介されているテンプレートを使うと,コードが必要ないという衝撃。それで,MSXMLを使ってアクセスしよ…

並列化は甘くないね。

今更ながら、Project Eulerでもやってみるべえか、と第一問目に手を出しました。 Problem 1 05 October 2001If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.Find the …

COM(by C#)からイベントを出す。COMのイベントを受け取る。

COM周りの理解が深くなるSilverlight開発。ナンカチガウ。 レガシーを移植するってのはそういう事だよね。 ともかく、C#で作るCOMからイベントを飛ばしてホストしているSilverlightでキャッチしたいなー、という話です。まずリソースとしては。 C# COMイベント通…

Managed Windows APIを使ってみた。

Managed Windows APIマイク入力がしたくて、ちょっと使ってみました。結論から言うと、マイク入力は取れそうにない・・・(それっぽいイベントがない) ドキュメントが少ないせいもあるんだろうけど、単純なラッパではなく使いやすくしようと頑張っている(…

.NET Memory Profilerが使いやすい。

.NET Memory Profiler - In-depth .NET Memory Profiling これこれ。 いままで、RedGate.NET memory profiler for leak detection and memory optimizationとかDevPartnerマイクロフォーカス製品 - 開発支援ツール - DevPartnerファミリー : マイクロフォー…

色々情報集約

.NET Framework 4 技術資料一覧 ">http://msdn.microsoft.com/ja-jp/netframework/ee959223.aspx .NET 4.0の技術資料。日本語が嬉しい。 資料ばかりが増えていってまともに追えていない罠。 AnonymousComparer - lambda compare selector for Linq Linq用の…

.NETリモーティングTips

.NET Remoting で異なるドメインにあるマシン間で通信するメモこれも仕事で使う予定なのでメモ。 まあ同一PC内だし、基本は大丈夫のはずか・・・

ILマージとWPF

複数の.NETアセンブリをくっつけるILマージ。WPF多言語対応の時に使うかもしれないのでメモ。でもWPFと相性悪いって話が今日のフィードにあったような・・・ [.NET] WPF は ILMerge できない (続): biac の それさえもおそらくは幸せな日々@niftyそうそう、…