Linux日記

開発環境の構築に力を使うな!?

1 Mins read

永遠のPGマンとしては、色々な開発をする時に、その度に開発環境を作成してから仕事を始めます:cry:

近年は仮想化ソフト(バーチャルマシン)が安定してきてVMwareだのXenだの使用して
BackUpしてあるOSイメージをコピペで切り替えながら作業環境の構築時間を短縮している。

昔はMSのVSシリーズのインストールで開発環境がサクッっと出来たのに、
近頃はやれWebだのDBだのJavaだのとInstallしないといけない始末に・・・:mad:
尚且つ設定ファイルをイジクリ、環境変数をセットしたりと爆発したくなるぐらいに時間が掛かる・・・:evil:

ここでWeb開発構築のインストールを簡単にということで近頃使っているのが「XAMPP」や「AppServ」でゴワス:razz:

双方ともApache系のWeb環境を簡単に作れるインストール簡単パッケージ、
最近は「WordPress」や「phpBB」なども入っている♪

でも、これでインストール覚えちゃうと環境構築時に覚えられる貴重な体験が出来ないので、
あくまで上級者が使った方がいいと思います。

今日の格言・・・「初級者は一からインスコすべし」:cool:

Read more
日記

ISOファイルって扱いどうよ?

1 Mins read

近年、DVDやCDの情報(ゲーム、映画、音楽)をイメージファイルとしてHDDなどに保存しておくことがあるが、
基本的にISOを扱うためのソフトは大部分が有料である・・・・FantomCD、Alcohol120%など

そんな時、手軽に扱えるFreeToolが見つかったので覚書しておく:lol:

名前は「Daemon Tools」で、これはマウント系で使いやすい。:razz:

もう一つは「DVD Shrink」で、イメージが簡単に作れる。

個人使用はFreeで使えるので重宝するよん♪
CDもISOで保存しておけば音質劣化しなからね!・・・って容量的には賛成出来ないが:mad:

Read more
Vista日記

Surrogate Pair in Vista VS My program (T T)

1 Mins read

Vistaが登場してから何かと文字コードの拡張にともなう影響が声高々と謳われているが、
「何がそんなにもんだいなんじゃい!」ってVistaでMy Programを動かしてたら・・・・

あれれ???「この文字バックスペースすると文字化けする・・・□に・・どうなってんじゃい!!!」

およそ10分Webサーフィン♪

!:evil:!サロゲートペア???で問題発生!?

簡単にまとめると・・・

1.サロゲートペアとはUTF16では本来2バイト(16bit)で1文字を表現しているが、65,536バイトでは表現できない文字があらわれた(中国、インド、日本などアルファベット圏外字を扱うため)ために16bit+16bit(前半0xD800~0xDBFF, 後半0xDC00~0xDFFF)を使用して16bitで表現できない文字をこの領域に入れる方法をサロゲートペアと言う。詳しくはここ
サロゲートペア自体は昔から存在する。
 
2.近年のOS内部処理ではUnicodeのUTF16によって文字制御している。
 
3.XPまでの日本語標準フォントにはサロゲートペアが存在しなかった為、UTF16は2バイトのみと判断する場合がほとんどに。(これも問題だが・・・デファクトスタンダードされた)
 
4.Vistaに搭載された日本語標準フォントにはサロゲートペアが存在する。
 
5.サロゲートペアの文字は見た目は1文字だが、プログラミング上のLengthが2(4バイト)で帰ってくる!!!(もちろん実際に内部では4バイト=32bitを使用しているのだから・・・)
 
6.今まで文字をカウントしている関数が信用ならない。C#のcharにサロゲートペア入れて試しにLengthみると2!?本来なら1がほしい
 
7.サロゲートペアをTextBoxなどに入れてbackspaceすると下位サロゲートだけ消えて上位サロゲートが残るため文字化け(□など)が起こる。なので2回押して1文字消す???

こんな感じになる・・・・:evil:!!!

Vistaの文字コード問題はこればかりじゃないが、これが一番影響範囲大でしょう!

PGとして考えられる影響範囲

1.SQL等、検索はどうなの?
2.正規表現は?
3.文字をカウントしている関数は?
4.バイト制限しているコントロールは?
5.left、raightrightなど関数は?

少し考えただけで頭が痛くなる・・・どうすんの!オレ!?つづく(笑)ってな場合じゃない!

この仕様きめたお偉いさん方はOS環境やPGのことなど理解してないでしょう!
しかし、これは2000年問題よりも事は重大だと思うよ・・・まじで:mad:

最後に、今まで表記が間違っていた文字や文字コードとして無かった文字が新たに追加されるのは
歓迎されるべきだが、追加の方法が今の時点で尚且つサロゲートペアとして追加するべきだったのか?
かなり疑問に感じる。

関連リンク
・C#など.NETでの対応方法
・MS製品JIS2004対応表
・文字化けとは
・Vista変更文字1
・Vista変更文字2
・総まとめ情報

Read more
.NET

.Netで作成したexeの起動が遅い訳

1 Mins read

時代の流れに乗り遅れている管理人ですが、VB.NETでもC#でも.NETで作成したProgramは、
何故か初回の起動が遅い???

もちろんVB6はネイティブコンパイルで.NETはCLRでJavaと一緒の中間ファイルになっているのが
原因なんだろう的に考えていたのだ・・・・・

しかし、こんな状態でお客さんにシステム開発したら?

お客さん「なんで昔(VB6)は早かったのに新しく(.NET)なったら遅くなるの!?」
管理人「始めの起動だけですので、2度目(メモリーに読み込まれる)からはストレス無く使えますよ(汗)」

このような状態になることは目に見えている。

で、遅まきながら(汗)

ネイティブ イメージ ジェネレータ (Ngen.exe) なんつーものがあるのを見っけました・・・遅くてごめん:wink:

ここにも詳しいくのっチょるよ

これはMSILで吐き出された.NETファイルをこれを咬ます事によりネイティブイメージに変身するらしい!!!
試しに・・・ポチポチ・・・ピコッ!・・・・おおっ速い:razz:

システムも人間と同じく初めが肝心である♪

Read more
日記

リファクタリング?

1 Mins read

昔はどんなに汚いソースを見ても動いているプログラムのソースはイジラナイが鉄則だったけど、
最近のリファクタリングツールは便利になったね~:razz:

キタナイソースは修正や変更に弱く、ひどい場合には、
「これ作り直した方が早いよ(^ ^;)」ってな場合も多々ある。

何よりプロフェッショナルPGとしては直したい衝動に激しく襲われるものである:roll:
もちろん、汎用性の高いソースと工期短縮とのハザマでついついキタナク書いてしまうこともあるだろう。

そんなPGの現状に手助けしてくれるのがリファクタリングツールである。
動いている状態のプログラムがブルーなら、手を加えて問題が発生している場合をレッドで教えてくれる。
要するに修正を加えてもバグがしこまれたかツールが判断してくれるというものである。

JavaのDB回りのリファクタリングツールが発表されたので今度使ってみるかぁ~

最後に・・・しかし、稼働中のコアな業務アプリはリファクタリングツールがあっても手お入れるべからずかな(笑)

Read more