サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
azyobuzin.hatenablog.com
メリークリスマス! みなさんは、見てないアニメをネタにするなんてしてませんよね? 私は「俺を好きなのはお前だけかよ」しか見てません。 さて、並行並列プログラミングを愛し、スレッドプールに日々感謝を捧げているみなさんは、 ValueTask を活用しているでしょうか? 私は .NET Core 2.1 以降の ValueTask が大嫌いです。この嫌いという気持ちを、歴史を紐解きながら解説していきたいと思います。 ValueTask<TResult> の登場 最初の ValueTask である、 ValueTask<TResult> の登場は、 C# 7 と同時でした。 C# 7 では、 async/await が拡張され、ユーザーが新たに Task のような何か(DSL のために Task を拡張したり、コルーチンの仕組みを作ったり……)を定義できるようになりました。詳しくは、 ++C++
みんな大好き「やってみた」、今回は Pleroma サーバー構築をやってみました! 以前 Kubernetes で隔離 Mastodon 環境を作ったりして、 ActivityPub のデバッグ環境を整えたりしていましたが、 ActivityPub をしゃべるサーバーを自作するという夢に挑む時間とやる気は残っていないということで、 Pleroma で妥協しようということにしました。みんな大好きやってみたはいくらでもやってる人がいると思うので、ドキュメントにあんまり書いてないようなことを重点的に書いていきます。 お品書き Docker を使って構築する SSRF 対策をする フロントエンドを改造する reCAPTCHA を導入する Docker を使って構築する とりあえず起動できるところまで While we don’t provide docker files とか書いてありますが、 v
はじめに 前回、 k3s の紹介をしましたが、もともと Kubernetes に興味を持ったのは Docker のネットワークが、簡単だけれど細かい設定ができないという問題を抱えていたからです。細かく設定したネットワーク環境を使って何がやりたかったかというと、 Mastodon をはじめとする、 ActivityPub サーバーを隔離環境で動かし、他人のサーバーに迷惑をかけずに通信を眺めたかったのです。さらに、それを使って ActivityPub サーバーを自作するところまで行きたいのですが、正直もう体力と時間がないので、他に作っている方の動向だけ眺めていることにします……。 というわけで、要件はこんな感じです。 Mastodon サーバーを 2 つ立ち上げ、相互に通信できるようにする 実環境に近くするため HTTPS で通信する サーバー名として「mastodon1.fediverse.
コンテナに対するあらゆる需要に応えるソリューションこと Kubernetes が流行りですね(雑なはじめかた)。僕も何度かこのビッグウェーブに乗ろうとしましたが、新しい概念の多さと、ズボラ運用には厳しいメモリ使用量で断念してきました。動かしたい環境というのが、メモリ 1GB の VPS だったり、メモリ 1GB の ARM シングルボードコンピュータなわけで……。 そんなところに颯爽と登場したのが k3s です。公式の謳い文句から解説しているページは「k3s kubernetes」で検索すれば無限に出てくると思うので、そちらにおまかせして、じゃあ実際どうやってあの馬鹿でかい Kubernetes をコンパクトにパッケージングしたのかについて見ていきたいと思います。 シングルバイナリ?ホンマか? シングルバイナリと聞くと、ぱっと思いつくのは BusyBox のように、すべてのプログラムをまと
遡ること 2017 年 4 月、「主人公の好感度問題」と題された、あの一大プロジェクトが、今日完結する……。 「主人公の好感度問題」とは 生まれて初めて買ったエロゲ―こと、ワガママハイスペック(以下ワガハイ)をプレイしていたときのこと。このゲームは、共通ルートでの選択肢の選び方によって、各キャラの好感度パラメータが変化していき、最終的に好感度の高いキャラと恋人になって、あとは一本道のストーリーを見るだけの、ほぼほぼ完全に紙芝居なのですが、その選択肢の選び方について、多くのパターンが未尋ルートに向かうように感じられました。そこで、選択肢の選び方全パターンを実際に試してみて、本当に未尋ばかりなのか、つまり未尋はちょろいのかについて検証してみようというプロジェクトが始動しました。 TL;DR 選択肢の積み重ねでエンディングが分岐するタイプのゲームにおいて各エンディングの出現率を調べるために、Do
早すぎる最適化が好きな人のための C# 7 の有効活用ガイドです。 ある構造体をそのまま byte 配列に突っ込みたくなるとき、ありますよね?構造体ならメンバーに名前がついていて書きやすい、でも相手が byte 配列だから 1 バイトずつ手書きするしかないのか……?そんなときにおすすめの技を紹介します。 達成目標 例を用意しましょう。 X Window System のプロトコルは C 言語などでクライアントを実装しやすいように、適度にアライメントされたデータをやりとりします。しかもエンディアンもクライアント側が指定することができるので、クライアントはまさに構造体を直接送受信することができます。そこで、クライアントが X サーバに接続して、最初に送信するメッセージを構造体を使って中身を用意し、 byte 配列に書き込むことを目標にしていきましょう。 (この目標設定は、ちょうど X クライア
昔々のお話 こんなライブラリを作った記憶があったのですが、最近 C# パフォーマンスヤクザ[要出典]になりかけている僕に、 IReadOnlyCollection<T> を使用することで、 リスト→LINQ→ToArray といった処理を効率化できるのではないだろうかと考えて、このライブラリをちゃんと書き直すぞ!と考えていた矢先、 CoreFX の System.Linq.Enumerable が進化していることに気づいたのでまとめておきます。 なお、ここで紹介する内容は、 .NET Core 1.0 に含まれており、 .NET Core App で使うことができます。 .NET Standard 1.6 以上である必要があるので、 .NET Framework のほうで使えるようになるのは 4.6.3 になると思います。先が長い。 追記: .NET Framework 4.7.1 では
どうも、 CoreTweet の非同期・Rx・Windowsプラットフォーム担当のくせに今まで何も解説記事を書かないでいたことで有名な azyobuzin です。 CoreTweet の紹介 .NET で Twitter にアクセスするアレです。 Yet Another .NET Twitter Library GitHub - CoreTweet/CoreTweet: Yet Another .NET Twitter Library 作者直々のステマ http://qiita.com/lambdalice/items/55b1a3d8403ecc603b47 ついでにいうと彼が「LinqToTwitter はストリーミングのパース出来ないからアレ」って言ってるらしいですが、そのパースするライブラリの作者僕です。最近最新の LinqToTwitter に対応させました。 追記: LinqT
@azyobuzin LiTについてなるべく詳しくブログに書いてくれないか、頼む、読みたい 2014-03-23 21:34:43 via twicca to @azyobuzin という電波を Gif から受信したので頑張って思い出す。短期記憶が危ういのが危うくて危うい。あともう体力がない。 1日目 なるほど田舎な流山に降り立って集合場所へ。わりと盛り上がってたので、まぁ結構な人たちがキャンプなりスクールなりに行ってるんだろうと予想。 程なくして組発表。 iOS 勢に囲まれて死ぬ。 水道局に着いて、セッティングとか自己紹介とか。そのあと説明のときにジャック・アンドレイカ氏の TED のアレを見せられて、中高生にもイノベーションが起こせる的なことを言ってたけど、正直イノベーションに年齢が関係あると思うほうがおかしい。 市長の話は「緑!」「子育て!」って感じだった。都心住まいの人たちを呼び込
ご覧ください!これが、「C# で Android アプリが作れる!しかも無料!!」の死に様です!!! 現実を見よう 試しに google:Xamarin 無料 とググってみましょう。 Starter プランでは容量制限があるものの無料でアプリが作れるという記事が多数出てきます。しかし、どれくらいのことをしたら終わりなのか、という話がまったくありません。 で、 Google Play Services を使ったアプリを作ろうと思ったら User code size, 1087488 bytes, is larger than 65536 and requires Indie(or higher) License.ですよ。要するにちょっとライブラリを突っ込んだだけでアウトです。 Support Library v4 だってダメです。 まとめ Hello, world 専用プランです。まともな開
あけましておめでとうございます。いや、めでたくないです。課題がまったく終わっていません。 今回は上の動画を見ればわかるように、 Wikipedia のスマートフォン版の脚注のように押すとひゅいっと(あっ…)出てくるやつをつくったので置いておきます。 設置方法 以下のコードを記事下のやつに貼り付けて、「スマートフォン版にも表示する」にチェックを入れて保存すれば終わりです。 挙動と仕組み スマートフォン版(つまり entry-list 下)の a タグで href 属性が「#f」から始まり、さらに name 属性が「fn」から始まるものを拾ってきて click イベントを乗っ取ります。あとは HTML を入れ替えているだけです。またスクロール時に勝手に消えるようになっています。 注意 onload イベントを拾ってからコードが実行されるので、読み込みが完全に終わるまでは通常の動作になってしまい
DMで写真や動画の共有が可能に ダイレクトメッセージ(DM)はこれまでテキストのみの利用でしたが、画像の送受信もできるようにしました。さらにナビゲーションバーに新たにDM用のメッセージアイコンを設置、Twitterアプリ上でどのページにいても、タップひとつでDMにも簡単にアクセスできます。また、ウェブのTwitter.comをご利用時には、DMに添付された写真も開いた状態で表示されます。 Twitter Japan Blog | Twitter Blogs API も公開せずに機能追加だと!?もう Twitter はダメだと思う。 アップロードする方法 Twitter for Android, iOS から送信できます。今のところ web からはできなさそう。 Entities "entities": { "hashtags": [], "symbols": [], "urls": [ {
img.azyobuzi.net の開発が予想以上に遅れてます、 azyobuzin です。本当は、 img.azyobuzi.net の新バージョンを完成させてから書こうと思っていた記事ですが、諦めて書いてしまいます。 さて、今日は個人的に今まで間違った(?)使い方をしていた MySQL-Python(以下 MySQLdb)のお話をしようと思います。 前提事項 Python 2.7 MySQLdb 1.2.4(?) ここに書いたコードたちは未テストです。感覚だけで書いたので、臨機応変にお願いします。 今までの書き方 昔の img.azyobuzi.net や TbrFeed のソースコードを見ればわかると思いますが、こんな書き方をしていました。 import MySQLdb #接続 db = MySQLdb.connect(user="hoge", passwd="bar", db="b
知ってる人は知ってるであろうどうでもいい Tips です。 こんな風に大量のフォルダに写真が詰まってる、しかもサブフォルダがいっぱいあるときに、全部の写真を見比べたいというとき、僕はこうします。 このように、右上の検索バーに「*」と入力することで、何重にもなったフォルダの中身もすべて表示することができます。 これが学校での大量の写真の整理に役に立ちました。もちろん、「*.jpg」とすることで JPEG ファイルだけを表示させることもできます。 「検索バーでワイルドカードは使えへんやろ~」とか思ってた僕が馬鹿でした。 書こうと思った理由:(追記あり)Windowsエクスプローラからコマンドプロンプトを一瞬にして開く方法 : ライフハッカー[日本版]
C# Advent Calendar 6 日目です。ここまですごくハイクオリティだったのに空気壊すようでごめんなさい。 さて、書くネタがもうn番煎じかわからないくらいたぶん既出です。というわけで VB のライブラリにある StrConv を実装してみました。 なんでこんなことを 全角・半角変換をするためだけに Microsoft.VisualBasic に参照を通すのにうんざりしていたので、いい機会なのでやってみました。 まずはコードの全貌を 使い方 MapStringExWrapper.MapString("テスト", MapStringExWrapper.MapFlag.HalfWidth); // "テスト" 解説など StrConv では LCMapString とかいう WinAPI を使っているようです。 API 大嫌いな僕には辛いですね。 MSDN によると Vista 以降
Visual Studio 2012 Express for Desktop を入れてみたけど動かなかった。。RCのときから対象外だったから怪しかったけどこう現実になってしまうとつらい。。 ここまでの流れを振り返ります。 特に警告も出されずインストール開始 なんか不安なメッセージが インストール完了 再起動していざ! 誰か Windows7 or 8 を奢ってください。
1ヶ月くらい書くネタがなくて放置してたブログですね! SSH以外の認証方法でGitリポジトリを公開したいなと思って昨日の夜から作業してた内容を書いておこうという感じです。 いろいろあってSSH以外を使わなくちゃいけなかったのでWebDAVとやらでがんばってみました。 重要なお断り 記憶を頼りに書いたので間違ってたらごめんなさい サーバ環境 というかこれメインPCだからサーバもなにもないんだけどとりあえず環境説明 貧弱Windows Vista Apache 2.2.21 msysgit 1.7.6 Apacheの設定をイジイジしてWebDAVを使えるようにする イマイチWebDAVっていうのがどんなものなのかわかってないんですができたのでいいとします。 Apacheのインストール場所\conf\httpd.conf を開いて #LoadModule dav_module modules/m
このページを最初にブックマークしてみませんか?
『azyobuzin.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く