アジョブジ星通信

進捗が出た頃に更新されるブログ。

C#

私、ValueTaskは限定的でって言ったよね!

C#

メリークリスマス! みなさんは、見てないアニメをネタにするなんてしてませんよね? 私は「俺を好きなのはお前だけかよ」しか見てません。さて、並行並列プログラミングを愛し、スレッドプールに日々感謝を捧げているみなさんは、 ValueTask を活用している…

いまさら使う TPL Dataflow

C#

みなさん、並列処理、書いてますか? つらい、つらいよね、わかるよ。ある部分は高速化のために並列で実行し、ある部分は整合性を取るために直列で実行し、入力ジョブのキューが膨大にならないように流量を調節しながらジョブを入力して……。こんなプログラム…

主人公の好感度問題 完結編

遡ること 2017 年 4 月、「主人公の好感度問題」と題された、あの一大プロジェクトが、今日完結する……。 「主人公の好感度問題」とは 生まれて初めて買ったエロゲ―こと、ワガママハイスペック(以下ワガハイ)をプレイしていたときのこと。このゲームは、共…

さぁ fixed を捨てて Unsafe だ

C#

早すぎる最適化が好きな人のための C# 7 の有効活用ガイドです。ある構造体をそのまま byte 配列に突っ込みたくなるとき、ありますよね?構造体ならメンバーに名前がついていて書きやすい、でも相手が byte 配列だから 1 バイトずつ手書きするしかないのか………

I/O待ちのためのTaskとバックグラウンド処理のためのTask

C#

ポエポエ~~I/O 完了待ちを行う OS 機能の抽象化としての Task とスレッドプールに積んだ処理の抽象化としての Task をごっちゃにしてて反省— 優勝したい (@azyobuzin) 2017年6月2日の一連のツイートのまとめでもしておこうかと。 I/O 待ちのための Task I/…

MySQL Connector/.NET の TreatTinyAsBoolean のバグと Dapper

C#

MySQL Connector/.NET、長いので MySql.Data と呼びます。 バグについて MySql.Data の接続文字列で使用できるオプションとして、「TreatTinyAsBoolean」または「Treat Tiny As Boolean」というものがあります。これはデフォルトで有効になっていて、このオ…

CoreFXで進化したLINQのお話

C#

昔々のお話 こんなライブラリを作った記憶があったのですが、最近 C# パフォーマンスヤクザ[要出典]になりかけている僕に、 IReadOnlyCollection<T> を使用することで、 リスト→LINQ→ToArray といった処理を効率化できるのではないだろうかと考えて、このライブ</t>…

System.Stringのコンストラクタを許すな

C#

String のコンストラクタ、ありえてはいけない存在だよな— ウィンドウズ青山 (@azyobuzin) 2016年8月2日ということは、コンストラクタを FCall にするとあり得ない型のインスタンスをお返しすることができるわけですね!!— ウィンドウズ青山 (@azyobuzin) 2…

ツイートの新構造対応のメモ

これです。 CoreTweet 0.6.3 で API の変更には対応したのでその使い方について説明を書いておこうと思います。 1. とりあえず tweet_mode=extended をつけておく 新構造のデータを受信するには tweet_mode=extended を指定する必要があります。 CoreTweet …

ツイートに含まれるURLを高速に抽出するライブラリ、つくりました

2016/03/13 お知らせ: このライブラリの内容を含めて twitter-text 完全互換のライブラリを作りました。こっちがメインになります。 お知らせ終わり。URI教の皆さんへ: Twitter が URL って言ってるからこっちに統一しました。許して。はい、タイトルの通り…

ASP.NET 5アプリをUpstartでデーモン化してnginxでリバースプロキシするお話

タイトルで内容が全部終わった。要するに「もう Hello, World だけして満足する時代は終わった。Linuxの本番環境に乗せるぞ」ということです。 dnu publish 合言葉は dnu publish --configuration Release --no-source --framework dnxcore50これで CoreCLR …

ICompileModule でメタプログラミングするやつ

あけましておめでとうございます。今週のお題「今年こそは」だそうですが、今年こそは強い人間になりたいですね。というのも最近どんどん挑戦することが嫌になってきて……。本題行きます。ASP.NET タグが指定してあることからわかるように、今回も DNX の話で…

非同期処理のデータ伝達を楽にする System.Threading.Tasks.Channels

C#

corefxlab Advent Calendar 12 日目です。頓挫しかしてねえ!!!今回は System.Threading.Tasks.Channels の紹介です。また無駄に詳しくやっていこうと思います。(というかこれ紹介でも解説でもなくリファレンスマニュアルってやつでは)実をいうと、これ…

System.Buffers.ManagedBufferPool を理解する

C#

corefxlab Advent Calendar 6日目です(大嘘)。昨日の記事の補足というか、こっちもちゃんと理解していないと無駄が多くなりそうということで書いておきます。 この記事の最終更新日は 2015/12/06 です。変化の多いリポジトリで、仕様も固まっていないこと…

無駄なく文字列生成! System.Text.Formatting の使い方と動作の流れ

