htsign's blog

ノンジャンルで書くつもりだけど技術系が多いんじゃないかと思います

Windows 10 Mobileでのユーザー辞書クリア手順

W10M端末におけるユーザー辞書英語キーボード用)及び予測変換情報の初期化方法が思った以上に分かりにくかったのでメモがてらに。

  1. 画面上端から下へスワイプし、アクションセンターを表示します。
  2. クイックアクション右下の「展開」をタップしてすべてのアクションを表示します。(もう一度画面上端から下へスワイプでもいいです)
  3. 「すべての設定」をタップします。
  4. 「プライバシー」をタップします。
  5. 音声認識、インク操作、入力」をタップします。
  6. 「自分の情報を知らせない」をタップします。確認ポップアップが表示されるので「オフにする」をタップします。
  7. 「自分を知ってもらう」をタップします。確認ポップアップが表示されるので「オンにする」をタップします。

以上です。
お察しかと思いますが、辞書以外の機能の学習状況もクリアされる模様なのでご承知の上ご利用ください。

以後は特に指定のない限りJSはES6記法で書いていこうと思います。

Intlオブジェクトというものを知りました。
国際化表記における各種変換を取りまとめるそこそこ大規模なオブジェクトらしい。

Collator DateTimeFormat NumberFormatの3つのサブオブジェクトを持つ模様。
それぞれインスタンス化して使用するっぽい。

(() => {
  let localeOption = { style: "currency", currency: "jpy" };
  let locale = new Intl.NumberFormat("ja-JP", localeOption);
  console.log(locale.format(1234500)); // => ¥1,234,500
})();

便利。

第二引数のoptionにcurrencyDisplayを指定すると表記方法が変わるっぽい。
currencyDisplay: "symbol"がデフォルトで、他にcodenameがあるらしい。
symbolの場合の記号が半角とか全角とか、その辺は実装依存っぽい。

とか思ってたら

Number#toLocaleStringとか、他の代表的なオブジェクトにメソッドとして同等機能が提供されていた。
newはオーバーヘッドも大きいし*1、特別な理由がない限りは基本こっちですね。

*1:実測はしていませんが

グローバルIPアドレスを得る

今まではipifyを使っていました。

> Invoke-WebRequest api.ipify.org | Write-Host
125.203.***.***

非常にシンプルで使用制限もなく応答速度も問題なくて重宝していました。


これで終わりでいいんですが、みんな大好きStackOverflowのとあるスレッドで有用なやり取りがあったので。
Getting my public IP via API - Stack Overflow

どうやらipinfo.ioというのがあるようで、「1日1000リクエストまで」という制限があるようですが*1柔軟性が高いです。
オプションを何もつけなければJSONでデータが返ってきます。

> Invoke-WebRequest ipinfo.io | Write-Host
{
  "ip": "125.203.***.***",
  "hostname": "i125-203-(中略).ap.plala.or.jp",
  "city": "",
  "region": "",
  "country": "JP",
  "loc": "35.***,139.***",
  "org": "AS4713 NTT Communications Corporation"
}

まぁ使い方は公式サイトにでかでかと書かれてるのでわざわざここで説明するまでもないんですが、JSONのプロパティがオプション名になってます。

> Invoke-WebRequest ipinfo.io/ip | Write-Host
125.203.***.***

> Invoke-WebRequest ipinfo.io/country | Write-Host
JP


特に凝ったことするのでなければipify, ちょっと別の情報も使いたいってときはipinfo.ioって具合に使い分けましょうかね。

*1:無料プランでの話なので、有料プランを選べばもちろん制限は緩くなります。

OSXのバージョンを確認する方法

ただ単に今駆動しているOSXのバージョンを確認するだけなら

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.10.5
BuildVersion:   14F1605

で終わりです。

今回はとあるパーティションにインストールされているOSXのバージョンを外部から確認する方法です。
ある方から起動できなくなったHDDにインストールしたOSXのバージョンを確認してほしい、との依頼があったために調べて知った方法です。
要するに一部のLinuxディストリで言うcat /etc/*-releaseのようなものです。

まずは目的のパーティションに移動します。

$ cd /Volumes/Machintosh\ HD/

その上で、そのパーティション上の/System/Library/CoreServices/の中にあるSystemVersion.plistにバージョン情報が書かれています。

$ cat System/Library/CoreServices/SystemVersion.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>ProductBuildVersion</key>
        <string>14F1605</string>
        <key>ProductCopyright</key>
        <string>1983-2016 Apple Inc.</string>
        <key>ProductName</key>
        <string>Mac OS X</string>
        <key>ProductUserVisibleVersion</key>
        <string>10.10.5</string>
        <key>ProductVersion</key>
        <string>10.10.5</string>
</dict>
</plist>

ちなみに、ここのXMLを書き換えることで「このMacについて」で表示されるバージョン情報を偽装することができるようです。

参考: Tutorial: Change the OS X Version by modifying systemversion.plist

久しぶりにPC周りのお買い物

ついに買いました。TLCSSD
nttxstore.jp

思えばSLCで容量40GBしかないのを買って、MLCだけど容量60GBしかないのを買って、MLCで容量120GBのを買って、MLCで256GBのを買って、今度のやつで5枚目です。
SandForce製とかいう0Fill, 1Fill以外まるで速度の出ないゴミみたいなコントローラ載っけてたのもありました。今は外付けケースに入れてポータブルになってますが使ってません。

Steamのゲームをいくつか置いとくだけなので、そこそこの容量とそこそこの読み込み速度があれば役に立ってくれると信じてる。

ベンチマークスコア

f:id:htsign:20160108012118p:plain
公称値はSeqRead 540MB/s SeqWrite 470MB/sなので、書き込みはともかく読み込みはまずまずの速度じゃないかと思います。
他所のレビューではスコアがもう少しよかったので、単純にSBチップやSATAケーブルがアレだったかも。
ケーブルくらいは近いうちに買い替えます。