2005年12月26日

寒い!

 寒い。本当に寒い。誰だ、今年は暖冬だとか言っていた人は。
 東京の我が家では、今朝7時頃に干した洗濯物が8時頃には凍って固まっていた。
 庭の金魚鉢にもかなり厚い氷が張っていたが、金魚さん大丈夫?

 さて今日は2週間ぶりに静岡にある畑まで行ってきた。冬の間は作物の成長が止まるので、見に行くのは隔週なのだ。静岡は比較的気候が温暖なので、これと言った防寒対策をしていなかったのだが、今年はこちらもすごかった。
...続きを読む


posted by lepton at 01:46| 東京 ☀| Comment(0) | TrackBack(0) | 農と食 | このブログの読者になる | 更新情報をチェックする

2005年12月25日

Visual Studio 2005 (2)

 私が Visual Stuido 2005 の紹介を行っている「impress Direct Visual Studio/MSDN情報局」が開局された。ここで VS2005 の紹介ブログを書いているので、興味があったら見てみて欲しい。でも第1回分、2分割されているのでちょっと中途半端な気がしますね...編集長さん。後半部分も早めに公開してくれるとうれしいな。
 
 さて個人的に今回の VS2005 で一番気になっているのは、Visual Studio Tools for Office System (VSTO)と言う、Word/Excel 等の拡張アプリケーションを作成する機能だ。今までも、VBA 等でこの手のオフィスアプリケーションは作れたし、前のバージョンのVSTOでは、C#/VB + .Net Framework でこれらオフィスアプリケーションのコントロールができる様になっていたが、今回その構造が大きく変わっている。
...続きを読む
posted by lepton at 02:43| 東京 ☀| Comment(0) | TrackBack(0) | ソフトウエア | このブログの読者になる | 更新情報をチェックする

2005年12月19日

ファイルサーバーの復旧

 さて先週末にお亡くなりになった我がファイルサーバー君は、IODATA の HDL-250U と言う NAS だった。これは容量 250GB で 10/100base インターフェースを持ち、使用電力が 14W でファンレス、値段も3万円未満と Home Office にぴったりの製品だ。HDD の一部が読めずに起動しなくなっただけなので、とりあえず HDD を換装してバックアップをコピーすればOKかと思っていたのだが、実際やって見るとなかなか一筋縄ではいかなかった。
...続きを読む
posted by lepton at 23:20| 東京 ☀| Comment(0) | TrackBack(0) | ハードウェア | このブログの読者になる | 更新情報をチェックする

2005年12月16日

ファイルサーバーがとんだ...

 VS2005 で遊ぶどころではなくなってしまった。ファイルサーバーとして使っていた NAS のドライブが死んでしまったようだ。なんか最近調子が悪いみたいだったので、1TBのディスクを注文したばかりだったのに、間に合わなかった様だ。なんで後1日2日待てなかったのだろう。週末には届くはずだったのに...。
 とりあえず、バックアップと、あちらこちらにある最新版のファイルを寄せ集めると何とか復旧はできそうだ。それでもいくつか失われてしまったファイルがある様だが仕方が無い。TB超のストレージの定期バックアップは、我々の様な零細企業にはまだまだ荷が重い。とは言え、今回はたまたま壊れたドライブ以外の金銭的損失は殆ど無かったが、そのうち痛い目に会いそうだ。
...続きを読む
posted by lepton at 23:04| 東京 ☀| Comment(0) | TrackBack(0) | ハードウェア | このブログの読者になる | 更新情報をチェックする

Visual Studio 2005 日本語版

 12月15日に開発終了とアナウンスされていた、Microsoft の新しい開発環境 Visual Studio 2005 日本語版が、14日の夜中から MSDN Subscribers Download でダウンロードできる様になっていた。現在のところ、Express/Standard/Professional の各バージョン、MSDN for VS2005、Visio for Enterprise Architect (VS2005), VS2005 Tools for Office System 等がダウンロードできるが、DVD イメージはまともに読めないので、今のところ、どれも CD イメージでダウンロードするより無いようだ。また、Team Suite はまだ登録されていないため、こちらの機能は依然英語版で評価する方が良いだろう(英語版でも日本語の取り扱いに何の問題も無い)。

 とりあえず、15日の昼からダウンロードして、先ほどインストールしてみたところだ。Release Candidate では日本語化されていないところがたくさんあったが、たった1ヶ月ちょっとで、ちゃんと製品もヘルプも完全に日本語化されていた。開発スタッフの皆さんご苦労様。さあ、やっとβじゃ無くなったので、本格的に使い倒そう!と思ってるところだ。

 実はこの VS2005 の使い勝手について、某サイトにてブログ形式の記事として出す事になっていて、11月から記事を書いていた。最初は英語版の Release Candidate を使って書いていたのだが、日本語版の Release Candidate が出たので画像と文をそれに対応して変更した。しかしサイトオープンが予定より大分ずれ込んでいる様で、この様子だと日本語製品版の画面でもう一回書き直さなければならないようだ。3度手間か...。やっぱり原稿はあまり早く書いても仕方がなく、締め切りぎりぎりで書くのが正解なんだろうな。
