KeyboardPingをリリースしました。
キーボードが正しく動いているかどうか確認するプログラムで、遠隔地にあるサーバーに接続されているキーボードの正常確認や、(多分)ゲーム等でのキー連打に使えます。
公開したのはソースコードのみなので、実行ファイルは自分自身でビルドして下さい。
GitHub: https://github.com/Soushi-Atsumi/KeyboardPing
気分に応じて開発したプログラムの情報の提供を行っています。
All English posts have been moved to here.
GitHub
Firefox拡張機能
Androidアプリケーション
2019年4月1日月曜日
2019年2月22日金曜日
パフォーマンスモニターを使って通信状況の統計をとる
パフォーマンスモニターを使うことで、システムの活動状況を確認することができる。
この記事では、パフォーマンスモニターを使って統計情報を作成する方法を説明する。

初期状態では、過去100秒のCPU時間の使用率が表示される。
+記号を押して「カウンターの追加」窓を表示する。

「説明を表示する」にチェックを入れると各カウンターを選択したときに説明が表示される。
カウンターの一覧から「Network Interface」を探して開く。

今回は受信及び送信したバイトの情報が欲しいので、「Bytes Received/sec」と「Bytes Sent/sec」を選択して「追加」を押す。

ほかに欲しい情報があれば。同じ方式で追加していき、追加し終わったら最後に「OK」を押す。すると、CPU時間に加え、受信したバイト数と送信したバイト数がグラフに表示されるようになる。
図では、「Bytes Received/sec」と「Bytes Sent/sec」のスケールに0.0001が指定されている。これは実測値に0.0001の倍率がかかっていることを意味する。すなわち、10000バイトでグラフの1になる。
他に、プロパティから計測時間を変更したり、スケールを変更することができる。
しかし、この方法では最大過去1000秒(厳密には「サンプリング間隔 × 期間 <= 1000」となるような範囲内)の情報しか参照することができず、あまり役に立たない。できれば、1日単位でほしいところだ。
そこで、データコレクターセットを利用する。まず、左枠のパフォーマンスモニターを選択した状態で、「操作→新規作成→データコレクターセット」を選択する。
適当に名前を入れて次に進む。
適当に保存場所を指定して次に進む。
「保存して閉じる」を選択して完了する。
なお、保存時に「データコレクターセットを作成しようとしたとき、次のシステムエラーが発生しました: アクセスが拒否されました。」のエラーメッセージが表示される場合はユーザーがAdministratorsグループに属していないため作成できない(殆どのサイトに「Perfromance Log Usersグループに属していないから」と書いてあるがそれは誤りで、Administratorsグループに属している必要がある)。作成以降の作業はAdministratorsグループに属していなくても行うことができる。
「 パフォーマンス/データコレクターセット/ユーザー定義」配下に先ほど指定した名前で作成される。以降、新規作成したデータコレクターセットの名前を「New Data Collector Set」とする。
「 パフォーマンス/データコレクターセット/ユーザー定義/New Data Collector Set」を選択した状態で「操作→プロパティ」を選択する。
「ディレクトリ」タブを選択し、「サブディレクトリ名のフォーマット」に「yyyyMMdd」を指定する。これにより、毎日「年月日」の形式でディレクトリが作成され、そのディレクトリに統計情報が保存されるようになる。
「ディレクトリの例」の枠に、作成されるディレクトリ名が表示される。
「スケジュール」タブを選択し、「追加」を押す。適当に各枠を埋めた後、「OK」を押す。以下の図のように指定した場合、毎日0時0分に情報の収集を開始する。
「スケジュール」タブを選択し、「制限値」の「制限に達したらデータコレクターセットを再開する」を有効にする。続けて、「制限値」の「期間」に1日を指定する。これで設定が終わったので、最後に「OK」を押す。
これで、毎日0時0分に設定したディレクトリに「システム モニター ログ.blg」が自動的に作成され、1日の通信状況が格納される。情報を確認したい場合は、単純にファイルを開けばよい。1日分の情報量だと開くのに数秒かかる。
これらの情報はサーバーを運用している場合は特に有用な情報源となるはず。 大手のクラウドサービスでは監視を自動で行ってくれるため必要ないかもしれないが、他のVPSサービスでは存在しない、あるいは有料の場合もあるだろう。是非とも利用していただきたい。
この記事では、パフォーマンスモニターを使って統計情報を作成する方法を説明する。
1.基本的な使い方
は省く。検索すれば大量に出てくる。2.リアルタイムの状況を確認する
「パフォーマンス/モニターツール/パフォーマンスモニター」を開く。
初期状態では、過去100秒のCPU時間の使用率が表示される。
+記号を押して「カウンターの追加」窓を表示する。

