2013年02月08日

アンプを買いました。

お正月に、日頃の自分のご褒美でAVアンプを買いました。
妻が快く許可してくださったので、本当にありがたく思います。
いつもありがとうございます。

さて、購入したのは、ONKYO TX-NR616ブラックです。
さらに、音響系のものは特に持っていなかったので、スピーカーとケーブルも買いました。

スピーカーは、フロントにB&WのCM1 ピアノブラックです。ただ、ネットではCM1はなかなかセッティングが難しく、ボーカルが奥にいるような印象になるとのことで、センターを別途つけました。安かったのでONKYOのD-109C ブラックです。
ケーブルはNANOTECの安いものです。安いお陰で、CM1にバイアンプ接続しています。
最初は普通に接続していましたが、低音の響きが気になって途中でバイアンプに変えました。


私が聞くのは、クラシックのブラームス、小澤征爾とサイトーキネン、あと、坂本真綾、UVERworld、COLDPLAYが多いです。変な組み合わせです。。。

全部個人的な印象と評価ですので、あてにはなりません。。。

が、さて、まずはアンプの評価です。
実はYAMAHAのRX-V773、DENONのAVR-2213と迷っていましたが、お店で聞いた感じでは、性能的にはTX-NR616が一番かなと思いました。当然それぞれお店でセッティングされていた場所もスピーカーも違うので、一概には言えませんが、TX-NR616が一番クラシックのピアノと静寂さがきれいで、聞き疲れしませんでした。
迫力ではDSPがあるのでYAMAHAです。そして、DALIのスピーカーで聞かされたDENONが最も音色が暖色系に変わってしまい、元からずれてしまっていて気に入りませんでした。
あと、TX-NR616は値下がり感が強く、安かったです。。。

フロントのスピーカーは、結構ヨドバシカメラでよく聞く曲を長時間、店員さんに聞かせてもらってじっくり考えました。

最初はONKYOのD-412EXか、YAMAHAのSoavo-900Mもしくは、NS-B750を考えていました。
でも、クラシックが何か違う、UVERworldのボーカルも何か違うなということで、やっぱり海外も聞いてみようということで、色々と聞いてみました。
DALIのZENSORはもっと暖色系になってしまったので、ここはB&Wの685へ。。。でもやっぱり違う。。。
値段を見ていると、お小遣いとしてはここまでか。。。と思っていたところ、店員さんからQUAD 11Lを聞かせてもらいました。
おお、全然違う。。。では、KEFやTANNOYは?と思ったのですが、こっちを聞いてしまうとやっぱりKEFもいい。。。
でも、こっちまで行くなら近い価格帯のB&WのCM1は?と思って聞かせてもらったところ、一番音のこもりが少なかったのがCM1で、元の原音に近いように感じました。
後で知りましたが、CM1のCとMは、Compact Monitorの略の可能性があるらしく、モニタースピーカーということで納得しました。
最終的に、D-412EXの倍のお値段のCM1にしました。。。あらま。。。

正直CM1にしてよかったです。ですが、最初家でセッティングした時、低音がとても暴れて、ドコドコ響きました。リアのバスレフポートにスポンジは入れてません。。。そして壁から10cmぐらいしか距離がない状態でした。。。

それはそれは酷い状況でしたので、壁から20cm離してみたら、かなりよくなったのでそのままにしました。。。本当は50cmは離したいですが。。。

CM1は確かにネットの評判通り、フロントのみで聞くとボーカルが奥気味に感じます。ですので、センターをつけました。というか、案外ONKYOのスピーカーは音がよくて、D-509シリーズで揃えてしまうのが一番良かったかもなんて思う今日このごろです。

アンプの設定でセンターの音量を小さめにして、DOLBY PLUもしくは、センターなしのPure Audioで曲を聞いています。
今までSONYのアクティブスピーカー、SRS-D5で聞いていましたが全然違います。。。


本当に高かったですが、本当に良い買い物をしました。
posted by Kiruahさん at 20:00| Comment(0) | TrackBack(0) | 日記

2013年02月07日

当事者意識が欠如したプロジェクト

去年からとても大変なプロジェクトに途中からがっつり参加することになり、まったくブログも何も書けないぐらい忙しい状況になってしまいました。
やっと1月末でプロジェクトがだいぶ落ち着きまして、プロジェクトから抜けることができました。
とはいえ、2月からまた残念なほど状況がよろしくないプロジェクトのため、どう切り抜けていくか悩む状況です。

1月末まで参加していた案件ですが、元々は私はあまり関係のないプロジェクトでした。
プロジェクトが2つ独立して走っていて、その2つが少々内容に類似性のある珍しい感じのものでした。
よって、独立はしながら最初私が参加していたプロジェクトの方では他方のプロジェクトを少しお手伝いして行きましょうという感じになっていました。

完全にお手伝いの気分です。
それが去年の初夏ぐらい。
ですが、私はプロジェクトをお手伝いしてはいましたが、プロジェクトの状況やスケジュールまでは見ていませんでした。そこが敗因です。逆に言えば、その程度のお手伝いだけやっていた感じです。

