Physics-Station 2

旧 http://physics-station.blogspot.jp/ から当はてなブログに移行しました。間違ってるところがあればコメントください。記述の正確性は保証しません。

Windowsの設定を変更するとき1回目にしばらく動作を受け付けなくなる

Windowsを再起動した後、Windowsの設定を操作するときに一定時間(数十秒)ほど設定ができなくなる。 例えば、アクションセンターを開き、画面の輝度を変更しようとしたとする。 一回目は明るさを変更するためのボタン「おすすめ/明るい」などが表示されるが、…

Pocoで複数のPoco::Threadを管理してみる

筆者は世に出すサンプルコードのことを甘く見ているので、こんなコードではダメだということに気づかれた方は、お手数でもコメントにお書きください。よろしくお願いいたします。 Visual Studio 2013 は中途半端にC++11が実装されており、スレッドまわりの全…

テキストファイルの読み取りと、JSONファイルの読み取り方 特殊なサンプル1

ヘッダー #include <picojson.h> // あるファイルの情報を読み取り std::string read_txt(std::string filepath) { // ファイルの最初のbyteから最後のbyteまで読み取り std::string str((std::istreambuf_iterator<char>(std::ifstream(filepath))), std::istreambuf_iterator<char></char></char></picojson.h>…

Visual Studio の Cross Tools / Native Toolsって何?

x86_x64 Cross Tools Command Prompt for VS 2017 32bit パソコンで64bit パソコン用の実行ファイルを作る ただし、64bitパソコンでも動く x64 Native Tools Command Prompt for VS 2017 64bit パソコンで 64bit パソコン用の実行ファイルを作る x64_x86 Cro…

PocoをVisual Studio 2017でとにかくビルドするコマンド

Poco をダウンロードする。 pocoproject.org Visual Studio 2017の場合 x64 Native Tools Command Prompt for VS 2017 を起動し、次のコマンドを叩く buildwin.cmd 150 build all both x64 nosamples notests msbuild 「Windows SDK バージョン 8.1」が足り…

ATOK2017の日本語入力でVisual Studio 2017のGitのcommitメッセージを書こうとすると異常終了する

Visual Studioが異常終了します。常に異常終了するわけではありません。原因と解決をご存じの方いませんか? ちなみに、Visual Studio 2015でも同様の現象は起きます。過去にGoogle-IMEでVS2013及びVS2015を使っていましたが、同様の事象は確認していません。

robocopyでフォルダ間をコピーするときのメモ

Windows の堅牢性の高いファイル コピー よく使うコマンド robocopy "C:\src" "C:\dst" /S /E /R:0 /NP 1>log.txt /MIRはdstの削除をするので注意 /S :: サブディレクトリをコピーしますが、空のディレクトリはコピーしません。 /E :: 空のディレクトリを含…

bash on Windows

Windows上のUbuntuをアンインストール lxrun /uninstall /full Windows上にWindowsをインストール lxrun /install 32文字のパスワードを32個生成 pwgen 32 32 Ubuntuのバージョン cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_COD…

OneDriveと同期できません というエラーの解決方法を探索中

X個のファイルが OneDriveと同期できません。 エラー ファイルで遅延が発生しています。 解決方法 ファイルのダウンロード/アップロードは後ほど行います。 という表示が消えない。 やったことは、メインPC2個で、 onedrive /reset 同期にずいぶん時間がかか…

C#でMicrosoft Translator Text APIを使う、2017年1月1日以降も有効な方法

C#

日本語のドキュメントを見つけたぜ、と思ったのだが、罠にかかった。 qiita.com コメントにも書いたが、この方法は2017年1月1日以降は有効ではない。コメント欄でも紹介されていたが、 Getting Started with Microsoft Translator に書かれているとおりに進…

C++で任意の文字でstringを分割する方法

