アイコンつけてみました

  • 2008/03/14(金) 21:49:04

今日は、

こちら と こちら

のページを参考にブログ(ホームページ)用のアイコンを作ってみます。

ペイントソフトで作ったビットマップ(bmp)ファイルからも変換できるみたいだけど、ふしぎ男にはプログラム開発環境のVisual Studioがあるので直接アイコン(ico)ファイルを作成します。

アイコンだから16x16と32x32のサイズでいいかな・・・。





できました。

ふふしぎ男専用アイコン


では、コレをブログのタグの中に埋め込みます。


Favicon


やったぁー。 完成!

ホームページに関づけたアイコンをFaviconというらしいです。

不滅の開発環境を!

  • 2008/03/07(金) 22:20:34

このまえ「開発環境移行!」で仕事の開発環境を

Visual Studio2005(くどいようだが、まだ2008ではない)

に移行することを決意したのであるが、.net Frameworkのプログラミングスタイルを調べれば調べるほど???となってきました。

何しろVB6を含めてWin32/MFC(←この2つも違うと言えば違うけどね)とまるで違う設計思想だと思うのですよ、個人的に。

GUI部分は誰が見ても進化してるし、それには異論はないんだけど、プロセス間通信手法がまるで違う。(ココが重要なんで)

仮想環境上で動かそうとするから、こうなったのっていうのは理解できるんだけれど、「それならウチの業務とかみ合わなくなってるんじゃ?」って思ってきちゃったんですよ。

それならManaged(.netアセンブリ)とUnmanaged(ネイティブ)のハイブリッドで、って考えもあるんだろうけど、あーだこーだと、何度も関係者と協議した結果

VC2005 やっぱ素のC/C++で!


じゃあ全部ネイティブのCで!

ってことで落ち着きそうです。

将来のことも考えて新人をメインにコード展開する予定なので、教育も兼ねて「ここは、いっちょ原点回帰でいこう、と」なりました。 C/C++だったら無くならないと思うし。(Win32はわからんけどね)

うーん、この前から話が二転三転してるなぁ。
(というか、この話題で議論すると盛り上がるんだけどいつも結論が出ないの)

同じ物件でソフトウエアが複数になるので共通化も検討してましたが、そこは

ActiveX(dll か exe)で!(クラスライブラリ[.net dll]じゃないのよん)

ってことに。

ActiveXActiveX Control/EXE/DLL いわゆるActiveXづくしで!
(WTLってのもあったな)

C#やVB(.net)は、そのうち別の物件で採用することにします。

また、変わるかもしれないけどね。

開発環境移行!

  • 2008/02/29(金) 12:35:12

以前、「最強・最短の開発環境は?」「ソフト開発の決定版!?」に書いたけど

あれから流れが変わって、ついにうちの部署も現在上流設計中の案件から開発環境を

VS6 → VS2005(VS2008じゃないよ)に移行するぞ!

ということになりそうです。

VS2005 VS2005


機能を実装する上で、旧環境ならこうしよう!と考えていた部分は
移行するにあたりネックになる部分を以下のように解決します。

・DirectXによる3D表示
   SDK 2007(November)からはManagedのサンプルが消えてますね。
   Managed DirectXはどうやら死んだようだし、XNAとかいうゲーム用SDK
   はちょっと手が出せないからネイティブC++で開発する。

・Ethernet通信部分
   VS2008ではWCFとか新たな通信関係のインプリメントがあるようですが
   ここは手堅く高速で枯れたネイティブC++のソケット通信で開発する。

・GUI部分
   ここは .netの見せ場でしょう。ビジュアル勝負ですから。
   で、当初は共通化としてActiveXコンポーネント、ActiveX DLLで考えていた部分はそれぞれ

   .netコントロール(Windowsコントロールライブラリ)
   .net dll(クラスライブラリ)

   を選択します。