晩夏には、プロジェクトが遅延しており、フレームワークがほとんど動作しない状況であることが判明しました。
ですが、その時も私は状況を知りながら見ていました。

たぶん、相手方のプロジェクトメンバーは、なぜ知っていて見ているだけなんだと思っていたことでしょう。
逆に言えば、相手方のプロジェクトメンバー、つまり現場レベルでは「やばい」というのは認識されており、上だけが理解できていなかったということです。


本当に私は最初、「うんうん、それは大変だね」というだけで、何も手伝いもしませんでした。
それが本当に敗因で、後から考えれば残念な状況となった一番の原因かとは思います。

言い訳がましいですが。。。
ですが、私はずっと、本当は私が入らないでも、自分たちで状況を上にエスカレーションし、自分たちで状況の改善をして欲しいと思っていました。

ただ「これはやばい」、「手伝って欲しい」というだけでなく、自分たちが率先してもっと行動して、何がどうまずいのかちゃんと警告をあげていき、その上で上司から「どうなっているの?」と私に話が来るよう、現場レベルから行なって欲しいと考えていました。
が、現場レベルからは「PMが話を聞かないからどうしようもない」ばかりで、では話を聞かないならどうしたら良いかは考えがない、まるで他人事、頼みが叶うのをずっと待っている、そして文句だけをいう状況だけでした。

本人たちは一生懸命だったとは思います。
でも、自分たちで状況を改善するという意識が見えず、ずっと他人事のような感じだったのが気になりました。


私はよく、「プロジェクトの中で問題をずっと包み込んでいることは問題。なぜもっと早く相談しなかったんだ」と思いますが、今回は明らかに全員、当事者意識が足りず、「誰かがなんとかしてくれる。なぜなら、上がなんとかなるって言っている」ということで、危機感はあるけど何もしない状況が続いていたのが気になりました。


最終的に私もどっぷりと中に入り、プロジェクトの立て直しをすることになってしまいました。

目的意識や、他人事ではなく当事者意識をしっかりとプロジェクトメンバーが持てるように上がコミュニケーションを取る、また上層部自身もそのような意識を持つよう行動する必要性を感じた今日このごろです。
posted by Kiruahさん at 20:00| Comment(0) | TrackBack(0) | 日記

2013年02月05日

ひさしぶりのブログになってしまった。。。

去年から色々と作りたいものがあるのですが、なかなか作れず。。。
プロジェクトが忙しかったのですが、最近年齢なのか、プログラムをするには集中力が足りていない気がします。

kommons-libはまだバグがあったり、作り足りていないものがあります。
早めに着手したいところです。

あと、画面系ではJava FXがもしかしたらいいかなと思う今日このごろです。ですが、SWTもなかなかです。

がんばります。
では、今年もよろしくお願い致します。
posted by Kiruahさん at 15:49| Comment(0) | TrackBack(0) | 日記

2012年07月10日

今、いろいろと作りたいもの

最近、とても物欲が強いのか、いろんなものが欲しくなってきてしまっています。困ったものです。そのほとんどはしかも、ほぼ実在しないような代物です。
今はすぐに作れるものなので、現在作成中のものは、javaの特殊なクラスローダーです。
すでにplay frameworkで実現はほぼできているのですが、ソースをコンパイルすることなく利用できるスクリプト言語みたいに利用できるjavaのクラスローダーを作りたいと思っています。

どうしても大企業病なのか、新しい言語は誰も習得できませんので、既存のgrooovyみたいなものが使えればいいのですが、そうもいきません。
そして結局コンパイルでデプロイミスも多く発生しています。
なので、デプロイはソースにして、あとからでも差分比較できるようにしたいといつも思っています。

また、それだけでなく、シェルスクリプトなどの運用コマンドやインストーラーなど、あらゆるものをjava一本にして行きたいと考えています。exewrapというものもあり、とても便利なのですが、今のところはWIndowsのみですし。。。
その一環でjcwebもまだ途中ですが開発しています。

道のりは遠いですが、何とか一本化できるよう、頑張りたいところです。
posted by Kiruahさん at 01:00| Comment(0) | TrackBack(0) | 日記

2012年07月09日

家族で東北に旅行へ行ってきました

今回は土日で家族で中尊寺、十和田湖、松島方面へ一泊二日で弾丸とラベルしてきました。
弾丸とはいえ、ちゃんとしたツアーです。最初は新幹線でしたが、途中からバスでいろいろと周ってきました。
東北地方は大学院時代に米沢に勉強に行ったぐらいしかなかったのでとても楽しかったです。

ちょっと初日はお天気が悪かったのですが、翌日は晴れてとても良かったです。
とても楽しい旅行でした。またツアーででも今年か来年にいけたらいいですね。
楽しみです。
posted by Kiruahさん at 21:17| Comment(0) | TrackBack(0) | 日記

2012年07月04日

kommons-lib 0.27に入れる予定の簡単な機能

