サングラスは紫外線をどの程度カットするのか
なにやら、テレビで以前、「サングラスによっては、かけることで視野内が暗くなる分だけ瞳孔が開き、紫外線が入りやすくなる」とかいう話が流れていたようですね。ネット上でも、類似の話が書いてあります。
一方、サングラスは紫外線もカットしている、という話もあります。
そこで、計測してみました。測定に使ったのは、佐藤計量器製作所さんのPC-7960GTI。
続きを読むElectronを5から6にアップデートしたら
electronとtypescriptを使ったプロジェクトで、electronをバージョン5から6にアップデートしたら、すごい数のエラーが……。
エラーメッセージを落ち着いて調べたら対応策も分かり、無事エラーがなくなりました。
今回食らったのは、次のものです。
- IpcMessageEventで受けていたイベント関数の引数型がIpcMainEvent/IpcRendererEventに変わった
- showSaveDialogの第3引数がなくなった。代わりに戻り値の型がPromiseになった
- MenuItemのroleにある
selectall
がselectAll
になっていた
Encodingインスタンスの比較
MultiByteToWideChar、WideCharToMultiByteとBOMの関係
意外と記載がないのでメモ。
Windows APIで文字コード変換をする定番のAPIとしてMultiByteToWideChar
とWideCharToMultiByte
があります(「ANSI」とUTF-16の変換だけならATL/MFCのCW2A
やCA2W
が手軽ですが)。
しかし、これらのAPIは、公式ドキュメントにもBOMの扱いが書いてありません。
どうなるか分からないと扱えないので、試してみました。
環境はWindows 10(64bit)上のVisual Studio 2017のC++、コンソールアプリケーションです。
結論としては、変換元にBOMがある場合は、変換後もBOMつきとなります。変換元にBOMがなければ、変換後にもつきません。BOMはUTF-16とUTF-8で正しく変換されます。
続きを読むnpm-check-updatesからupdatesに移行しました。
npmのコマンドを打っていると、「おまえが使ってるパッケージに脆弱性あり。npm auditで調べろ」という警告が出ていました。で、調べてみると、全部がnpm-check-updatesの関連でした。アップデートの目的の1つは脆弱性の解消なのに、そのチェッカーが脆弱っていうのは笑えない話です(npm-check-updatesはめったに使わないし、攻撃経路は限られているような気はしますが、だからと言って脆弱性を放置したくはないのです)。
見てみたら、npm-check-updates自体、既に更新がほとんどされなくなってました。これじゃあ仕方ないですね。
そして、issueも立ってました。
続きを読むWindowsからLinuxへの移行を試してみた
前提
- 2018年12月の試行の結果です。
- Ubuntu Mate 18.04 LTSに、Windows 10の環境を可能な限り移行してみます。
- PCは両OSのデュアルブートです。
- 個人的な都合で、Microsoft Officeの文書を受け取り、オフラインでも扱いたいので、完全な移行は考えていません。
- 「~があります(あるらしいです)」ではなく、実際に試した結果だけ書いています。
Electronアプリケーションの翻訳(l10n)
Electronアプリケーションはクロスプラットフォームなのですから、可能なら世界各地で使えるようにしたいものです。そこで必要となるのが国際化(internationalization, i18n)と各言語対応(localization, l10n)。
文言からはじまってRTL(アラビア語など右から左へ書く言語への対応)、数字や日時の表記など色々とありますが、とりあえずここではアプリケーション上のメッセージの翻訳についてだけ考えます。
続きを読む