こたつでぬくぬく

どうも~。こんばんは。
皆さんはこの寒い冬をどうやって乗り切っていますか?
僕はというと、コタツです。
というのも、部屋に暖房器具がそれしかない。
ことはないんですが、空調を入れると電気代がかかるし、うちエアコンはあまりあったかくならない・・・。
電気ストーブくらいほしいですね。
そういえば、今でもハロゲンヒーターってあるんでしょうか??
ふと懐かしいものを思い出しました。
実家にもあったような・・・。
あれってなんであの形なんですかね?
別に扇風機型じゃないくても・・・。扇風機兼用もあったけど、実家のはヒーターオンリー
だったし・・・。
回りの反射板(?)チックなものが重要なんですかね。
光を熱に変換するって意味で。
まぁまぁつらつらと書きましたが、要は寒いってことで!
朝寒くて起きれません。
なんとかしないと・・・。
ではでは。年末も忙しいかと思いますが、風邪など引かないようにしましょう。
もうすぐお正月ですしね♪
それでは、またの機会に。

ILMerge

どうも~。こんばんは。
 
今日はちょっとそれっぽいブログを書きますね。
 
以前から開発しているツールなんですが、mdbをいじります。
 
ですのでDAOを使っていたんですが、.NETの特性上相互運用なんとかっていうDLL
 
ここでいうと、「Interop.DAO.dll」が実行上必要になります。
 
ただ、どうしてもこれがダサいというか、正直消したいので、いろいろと思案していたんですが、
 
リソースに埋め込む。
dllの中身をソースに書く
exeに抱合させる。
 
などなど。今回上記二つが今のスキルでは多少困難ということで三つ目の方法を取りました。
 
内容としては
 
ILMergeをMicrosoftよりダウンロードおよびインストール。
(いろいろ調べたところ商用利用可能とのことです)
 
コマンドラインより操作し、dllをexeにくっつける。
 
コマンドとしては
(ILmerge.exeの存在するフォルダと同じ階層に抱合したいexe,dllがあるとします。)
 
ilmerge /out:newApp.exe App.exe *.dll /wildcards /v1.1
 
上記のようになります。
 
引数[out]
抱合した新しいexe
 
引数[wildcards]
上記のようにすべてのdllを対象にする場合です。
 
引数[v1.1]
.NET Framwork 1.1 として書き出します。
 
ここで注意したいのは、プライマリアセンブリ(メインのプログラム)の拡張と同じ拡張子で引数[out]
 
を設定することです。
 
これで同じフォルダ階層にnewApp.exeというdllを含んだものが生成されます。
 
ただ僕の場合テスト的にコードに書いていたADODBのコードのせいでエラーが出ました。
 
ですので、不要なコードを削除することで解決しました。
 
ADODBもdllがあるから、それが同じ階層のフォルダにdllがないからかな?
 
許可されない参照:ADODB
 
見たいなエラーです。実際は英語です。Resolve allowなんとか。
 
すみません忘れました。
 
これでdllがexeに含まれるのですっきりしますね。
 
※ILMergeは現在.NET Framework 2.0上でしか動きません。
今回は1.1をターゲットにしていることと、まだ2.0が正式版でないことから、混合させるのが怖かった
ため別のパソコンに2.0をインストールして行いました。
 
注意:上記の内容を実行した結果のいかなる損害も筆者は補償できません。
また、今回筆者の環境でうまく言っただけで、すべての環境でうまくいく保障はありません。
実行は自己責任でお願いします。あくまで、今回筆者がこういう形式で回避したというサンプルです。
 
 
で、調べていくうちにILDSMというツールを見つけました。
 
おそらく.NETに詳しい方なら知っていると思います。
 
これには驚きました。
 
ILコードやCLRヘッダのせいみたいですが。
 
変数名やら関数名、DLLの情報など丸見えです。
 
詳しくは下記の@ITの記事を読んで下さい。
 
わかりやすく説明さています。
 
ちょっと怖いですね。しかもこれが.NET Framework SDKの標準装備だから驚きです。
 