現在kommons-lib 0.27を時間をかけて準備中です。
やはりteterの精度がよくなく、新規で作り直しているところです。
ただ、あまりにリリース時期が伸びており、また、poi2ccでもリリースして修正すべき不具合もみつかっているために、teterを省略してリリースしようかとも考えているところです。

どうでもよいのですが、どう考えてもやっぱいteterは「チーター」とは呼べないのでスペルを変えてしまいました。。。

さて、今回は少々話が代わり、kommons-lib 0.27に入れる予定の機能のうち、ブログで紹介するのにちょうど簡単なちょいプロみたいなものがあったので、早めに紹介しようと思いました。

本当に大それた機能ではありません。kommons-libを利用していますが、ファイル入力処理を記述すると以下のようになります。ただし、close処理は省略しています。


FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;

try {
fis = new FileInputStream("ファイル名");
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);

String text = null;

while ((text = br.readLine()) != null) {
// text処理
}
}....(省略)


ここで私があまり好きではないのが、whileの中の条件です。条件なのですが代入込みです。
この場合であれば、


try {
fis = new FileInputStream("ファイル名");
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);

for (String text = br.readLine(); text != null; text = br.readLine()) {
// text処理
}
}....(省略)

と、for文にまぜてしまえば、continueを利用しても副作用的なミスは起きにくいでしょう。
ですが、これもまだなんだか好みではありません。
できれば、もっと良い感じのロジックがいいなと思いました。
そこで、Holdというクラスを無駄に作成しました。Holdを利用すると以下のようになります。


try {
fis = new FileInputStream("ファイル名");
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);

Hold hold = new Hold();

while (hold.setEscapedNull(br.readLine()) != null) {
String text = hold.get();
// テキスト処理
}
}....(省略)


正直、無駄が増えたようにしか見えませんね。でも、個人的にはこちらのほうが好きです。単に好みの問題です。ただ、ポイントはHoldは拡張可能です。今現在のHoldクラスはカウンタがついています。よって、


try {
fis = new FileInputStream("ファイル名");
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);

String text = null;
int count = 0;

while ((text = br.readLine()) != null) {
count++;
// text処理
System.out.println(count + ":" + text);
}
}....(省略)

なんていうコードはHoldを利用すれば、

try {
fis = new FileInputStream("ファイル名");
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);

Hold<String> hold = new Hold<String>();

while (hold.setEscapedNull(br.readLine()) != null) {
System.out.println(hold.getCount() + ":" + hold.get());
}
}....(省略)

となります。ここまで来るとだいぶすっきりです。

最後にHoldのソースを記載します。参考までにどうぞ。kommons-libに入りますので、kommons-libと同じApache License 2.0となります。


package com.kiruah.kommon.jvalue;

/**
* 値を単純に保持するための仕組みを提供します。
*


* whileやforのループの中で以下の代入文が記述されることがあります。
*


* while ((v = func()) != null) {
* // 処理
* }
*

* これはwhileの中で代入処理と比較処理を同時に実行しています。意味や可読性、記述性の面で優れていますが、
* Kiruahは処理を分割したいため、以下のように記述させます。
*

* v = func();
*
* while (v != null) {
* // 処理
*
* // 次の処理
* v = func();
* }
*

* このように記述させることのメリットはあまりありません。単に好みです。
* ですが、funcの呼び出しが分断されるため、分断されないようにするため本機能を提供しています。
*

* Hold h = new Hold();
*
* while (h.set(func()) != null) {
* T v = h.get(); // そのままh.get()を利用しても良い
* // 処理
* }
*

* このクラスのメリットはありませんので、記述上同じ好みを持つ方が利用されることを想定しています。
*


*
* @param ジェネリクス型
* @since 0.27
* @author Kiruah
*/
public class Hold {

/** 保持する値 */
protected T value = null;

/** カウント */
protected long count = 0;

/**
* デフォルトコンストラクタ
*/
public Hold() {

}

/**
* 初期値を保持するコンストラクタ
*
* @param value 初期値
*/
public Hold(
T value) {

set(value);
}

/**
* 値を保持します。
*
* @param value 保持させたい値
* @return 保持させた値
*/
public T set(
T value) {

this.value = value;
count++;

return value;
}

/**
* 値を保持します。

* 値を保持しますが、不正な値の場合(例えばファイルリードの終わりがnullとなるようなケース)において、
* nullの場合カウント結果を累積させない場合に利用します。これはnullを利用する厳密なカウントアップ処理の
* 場合に有効に利用できます。
*
* @param value 保持させたい値
* @return 保持させた値
*/
public T setEscapedNull(
T value) {

this.value = value;

if (value == null) {
return null;
}

count++;

return value;
}

/**
* 保持させた値を返却します。
*
* @return 保持させた値
*/
public T get() {

return this.value;
}

/**
* カウント値を返却します。
*
* @return カウント結果を返却する
*/
public long getIndex() {

return count;
}
}

posted by Kiruahさん at 01:00| Comment(0) | TrackBack(0) | 日記

2012年06月30日

Eclipseのマニュアルを書くつもりが。。。

