Pandora Pocket

IT系と日常系の備忘録。三日坊主。

Mirakurunを動かしているマシンを初期化して再度環境を作り直した際、下記のエラーが発生した時の暫定対応メモ。

Error: getaddrinfo ENOTFOUND ****::****:****:****:****%イーサネット at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:57:26) ※*の部分はIPv6アドレス

前提

Mirakurunを動かしているマシンはLinux環境ではなくWindows 10環境。
Node.jsのバージョンは10.15.1 LTS。
Mirakurunのバージョンは2.8.4。

対応

ネットワークアダプタのプロパティから「インターネットプロトコルバージョン6(TCP/IPv6)」のチェックを外す。

とりあえずこれで発生しなくなる。

あまりにやっつけな対応なので、いつか時間があったらちゃんと確認するかもしれない。(たぶんしない)

まぁメインパソコンではなく、録画専用パソコンなので、IPv4さえあれば問題ない。

Azure Functionsで動かしていたプログラムがあるんですが、(たぶん実装が悪いのだけど)課金が結構な額となってしまい、またDBを使うとなるとそれはそれでよい金額となってしまいます。

というわけでAzure Functions用に作っていたプログラムを.NET Coreのコンソールアプリとして置き換えて、Google Compute Engine上のLinuxで動かすことにしました。

続きを読む

伊勢さん(id:iseebi)のTwitterでの投稿を見て初めて知ったのですが、Google Compute Engineって無償枠ってのがあったんですね。

Google Compute EngineはいわゆるIaaS。 AWS の EC2やAzure VMと同じく、時間単位での仮想マシンリソースを提供するサービスになります。
Google Cloud Platformの一サービスですね。

無償枠の上限は下記の通り。

  • 1 つの非プリエンプティブ f1-micro VM インスタンス(米国リージョン(オレゴン州(us-west1)、アイオワ州(us-central1)、サウスカロライナ州(us-east1))
  • 30 GB の標準永続ディスク ストレージ(1 か月あたり)
  • 5 GB のスナップショット ストレージ(1 か月あたり)
  • トラフィックは北米の GCP リージョンから送信する必要がある
  • まとめて送信できる下りトラフィックは 1 GB まで

Discover the free cloud features that come with the Google Cloud trial offer and more information on how to upgrade your account.
[はてなブックマークで表示]

メモリーは600MBと小さな仮想マシンですが、ただで使えるのは良いですね。

早速登録しました。

続きを読む

.NET CoreではShift-JISがそのままでは利用できない。

.NET Frameworkで作成していた時は問題なく動いていたプログラムをそのまま移植すると、

ArgumentException: 'shift_jis' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.

と怒られる。

対策

エラーメッセージにある通り、カスタムエンコーディングを登録してやる必要がある。

NuGetからSystem.Text.Encoding.CodePagesを参照し、

コードのどこか(Shift-JIS処理するより前)に下記を挿入。

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

これでShift-JISが正常に利用できる。

UWPとかやっていた方からしたら基本的な知識なのかも。

いい加減Shift-JISを利用したサイト滅びてくれないかな・・・。

音楽データベースのMusicBrainzからデータを引っ張ってくるときの備忘録。
[はてなブックマークで表示]

前の記事でまとめたMusicBrainzを用いて、CDドライブに挿入されているCDの情報を取得するプログラムを書いてみました。

TrackIDなどを計算する部分は面倒なのでライブラリを利用しています。

CD/DVDドライブに挿入されている音楽CDの情報をMusicBrainzから取得する簡易プログラム - Ovis/GetCDInfoConsole
[はてなブックマークで表示]

簡易プログラムなので例外処理は特に入れてません。
CDが入っていない状態だと例外を吐きますのでご注意を。

備忘録。

ブログサービス(?)のnoteはURLの最後に「/rss」を付けるとRSSフィードとなるということを知ったので、たまに見ていた「#買ってよかったもの」のタグでまとめられているものをInoReaderに登録しようとしたのですが、なぜかうまくいかない。

登録しようとしていたフィードURLは下記の通り。

https://note.mu/hashtag/買ってよかったもの/rss

最初noteのRSSフィードの中身を見た限りAtomと定義しているのに構造がRSS2.0なのが原因かなと思っていたのですが、別のURLだとうまくいく。

で、結論としてはInoReaderはURLに日本語が混ざると登録がうまくできないようです。

というわけで、日本語部をPunycode変換してしまえばInoReaderに登録できました。

https://note.mu/hashtag/%e8%b2%b7%e3%81%a3%e3%81%a6%e3%82%88%e3%81%8b%e3%81%a3%e3%81%9f%e3%82%82%e3%81%ae/rss

これ日本語ドメインなんかでも登録失敗しそう・・・。Feedlyでは日本語が混ざっていても問題なかったので、InoReaderの内部実装が古いのかな・・・?