Chromium版のEdgeを旧バージョンと併用する

Microsoft EdgeChromiumベースになって新登場!ということで、少し話題でしたね。

さて、Windows 10の場合、Chromium版を入れると、前のEdgeは使えなくなります(ファイルは別なので消されませんが、実行ができません)。しかし、前のもの(旧Edge)も使いたい人もいると思います。典型的な例は、Web系などの開発者やデザイナーさんでしょう。なかなかアップデートしない人や、新しいEdgeがWSUSなどで遮られた環境の人を想定するWebサイトもあるはずです。

続きを読む

メーリングリストを蝕む闇の魔術に対する防衛術

これは「闇の魔術に対する防衛術 Advent Calendar 2019」の12月23日の項目として(翌日24日に)追加するものです。

qiita.com

前日(22日)のものを読んだら、つい書きたくなったのが動機です。中身は全く技術的ではありません。

qiita.com

さて、皆さん、メーリングリストって使ってますか?

続きを読む

サングラスは紫外線をどの程度カットするのか

なにやら、テレビで以前、「サングラスによっては、かけることで視野内が暗くなる分だけ瞳孔が開き、紫外線が入りやすくなる」とかいう話が流れていたようですね。ネット上でも、類似の話が書いてあります。

一方、サングラスは紫外線もカットしている、という話もあります。

そこで、計測してみました。測定に使ったのは、佐藤計量器製作所さんのPC-7960GTI。

www.sksato.co.jp

続きを読む

Electronを5から6にアップデートしたら

electronとtypescriptを使ったプロジェクトで、electronをバージョン5から6にアップデートしたら、すごい数のエラーが……。

エラーメッセージを落ち着いて調べたら対応策も分かり、無事エラーがなくなりました。

今回食らったのは、次のものです。

  • IpcMessageEventで受けていたイベント関数の引数型がIpcMainEvent/IpcRendererEventに変わった
  • showSaveDialogの第3引数がなくなった。代わりに戻り値の型がPromiseになった
  • MenuItemのroleにあるselectallselectAllになっていた
続きを読む

MultiByteToWideChar、WideCharToMultiByteとBOMの関係

意外と記載がないのでメモ。

Windows API文字コード変換をする定番のAPIとしてMultiByteToWideCharWideCharToMultiByteがあります(「ANSI」とUTF-16の変換だけならATL/MFCCW2ACA2Wが手軽ですが)。

しかし、これらのAPIは、公式ドキュメントにもBOMの扱いが書いてありません。

msdn.microsoft.com

msdn.microsoft.com

どうなるか分からないと扱えないので、試してみました。

環境はWindows 10(64bit)上のVisual Studio 2017のC++、コンソールアプリケーションです。

結論としては、変換元にBOMがある場合は、変換後もBOMつきとなります。変換元にBOMがなければ、変換後にもつきません。BOMはUTF-16UTF-8で正しく変換されます。

続きを読む

npm-check-updatesからupdatesに移行しました。

npmのコマンドを打っていると、「おまえが使ってるパッケージに脆弱性あり。npm auditで調べろ」という警告が出ていました。で、調べてみると、全部がnpm-check-updatesの関連でした。アップデートの目的の1つは脆弱性の解消なのに、そのチェッカーが脆弱っていうのは笑えない話です(npm-check-updatesはめったに使わないし、攻撃経路は限られているような気はしますが、だからと言って脆弱性を放置したくはないのです)。

見てみたら、npm-check-updates自体、既に更新がほとんどされなくなってました。これじゃあ仕方ないですね。

そして、issueも立ってました。

続きを読む