ずっとEclipseの使い方マニュアルを書こう書こうと思っていたのですが、結局かけずじまい。そうこうしているうちに新しい4.2 Junoがリリースされてしまいました。

うーん、私も作業が遅いなと思います。反省すべきです。
今年はより計画的に作業を進めたいと思う次第です。
posted by Kiruahさん at 14:11| Comment(0) | TrackBack(0) | 日記

2012年04月08日

相手を思いやることが重要なのではなく、相手の立場になることが重要なのです

新しい年度、今年も新人も会社にたくさんきたようです。
素直におめでとうと思います。

さて、少し関係がないのですが、新人にもやっぱり、優秀な新人、そうでない新人といたりします。
ましてやコンピュータ業界では、できる新人の中にもいくつか分類があります。

・話が得意で営業向きな方(こういう方は後からコミュニケーションで悩むことも多いようですが)
・技術だけが得意な方(こういう方も後から悩むことも多いです)
・どっちも得意な方(こういう方は両方評価されないか、どちらかしか評価されません)
・うまく立ちまわるのが得意な方(こういう人が出世します。が、下から使えないと言われる率も)

ここで一つ、こういう会話があったとします。

Aさん「Bさんはコンピュータに詳しくて本当にすごいよね」
Bさん「そんなことないよ〜」
Aさん「Bさんはだって、コンピュータに詳しいから、勉強しなくても研修の内容ができるから羨ましい。私はついていくだけで精一杯」
Bさん「私はたまたま知ってただけだよ。皆もすぐに頑張れば追いついちゃうと思うよ」
Aさん「スタートからこんなに差がついてたら、ずっと負けちゃうよ。これからもずっと教えてね」
Bさん「そんなことないと思うよ、勉強すれば。でも了解」
Aさん「勉強はやってるんだけどね〜。今週も土日は飲み会なんだ」
Bさん「へぇ〜、友達多くて羨ましいね。いいなぁ。私は今週も家でパソコンで遊ぶだけだからね」
Aさん「パソコンが趣味っていいよね」
Bさん「いいでしょ〜」

どちらがどちらとは言いませんが、実はこれはある一方からもう片方への嫌味の言葉です。
また、突っ込みどころ満載なのは、私の語り方が下手だということでご了承くださいませ。
さらに言えば、私の卑屈感も出ていますが、こちらもご容赦くださいませ。


言いたいことはそんなことではなく、上の「実はこれはある一方からもう片方への嫌味の言葉です。」に対して、何も思わなかった方もいるでしょう。。。

人はそんなに表面だけでは分からないものです。心情、その時の心境、状況、ましてや過去、それが例え10年以上もの友人関係で会ってもわからないことが多いです。それだけ人間は嘘ではなく、隠しているのでもなく、伝わらないものがあります。

これは、状況によっては両方共嫌味を言っています。

片方は、
「何もしないでもコンピュータが最初からできて、研修もできて、きっと仕事ができるんだろうね。あなたにはどうせ、研修が分からない私の苦労は分からないくせに。最初からできる人は苦労がなくていいね。仕事も楽で。でも、コンピュータばっかりで私生活つまらなそう。まぁ、オタクだからコミュニケーション能力はない人だよね。」と思っているかもしれません。

もう片方は、
「幼い時から頭が悪い子と言われ、何も認められず、そう言われ続けてきた。毎日少しでもその状況を変えたいと、努力して、何でもなぜなのかを考えて、教えてもらわずに生きてきた。やっとその中で少しは自分でも好きなものを見つけて、頭が悪い中でもじっくり時間をかけて理解してきた。だから、私ほどに努力しなくても、簡単に同じステージに今いるあなたが私にはとっても羨ましい。遊んでなければすぐに負けるし、遊ばなければいいのに。」と思っているかもしれません。

どっちもどっちです。
そして、どっちの状況も変わるものでしょう。未来もまた分からないものです。


これだけでも人間関係なんて、推して知るべしなんて簡単に言えないぐらい複雑なもので、分かり合えないことも多いです。それが例え、「こいつはいいやつだ」なんて思える人間どうしてあったとしてもです。

余談です。プロジェクト管理なんかは特にそう。今の管理は人はあくまで頭数。工数だけがモノを言う。誰が作るか関係ない。作る人が決まった後で倍率を単純に決める。そんな程度です。
そこには、どういう手順で、またどういう人を割り当てて、何を知ってもらいたいか、どういう教育を裏でやっていくかは作戦としては全くないのが、IT業界の今のプロジェクト管理に見えます。
できればいい、たしかにそのとおりです。でも、何ができればいいのかは、もっと考えたいと思います。そう、人とはそんなに簡単なものではないのだから。何をやりたいのかをきき、それにできればあわせて、考えたりチャレンジする場面も用意したWBSを作ってあげたい。
いつも、WBSを作る前に色々な人に何を考えているか聴いてまわります。それでもうまくいかないぐらい、何でも難しい。


いつもですが、言いたいことが感情的すぎてまとまりがないのですが、人は相手の立場も状況も過去も何も分かっているわけではないのです。
相手を思いやっている、相手に優しくしてあげるのではなく、それでも私はできるだけ、相手になったつもりで行動できるよう、これからも切磋琢磨していきたいと、改めて考えました。

