Windowsでの開発
Pythonの開発環境 -- 2009-10-16
WindowsでPythonの開発/実行環境をそろえるのはちょっとめんどくさいのでPortable Pythonを使います。
Portable Pythonはその名の通り、システムにPythonをインストールすることなくPythonの環境を整えることが出来るのでUSBメモリなどに入れておけばどこでも同じ環境で開発可能です。
Python 2.5.4環境では、
- PyScripter
- SPE
- wxPython
など他多数が収録されていました。
私はついでにwxGladeを入れてGUI開発環境を整えることができました(^^)。ただ、アクセススピードが遅いUSBメモリの場合、SPEなどの起動に結構時間がかかります・・・(そもそも私の環境(WinXP SP3)ではPyScripterとかSPEはかなり不安定です・・・)
- Portable Python -- http://www.portablepython.com/
.NETクラスライブラリをVBAから使う -- 2008-09-04
Windowsでの開発をする必要があったのでVisual Basic 2008 Express Edition(VB)を使ってみました。VBを使うのは4年ぶりぐらい。
Excel2007 VBAからVBで作成したライブラリを簡単に使えると思ってたのですが(そろそろVBAも.NETに移行してると思ってたのに・・・)、結構苦労しました。そんなわけで導入手順をメモしておきます。
.NETクラスライブラリはCOMっていう仕組みを使うそうな。
Visual Basicでの作業
アプリケーションのプロパティで、
- アプリケーション -> アセンブリ情報 -> [アセンブリをCOM参照可能にする]にチェック
- 署名 -> [アセンブリの署名]にチェック
- キーファイルがあればそれを使用できると思いますが、なかったので<新規作成...>で作成しました
- 署名をしていないとcodebaseオプションが使えないため、VBAから使用できない
プロパティを設定したらビルドします。
コマンドラインでの作業
ビルドしたらレジストリに登録するために、RegAsmユーティリティを使用します。VB2008は.NET Framework 3.5を使っていますが、.NET 2.0のものが使用できました(1.0のは使えませんでした)。このコマンドを使用することにより型とタイプライブラリ(tlb)がレジストリに登録されます。DLLの格納場所はsystem32ディレクトリである必要はなく任意の場所で問題ないらしいです。
> cd [使用するDLLがあるディレクトリ] > regasm Foo.dll /tlb:Foo.tlb /codebase Microsoft(R) .NET Framework Assembly Registration Utility 2.0.50727.1433 Copyright (C) Microsoft Corporation 1998-2004. All rights reserved. 型は正常に登録されました。 アセンブリは '...\Foo.tlb' にエクスポートさ れ、タイプ ライブラリは正常に登録されました。
通常regasm.exeにパスが通ってないはずなので、ここではC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exeをフルパスで指定して使用しました(2.0.50727は環境によって異なるかもしれない)。
これで共有DLLとして登録されました。
なお、登録解除する場合は、
> regasm Foo.dll /tlb:Foo.tlb /unregister
でOK。
Excel VBAからの使用
上記の手順を行っていれば、参照先として選択できるはずなので、通常通り参照設定で参照先ライブラリを探しチェックを入れる。
使用するコードはたとえば以下のようなもの。
Sub Test1() Dim obj As New Foo.FooClass MsgBox (obj.ToString()) End Sub
こんな感じ。
Windows環境
アンチウィルスソフトは? -- 2008-09-09
セキュリティを確保するためにはアンチウィルスプログラムのインストールが必須ですが、状況によってはファイルアクセスなどの性能低下を引き起こすことがあります。だからといってインストールしないわけにも行かないし・・・ということで私が使った数種類のアンチウィルスソフトの感想をメモしておきます。
これは2008年頃の情報なので今後のバージョンアップによっては必ずしもこのとおりとは言えない場合がありますので注意して下さい。なお、あくまで私の主観です。
- トレンドマイクロ ウィルスバスター Corporated Edition
- 使用環境:Windows XP SP3(Core2 Duo 3GHz / 2GB RAM)
現所属で配布されているソフトです。Corporated版だからかたいした機能は内容に思いました。ただ、ファイルアクセスが異様に遅いです。通常の使用(Officeで文書を編集したり)ぐらいなら特に問題はないと思いますが、学会用のポスター作成(PowerPoint)だとファイル保存時に「うー、凍ったかも」って思うときがあります。もちろん自動バックアップを使用すると悲惨です。Visual Studioで開発などしようものならファイル保存、デバッグなどでストレスがたまること請け合いです。
以前いたところで通常のウィルスバスターを使ったこともありますが、ファイル転送などにも影響を及ぼし、重大な速度低下が起こりました。
- ジャストシステム Kaspersky Anti-Virus 7.0
- 使用環境:Windows XP SP3(Core2 Duo 3GHz / 2GB RAM, Pentium4 2.4GHz / 2GB RAM)
動作が軽いとなかなかの評判のアンチウィルスソフトです。自宅のデスクトップマシンでは少し前のバージョンから使用しています。ウィルスバスターのようなファイルアクセスへの影響はほとんどないように思います。Visual Studioってそんなに重くないやんってこれに変えてから気づきました。
ただ、ソフト自体の起動が重いのか、Windows起動時(ログオン後)、使えるようになるのに少し時間がかかります。これは無線LANを使用するノートでは結構問題で、ネットワークが使用できるようになるまで1〜2分待たなければなりませんでした。職場環境では稼働しているはずなのにWindowsの緊急警告が出ることがままあります。デスクトップ環境ではこれを使っています。
- キャノンITソリューションズ ESET NOD32 Antivirus 3.0
- 使用環境:Windows XP SP3(Atom 1.6GHz / 1GB RAM)
スロバキアのEset社が開発したソフトだそうです。プログラムサイズや定義ファイルが小さいため動作が軽量なのがウリみたいです。上記のようにKasperskyが起動時に重いため、ノートPC(Eee PC 901-X)に導入してみました。確かに、起動が速く、Windows起動後のウェイトもあまりないような気がします。定義ファイルの更新で引っかかることもなく軽快に動いています。