Hatena::ブログ(Diary)

たつさんのはてながき 第三期 Twitter

2017-03-12

進捗表示は厄介なものだ

今日はメールで指摘があったMulSyncの同期実行時のプログレスバー表示を改善して公開した。

MulSyncはC#.NET Frameworkで組んでいるのを生かしてワーカースレッドを起動しての実行、進捗表示管理、処理終了後の処理呼び出しといったスレッド周りを面倒見てくれるBackgroundWorkerクラスにおんぶにだっこできたので楽に改善できたのだが、長い時間がかかる処理とその進捗の表示というのは実に厄介なものである。

GUI周りはメインスレッドでないと処理できないので行いたい処理は別にスレッドを立ち上げて処理する必要がある。で、メインスレッドは処理を行うスレッドを待つ際に常に処理を行っているとCPUの実行時間を食うので適度にウェイトを入れる必要があるのだが、その間にも実際の処理は進んでいるのでメインスレッドでの進捗表示と実際の進捗を合わせるのは難しいものである。

どのスレッドからもGUI周りに手を出せる環境があったらなと思うのだが、そんな環境はあるのだろうか。

2017-03-05

ロングテールなんて所詮夢物語なのか

と思いつつ久々に自作掲示板をバージョンアップして公開した。

@niftyの@homepage終了に続き、掲示板サービスが終了するという話が出たときに、掲示板やめようかと思ったこともあったが、なんだかんだ言って自作ソフトの反響を聞くのに使われることも結構あって張り合いにはなるので、掲示板を続けることにした。

 という訳で、仕方なく自作掲示板を引っ張り出す。

 まず、以前の自作掲示板をやめたのはCGIの負荷の関係だったので心当たりがありそうなロックの部分を環境に依存するらしいflockではなく、ファイルのリネームにする。合わせて、ロックのタイミングをチェックする。また、@homepage→ホームページサービスへの移行でURL叩いて見えるファイルが異なっていたので、.htaccessを置くとともに.htaccessを効果的に設定できるよう、ディレクトリ配置を整理する。これでひとまず、人前に出せる状態にはなったかなと思う。というか、いかに今まで@homepageの環境に依存していたかを思い知らされる。

 次に通知。かつての@nifty掲示板サービスではRSS出力があって、新着チェックに役立っていたのでWeb日記を自前のCGIで出していた時の知識というか、書き方を引っ張り出してRSS出力を実装する。

 この状態で落ち着いてはいたのだが、先週スパマーの襲来があったので、何があったかと思ったらhttpsURL書き込むいたずら対策が漏れていたので布団の中で書き込み食らってはロールバックしながら、あわてて対処を行う。掲示板サービス使ってた間にhttps化が進んだんだなということを認識させられながら対処する。

 Webページでいつまでも古いバージョンを公開しているのもまずいなということで33回忌の墓参りから帰った後、確認と書きかけになっていたドキュメントの整備を行って公開する。

 今度はホームページサービスと掲示板CGIが続いてくれればよいのだが。

続きを読む

2017-02-26

.NET Frameworkでも多言語表示してみた

海外からリクエストがあったので、フォルダ同期ツールMulSyncを多言語対応してみた。

複数言語表示は以前、Win32VC++で書いているMeiryo UIも大っきらい!!でやったことがあるのだが、その時と比べるとプログラミングは全く簡単だった。

今回は.NET FrameworkWindows Formsでの挑戦となるのだが、Win32VC++でやった時と比べると実に楽だった。

GUIデザイナーで既定の言語に英語書いて、フォームのLanguageプロパティを切り替えて日本語にしてから日本語を書くだけで言語に応じて文言切り替えてくれるし。表示する文字列はResources.(ja-jpなどの言語名).resxという名前でリソース作ってソリューションエクスプローラーのPropertiesの下に移動しておき、リソースから読み込めばあとは勝手にやってくれるしとヘルプ以外はいろいろとそろっているので本当に楽なものである。

言語リソース読み込みとか文言切り替えとかWin32では自分で書いてたことを思うと全くもって楽なものである、今回はC#なので文字列の扱いも楽だし。

続きを読む

2017-01-15

RunWithSize Version 1.0.2をリリースしました

 題名通り、RunWithSize Version 1.0.2をリリースしました。

 今回は、いつもFirefoxを右端に置いているのできっちりと右端において起動したかったということと、VMWare Workstation Playerを起動するときにやたら大きいサイズで起動してもしょうがないということで、起動位置の右端、下端の指定と幅・高さの指定の省略機能を付けました。

 あれ?幅・高さの指定を省略するとソフトウェアの名前と動作が違ってくるなぁ。まあ、いいか。

続きを読む

2017-01-03

書初め

もう3日ですが、新年あけましておめでとうございます。

今年もよろしくお願いします。

ということで、今年の書初めは新作(と言っても小さなツールだけど)Windows用のプログラムを指定したサイズ、場所で起動するツールRunWithSizeを新しく公開しました。

昨年大みそかに大掃除していて、弟が使わなくなって捨てた1024*768ドットの液晶モニタをサブディスプレイにしたら動画サイト見る時など便利かなということで押し入れから出してきたのはよいが、ウインドウを小さくしたり、移動したりするのが面倒ということでベクターあたりを探したけど、見つけることができなかったので作ってみたというのが作ったきっかけだったりします。

続きを読む

2016-12-30

旅の思い出は取り込んでおこう

12月30日になってようやく年賀状を作った。

せっかく、複合機の電源を入れたのでかつて旅行に行ったときの入場券とかを取り込んでみた。

この手の入場券もまた、旅の思い出になるのだが、感熱紙を使っているものについてはぎりぎり文字が見えるくらいまで印刷が劣化していたものもあって、さっさと取り込むんだったなと思ったしだいである。

入場券の印刷には感熱紙は使って欲しくないものだ。

2016-12-25

GitHubはじめました。

KDDIによるビッグローブ買収のニュースを聞いたときに、Webページを置いている@niftyについても買収を検討しているというニュースがあったので、どうしたものかとTwitterで言っていたらGitHubとか検討するのも良いんじゃというレスがあり、自分の作ったものを置く拠点は多い方がよいだろうと思っていた。

それとは別に、本業の方でgitを使うという話が出ていて慣れようと思ったのと、Meiryo UIも大っきらい!!の国際化にあたって、ソースを開かれたところに置いておいた方がOSの言語の自動判別部分を作るのに有利かなという思いがあった。という訳でGitHubアカウントを作ってみることにした。

とりあえず、@ITの記事はじまりはいつもプルリク? GitリポジトリホスティングサービスGitHubとはを見て、アカウント作って、Windowマシンで行う git-svnでのSubversionからGitへの移行方法を見て、ソースをMIT LicenceにしているMeiryo UIも大っきらい!!とRe-Metricsのソースを公開してみた。

やり方は、先ほど挙げたページの通りだが、タグの移行についてはVisual Studio 2015 Update 3で入れたGit for Windowsでは

$ git branch -r | egrep --text "tags/" | cut -d / -f3 | xargs -iVAR git tag VAR origin/tags/VAR

とcutコマンドで切り出すフィールドの位置とタグ作成のコマンドを調整する必要があった。

今後、使われるかどうかはわからないが、オープンソースにできるものは出していって使ってみようと思う。