HUNTER☓HUNTERで素敵な言葉があります。「その人を知りたければ、その人が何に対して怒りを感じるかを知れ。」

これも同じ事を言いたいのかなぁとか、勝手ながらに解釈したりしています。
posted by Kiruahさん at 09:00| Comment(0) | TrackBack(0) | 日記

2012年04月03日

ExcelハードコピーツールVer1.2の仕様変更について

1.2のリリース候補を利用して、Windows 7やOffice2010、Windows xp、Office2003等でテストを実施した結果、Windows 7のAEROとこのツールの相性はあまりよくないことに気づきました。

特に、ALT+TABを押下しても直前のウィンドウに遷移しないことがあるだけでなく、GetForegroundWindow()→GetDCEx()でデバイスコンテキストを取得し、メモリビットマップに転送しているのですが、そうすると半透明のウィンドウ枠が真っ黒になってしまいました。。。

これはPrintScreenでは発生しないため、GetDCEx以外か何かオプションが増えたりやり方を考えないといけないのですが、Windows xpでも動作させたいため、PrintScreenを押してクリップボードから画像を取得するという、原点の方法に戻そうかなと考えています。

また、設定も複雑ですので、設定画面を別途用意し、また、連続取得機能を用意したいと考えています。

とすると、1.1までと全く違う実装ではないかという反省が。。。

ごめんなさい。作ってみたら甘かったです。
元々は単純に画面のハードコピーを撮りたかっただけなのですが、色々と機能をつけていったら、、、よくばりすぎました。。。
posted by Kiruahさん at 21:42| Comment(0) | TrackBack(0) | 日記

Excel2003からExcel2010に移行するにあたって パート2

以前、「Excel2003からExcel2010に移行するにあたって」にも記載しましたが、Microsoft社にも互換性に関する情報がありましたので、あわせて情報連携と称して勝手ながらリンクしたいと思います。

1. 「Office2010 ホワイトペーパー : 互換性、マクロ、ファイル」のうち、特にマクロ互換性についてを参照ください。
概ねの内容について互換性がありますとありますが、AccessではExcelへのエクスポート機能が無効であったりします。またCommandBarsについて触れられていますが、CommandBarsにはテキストやコンボボックスも貼りつけられたり、縦方向に表示することもできます。そのような実装をしている場合については、検証されていない可能性があります。よくテストが必要だと勝手に考えています。

また、Declare文(つまりはWin32 API等を使う場合)について、32/64ビット版のうまい解決策が掲載されています。これについてはこれから検証してみます。

2. 「Office 2010 アプリケーション互換性ガイド
こちらはテスト計画、テスト方針を検討する上で参考になるかもしれません。ただし、事前に利用しているVBAの機能、ActiveX(COM/DCOM)が分かっており、それらがOffice2010でも動作することがベンダーによって保証されていることが前提と考えるべきでしょう。

問題は、上記では解決できない不具合は諦めるしかないのか?それとも別の実装を検討すべきなのか?です。
工数、つまりお金に関わる問題でもあるため、ここは顧客と相談が必要なのですが、そもそもその相談に必要となる情報を提出しにくいのが難点です。
すでにMicrosoftだからという理由は通用しない世の中だと思います。というか、最初からリバースを許容するライセンスなら、通用しないのは当たり前だったりするのですが。。。
(私ならリバースが許容されているならリバースしてしまいますし。。。)

昔、MicrosoftのSQL Server(正確にはMSDTC経由での複数サーバ間のトランザクション管理で、XIDが重複して採番されるためにSQLServerのトランザクションがゾンビになるという事象ですが)について不具合があった時、MSDNに入っていて会社経由で問い合わせたからだったからか、都合により情報を提出できず、Microsoftの担当の方から「これ以上は無理です」と言われ、「じゃぁ、うちで調べるからリバースしてもいいですか?」と聞いたら、しばらくの後「OK」と言われたのは良い思い出です。
posted by Kiruahさん at 01:00| Comment(0) | TrackBack(0) | 日記

2012年04月01日

Excelキャプチャツール1.2をテスト中

そんなに必要となる場面もないように思うのですが、
Excelキャプチャツール1.2を実装、テスト中です。
近日中にリリースできるのではないかなと思います。

とりあえず修正点は以下の通りとなります。

・64ビット版ではエラーが出るため、事前に宣言をコメントとして用意しました。
64ビット版用のファイルを用意しても良いと思いますが、そうするとソースのダブルメンテになるので、それを解決できるような仕組みが欲しいです。

・PrintScreenキーによるショットも取得可能に変更にしました。むしろ、スクロール時のショット取得開始キーをShiftからPrintScreenに変更しました。
ショット取得開始キー、手動キーはF3セルの取得タイミングより選択できるようになっています。
CTRLの場合 : CTRL
Shiftの場合 : Shift
それ以外の場合 : PrintScreen

・スクロール終了検出がWordでは甘いことが多かったため、チェックの内容を変更しました。その代わり、少し低速です。。。