「説明を表示する」にチェックを入れると各カウンターを選択したときに説明が表示される。
カウンターの一覧から「Network Interface」を探して開く。

今回は受信及び送信したバイトの情報が欲しいので、「Bytes Received/sec」と「Bytes Sent/sec」を選択して「追加」を押す。

ほかに欲しい情報があれば。同じ方式で追加していき、追加し終わったら最後に「OK」を押す。すると、CPU時間に加え、受信したバイト数と送信したバイト数がグラフに表示されるようになる。
図では、「Bytes Received/sec」と「Bytes Sent/sec」のスケールに0.0001が指定されている。これは実測値に0.0001の倍率がかかっていることを意味する。すなわち、10000バイトでグラフの1になる。
他に、プロパティから計測時間を変更したり、スケールを変更することができる。
3.長期的な状況を確認する
「2.リアルタイムの状況を確認する」ではリアルタイムで情報を確認する方法を述べた。しかし、この方法では最大過去1000秒(厳密には「サンプリング間隔 × 期間 <= 1000」となるような範囲内)の情報しか参照することができず、あまり役に立たない。できれば、1日単位でほしいところだ。
そこで、データコレクターセットを利用する。まず、左枠のパフォーマンスモニターを選択した状態で、「操作→新規作成→データコレクターセット」を選択する。
適当に名前を入れて次に進む。
適当に保存場所を指定して次に進む。
「保存して閉じる」を選択して完了する。
なお、保存時に「データコレクターセットを作成しようとしたとき、次のシステムエラーが発生しました: アクセスが拒否されました。」のエラーメッセージが表示される場合はユーザーがAdministratorsグループに属していないため作成できない(殆どのサイトに「Perfromance Log Usersグループに属していないから」と書いてあるがそれは誤りで、Administratorsグループに属している必要がある)。作成以降の作業はAdministratorsグループに属していなくても行うことができる。
「 パフォーマンス/データコレクターセット/ユーザー定義」配下に先ほど指定した名前で作成される。以降、新規作成したデータコレクターセットの名前を「New Data Collector Set」とする。
「 パフォーマンス/データコレクターセット/ユーザー定義/New Data Collector Set」を選択した状態で「操作→プロパティ」を選択する。
「ディレクトリ」タブを選択し、「サブディレクトリ名のフォーマット」に「yyyyMMdd」を指定する。これにより、毎日「年月日」の形式でディレクトリが作成され、そのディレクトリに統計情報が保存されるようになる。
「ディレクトリの例」の枠に、作成されるディレクトリ名が表示される。
「スケジュール」タブを選択し、「追加」を押す。適当に各枠を埋めた後、「OK」を押す。以下の図のように指定した場合、毎日0時0分に情報の収集を開始する。
「スケジュール」タブを選択し、「制限値」の「制限に達したらデータコレクターセットを再開する」を有効にする。続けて、「制限値」の「期間」に1日を指定する。これで設定が終わったので、最後に「OK」を押す。
これで、毎日0時0分に設定したディレクトリに「システム モニター ログ.blg」が自動的に作成され、1日の通信状況が格納される。情報を確認したい場合は、単純にファイルを開けばよい。1日分の情報量だと開くのに数秒かかる。
これらの情報はサーバーを運用している場合は特に有用な情報源となるはず。 大手のクラウドサービスでは監視を自動で行ってくれるため必要ないかもしれないが、他のVPSサービスでは存在しない、あるいは有料の場合もあるだろう。是非とも利用していただきたい。
2019年1月27日日曜日
Smart Previewer Ver1.1 リリース
Ver 1.1の新機能
・機能
・修正
・開発者向け
Firefox
Microsoft Edge
・機能
音声、画像、PDF及び映像が無効化できるようになりました。
設定値が可視化されました、これにより簡単に調節できるようになりました。
m3u8映像ファイルに対応しました。(Microsoft Edgeのみ)
設定値が可視化されました、これにより簡単に調節できるようになりました。
m3u8映像ファイルに対応しました。(Microsoft Edgeのみ)
・修正
Firefoxが対応していない形式であるのに、「tiff」形式の画像ファイルを開こうとする問題を修正しました。(Firefoxのみ)
Firefoxが対応していない形式であるのに、「mkv」形式の動画ファイルを開こうとする問題を修正しました。(Firefoxのみ)
Firefoxが対応していない形式であるのに、「mkv」形式の動画ファイルを開こうとする問題を修正しました。(Firefoxのみ)
・開発者向け
srcを無効化するために今まではsetAttributeを使用していたのを、removeAttributeに変更しました。これにより注意が出なくなります。
manifest.jsonがBOM付だと審査で拒否されるようになったので、BOM無しに変更しました(Firefoxのみ)。
manifest.jsonがBOM付だと審査で拒否されるようになったので、BOM無しに変更しました(Firefoxのみ)。
Firefox
Microsoft Edge
2019年1月15日火曜日
Smart PreviewerがようやくEdgeでも使えるようになりました
大変お待たせ致しました。Firefoxで2週間前に公開済みでしたが、Edgeでは承認待ちの状態だったため、先ほどまで未公開のままでした。ぜひ楽しんで下さい。
https://www.microsoft.com/store/productId/9NGD05CV97FD
https://www.microsoft.com/store/productId/9NGD05CV97FD
2018年12月31日月曜日
Smart Previewer Ver1.0 リリース
Smart Previewerをリリースしました。この拡張機能はMicrosoft EdgeとFirefoxで使用可能です。
この拡張機能はリンクの内容を即座に表示します。
この拡張機能はリンクの内容を表示します。音楽、画像、PDFと動画... この拡張機能が対応する全てのリンクをクリックする必要はありません。リンクの上に置くだけで確認できます。
拡張機能は以下の場所で追加できます。
Microsoft Edge: https://www.microsoft.com/store/productId/9NGD05CV97FD
Firefox: https://addons.mozilla.org/ja/firefox/addon/smart-previewer/
Microsoft Edgeの動画とスクリーンショット:




