趣味のプログラム工房

2019年08月

Windowsでフォルダの監視・同期 inotifyのような、、、

Linuxではinotifyという仕組みで通知を受け取り、
ファイルの更新をチェックすることで、フォルダ・ファイルの監視ができるのですが、Windowsでは無いようなんですよね。

なので、リアルタイムファイル同期ファイル同期をするためにはと調べたのですが、ちょうどいい感じのソフトは転がっておらず、、、

一応、.NETにて「System.IO.FileSystemWatcherクラス」を使えばいいらしいことがわかりました。
実装自体はわりと簡単みたいなので、作ってみました。

FileSystemWatcher


引数に、監視フォルダと、コピー先を渡してあげると、
監視フォルダに新しいフォルダやファイルが作られるとコピー先にコピーされるという動きをします。
2つのフォルダで同期をとるときに使います。

2019/08/17 一部の起動方法にてCPU使用率が1コア占有となる不具合を対策(4コアの場合はCPU使用率25%となる不具合)

また、Windowsサービス版を作成
FileSystemWatcher サービス化版

2019年08月07日


ThinkCentre M715q Tiny Ryzen5 2400GEの省電力性能

最近は、省電力性能に関するベンチが少なくなってきていて、なかなか情報がありませんね。。。

最近購入した、ThinkCentre M715q Tiny Ryzen5 2400GEについて、
消費電力を計ってみたのでレポートです。


構成は、
ベース:ThinkCentre M715q Tiny
プロセッサー:AMD Ryzen 5 PRO 2400GE
メモリ:8GB(標準)
ストレージ:intel 760p SSDPEKKW256G8XT


立ち上がりでは、40w程度まで上昇しますが、
アイドルでは、驚異の6.2W

HDMI出力つけると7Wになるけど、いずれにしても消費電力すごい低いですね。

震災の辺りで省電力PCが流行ったころとはレベルが違います。
あの頃は1桁台ですら厳しかった。。。

最近は、何も考えなくても、このくらいの数字が出ちゃうから省電力については誰も気にしないんですかね。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

AMD(エーエムディー) Ryzen 5 3600 BOX品 (100_100000031BOX)
価格:26427円(税込、送料無料) (2019/8/14時点)



2019年08月14日


2019/8 2万円以下で本格的なゲームをしない人の為のPC

Linuxでいろいろ遊ぶようにそこそこの性能のPCが欲しいこの頃。
というわけで、いろいろ物色していたところ、
2万円ほどでPCが組めてしまうことに驚いています。

PCの構成上必須なのとして、

CPU:AMD CPU Athlon 200GE Vegaグラフィックス搭載 ¥ 5,840
マザーボード:ASRock A320M-HDV R4.0 MicroATX マザーボード ¥ 6,242
メモリ:TEAM DDR4 2666Mhz PC4-21300 4GB デスクトップ用 Elite Plus シリーズ 日本国内無期限保証(永久保証)正規品¥ 2,698
ここまでで、¥ 14,780

これに、SSDやケース、電源を入れて2万ちょい~3万というころでしょうか。
ただ、ストレージや、ケース、電源は結構流用できたり、余りがあったりするので、不必要な場合も多く、最低限となると、やはり、1万5千円ほどで、
新しいPCが組めてしまうというわけです。
というか、フルでそろえるなら、LenovoのThinkCentre M715q Tinyでいいじゃんとなる。

CPU、、、結構安いのですが、これがまた意外とコスパいいんですよ。
最新のPentium Goldに匹敵する性能で値段は安い。
ワッパ、コスパは最高。

ただ、HDMI出力に難ありなようなので、マザボは選ぶ必要がるみたいです。
上のマザボは対策済みだそうですが、、、
今今、メインで使ってるのが、Pentium G5400なので、それよりも高性能ってことですね。(Ryzen3のPCもあるけど、こっちは書斎に置くプロジェクター用なので普段使いはしていない)

買ったばかりですが、、、新しいPCがほしいなぁ
2019年08月19日


Windowsサービスのアプリからネットワークドライブが参照できない

Windowsサービスのアプリからネットワークドライブが参照できない問題が発生しました。
先日公開した、「FileSystemWatcher」の関連。

別に、FileSystemWatcherに限ったことではないですが、
Windowsサービスのアプリからネットワークドライブ(windowsファイル共有)の共有ディレクトリが参照できないんです。

エクスプローラー上からは普通に参照できる、
また、コマンドプロンプトでFileSystemWatcherなどを使った場合も問題はないのに。


原因は、実行ユーザでした。
windowsサービスで動かすと、「Local Service」といったアカウントで実行されます。
そのため、普通のユーザではアクセスできているネットワークサービスからはアクセスできないという問題が発生するようです。

対処方法としては、管理ツールのサービスから
該当のサービスのプロパティを開き、「ログオン」のタブで、実行アカウントを設定してあげるです。

あとは、場合によって、コントロールパネルの、資格情報マネージャーで
資格情報の登録を行っておけばよいかと思います。


2019年08月22日