・別ショットを選択した場合、全てのショットを取得してから貼り付けるのではなくショットを取得、貼付けを繰り返すようにロジックを分割しました。


使う人も少ないとは思いますが、もう少々お待ち下さいませ。
私はこれなしではもう、Web画面のテストはできないですが。。。
posted by Kiruahさん at 14:02| Comment(0) | TrackBack(0) | 日記

2012年03月27日

Excelキャプチャツール1.1を実践投入しようとして感じた雑多なこと

Excelキャプチャツール1.1を実践利用してみて、やっぱりまだ環境依存が強いところがあるなと感じました。

まずは私の環境では、SHIFTを押すまでスクロールが開始しないのですが、Windows 7では勝手にスクロールが開始したりします。これはもしかしたら、非同期のキー状態取得方法が問題か、キーをそもそも変えたほうがいいかもしれません。

次に、これは想定外でしたがWindows7 64ビット、というか64ビットOSではPtrSafeをWin32API宣言部に追加する必要がある点です。

最後は、前はちゃんと撮れていたのですが、Windows xpとOffice2003にて、Excel2003が表示するMsgBoxにシステムモーダル + 全面表示オプションを指定するとどうやら、メッセージボックスをキャプチャできなくなるみたいです。これはMsgBox修正前は取得できていました。

こちらはWindows 7のOffice2010では取得できますし、画面全体キャプチャという逃げ道がありますが、$infoでメッセージボックスの中身を自動取得できないのは残念です。

これら3点について、対応を考えたいなと考えております。

またやっぱりスクロールは遅いです。ここはSendMessage(都合でPostMessageを使っていますが)で、スクロール幅を指定しながらスクロールさせるほうがスクロール幅が分かっているので楽なのですが、IEでのスクロール幅がうまくとれないので残念です。

ここはそろそろ自分のコーディング高速化技術をちょっと適用するタイミングが来てしまったかなとか思います。
先にGetDIBitsするか、それともBitBltの論理演算でやらせるか、色々とやり口はあります。
(というか、GetPixelが遅いのを知っていて使うなという話は置いておいて。。。)

ちょっと高速化も考えないといけないですね。
一部の画面はバージョン0.4まではきれいに撮れていたのになぁ。


あと、今日はUbuntu上でApache + PHP5 + MySQL を入れて、Apache2の設定をいじったり、WordPress + WP Document Revisionを導入してブログを導入したりしておりました。
Ubuntu、、、geditでもいいんだけど、viでもいいんだけど、Sakuraエディタに慣れすぎました。
Javaでテキストエディタを早めに作りたいなとモチベーションがアップした次第です。

作りたいものが多い。。。
特にSubversion + MySQLサーバ。これはGroongaと組み合わせて履歴も残しつつ、リポジトリの中身を全文検索させたいという個人的な野望が。。。
posted by Kiruahさん at 23:37| Comment(0) | TrackBack(0) | 日記

2012年03月21日

Excelによる画面ハードコピー取得ツール 1.0は今週末ぐらいに公開予定です

別にそんなに需要が高いとも思えないのですが、
Excel画面ハードコピーの1.0を早ければ今週末、遅ければ来週末に行いたいと考えています。

今現在はマニュアルを製作中です。
同時に機能を少し追加したり、不具合の修正も実施しています。

1. FireFox / Google Chromeでは自動スクロールキャプチャできない点を改善しました。
2. ブラウザのURL、エクスプローラのアドレス、ウィンドウタイトル、メッセージボックスの内容をヘッダーに含められるようにしました。よって、キャプチャ時のウィンドウタイトルやURL、メッセージボックスの内容もテキスト形式で同時に保存できます。
3. スクロール時のスクロール終了の見切りを少し簡単にしました
4. スクロール外の範囲を間違えていました(FireFoxでは画面上部が削られてしまっていました。)

スクロール機能についてはVBA自体のせいもあろうかとは思いますが、やっぱり遅いです。
高速化するためのアイディアはありますが、まずは動作するものを作りたいと考えています。
そして、その後に別のものが必要で、それを先に作ってから高速化と、高速化は後回しになります。
ごめんなさい。

期待している方はいないでしょうが、リリースまでもう少しお待ちくださいませ。
そして、このツールは完全にIT業界の人間向けになってしまっております。
というか、そのような方向けのツールを目指して作っていたわけですが。。。
posted by Kiruahさん at 22:19| Comment(0) | TrackBack(0) | 日記

2012年03月20日

退官パーティ&伊勢神宮へ

3/18に大学院時代の恩師が退官されるとのことで退官パーティに出席してきました。
思ったよりも多くの方が参加されており、厳しいながらも学生想いの大変素晴らしい先生だったんだなと思います。
先生も元気そうで何よりでした。
これからもご活躍されるとのことで、より一層のご活躍をお祈りしております。

さて、それに便乗し、ついでに奥さんと伊勢神宮へ3/17から旅行に行って来ました。
かなり弾丸で、しかも私にとっては珍しく雨がずっと降る旅行になりました。
やっぱり雨だと移動が大変だったのですが、とても楽しかったです。