ためしにvectorで.NETで作成されフリーウェアをDLし、開いてみたところ、丸見えでした。
 
そこで調べていくと実は VisualStudio.NETにコードを難読化させるソフト"Dotfuscator"がバンドル
されていました。
有償のものもあるみたいです。
 
難読化っていうのは、簡単な話変数の名前などややこしくしリバースエンジニアリングされたときに
 
読みづらくすることです。
 
まだ使っていませんが、仕上げ段階で使おうと思います。
 
参考:
Dotfuscato
 
ILMerge
 
@IT「.NET逆コンパイラとコードを難読化するDotfuscator」
 
 
まぁ今日気づいたのは、開発するということは、環境を知ることが大事だってことですね。
 
ドンだけすごいロジック作っても、リバースエンジニアリングとかされたら損失出るし、
 
どういう仕組みで動くかもわからずプログラムを組むっていうのが危険なことかというのが
 
思い知らせれました。
 
もっと勉強しなくては・・・・。
 
ではでは。
明日のテスト勉強します!
オラクルとC!
 
それでは。またの機会に。

Final Fantasy Ⅶ Advent Children

こんばんは。
 
先日やっとFFⅦ ACみました。
 
なんていうか、綺麗・・・。
 
すごいクオリティでしたね。
 
ただ、もう少し話というか内容も充実させてほしかったような気がします。
 
個人的には、駄作といわれ続けている前作のほうが好きです。
 
 
あと、エンディングの氷室京介の「CALLING」がすごく本編にマッチしていて、よかったですね。
 
みなさんも機会があればぜひぜひ見てください。
 
ただ、FF7をプレイしたことないときついかも・・・。
 
でなくても十分楽しめますがw
 
一応ケット・シーもでてたw
 
ではでは。

あほやなw

どうも~。こんばんは。お久しぶりです。
 
いまテレビを見てるんですが、
ハイビジョンテレビのCMが流れてました。
 
んで、普通のテレビは~。ハイビジョンだと~みたいな流れで画面がきれいになるCMなんですが
それ未ながらふと、
「ハイビジョンテレビでこのCM見たらどうなるんだ!?めっちゃきれいにみえんのか?」
 
・・・。
 
あほやな。
 
つきに一度くらいはあほなこと考えないとね。
 
 
っと自分に言い訳している今日この頃でした。
 
 
最近ほんまに寒くなってきましたね。
風邪など引かないように、気をつけてください。
 
ではでは。
 

そこにオブジェクト指向を見た。

どうも~。こんばんは。
 
最近仕事のほうでVB6から.NETへの書き換をやってます。
 
まぁ正直6も.NETもあまり詳しくはないんですが。
 
.NETはまぁ、そこそこ使えるようになってるかなという感じです。
 
それで元ソースに円の描写する記述があったんdねすが、
 
Picture1.Circle(10, 20),100 ,vbBlack
 
↑みたいな感じで円が描けます。
 
意外と簡単ですよね。
 
 
.NETではというと、
 
‘グラフィックスオブジェクトを作成
Dim g As Graphics = New PictureBox1.CreateGraphics()
‘ペンのオブジェクトを色=黒、横幅=1で作成
Dim cPen As Pen = New Pen(Color.Black,1)
‘フォームに配置したピクチャーボックスの座標(10,20)に縦100,横100の円を描画
g.DrawEllipse(cPen, 10, 20, 100, 100)
 
‘オブヘクトの破棄
cPen.Dispose()
g.Dispose()
 
なんかめんどくさいですね。
 
でもこれがオブジェクト指向なんでしょうか。
 
キャンバスを配置して、ペンを取って、丸を描く。
 
書き終わったらペンをしまって、キャンバスも片付ける。
 
こんな感じで一つ一つ調べつつ、.NET化に取り組んでいます。
 
 
なかなか楽しいですよ☆
 
でははでは。
 
—お勧めサイト—

New マシン

どうも。皆さんこんばんは。
 
今日は新しいパソコンを手に入れました。
 
リース落ちのノートで結構安く手に入りました。
 