std::getlineは名前の通りstreamから1行ごとにstringを得る関数だが、デリミタ(delimiter)を指定することも可能である。分かれば簡単。 std::string str = "a_ab_abc"; std::stringstream ss(str); std::string item; std::vector<std::string> vitem; while(std::getline</std::string>…

Visual Studio 2017 + OpenCV 3.2.0 + x64の初期設定 とOpenCVに関する質問の受け付け(コメント欄へ)

Visual Studio 2017 x64 で OpenCV 3.2.0 を使う方法 OpenCVをとにかく使いたい。けどNuGetは使えない、使いたくないっていう人のために、2017/04/13時点での最新版のインストール方法を書きました。2.4.Xの頃と比べて.libの数が減って設定が楽になった。OpenCVは…

2個の自作クラスの配列(std::vector<MyClass>とか)から重複とかを探す

2個の数列(std::vector<int>とか)から重複とかを探す - Physics-Station2 の続き 2個の自作クラスの配列(ベクター)から重複等を探す方法。 #include <algorithm>に便利な関数が用意されている。 ソートして、重複を削除した後、set_intersection, set_union, set_difference</algorithm></int>…

OneDriveで非常に小さいファイルの同期が終わらない問題

OneDrive上でgitのリポジトリを管理している。 そして、頻繁にOneDriveの同期(アップロード)が終わらない問題が発生する。 gitのcommitのタイミングとOneDriveの同期のタイミングが衝突して、システムファイル関係が(MFT マスターファイルテーブルとか?)が変…

tan空間角度と、ラジアン空間の角度の話

3次元角度がtan空間で次のように与えられたとき ベクトル1 ベクトル2 角度差は cosθはドット積を用いて のように与えられるので、 よってΔθは となる arccosはC++だとacosで計算可能。

ELECOM LANケーブル LD-TWST/BM200 レビュー

問:カテゴリ7対応のLANケーブル、20メートル長で10Gbpsは出るのか? ELECOM LANケーブル 爪折れ防止 CAT7対応 20m ブルーメタリック 【PlayStation 4 対応】 LD-TWST/BM200出版社/メーカー: エレコム発売日: 2013/05/26メディア: Personal Computersこの商品…

ATOK Syncで環境設定を同期させる方法

ATOK Syncでアップロード+ダウンロードをしたつもりなのに、設定が一部しか同期されないという問題が発生した。 結論から言うと、現時点で、すべての環境設定を同期させる方法はない。 http://potato.2ch.net/test/read.cgi/software/1453634331/651 651 名…

PsExecにおけるコマンド例

ファイルを削除する /c PsExec.exe HOST -u HOST\user -p password cmd /c del /f filepath タスクキル /c PsExec.exe HOST -u HOST\user -p password taskkill -f -im program.exe batファイルを起動 /c PsExec.exe HOST -u HOST\user -p password -i C:\Us…

WPFで各種コントロールを動的に配置し、配置したコントロールにアクセスする方法

WPFで各種コントロールを動的に配置し、配置したコントロールにアクセスする方法。 stackoverflow.com 最上位の解答が役に立つ。分かってしまえば簡単ですね。 重要なところだけC#で下記に記す。 //コントロールの生成 var tbox = new TextBox(); //ここでは…

Pocoによる共有メモリの書き込み・読み出しの実装例

Pocoはc++のライブラリの一つで、boostより比較的軽量に設計されている。バージョン1.7.3を使って共有メモリの書き込み・読み出しの実装例を書いた。 読み出しでもAM_WRITEになっているのは読み出しで先にOPENしてしまうと書き込みのほうで例外が投げられる…

PocoによるTCP/IP通信のサーバー・クライアント実装例

Pocoはc++のライブラリの一つで、boostより比較的軽量に設計されている。バージョン1.7.3を使ってTCP通信のサーバー・クライアントの実装例を書いた。例外処理は甘いところがあるので適宜変更されたし。 サーバーの実装例 #include <iostream> #include <Poco/Net/Socket.h> #include <Poco/Net/TCPServer.h> #in</poco/net/tcpserver.h></poco/net/socket.h></iostream>…

PsExec でパイプの他端にプロセスがありません。と出るエラーへの対処

Error communicating with PsExec service on ****: パイプの他端にプロセスがありません。 というエラーが出たので、次のフォーラムの記述を参考に対処したメモ Windows タスクマネージャーから、全ユーザーのプロセスを表示して、PSEXESVC.exeのプロセスを…

OpenCVのgpu::countNonZeroをgpu::Streamで高速化する

cv::gpu::countNonZeroをgpu::Streamで高速化したいという需要があったので、その解決策を書いておく。 opencvの2系のcountNonZeroはstreamを使うことが出来ない。そのため、非同期処理を行い高速化する際のボトルネックになる。cv::gpu::reduceは2次元画像…

C# でWindows 上のプログラムのリソースを監視する

C#で以下のリソースの監視をしたいという需要があったのでサンプルコードを公開する。 使用メモリ量 ハンドル数 GDI オブジェクト数 User オブジェクト数 using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace Console…

Windows 10のアップデート後の不本意な再起動を止める方法

Windows Updateを生かしたまま、アップデート後の不本意な再起動を止める方法は存在しない。Pro版でも、Enterprise版でも。 なので、Windows Updateのサービスを止めるしかない。という結論にたどり着いた。 諦めよう、Microsoftが改心するまで。 blog.bagoo…

3Dの位置と角度を持った情報の2次元プロジェクションマップ

CERNが開発しているROOT (バージョン5)を用いた検出器内の飛跡を2次元プロジェクションに投影して描画する方法。 具体的には三次元情報を持つ飛跡を二次元に投影したい時に使う。 #include <vector> #include <random> #include <limits> #include <TArrow.h> #include <TGraph.h> #include <TAxis.h> #include <TCanvas.h> #i</tcanvas.h></taxis.h></tgraph.h></tarrow.h></limits></random></vector>…

2個の数列(std::vector<int>とか)から重複とかを探す

2個の数列から重複等を探す方法。 続きは 2個の自作クラスの配列(std::vector<MyClass>とか)から重複とかを探す - Physics-Station2 #include <algorithm>に便利な関数が用意されている。 ソートして、重複を削除した後、set_intersection, set_union, set_differenceを使ってみ</algorithm></myclass>…

δtanθ - tanθグラフをδθ - tanθグラフに変換する

より正しい記述へ phst.hateblo.jp tanθを0.1刻みで、δtanθの値が一律で0.1のときにδθを計算するコードの例。 #include <vector> void main() { std::vector<double> x, y; //tanθ δtanθ for (int i = 0; i < 20; i++) { x.emplace_back(i * 0.1 + 0.05); y.emplace_back(0.1</double></vector>…

OpenMPでfor文を高速化する

openmpでfor文を高速化してみよう。OpenMPを有効にするには、Visual Studioのプロジェクトのプロパティページを開いて、C/C++の言語のOpenMPのサポートをはい(/openmp)にする必要がある。 例として1から50000までの数が素数(prime)かどうかを調べてみよう。…

Visual Studio 2013でstd::min std::maxが使えなくなった時の対処

std::max - cppreference.com Visual Studio 2013以降、Visual Studio 2015も完全にalgorithmに移動したらしいので以下の記述が必要。 #include <algorithm> //必要 int main() { int i = std::max(1,2); int j = std::min(3,4); } ちなみにVisual Studio 2012以下は以</algorithm>…

メモリリークしているソースコードの行を特定する

#include <cstdlib> #include <new> #include <memory> #include <crtdbg.h> #define _CRTDBG_MAP_ALLOC #define new ::new(_NORMAL_BLOCK, __FILE__, __LINE__) void main() { int *i = new int; _CrtDumpMemoryLeaks(); return; } これをデバックモードで実行すると Detected memory leaks!</crtdbg.h></memory></new></cstdlib>…

catchしなかった例外が発生した際の ***は動作を停止しました「WerFault」を表示させない

問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindowsから通知されます。 を表示させないプログラムは以下のとおり。 #include <exception> #include <Windows.h> void main() { SetErrorMode(SEM_NOGPFAULTERRORBOX); t</windows.h></exception>…

マルチスレッドにおける例外処理の受け渡し (VC++)

別スレッド中の例外を、本スレッドに渡す方法のメモ。動作確認はVisual Studio 2013 C++で行っている。 詳しい説明は スレッド間の例外転送 を参照してね。 #include <thread> #include <iostream> //マルチスレッド用の関数 void f1(std::exception_ptr &eptr) { try { throw </iostream></thread>…

WiMAX 2+は下り速度4.5Mbpsしか出ない

タイトルで何もかも終わったんだが、下り速度を測定してみた。まずは一番重要な速度の一つ、アニメのHD画質が見れるかどうか。 確かにアニメのHD画質は見れるようだ。4.5Mbpsしか使っていないので、そもそも大したことはないんだが。 Re:ゼロから始める異世…

高速・安全・格安100TB ストレージを構築する

高速・安全・格安100TBストレージを構築してみよう。 安全なデータ領域を確保するためには、最低でもRAID1が必須だろう。 RAID 10を構築したいが、100TBもの領域をRAID0で構築しようとすると実データ領域で4倍必要になる。100TBの領域のために400TBの領域を…

10 Gbpsのテスト

10 Gbpsを導入したのでテストしてみた。 使ったのはIntel のイーサネットサーバーアダプター X520-2とNETGEARのスイッチングハブGS752TXS。 www.intel.com GS752TXS | Product | Support | NETGEAR NETGEARのCuのSFP+のケーブル とてもいいサーバー用パソコ…

ELSA GeForce GTX 780 S.A.C を分解

ELSA GeForce GTX780 S.A.Cを分解してみた www.elsa-jp.co.jp とても簡単に分解できた。全てのパーツを外すとこの通り。本体基盤の下がヒートスプレッダー、ヒートシンク、ファン・・・説明しなくても分かる、か。 サーマルグリスを除去したメインのチップ…