試験用データが作成できるサービスを探してみる
できれば日本語の試験用ダミーデータを作りたいので、見つけたサービスをとりあえず列挙していきます。
人名、会社名、住所などのダミーデータを最大3000件まで作れる。出力はCSVまたはSQL。 roopidea.com
個人情報を最大5000件作れる。HTML, XML, CSV, タブ区切りで生成可能。 kazina.com
テスト用のクレジットカード番号 www.find-job.net
Windows10の仮想マシンを新規インストール後にやっておきたい設定
作業用の仮想マシンを壊してしまい、環境を作りなおそうと思ったけど、ゼロからの環境構築は、たまにしかやらないので案外めんどくさいです。
そこで、このエントリに自分の作業用環境に必要なものを一旦書き出していき、まとまったら最終的にキッティング作業用に自動化するためのスクリプト(Powershell またはバッチファイル)を作ろうと思います。
コンピュータ名を設定する
コマンドプロンプトから実行する方法。
wmic computersystem where name="%computername%" call rename name="New-PC-Name"
PowerShell から実行する方法。
Rename-Computer -NewName "New-PC-Name" -Force -Restart
仮想マシンが自動でスリープしないようにする
初期設定だと勝手にスリープして困るので、スリープしないようにします。
powercfg.exe /change standby-timeout-ac 0 powercfg.exe /change monitor-timeout-ac 0
Windows Update を実行する
(New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()
Windows Subsystem for Linux をインストールする
bash が使えないのはつらいのでこれは普通に入れる。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
あとは適当なディストリビューションを Windows Store から選んでインストールする。
(Windows10 LTSC や Windows Server だとサイドローディングになるので、それぞれ別の対応が必要なことに注意が必要)
Chocolatey をインストールする
いろいろインストールするのを自動化したいので、そのために Chocolatey を入れます。
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
参照するDNSサーバを Google Public DNS に変更する
様々な理由によりDNSサーバによる名前解決をインターネット側から見た場合の挙動に揃えたいので、DNSサーバを Google Public DNS に変更します。
netsh interface ip set dns "Ethernet0" static 8.8.8.8 primary netsh interface ip add dns "Ethernet0" 8.8.4.4
よく使うフォントをインストールする
コーディング用のフォントとかを入れます。
よく使うショートカットをつくる
Snipping Tool とか、ペイントとか、意外に使うことが多いので、ここらへんはタスクバーに予め作っておく
よく使うツールを入れる
必須でインストールするのはここらへん。
- Visual Studio Code
- Google Chrome, JSONViewer, Restlet Client
- Git for Windows または SourceTree
Firebase Cloud Messaging で node からメッセージを飛ばす
Delphi で Android 向けにリモートプッシュ通知を送信しようと思ったら GCM はオワコンで FCM が必要なのに、Delphi は FCM に正式対応していない中、とりあえずサーバでの送信側実装とクライアントでの受信側実装のプロトタイプを作っている。
クライアント側は一応動くようになったので、サーバ側の試作のために一旦 node で書いてみることにします。
ここらへんを読みながら...
https://firebase.google.com/docs/admin/setup?hl=ja https://firebase.google.com/docs/cloud-messaging/admin/send-messages?hl=ja
なんとなくノリだけで書いたコードがこちら。
var admin = require('firebase-admin'); admin.initializeApp({ credential: admin.credential.cert({ "type": "service_account", "project_id": "fcmremotepush-xxxxxxx", . . . databaseURL: 'https://fcmremotepush-xxxxxxx.firebaseio.com' }); // This registration token comes from the client FCM SDKs. var registrationToken = 'メッセージ送信対象デバイスのトークン'; // See documentation on defining a message payload. var message = { "notification":{ "title":"Portugal vs. Denmark", "body":"great match!", }, token: registrationToken }; // Send a message to the device corresponding to the provided // registration token. admin.messaging().send(message) .then((response) => { // Response is a message ID string. console.log('Successfully sent message:', response); }) .catch((error) => { console.log('Error sending message:', error); });
Chrome, Firefox, Safari, Edge のリリース日とバージョンのリストがほしいけど見当たらない
それぞれのブラウザの各バージョンのリリース日が一覧でまとめられているようなページがないかと思ったけど、どうも、なさげ。
仕方がないのでとりあえずの忘備録として Wikipedia 英語ページへのリンクをまとめておく。
- https://en.wikipedia.org/wiki/Google_Chrome_version_history
- https://en.wikipedia.org/wiki/Firefox_version_history
- https://en.wikipedia.org/wiki/Safari_version_history
- https://en.wikipedia.org/wiki/Microsoft_Edge
最新版の状況だけならここらへんからのリンクを見ておけばよいのだが。
Windows 10 で言語設定を PowerShell で切り替える
海外のスタッフに日本語入力で起きる問題を再現してもらうのに、OSを日本語入力可能な状態にしたいという状況が出た。
その設定方法を手短に伝えるとしたら、きっと PowerShell だろうと思って調べてみたら、Set-WinUserLanguageList というのがあった。
こうすると日本語になり、
Set-WinUserLanguageList ja-JP
こうすると英語にもどる。
Set-WinUserLanguageList en-US
こうやると、英語と日本語の両方をセットアップできる。
$UserLanguageList = New-WinUserLanguageList -Language "en-US" $UserLanguageList.Add("ja-JP") Set-WinUserLanguageList -LanguageList $UserLanguageList
Windows 7 には Set-WinUserLanguageList が見当たらないんだけど、この場合はどうすればいいんだろうか。
Windowsにインストール済みのパッチ一覧を取得する
Windowsにインストール済みのアプリ一覧を取得する、というのは昨日の記事で書きましたが、アプリ一覧だけではなく、パッチの一覧も知りたくなったので、それを取得する方法をしらべてみました。
方法的には3種類あるようです。
そのうち2つの方法は、単に実行するだけ。
- コマンドプロンプトで wmic qfe で取得する
- powershell で get-hotfix する
ただし、この方法だと個別インストールしたものがリストアップできないようなので、それをリストアップするためには PowerShell で以下のように実行すれば良いようです。
$mySession = New-Object -ComObject Microsoft.Update.Session $mySearcher = $mySession.CreateUpdateSearcher() $mySearcher.Search("IsInstalled=1").Updates | sort -property LastDeploymentChangeTime | ft -a LastDeploymentChangeTime,Title,SupportUrl
内容は下記ページに掲載のものをベースにしつつ、ft (Format-Table) で切り出す内容をすこし変えています。
Windowsにインストール済みのアプリケーション一覧をコマンドで取得する
自分の管理下にないPCにインストール済みアプリの一覧をメールで教えてもらう必要が出てきたので、方法をしらべてみました。
確認方法(32-bit Windows)
結果から言うと、32-bit Windows では、コマンドプロンプトから次のコマンドを実行するのがシンプルでした。
reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName"
確認方法(64-bit Windows)
64-bit Windows の場合は、さらにこちらのコマンドも実行します。
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName" reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName"
これで出力されたリストをもらえばよい。
Windows のビット数によらず結果を取得するバッチファイル
これらのコマンド実行を自動的に行ってくれるバッチファイルを作るとしたら次のような実装例になります。この実装は https://qiita.com/Marukaziler/items/3f64a77b3ccef31e6536 を参考に作りました。
@echo off if "%PROCESSOR_ARCHITECTURE%" EQU "x86" goto :ARCH_X86 if "%PROCESSOR_ARCHITECTURE%" EQU "AMD64" goto :ARCH_X64 echo 未対応環境です & goto :EOF :ARCH_X64 echo x64環境です reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName" reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName" :ARCH_X86 reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName" :EOF
注意点
レジストリに情報がないアプリケーション(インストーラを使用せずにインストールしたもの)は、この方法でリストアップすることはできません。
また出力結果にはアプリケーションだけではなく、セキュリティアップデートの情報も含みます。それが不要な場合は KBxxxxx を除外するなどしてご利用ください。