滅入るんるん

何か書きます

Bloggerのエディターの代わりにStackEditを使う

Bloggerのエディターはエンジニア的にはマークダウンが使えず非常に厳しいものがありますが、ちょっと調べてみたらStackEditというOSSなWebエディターがあり、Chromeの拡張機能まで用意されていたりそれのソースコードが公開されていたりと夢のありそうな品…

Blogger 独自ドメイン利用時https化が終わらない場合の解決策

※内容が正確かは保証しませんし、間違っていても責任は取りません(間違ってたら教えて)詳しい原因はわかりませんが、Bloggerで独自ドメイン利用時に数か月もhttps化が終わらずにhttpとのMixed Contentになる場合はドメインをGoogle Domainsに移管すればhttps…

csharplang: Disposable pattern

C#

csharplangのC# 8.0のマイルストーン、つまりC# 8.0で追加する予定の機能を眺めていたらDisposable patternが追加されてたのでそれの紹介; Proposal: Allow `using` statement to structurally match `IDisposable` Disposable patternと勝手に呼んでいます…

定数にUPPER_SNAKE_CASEを使うのは辞めようっていう話

JavaやKotlinのコーディング規則ではよくコンパイル時定数や実質的に定数として扱っているものをUPPER_SNAKE_CASEとする命名規則が取られていますが、UPPER_SNAKE_CASEは致命的に読みにくいので辞めようっていう話です。※JavaやKotlinに限った話ではないです…

【C#】Type.GetType(string)するときはアセンブリ情報がないほうが早い

C#

ここ最近作り始めたライブラリで需要があったのでType.GetType(string)のベンチマークを取ってみました。 ことの発端 Type型を一度stringにして保存し、あとで復元するという処理があったのですが、Type型には型情報をstring化するのに二つのプロパティがあ…

【C#】stackallocでstructをスタックに確保してパフォーマンスを上げよう戦略

略してstackalloc戦略です。前回の記事でin引数戦略(最終的にはref戦略な感じになりましたけど)を提示してみましたが、in引数戦略では使える幅が狭いです。なぜかというと、配列が使えないから。.NETでは配列はヒープに確保されるので、原理上、配列の値をロ…

【C#】Big Size Structが値コピーでつらいならin引数で値コピーしなければいいじゃない!! < それ本当?

C#で高速なプログラムにする際のお供な構造体ですが、構造体を使わないほうがいい場面・条件もあります。その一つに"サイズが16バイト未満であること"があります。この16バイトという数字の根拠は明確にはわかりませんが、構造体の特性上よく値コピーが発生…

BenchmarkDotNetを.NET Frameworkと.NET Coreで走らせる方法

C#でベンチマークを取る際に非常に楽に実施できるツールのBenchmarkDotNetで.NET Frameworkと.NET Core両方でベンチマークを取る方法がわかったのでメモ取っておきます。内容はBenchmarkDotNetのFAQに書いてあります。(ちゃんとFAQ読め案件)ベンチマーク対象…

.NET Standardで埋め込みリソースを読み込む方法

Xamarin.Formsを使う場合、共通リソースはPCLや.NET Standardで管理したいですよね。それを実現する一つの手段としてリソースを埋め込むという手法があります。脳死でネットを検索するとPCLでの場合は出てきますが、最近のトレンドは.NET Standardなので、そ…

【C#】Generic indexersが欲しい

C#

突然ですが、ふとこんなコードを T Get(string key) { ... } こんな風に T this[string key] { get { ... } } 書きたくなったことありませんか?私はあります。generic methodをgeneric indexerにできるだろうと、試してみるもコンパイルエラー。比較的優秀…