うならぼ

申し訳程度のアフィリエイトとか広告とか解析とかは/aboutを参照

C#

ISO-2022-JPとSJISとEUCJP(とUTF-8)をざっくり判別するアルゴリズム

C#

charsetの指定が適当なページがMobileSafariで文字化けするんで、XHR+FileReaderでエンコーディングを指定して読み込むブックマークレットを書いたんですが、自分で指定するのも面倒なので自動判定したいなと。当然既存のライブラリとかもあるんですが、どう…

Exifのサムネイルの縦横比を修正して、デジカメできちんと表示されるように

SDカードに過去の写真が結構入っている*1のですが、RAWで撮ってるので結構場所をとります。原本をPCに転送したらJPEGに置き換えたい。 と思って適当にJPEGに変換して入れてみると、個別に表示することはできても一覧でサムネイルが表示されない。 いろいろ探…

Mono.Cecilだけでアセンブリをマージ

C#

VisualStudio起動するのが面倒でLINQPadばかり使っています。小物ツールもLINQPadで書いてQueriesの中に放り込んでますし、MyExtensionsも1000行を超えています。分割したい。 こうなってくるとLINQPadからexeやdllを書き出したくなるわけです。実際のところ…

async/awaitで一時停止可能なメソッドを作ってみる

C#

サンプルは「呼び出すたびに開始と再開を繰り返すコルーチン的なもの」です。ボタンのイベントハンドラに割り当てると楽しいかもしれません。 前にも EnumerableEx.Create を作るためにawaitableなクラスを作りましたが、その時と比べると随分シンプルです。…

WPFでウィンドウの位置・サイズをOneWayバインドできない話

WindowのLeft/Top/Width/HeightにOneWayバインドしても反映されない話の原因と回避策を考えるの巻

クエリ式にないLINQのメソッドをクエリ式の中で呼び出すハック

C#

クエリ式にないFirstやSumといったメソッドをクエリ式の中で書けるように、改造Selectメソッドを作るお話。

EnumerableEx.Createでusingを使いたい話

C#

Interactive ExtensionsのEnumerableEx.Createでusingを使うと、後始末がされない件をなんとかする話。なんとかなった。

C#でMustacheを使う

C#

様々な言語で実装されているテンプレートエンジンMustacheのC#実装であるNustacheを試してみました、というお話。

WebBrowserを通してC#とJSでやり取りする

C#

C#からはHtmlDocument.InvokeScriptでグローバル関数を呼び出せる。evalも呼べる。 でもってWebBrowser.ObjectForScriptingにComVisible(true)なオブジェクトを設定しておくと、publicなメンバーがJSからアクセス可能になる。 How to: Implement Two-Way Com…