posted by lepton at 04:12| 東京 ☀| Comment(1) | TrackBack(0) | ソフトウエア | このブログの読者になる | 更新情報をチェックする

2005年12月12日

JavaScript の非同期処理 (2)

 前回のテストでは、処理中に他の処理を呼び出している部分が有ったので、ひたすらCPUを回すように実験コードをちょっと変えて見た。

var result = ""; // 共有される大域変数
function synctest(name,ntimes) {
if ( ntimes>0 ) {
var d1 = new Date();
var s1 = "" + d1;
result += "<br>"+name+" = " + s1;
for (ntimes--;ntimes>0;) {
var d2 = new Date();
var s2 = "" + d2;
if ( s1!=s2 ) {
result += "<br>"+name+" = " + s2;
s1 = s2;
ntimes--;
}
}
}
}

 これは、指定された回数分だけ毎秒メッセージを記録する様なコードだ。JavaScript には sleep() や wait() に類する物が無いので、処理が終了するまでCPUを占有している。
これを使って、
1.setTimeout によって 0.5 秒後から10秒間実行する
2.setTimeout によって 1.0 秒後から10秒間実行する
3.setInterval によって 1.5 秒間隔で3秒間の実行処理を3回実行する
4.button.onclick によって10秒間実行する
5.XmlHttpRequest によってデータが読み込まれた後(約3秒後)から10秒間実行する
と言うイベント処理を設定して実行して見た。
これらの処理は、入り乱れて実行されるのか、シーケンシャルに実行されるのか、どうだろう?...続きを読む
posted by lepton at 14:11| 東京 ☀| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

2005年12月10日

か、鍵が...

 SOHO スタイルで仕事をしていると、仕事と生活の境目が曖昧になりやすい時がある。そう言う事を野放図にしておくと皆が大変なので、週末は仕事をしないようにしている。では何をやっているかと言うと、畑を作っている。が、これについては後でじっくり書こうと思っているので、今日は別の話だ。
 今週は冬の作物やみかんを家族で収穫する予定で静岡まで出かけたのだ。私はバイクで行き、残りの家族は電車で向かった。電車組は車中でお弁当、私は途中で夕飯を食べる予定だった。東京近郊は混んでいたが、そこを抜けると結構順調に進み、沼津あたりでお腹が減ったので、手近なファミレスに入りバイクを止めた。

 と、ここまでは予定通り順調だった。
 この後の展開はタイトルどおりだ。
 トランクシートに鍵を入れたまま閉めてしまったのだ。
 ここは沼津だぞ。どうする?
...続きを読む
posted by lepton at 00:18| 東京 ☀| Comment(0) | TrackBack(0) | 乗り物 | このブログの読者になる | 更新情報をチェックする

2005年12月09日

JavaScript の非同期処理

 コンカレント処理を行った事のある人ならご存知の通り、複数の実行フローが同時に走る場合はリソースの競合が発生する可能性がある。
 あるリソース(メモリでもファイルでもIOでも何でも良い)に対して
1.値を取得する。
2.取得した値に1を足す。
3.足した結果を元に戻す。
と言う処理を行う時、初期値0で3つのプロセスが何の対策もせずにこれらを実行した場合は、最終的な結果として1〜3までのどんな値も取りえる事になる。こういう処理は往々にして何かの数を数える処理なので、この結果は期待通りであるとは言えない。これを期待通りに実行するためには、何らかのロック処理を行って、この一連の処理が同期的に実行される様にする必要がある。

 今まで JavaScript でこういうことを特に気にせず使ってきたが、JavaScript でも非同期処理を良く使う様になってきた。昔からある setInterval/setTimeout 系の定期実行処理、AJAX で使う XmlHttpRequest.onreadychange の処理、ボタンクリック時の処理等である。これらが複雑に組み合わさると、同期機構を持たない JavaScript では厄介な事態になりそうだ。

 しかし、本当にこれらが非同期に実行されるのかを調べて見る必要はあるだろう。かつての Windows の様に、誰かが制御を返さないかぎり他の実行フローは処理されないと言う(確か協調的マルチタスキングと呼んでいた様な...)、本当の擬似マルチタスクである可能性もあるからだ。