まずは外宮へ。そして内宮へ行き、お参りしてきました。奥さんは御朱印帳に書いてもらっていましたが、思ったよりシンプルでびっくりしました。
その後、おかげ横丁で食べ歩きしました。少し太りましたがとても楽しかったです。
弾丸旅行のおかげで、猿田彦神社に行くには少し短いし、駅に向かうにはちょっと長いし、「帯に短し襷に長し」ではありませんが、「行くには短し帰りには長し」という状態でしたが、そのまま宇治山田駅のショッピングセンターとやらに行って来ました。
その後は駅周辺で写真をとったり、ぶらぶらして名古屋に戻り一泊しました。

翌日は名古屋から。朝は一緒に名古屋城に行きました。
予想と違い観光メインの城になっており、逆に設備が発展していて残念でした。
時間がないので簡単にまわって、私は退官パーティーへ。
奥さんはさらに名古屋旅行に。

その後名古屋で合流し帰りました。

弾丸だったのでかなり疲れましたが、とても楽しい土日を過ごすことが出来ました。
posted by Kiruahさん at 10:17| Comment(0) | TrackBack(0) | 日記

2012年01月07日

iPod touchのアーティストが不明になる

実は2011年の年末に白のiPod touchを購入してしまいました。
本体がだいぶ安くなりましたので、少し迷いましたが買ってしまった感じです。
買ったおかげで、平日はちょっとしたことだけをネットで調べるのに、いちいちPCを起動していたので、だいぶ負担が楽になりました。
これだけ安くなったということは、もうすぐ新しいiPod touchが出るのかもしれませんが、外で音楽を聞くのをメインにするために購入したので、新しいのが出ても追随はしないと思います。
ですがネットを見るには不便なので、iPadの新しいのが出たらそちらは購入したいなぁとか、少しだけ考えています。

さて、過去に自分のCDからMP3へ変換したファイルをiPod touchに入れようとすると、どうしても坂本真綾さんのアーティスト名が不明になってしまい、困ってしまいました。
(絶対にCDでは聞かない!MP3ならCDを落としたりしないから!と心に誓っております。。。)

原因は何だろうと探ってみておりました。
1. そもそもMP3のID3タグが変な形式で保存されている?(そんなはずは。。。v2.3はダメとか。。でも、UVERworldは大丈夫だ。)
2. 実はタグを見ていないで別の情報を参照しているとか?
3. 実は坂本真綾という漢字が難しいとか?エンコーディングがSJISではダメとか。。。

1については、UVERworldが見えているので大丈夫でしょうと考えておりましたが、一応ID3タグのバージョンを変えたり、削除した状態で入れたり、その後、追加してみたり、色々な形態のファイルを用意して見ましたが、UVERworldはOKで、坂本真綾の曲はダメでした。。。
2については、UVERworldのファイルを色々と編集したりファイル名を変えたりしましたが、タグ情報を参照しているのは確実でした。
3がやっぱり怪しいので、まずは坂本真綾のアーティスト名を"a"とか適当に入れて見ました。アルファベットの場合はOKでした。。。"a坂本真綾"とすると、これもOK。漢字がNGだとかエンコーディングの問題かと思いましたが、"a坂本真綾"が出たことで、「どこかに半角文字が含まれていないと出ない」に落ち着きました。。。

試しに"坂本 真綾"は正しく表示されました。。。
必ず半角スペースを入れられればOKですが、間に入れられないアーティストはどうしたらいいのでしょうか。。。
昔のiOSとかは大丈夫だったりしたとか、実はiTunesから買ったファイルはOKとか、MP3以外の形式にすればOKなのでしょうか。。。

また色々と試してみて、より良い解決策が見つかったらブログに書いてみようと思います。
続きを読む
posted by Kiruahさん at 13:30| Comment(0) | TrackBack(0) | 日記

2012年01月02日

元旦から1日遅れてしまいましたが、新年明けましておめでとうございます。

2012年が始まりました。今年はどんな年になるかはわかりませんが、
奥様共々幸せに過ごしたいと考えております。

奥様、今年もよろしくお願いいたします。

今年は2011/12/31の深夜から出かけて、日枝神社や新井薬師さんに
はしご初詣しました。おかげさまで、元日は眠かったですが。。。
そして気づけば1/2。。。昨日は昼間、何をしていたのだろうか。。。

では皆様にも幸ある一年でありますように。
さぁ、プログラミングをがんばろうっと。
posted by Kiruahさん at 07:34| Comment(0) | TrackBack(0) | 日記

2011年10月29日

kommons-lib 0.19が間に合うかしら

現在、kommons-lib 0.19にバージョンアップ中です。
とはいえ、サイトからは最新版が0.19になっていますが、
こちらはまだリリースノートにも出ていない通り、不具合が多いものです。
都合上公開されています。

teterは機能をいくつか追加する必要が出てきています。
また不具合もまだまだ多いのが難点です。

あわせてcommon系も色々と変更が入ってしまっています。
使いやすいライブラリになるにはもう少し時間がかかりそうです。

