「パソコンのこと」カテゴリーアーカイブ

ブログ1周年( ^-^)∠※.。・:*:・゜`☆、。・:*:・゜`★

どうも~。こんばんは。
 
本日2006年1月11日を持ちましてブログ1周年となりました。
 
今思うと、書き始めは音楽情報満載で役立つブログにしようと、意気込んでたものの・・・。
 
結局は駄文の集合体と化してしまいました・・・。
 
こんなブログでもご愛読いただいた皆さんには本当に感謝しています。
 
「ブログで読んだよ~」と声をかけてもらうたび、読んでくれてるんだなぁ。としみじみと実感し、
 
また、もっとましなことを書こうと思い、まぁなんていうか。
 
「みなさん、本当にありがとう!」
 
これからもしょーもないブログですが、どうぞよろしくお願いしますm(_ _"m)
 
 
 
 
と書いてみましたが、実は違うサイトへの移行をかんがえております。
 
一年間通してMSN SPACEを使ってきましたが、正直ちょっと使いづらい部分も
 
目に見えてきました。
 
しかも近頃はどうもレスポンスが悪いようですし。
 
コメントが見づらかったり、こちらも返信しずらかったりと、いろいろ不都合が出ています。
 
現状移行先に考えているのは
 
goo blog
livedoor blog
このまま続行
 
こんな感じです。
 
livedoorは裏で一つかいてますので、雰囲気はわかります。
 
ものすごくカスタマイズききますw
(いじってないけど)
 
gooに関してはすっきりしてて好きですね。
 
まぁYahooもブログサービスをやってますし、JUGEMやFC2もあるので、少し検討してみます。
 
移行前にこちらで告知いたしますので、どうぞ以降後も、末永くみまもってやってください。
 
方向音痴で間抜けでしかも3流なプログラマーを。
 
ではでは。またの機会に!
 
 
 
 
 
 
 
 
 
 

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!
 
それでは。またの機会に。

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

どうも~。こんばんは。
 
最近仕事のほうで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の代わりに使っていこうと思います。
 
もっとスキルアップしないと。
 
明日から学校&仕事がんばるぞ!
ではでは。またの機会に~。