...続きを読む
posted by lepton at 16:42| 東京 ☀| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

ホームページの公開と更新

 いい加減、いつまで触っていても終わらないので、ホームページは公開する事にした。
公開といっても、Google や Yahoo にページを申請して、以前のページにリンクしてくれていた方々にリンク先の変更をお願いしただけだから、別にどうと言う事は無い。
 ここのページは、以前のページを参考に昔ながらの HTML で書いている。でもページを更新した場合に、一々あっちこっちにそれを書かなきゃならないのは面倒くさい。だからみんなブログの様なコンテンツ管理システムをつかっているんだけど、日付とカテゴリでしか分類できないのではあまり役にたたないし、ここに JavaScript だのサーバーサイドの動作例を載せる訳にもいかない。

 そうすると、ローカルの HTML からサーバーにコンテンツを更新させる時に、自動的に RSS ファイルを作って登録してくれる様なものがあれば、何とかなるんだろうと言う事は容易に想像がつく。こんなのは既にあちこちにありそうだから、そのうち探して使って見よう。

 現在公開しているページには、サーバー側に動的システムを置かない AJAX の話をいくつか書いているのだが、上記の様に運用して RSS ファイルをずっとためておけば、クライアント側でこれらの RSS を読み出して、自動的に What's New ページを表示する様なしかけも出来そうだ。そのうち作ってみる事にしよう。
posted by lepton at 01:54| 東京 ☀| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2005年12月06日

JavaScript 圧縮

 現在 JavaScript の圧縮 Dojo's compression を使っている。
ソースコードからコメントや余計なスペースを取り除き、ローカル変数も短い名前にしてくれる。またデバッグしやすいように改行はそのまま残すようになっている。
これを使うと自分のスクリプトサイズは半分以下になるのだが、問題がいくつかある。
1.UTF-8 のソースで日本語を含んでいるとエラーになる。
 →一旦 SJIS に変換してから圧縮し UTF-8 に戻さなければならない。
2.eval の評価が正しく行われない。

  function a(obj) {
   obj.f();

   eval('obj.f();');
  }
  ↓
  function a(_1) {
   _1.f();
   eval('obj.f();'); // ここが変わらない...。
  }

 と言う感じになる。仕方が無いので、この部分だけ手で修正している。

やはり、他のソフトを探すかな...
posted by lepton at 06:52| 東京 ☁| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

2005年12月05日

JavaScript と名前空間

 JavaScript で少し大きなプログラムを書こうとか、人のライブラリを使おうとかし始めると識別子のバッティングに良く出会う。言語仕様にそういう概念が無い言語だから仕方が無いとは思うが、みんな無造作に大域名前空間を使いすぎると思う。せめてネーミングルールで分けている例が見られくらいだ。これはかなり時代に逆行している。

 ここでこの名前のバッティングを避ける良い考えを思いついたので、説明しておこう。
それは大域名前空間におく変数を、名前空間として使うという方法だ。

 例えば MyLibrary と言うライブラリを作ろうとする場合、まず最初に

var MyLibrary = {
version:'1.0.0'
}

 と宣言する。この後はこの MyLibrary の後にライブラリのメンバーを追加していけば良いだけだ。例えば関数を宣言するなら、

MyLibrary.MyFunction = function() {
alert('This is MyLibrary.MyFunction();');
}

 と宣言し、MyLibrary.MyFunction(); でいつでも呼び出すことができる。
これで大域名前空間の競合を気にする事無くライブラリが作れる。
こんな簡単な方法で解決できるんだから、他のライブラリの作者もみんなこの方法を使ってくれれば良いのだけど...
posted by lepton at 20:05| 東京 ☀| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

SOHO と言う working style

 私の working style は、基本的に SOHO だ。
職歴の3分の2は、このスタイルでやっているので経験も長い。
だから会社に通勤して綺麗なオフィスで働く、と言う普通の(?)働き方とは違う世界も少し紹介したい。

 現在は自宅の1室を専用 working room にしている。ここにはマシンや資料が山の様に詰め込まれている。本当に山の様になっているため、人が歩く道が一本あるだけだ。