Firefox動画とスクリーンショット:



この拡張機能はリンクの内容を即座に表示します。
この拡張機能はリンクの内容を表示します。音楽、画像、PDFと動画... この拡張機能が対応する全てのリンクをクリックする必要はありません。リンクの上に置くだけで確認できます。
拡張機能は以下の場所で追加できます。
Microsoft Edge: https://www.microsoft.com/store/productId/9NGD05CV97FD
Firefox: https://addons.mozilla.org/ja/firefox/addon/smart-previewer/
Microsoft Edgeの動画とスクリーンショット:




Firefox動画とスクリーンショット:



2018年8月31日金曜日
CentOS7のApache2.4.6でpythonを動かしていたら日本語ディレクトリを取得して表示するときにエラーが出た
題名に割と問題点を詰め込んだ感じになったが、さらなる詳細は以下の通り。
問題点と関係なさそうな情報は面倒なので割愛。
---
@実行環境
CentOS Linux release 7.5.1804 (Core)
Server version: Apache/2.4.6 (CentOS)
Python 3.6.5
@実行内容
Pythonで書かれたindex.cgiにFirefoxで接続。
@予期された動作
取得した日本語のディレクトリ名が表示される。
@結果
/var/log/httpd/error_logに以下のエラーが出力され、表示されない。
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 69-80: surrogates not allowed
---
因みに、このファイルはWindows10上のIISで動かしていた時は問題なく動作していた。
エンコーディング系のエラーだと一目でわかるので、早速以下の関数を実行して結果を見た。
---
print(sys.stdout.encoding)
print(sys.getdefaultencoding())
print(sys.getfilesystemencoding())
print(locale.getlocale())
---
結果はこう。
---
utf-8 utf-8 ascii (None, None)
---
sys.getfilesystemencodingの結果がascii に、locale.getlocaleの結果が(None, None)になっている。しかし、これをコマンドライン上で実行するとこうなる。
---
utf-8
utf-8
utf-8
('en_US', 'UTF-8')
---
つまり、Apacheの問題であることがわかる...ので、色々設定をいじってみたがどうもうまくいかない。
「https://itekblog.com/ascii-codec-cant-encode-characters-in-position/」を参考にしたところ、LC_ALLが問題解決の糸口になりそうだ。しかし、LC_ALL=en_US.UTF-8にしても全く変化がない。スクリプト上でlocaleに「en_US.UTF-8」を設定してもasciiのままだ。
「/etc/sysconfig/httpd」で設定するようにしてもやっぱり変わらない。
Apacheのドキュメントをよくよく読むと、SetEnvを使えとある。早速「SetEnv LC_ALL en_US.UTF-8」を追加すると...。
---
utf-8 utf-8 utf-8 ('en_US', 'UTF-8')
---
日本語ディレクトリが使えるようになった。
Apacheはファイルシステムの情報取得にはasciiを標準で使うらしい(ソースのURLは忘れた)。でも、日本人してはやっぱり日本語のファイル・ディレクトリも取得できるようにしたいよね。
問題点と関係なさそうな情報は面倒なので割愛。
---
@実行環境
CentOS Linux release 7.5.1804 (Core)
Server version: Apache/2.4.6 (CentOS)
Python 3.6.5
@実行内容
Pythonで書かれたindex.cgiにFirefoxで接続。
@予期された動作
取得した日本語のディレクトリ名が表示される。
@結果
/var/log/httpd/error_logに以下のエラーが出力され、表示されない。
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 69-80: surrogates not allowed
---
因みに、このファイルはWindows10上のIISで動かしていた時は問題なく動作していた。
エンコーディング系のエラーだと一目でわかるので、早速以下の関数を実行して結果を見た。
---
print(sys.stdout.encoding)
print(sys.getdefaultencoding())
print(sys.getfilesystemencoding())
print(locale.getlocale())
---
結果はこう。
---
utf-8 utf-8 ascii (None, None)
---
sys.getfilesystemencodingの結果がascii に、locale.getlocaleの結果が(None, None)になっている。しかし、これをコマンドライン上で実行するとこうなる。
---
utf-8
utf-8
utf-8
('en_US', 'UTF-8')
---
つまり、Apacheの問題であることがわかる...ので、色々設定をいじってみたがどうもうまくいかない。
「https://itekblog.com/ascii-codec-cant-encode-characters-in-position/」を参考にしたところ、LC_ALLが問題解決の糸口になりそうだ。しかし、LC_ALL=en_US.UTF-8にしても全く変化がない。スクリプト上でlocaleに「en_US.UTF-8」を設定してもasciiのままだ。
「/etc/sysconfig/httpd」で設定するようにしてもやっぱり変わらない。
Apacheのドキュメントをよくよく読むと、SetEnvを使えとある。早速「SetEnv LC_ALL en_US.UTF-8」を追加すると...。
---
utf-8 utf-8 utf-8 ('en_US', 'UTF-8')
---
日本語ディレクトリが使えるようになった。
Apacheはファイルシステムの情報取得にはasciiを標準で使うらしい(ソースのURLは忘れた)。でも、日本人してはやっぱり日本語のファイル・ディレクトリも取得できるようにしたいよね。
2018年8月5日日曜日
ポップアップで開く Ver2.2 リリース
Ver 2.2の新機能
・機能
・他
https://addons.mozilla.org/ja/firefox/addon/open-in-popup/
・機能
・設定
対象の選択形式を「サイドバーで開く」と同じ形式にしました。
・効率
無駄な処理を減らすことでブラウザーへの負荷が少なりました。
・他
・開発者向け
設定情報を全てjsonファイルへ移行しました。
全てのファイルをUTF8に変換しました。
import機能が実装された場合に対応できるように、「background.js」を「background.html」に置き換えました。
コンテキストメニューを再生成する処理を「option.js」に移動しました。Ver2.2では設定変更をした場合のみコンテキストメニューが再生成されます。
全てのファイルをUTF8に変換しました。
import機能が実装された場合に対応できるように、「background.js」を「background.html」に置き換えました。
コンテキストメニューを再生成する処理を「option.js」に移動しました。Ver2.2では設定変更をした場合のみコンテキストメニューが再生成されます。
https://addons.mozilla.org/ja/firefox/addon/open-in-popup/
ラベル:
Firefox 拡張機能,
ポップアップで開く
2018年8月4日土曜日
Visual Studio 2017でJavaScriptのimport機能を使ってたらエラーが出た
題名のまま。こんなエラーが出る。
実際に「ECMAScript 6」を選択したところ、エラーが表示されなくなった。
しかし、Mozillaのページを見ると構文は正しいようだ。Optionsを見ていたら、こんな項目を見つけた。
Severity Code Description Project File Line Suppression State Warning TS1148 (JS) Cannot use imports, exports, or module augmentations when '--module' is 'none'. Miscellaneous ...\OpenInPopup\options\options.js 14 Active
Text Editor→JavaScript/TypeScript→Project→General→importは「ECMAScript 6」から定義されているので、「ECMAScript 6」を選択するのが正しい。
実際に「ECMAScript 6」を選択したところ、エラーが表示されなくなった。
ラベル:
JavaScript,
技術文書
2018年7月29日日曜日
Web拡張機能の雛形を作成した
Web拡張機能の雛形を作成してGitHubにて公開した。
一部の要素はFirefoxでしか動作しないので、Firefox向け以外で使用する場合はそこは削除していただきたい。
汎用:
https://github.com/Soushi-Atsumi/General-Web-Extension-Template
ポップアップ用:
https://github.com/Soushi-Atsumi/Popup-Web-Extension-Template
サイドバー用:
https://github.com/Soushi-Atsumi/Sidebar-Web-Extension-Template
一部の要素はFirefoxでしか動作しないので、Firefox向け以外で使用する場合はそこは削除していただきたい。
汎用:
https://github.com/Soushi-Atsumi/General-Web-Extension-Template
ポップアップ用:
https://github.com/Soushi-Atsumi/Popup-Web-Extension-Template
サイドバー用:
https://github.com/Soushi-Atsumi/Sidebar-Web-Extension-Template
ラベル:
GitHub
2018年7月3日火曜日
サイドバーで検索 Ver2.0 リリース
Ver 2.0の新機能
・機能
https://addons.mozilla.org/ja/firefox/addon/search-in-sidebar/
・機能
・設定
・他
アドオンの画面から拡張機能の設定をすることができるようになりました。
使用する検索エンジンを固定することで、より高速にサイドバーで検索することができるようになります。
使用する検索エンジンを固定することで、より高速にサイドバーで検索することができるようになります。
・開発者向け
今までは日本語と英語のファイルが存在していましたが、全ての説明をmessage.jsonに移行して、「_ja」ファイルを削除しました。
検索エンジン情報を全てjsonファイルへ移行しました。
バージョンを60.0以上に限定しました。
検索エンジン情報を全てjsonファイルへ移行しました。
バージョンを60.0以上に限定しました。
https://addons.mozilla.org/ja/firefox/addon/search-in-sidebar/
ラベル:
Firefox 拡張機能,
サイドバーで検索
登録:
投稿 (Atom)