開発言語は何でもいいけど、新人を中心にコード開発を行う予定なのでVBかな?
(個人的にはC#のほうが好きだけど)

Vista風味に・・・

  • 2008/02/14(木) 21:42:59

XPのマシンにDesktopSidebarというのを入れてみました。

DesktopSidebar Desktop Sidebar


いわゆる Windows Vista 風のサイドバーです。

天気予報も出てくるし、ニュースサイトのRSSを登録しておけばニュースが流れて見えるし、Gmailをチェックしてくれる、なんてのもあります。

日本語対応だし、なかなか良い感じじゃないでしょうか・・・。

一発シャットダウンボタンShutdownのExtrasもありますからオススメです。


この前、フォントも変えたし。

DesktopSidebar、詳しくはWebで(笑)

デバッグ★テクニック

  • 2008/02/13(水) 21:51:05

以前、活用したデバッグツールです。
邪魔くさいので詳細は書きませんが、ツールごとにポイントを残しておきます。

QSlice.exe
Qslice QSliceアイコン

 Windows2000のリソースキットに付属。
 C++ Builderで書かれた他人のコードで、実行中に突然 Busy状態になった原因を調べるために使いました。
 特定のプロセスをダブルクリックすると、スレッドごとの状態がIDとともに分かるので、どのスレッドがボトルネックになっているかが分かります。
Qslice QSlice実行中



Microsoft Network Monitor 3.1
 ネットワークに流れるパケットをキャプチャするツールです。 この手のツールは他にもありますが、とりあえずMicrosoft謹製なので。 もちろんフィルタ可能です。
NetworkMonitor Network Monitor



・DrWtsn32
 知っている人は知っているけど知らない人は知らない(当たり前だ!)Windows標準ツールです。 コマンドラインからdrwtsn32で起動します。
クラッシュ時にダンプファイルを作成してくれます。(.dmpファイル)
そう、ワトソン博士。 ソフト開発者はユーザーからこのワトソンログを受け取ってバグ追跡しますよね。
DrWtsn32 ワトソン博士

dmp Files dmpファイル



WinDbg
 クラッシュダンプを解析できるデバッガです。 もともとデバイスドライバのデバッグ用ですが、携わった物件は C++ Builder で開発されており、しかもターゲットに開発環境をインストールできない事情があったので、クラッシュ箇所の特定には威力を発揮しました。
Builderだったので.pdbという詳細な形式のファイルは使えなかったんですが、ソレなりには役立ちました。
WinDbg WinDbgデバッガ



あと、この本も良かったです。

「Windowsプログラマのためのデバッグテクニック徹底解説」
  − John Robbins(日経BPソフトプレス)
デバッグ本です デバッグ本



以上、簡単な覚え書きっ!


PC不調!

  • 2008/02/06(水) 21:57:02

ここ数日、PCの調子が悪いです。

Windowsが起動してから数分でリセットがかかります。

20080206215701


1度か2度リセットすると大丈夫なんですが、気づかずに
こうしてブログを書いていると全部パァになってしまいます。

いえ、夏場は毎年必ずリセットするんです。

ふしぎマシン この台!


それも暑い日に。 ケースを開けてみるとCPUがめちゃ暑い!
どうやら熱暴走してるみたいなんです。
そういうときはしばらく電源落として放置しておくと調子が戻ります。

・・・

でも今は夏じゃありませんから何故なんでしょう?

もう、5年近く使ってるしなぁ・・・

週末にPCの内部の掃除でもしようかなぁ。

ソフト開発の決定版!?

  • 2008/01/24(木) 21:44:46

今日は仕事の話。
ふしぎ男はPCのソフトウエアに関わる仕事をしています。

今は、とある案件で要求仕様を作成中です。
装置を監視するソフトなんだけど、機能を実装するにあたって

要件・方向性としては
・新規案件である
・画面表示の一部に3Dを使うのでDirectXを利用したい
・よく似た構成の異なるソフトウエアを複数製作するので極力共通化したい
(ActiveX DLLおよびActiveX コンポーネントか)
・構成はPLC(Programmable Logic Controller)とEther通信する

※最近PLCというと電力線インターネットと間違われそうだ

春頃コーディングがスタートしますが以前のエントリにも書いた通り
Windowsなので開発環境を何にするかを、同僚と時々話しますが個人的には結論が出ません。

1..net Framework(ManagedのVB / C# / C++)を選定した場合
DirectXはMDX(Magaged Direct X)を使うんだろうけど、調べてみたら
MDX1.1は古いそうだし、でもMDX2.0ってもう終了してるじゃないですか。
(XNAになっちゃったけどコレはゲーム用だから業務では使えんな〜)
それにこの案件から環境大改編になるなぁー。

2.VC++(Unmanaged、ネイティブ)を選定した場合
無難な選択だと思うが、開発効率が上がらないだろうね。 共通化も見据えたら工程的にかなりつらそうだ。 パフォーマンスは通信以外必要ないし。

3.C++/CLI(マネージド、アンマネージドのハイブリッド)
ある意味で理想的だが、文献が少なくリスクが高いので、ちょっとこれで
突き進むのは難しい。

4.旧環境VB6を選定した場合
DirectX7か8が使えるけど最新のは使えない。まぁそれはいいか。
ただ、次の世代への引継も考えると旧環境では将来が心配。
監視装置ということで組込に近いことから、

「通信処理はC++であとは共有化含めてVB6」(古くさいけど)

という選択になるのかなと思う。

なんてことで悩んでいる開発者は他にもいるんじゃないでしょうか?
(いないかな?)

画面は見やすく!

  • 2008/01/16(水) 21:44:07

2,3日前にVS2008の事を書いたけど日経BPのこの記事によるとWindows XPでもVistaのきれいなフォント「オ」が使えるそうな。


見やすい字は

目にもやさしいだろう

、と思って試してみました。


オンラインインストールだと何度やっても

一向に繋がらなかった

ので(混んでるのか?)

仕方なく4ギガくらいあるisoファイルをダウンロードしてオフラインでインストールしました。

めいりおFireFoxで表示してみた(クリックしてね)


なかなかいい感じです。

最強・最短の開発環境は?

  • 2008/01/14(月) 12:30:00

マイクロソフトのVisual Studio 2008が登場しますね。

VS2008 Visual Studio 2008


職場のWindows開発環境は、まだVB6.0, VC++6.0が基本です。(OSはVistaじゃなくXP)

ふしぎ男の周りの世間では、「ターゲットが低スペックPCだったので性能が出なかった」という話を伝え聞いたりしたので ”.net開発” に対するアレルギーがちょっとあるんです。

移行やメンテナンスにかかるコストなんかを考えても、なかなか踏み切れないんですよね。

Visual Studio 97 枯れてるのはこちらのVisual Studio 6.0(VB6+VC6)


ただ、個人的にはVS2005のVB.netC#でManagedDirectXなどを試したりしていたので、どんなものかっていうのはちょっとだけわかるし、言語仕様そのものをおいといても、IDEだけでも新しい方が洗練されてるんですよね。

それに.netコントロールにしても古いActiveXコントロールにはない
DataGridViewなどという素敵なコントロール
にも心奪われそうになります。


新しい.netの機能をとっても、WPFで作る画面もカッコイイですなぁ。


WPFなんて聞くと昔ジャイアント馬場さんが持っていたヘビー級のベルトといつも間違えそうになるんだけれども。(そりゃPWFだ!・・・って今は誰が持ってるのかな?)

そんなVS2008のLINQなんてのも面白い機能だと思います。(試してないけど)

いずれ移行する日が来るのかもしれませんが、とりあえず今でも

性能ならVC++(MFC)、最短ならVB6.0

いう図式は、変わらないんですよ。(実際にはVCメインでVBでコードってあんまり書かないんだけれども)

・急ぐときはVB6.0
・しっかり作るときはVC++6.0
・絶妙なバランスでVB6.0(画面)+VC6.0 DLL(クリティカルなところ)
・ちょっと荒業かも?のVB6.0(画面)+VC6.0 EXE(クリティカル)


という使い分けのマイ開発方程式がありました。(今もそうだけど)


VC++はネイティブ(アンマネージ)で使う限りは最新版でも、あんまり変わらないと思いますがVB6の行く末は気になりますね。


(普通のやり方では)スレッドが使えない、など弱点はありますがVB6は不滅であってほしいんです。


いつまで使えるのかはわからんけれど・・・