しかも1階のあまり日の当たらない所にあるので薄暗い。都心にある様な、綺麗なオフィスとは比べ物にはならない。

 この季節、東京は結構寒い。暖房無しで過ごすのはなかなかつらい。
では家で仕事をしていれば、一日中電気付けて暖房付けて上記の様なガラクタの中に埋もれて働いているのか?と想像するかもしれない。そうなら「ああ SOHO じゃなくて良かった」と思うに違いない。

 しかし、ここからが SOHO の良いところだ。
日中家の中には私しかいない。どこで仕事をしようと誰も文句を言わない。しかも、現代は無線LANだとかリモートデスクトップだとか言う便利なインフラが安く簡単に手に入る。
そういう訳で、私はノートPCを持って2階のサンルーム兼寝室へと向かう。
そこは日中ずっと日が当たっているので、明るいし、暖かい。こういう所でリラックス(どういう姿かは具体的には言えない...)してPCに向かえば良いことばかりだ。
1.ストレスが少ない→健康に良い
2.ストレスが少ない→仕事の能率があがる
3.暖かい→暖房費がいらない
4.明るい→照明費がいらない
つまり SOHO と言う働き方は、環境と健康にやさしく能率が良い働き方である、と言うわけだ。

 蛇足ながら、環境と言えばノートPCのバッテリも夜間電力(値段が昼間の6分の1!)で充電して昼間使う様にしている。この方法も環境とおサイフに優しいと思って始めたのだが、バッテリーの製造・破棄のコストを計算に入れるとどちらが良いのかまだ結論が出ないでいる...。
posted by lepton at 12:53| 東京 ☀| Comment(0) | TrackBack(0) | SOHO | このブログの読者になる | 更新情報をチェックする

2005年12月04日

ホームページ更新

 長らく放ってあったホームページを10年(!)ぶりに更新している。
やっと何とか形になってきた様で、近日中に公開できるだろう...。
おかげで最近睡眠時間が短い。
金曜は6時間、土曜は4時間、日曜は5時間だ。
しかも就寝時間が朝の6時〜9時。
おかしいじゃないか。自分の健康な生活を記事にするはずだったのに....
posted by lepton at 15:52| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2005年12月02日

VMWare Workstation 5.5

VMWareは、PC上に仮想PC環境を作ってくれるソフトウエア開発には欠かせない製品で、私は DOS 版の Version 1.0 の頃から愛用している。その VMWare Workstation 5.5 が9月からβテストを行っていたが、本日正式リリースになったので早速ダウンロードしてきた。何が新しくなったのか見てみると...続きを読む
posted by lepton at 18:05| Comment(0) | TrackBack(0) | ソフトウエア | このブログの読者になる | 更新情報をチェックする

社会復帰

 いや、引きこもっていた訳じゃ無いんです。ちゃんと仕事も家庭もやってますから。でも最近、長らく更新していなかったホームページを更新しようとしたら、10年もそのまま放ってあった事に気が付いて愕然としてしまった。考えてみれば、ずっと仕事仕事仕事で、ごく限られた世界に引っ込んでいたみたい。生涯現役を目指すなら、やっぱりもう少し自分の周り以外と接点を持たないと...
 と言う事でブログを始める事にしました。以前は「ブログなんて...」と思っていたけど、某所で試験的に書いていたら、これは結構面白いんだななんて今頃気がつく始末。やっぱりこうやって思ったことを書いていくと言うのは社会復帰にぴったりだ。

 さて何を書こうかな?と考えたが、中年を迎えるとやはり健康が気になる。特に我々の様にPCの前でひたすらコードを書く様な仕事をしている人種は。そこで自分でやっている健康対策を書いておけば、不健康になりがちな我が仲間達の参考にもなるんじゃなかろうか?と言う訳で、ソフトウエアと健康生活を主なテーマで書いて行く事にしました。

 しかし決意したのは良いけど、これ書いているのが朝の5時。別に年寄りだから早起きしている訳じゃなくて、まだ寝てないだけ。どこが健康生活なんだろう...ただの不健康なプログラマじゃん...。
posted by lepton at 05:00| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
プロフィール
名前:lepton
年齢:over 40
ウェブサイトURL:http://www.hmsoft.co.jp/lepton/
メールアドレス:contact@hmsoft.co.jp

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。