必要なので作っているライブラリでもあるのですが、
そのタイミングまでに全てが揃うのだろうかと、
ちょっと心配な今日この頃です。

さて、がんばろっと。
posted by Kiruahさん at 15:45| Comment(0) | TrackBack(0) | 日記

2011年05月15日

なんとなく

ちょっと必要になるかもしれませんので、なんとなく作りました。
まだテストも作成していませんし、コメントも記述していませんが、
興味がある方はどうぞ

単純に、Value型に文字列やら日付やら、数値やらを自由に入れられるコンテナです。
あんまり役にはたちませんが。。。
ライセンスは、MITライセンスです。
もしかしたらもっとゆるいのがあれば、そちらに変えるかもしれません。
posted by Kiruahさん at 23:44| Comment(0) | TrackBack(0) | 日記

2011年05月05日

今日は紙婚式

結婚して今日で1年目になりました。紙婚式です。
とても幸せです。これも奥様のおかげです。いつもありがとうございます。

短いようでいろいろとあった1年でした。
とても楽しかったです。それも奥様がいたからです。
これからも幸せにできるよう、ちゃんとしていきたいと思います。

これからもどうぞ、末永くよろしくお願いします。
posted by Kiruahさん at 22:42| Comment(0) | TrackBack(0) | 日記

2011年05月04日

JavaでWebアプリのフレームワークも作ってます

今やWebアプリ向けのフレームワークと言えば、Javaも含めてたくさん出ています。
それはもうたくさん出ており、どれが一番いいかは難しいところです。
結局のところ、一番簡単か、一番最初に使った物がだいたい手に馴染みます。

Javaでもいろいろと出ております。でもJavaの場合はたいがい、
HTMLに対して何かしらの特別なタグを入れたり、HTMLから受け取った情報を格納するためのBeanを作成することが多いのが現状です。
Javascriptも何かしら組み込むことが多いです。たとえ、Javascriptが不要と言われていてもです。

最近の私は、出来る限りHTMLとCSS、JQueryとJQuery経由でAjaxをメインにしてブラウザ上で画面を動的に構築し、Java Webアプリサーバ上ではDBから取得した情報をJSONに変換してブラウザに送るだけみたいな役割分担で、簡単にアプリケーションを作っています。みなさんもだいたい近しい作り方になってきたと思います。もしくは、node.jsやRhinoでサーバでもJavascriptもありでしょう。

これでも個人的にはだいぶ簡単になってきたなぁとか思っていましたが、やっぱり面倒になってきました。
逆にJava Webアプリサーバ上で、Javascriptをブラウザに実行させちゃえというのが、今つくっているものです。
.NET Framework 4にもController.JavaScriptがありますが、これをさらにひどくしたやつだと考えていただければと思います。

正直なところ、実用性はありません。ぶっちゃけ実行させてみると、「うーーん、遅い」と思います。
当然セキュリティのところまでは実装にいたっておりませんので、ほいほいと攻撃できます。
そこら辺のチューンナップはおいおいやるとして、まだ基本実装を充実させているところです。
内部にJQueryを入れてあり、これ経由で実行させます。

サーバ上で、JQueryのSelector(JQueryのセレクタを生成してくれます)オブジェクトを生成してgetすると、ブラウザにJavascriptが送信されて、結果をブラウザ側にキャッシュしてくれます。
で、JQueryでgetした情報(JObjectに入ります)に色々とメソッドが用意されており、append("うさぎさん"); とメソッドを実行すれば、ブラウザに送られて、「うさぎさん」が画面に表示されます。
ついでにタグとか使うと、JQueryの$オブジェクトをキャッシュしてきてくれて、Java側でもそれを使えるJObjectがappendから返却されるので、さらにいろいろとできるようになっています。
(メソッドチェーンみたいな感じ)

ついでに言えば、JavaのクラスとHTMLが一対一で対応するようにしました。
よって、次の画面へ遷移する場合は、forward(new 次の画面のクラス()); みたいにします。
この時、次の画面クラスのコンストラクタとか、setterに色々と情報を前画面からセット出来ます。
HTMLは特別なタグも何も不要で、とりあえず操作したいタグにidを入れておくぐらいです。
別にJQueryなので、idでなくても良いのですけど。。。
SelectorにはJQueryのセレクタをひと通りいれたので、フィルタとかもメソッドがあります。
なので、HTMLには一切Javascriptを実装する必要はありません。

まぁ、こんな感じで作っております。だいたい簡単なチャットは作れるところまで来ました。
ログインしてないのにチャット画面に遷移するとログインにも移動してくれます。

企業のアプリ以前に研究用途にも使えませんが、VBの画面を作るような感じでアプリを作れる感じになってきました。
まぁ、妻は「なにこれ、超作るの簡単じゃん」と言ってくれました。嬉しい限りです。
そのうち公開するかもしれません。

まぁ、あまり興味ある人はいないとは思いますが。。。
posted by Kiruahさん at 14:38| Comment(0) | TrackBack(0) | 日記