C#

Advent Calendar の季節ですが、何にも参加していないので好き勝手書いていきたいと思います。さて、今回は .NET Core Lab プロジェクトで開発されている System.Text.Formatting について、主な使い方と、さらに深入りして使うには、ということで書いていき…

DNXでC#以外の言語をコンパイルしてみよう

目次 目次 DNXの可能性 よろしいならば実装(インプリメント)だ 完成品 IProjectCompiler を実装する IMetadataProjectReference を実装する 使ってみよう 終わり DNXの可能性 DNX で C# 以外の言語を使えるのかと思って調べていたところ、 F# を動作させる…

文化祭のためにつくったタイピングゲーム

文化祭お疲れ様でした。3年生なのでクラスの出し物もないので、初めて高校の文化祭をちゃんと回ってみました。今年は去年よりどこもクオリティが高かった印象です。我がコンピュータ部を除いて。今年はタイピングゲームを作りました。本当はタイピングしなが…

LINQPadのクエリと結果を一緒にGistにアップロードするツール

つくった。azyobuzin/lpgistHTML で出力する → Gist に上げる → bl.ocks.org で見れる → 最強

やはり ConfigureAwait のデフォルトはまちがっている。

C#

昨日の の TL について、 ConfigureAwait のデフォルトが true なのが気に入らないという話をブログにまとめておきます。まぁ所詮 C# 入門者の私の意見だし、いまさら仕様変更されることもないと思うので何言っても仕方ないんですけどね。

TwitterのOAuthバグを攻略

Twitter の API がクソであることは、数年前から既知の事実でしたが、まさか OAuth の仕様すら無視しているとは思ってもいませんでした。というのが 1 月あたりの話ですが、比較できるコードが書けたのでブログに書きます。

ILSpyのエンジンで逆コンパイルしよう

C#

高校三年生になりました。降参です。以上です。とかいう話をしましたが、あのあともはや完全に 1 から作りなおしに近い形で大幅アップデートしました(といってももう 1 週間以上前の話ですが)。あの記事で挙げたこれからの予定ですが、まさかの「アイコン…

SearchGalleryQueryService と NuGet.Services.Search.Client

https://api.nuget.org/v3/index.json に書いてはあるけど実態がよくわかっていなかった SearchGalleryQueryService についての話。以前の検索 API の話と同じくソースコードは NuGet.Services.Search にあります。で、 SearchQueryService と SearchGallery…

NuGet.Protocol の使い方

テスト終わりました。色んな意味で。というわけで NuGet v3 を触るシリーズ続き行きます。NuGet では新たに NuGet.Protocol というクライアントライブラリを開発しています。 Visual Studio 2015 の NuGet Package Manager もこれを使用しています。 API v2,…

NuGet パッケージ調査支援ツール NuGetCalc の web 版、できました

タイトル長い乙。というわけで「DockerでOWIN Self Hostアプリを動かす」のスクリーンショットに写っていた NuGetCalc の Web 版が(最小限の機能が)完成しました。ちゃんと Ubuntu の VPS 上で mono を使って動いております(Linux でビルドできるとは言っ…

DockerでOWIN Self Hostアプリを動かす

三連休です。 SHIROBAKO を見て過ごそうと思いつつ Linux と戦い続けた 1 日でした。というわけでその成果を書いておきます。 動かしたかったもの LightNode をメインのミドルウェアとして適当に書いたブツです。これを OwinHost で動かしたかったわけです。

dot42 - Xamarin じゃない C# for Android

明後日からテストです。今日から本気出す予定(現在 23 時)です。今日は面白そうなものを見つけてきたので紹介。 Use .NET Framework API The most common part of the .NET Framework API is supported. .NET Framework types compile to a minimum amount…

Roslyn の Workspaces で FileNotFoundException

C#

Microsoft.CodeAnalysis 1.0.0-beta1-20141031-01 でこうなったら Microsoft.Composition 1.0.27 をインストールしましょう。 Microsoft Composition (MEF 2)

Mono.Posix の Stdlib が Windows でも使えるわけ

C#

さっきクソみたいな乞食記事を投下してしまったので真面目なことを書きます。Mono には Unix 特有の機能をサポートするための Mono.Posix というライブラリがありますが、これの Mono.Unix.Native.Stdlib が結構 Windows でも動くのでその話を。まぁ malloc …

破壊的変更を多く含む CoreTweet 0.4.0 のご案内

利用者が増えてきた上に、簡単に個条書きするだけでは混乱を招きかねないアップデートになりそうなので、日本語で詳しく書いておきます。 新機能 レスポンスに Json プロパティを追加 #68 ErrorCode 列挙体を追加(後述) #71 各オブジェクトの ToString で …

CoreTweetでストリーミングを処理するためのRx入門

どうも、 CoreTweet の非同期・Rx・Windowsプラットフォーム担当のくせに今まで何も解説記事を書かないでいたことで有名な azyobuzin です。 CoreTweet の紹介 .NET で Twitter にアクセスするアレです。 Yet Another .NET Twitter Library GitHub - CoreTwe…