スペックは
 
CPU celelon 700
Mem 128M
HDD 10G
OS win2000pro
 
遊ぶには十分なスペックですね。
 
とりあえずネットーワークにつないだり、SP4入れたり、windows updateかけたり、と。気づけばこんな時間。
 
ところで、このパソコン多少難ありで、キーボードの「C」「V」「B」が取れてますw
 
まぁそれも始からわかってて購入したんでいいんですけどね。
 
明日アロンアルファでくっつけようw
 
 
またこいつにいろいろ入れてしばらくはwinマシンで遊んで、その後linuxでwebサーバーにしようかともくろんでます。
 
メインマシンが逝くまえに交代させないと。。。
 
 
ちなみに明日は学園祭です。
 
地味に楽しみです。
 
ではでは。またの機会に。
 

機種変!

どうも~・こんばんは。
 
今日は念願の機種変更をしてきました。
 
もちろん「V903T」
 
いまちょっとずついじってるんですが、うわさに聴く3Gの使いにくさみたいなのは、今のことろ感じられないですね。
 
ただどうしてもシャープと東芝なので、多少の違和感はあるものの、すぐになれると思います。
 
GPSの精度も思ったより高く、部屋の中で計測しても誤差10メートル程度でしょうか。
 
とりあえずコピー可能な着メロなど適当にコピーして、自分なりに使いやすくショートカットなどカスタマイズしているところです。
1週間もあれば以前の機種並みに使えるようになるかと思っています。
 
余談ですが
職場の方とTVコールやってみました。
 
なかなかいい感じです。でも料金がちょっと・・・。
 
 
ではではまた使用した感想や、気づいたことなど随時アップしていきたいと思います。
 
とりあえず明日はBlueToothでPDAとつなげてみようかな?
 
ではでは。またの機会に。

C#

どうも~こんばんは。
 
今日は初めてC#をいじったんですが、なんかVBとあんまり、変わらない気がします。
ってかframeworkだから当たり前かw
 
VBで出来る→C#でも出来る。
ってことかな?
そりゃもちろん、記述はずいぶん違いますが。
 
と、無能エンジニアが語ると、無知を晒す上に本物のエンジニアさんからクレームがきそうなので、余計なことは書きませんw
 
結局何を作ったかと言うと、指定した時間にテレビを起動するのを前々から作りたかったんですね。
 
なんでかって言うと、俺の使ってるmAgicTVってソフトは以前のバージョンはexeで起動できたので、普通のちょっと高機能なタイマーのソフトで起動できたんですが、
バージョンアップしたら、exeに引数つけないと起動しない仕様になってしまったんです(泣)
 
そんなかんだで、VBで作るつもりだったんですが、勉強もかねてC#で作ることになったわけです。
 
初めてC#やったんですが、VBでの開発とほぼ変わらない気がしましたね。俺はたいしたスキルも経験も持ってないので、「VBをCっぽく書く感じ」で普通に作れました。(作ったものもしょぼいんでorz)
 
結局、こんな小さなソフト作るくらいなら、VBだろうがC#だろうが変わらないってことでしょうか?
 
大規模なシステムになると、C#であったりVBであったりの良さ悪さがでるんでしょうが。
 
あと、また無知を晒すんですが、イベントハンドラーの手書きにはびっくり!
 
これがふつうなのかなぁ。VBだったらぽちぽちってやったらかってに
private sub Btn_1_click(sender)・・・・
みたいなの作ってくれるのに・・・。
 
↓タスクトレイに格納したアイコンをダブルクリックしたときのイベント
this.notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);
 
↑なんかめんどくさいです。でも書かないと使えないし。
 
どなたかいい方法しってたら教えてくださいm(_ _”m)ペコリ
 
まぁこんな感じで、初C#もそこそこ楽しく出来ました。
これからしばらくVBの代わりに使っていこうと思います。
 
もっとスキルアップしないと。
 
明日から学校&仕事がんばるぞ!
ではでは。またの機会に~。

自称ネットワーク屋の独り言。 15th Seasons(Since 2005/01/11)