Azure Functionsで動かしていたプログラムがあるんですが、(たぶん実装が悪いのだけど)課金が結構な額となってしまい、またDBを使うとなるとそれはそれでよい金額となってしまいます。
というわけでAzure Functions用に作っていたプログラムを.NET Coreのコンソールアプリとして置き換えて、Google Compute Engine上のLinuxで動かすことにしました。
IT系と日常系の備忘録。三日坊主。
Azure Functionsで動かしていたプログラムがあるんですが、(たぶん実装が悪いのだけど)課金が結構な額となってしまい、またDBを使うとなるとそれはそれでよい金額となってしまいます。
というわけでAzure Functions用に作っていたプログラムを.NET Coreのコンソールアプリとして置き換えて、Google Compute Engine上のLinuxで動かすことにしました。
.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を用いて、CDドライブに挿入されているCDの情報を取得するプログラムを書いてみました。
TrackIDなどを計算する部分は面倒なのでライブラリを利用しています。
簡易プログラムなので例外処理は特に入れてません。
CDが入っていない状態だと例外を吐きますのでご注意を。
音楽データベースのMusicBrainzからデータを引っ張ってくるときの備忘録。
ダイエット仲間と進捗状況をDiscordで共有すべく、HealthPlanetからデータを取得してDiscordに投稿するプログラムを書いてみました。
仕事でPro*Cを利用したアプリケーションを作ることがあるんですが、その時ハマったことがあったので備忘録。
Windows 10になってからMicrosoftはユーザーに要望や不具合をダイレクトに伝えてもらおうと「Windowsフィードバック」というアプリを搭載してるわけですが、このアプリにある「アプリとゲーム」というカテゴリを開くと以下のような表示になります。

Windowsフィードバックの日本語版はMSに対する罵詈雑言じみた投稿が多く辟易してあまり見てなかったので知らなかったのですが、この「アプリとゲーム」というカテゴリはMicrosoft製のストアアプリに対するフィードバックができるのかと思っていたらそれ以外のサードパーティアプリが表示されてます。
備忘録。
Visual StudioからVisual Studio Onlineのプロジェクトをクローンしたいとき、

のCloneをクリックして

このURLを使えばいいよってことらしいんですがこれをどう使ったらいいのかわからなくて調べてました・・・。たぶんこれ常識ですよねorz
大切なことはすべてここに書いてありました。
クローンするにはVisual StudioのチームエクスプローラからTeam Foundation Serverに接続する必要があります。
Visual Studio Onlineに接続するとき必要なURLは
とのこと。これを登録するとMicrosoftアカウントの確認画面が出るので、登録してあるMSアカウントを入力すればチームエクスプローラにプロジェクトが表示されます。
困った。
今のところアプリを公開してませんが、私はWindowsストアアプリの開発者ライセンスを取得しています。 発行者名は「Pandora_Ovis」。TwitterのIDと同じです。
11月6日にこんなメールが届きました。

・・・?
何のこっちゃ。
最初はスパムメールかと思ったのですがどうやらWindowsストアの運営スタッフからのようです。
よく読んでみると
Your Publisher name contained prohibited content and Microsoft has changed it from “Pandora Ovis” to “Placeholder_ 70 ”. (あなたのストア発行者名はストアの禁止事項に抵触しているため、Microsoftが発行者名を変更しました)
Please update your Publisher name to be in compliance with policy 10.1. (ストアポリシー10.1項に従った発行者名に更新してください。)
SaaSes、さくらインターネットのVPSを借りてサーバーを立ててましたがこれまでずっとウェブサーバーとしてApacheを利用していました。世界シェアナンバーワンで情報も豊富。普通の人はこれで十分です。が、私の運用だとちょっと使い勝手が悪かったのです。
私はPHPを利用したCMSサイトを運営していますけれども、モジュール版PHPだとApacheと同じオーナー権限で実行されます。FTPなどでファイルをアップロードしたときいちいちwww-dataなどのApacheと同じユーザー、グループにするのは非常に面倒くさい。それにほかの人にスペースを貸したとき全く同じユーザー、グループで実行されるということはほかの人のフォルダも参照できてしまうわけで。
そんなこともありましてApacheではsuPHPというchrootができるモジュールを利用してPHPをCGIとして動かしていました。これならそんな心配はありません。
ただこれも問題がありました。.htaccessでPHPの設定が上書きできなかったりなぜかPHP.iniに書いてある情報を利用してくれなかったり。htscannerが古いせいかもしれませんが。
というわけでほかの環境を試すことにしました。最近はApacheよりも高速軽快なnginxが人気のようでしたので私もこれに乗っかることに。