fc2ブログ

t100のプログラミング脱出作戦

自分のプログラミング脳をプログラムにして、いつかプログラミングから脱出してやるぞっ!とか夢見ながら、日々プログラム作っていく 百野 貴博 の日記です!今は、屋号『百蔵。』として、Silverlight・WPFを追跡中です! (2007/09/30)
ADD-IN EXPRESS 買ってみました。
Excelのユーザー定義関数の速度アップの方法を探していたら
海外パッケージで、有料の開発用フレームワーク(?)を見つけたので買ってみました。

開発者ライセンスあたり$349で、評価版は無いのですが30日返金保障が付いています。


Excelのユーザー関数開発には、VBAマクロ開発、ActiveX開発、XLL開発と幾つか方法があります。
(VSTOは、Excel2003以降という要件が私のプロジェクトにマッチしなかったので今回は評価しませんでした)

それぞれ、前者になるほど開発の難易度は低いが速度が遅いというトレードオフになっています。
最後のXLLは、Excel SDKを使うので、Excelの内部関数と同じスレッドで処理されるということらしいのですが
普通に開発するとC++で行う必要があり、非常に難易度が高いです。

さらに日本語ドキュメントも、ほぼ無い状況と言えます。


その為、速度アップを重視する場合 ActiveX を使うことになるのですが
それでも処理がセル単位で実行されるため(並列実行されない為)、どうしても体感できる程度の差が出てしまいます。


しかし!


今回見つけた、Add-in Express は凄いです!

XLL形式のDLLから .netのコードを呼び出す仕組みを提供してくれているのです!

そう!XLL形式でExcelに組み込まれるにも関わらず、開発は .net で出来てしまう素敵フレームワークなのです!
(注:全部C++で作った場合に比べると、やはり速度劣化は発生してしまいます)

素敵!

C++でActiveXなんて泣いてしまいそうな部分の知識はゼロでOK!
なのにハイパフォーマンス!素敵!!

しかも開発者ライセンス!(ランタイムライセンスじゃない!)
素敵!!


とりあえず既存関数をざくっと移植して試してみましたが、体感するほどの速度向上がありました!
素敵!!!


次回、簡単なベンチマークで速度を比較してみたいと思います!!(たぶん!)



おやすみなさい(*´д`*)
スポンサーサイト



テーマ: プログラミング - ジャンル: コンピュータ

Expression Blend 2.5 で、ブラシの使い方を調べてみる。
Silverlightや、WPFやるなら、その表現力を使いこなせなければ勿体ないですよね!
ということで、少しずつExpression Blend の使い方を調べていきまっす。

今回はブラシ。塗りつぶしを調べてみました。

ちなみに使用したのは、Expression Blend 2.5 June 2008 Preview でっす。
⇒続きを読む ヽ(´ー`)ノ
SilverLight2 beta2 でWebサービスを呼ぶ(WCF編)
前回のエントリー以降、調べてみたのですが、どうもSilverlight でWebサービスを呼ぶ場合、サーバー側はWCFを使うのが推奨される方法なのかもしれません。

#というか従来の asmx ウェブサービスを呼び出す方法を見つけられませんでした・・・orz


ということで、Silverlight2 beta2 で、Webサービスを呼び出すプロジェクトを作る手順をまとめてみます。
(前回のチュートリアルと、ほぼ同じ内容ですが、、、)

手順は以下です。
⇒続きを読む ヽ(´ー`)ノ
OpenID 対応サイトを作ろうとしてみる。
巷でOpenID の話が熱そうなので、試しに対応サイトを作ってみようかと。

で、ExtremeSwankという、OpenSourceのASP.NET 向けライブラリをダウンロードしてみました。
#他の言語向けライブラリは、こちら

で、上記ページにある
ExtremeSwank OpenIDControl User Control 3.0.0
っていうのをダウンロードしてみたところ、もう動作する状態のWebページまで用意されてました。

おお。。。
てっきりライブラリだけで、組み込むコード書かないとダメかと思ってた、、、
なんと便利な・・・。



ではでは、、、ということで早速、このプロジェクトをそのまま ファーストサーバのレンタルサーバーにアップして、動作確認っ

・・・・

んーーー


とりあえず、YahooとHatenaのOpenIDでログインでけた、、、
確かに凄い、、、ようなキモするが、、、

が、それ以上のユーザー情報は、こちら側では取れてない模様?
YahooやHatena側にも情報提供を許可する画面は見つからず。。。
#そもそも、OpenIDにそんな機能無いんだっけ?

ありゃ?
ログインだけ?


うーむ、、、まだOpenIDってのが、イマイチ理解できてない、、、
ニックネームぐらいは取れるのかと(勝手に)思っていたのだが、、、


明日は、サンプルコードの中を見つつ、OpenID対応サイト側で取れる情報に迫ってみたい。
もう少し中を調べてみよう。


って、内容ショボくてすんません、、、

SQL Server CEのDBをデータベース エクスプローラーから操作するには。
Visual C# 2008 Express の環境で、プロジェクト内のSQL Server CEのデータベースをダブルクリックしたらIDEごと落ちた・・・。(;´д⊂)

"sqlceme35.dll を読み込めません" ということらしい。
(Unable to load DLL 'sqlceme35.dll')

むむむ・・・。なにをーーっ!
だったら読めるようにしてやるっ!

で、SQL Server Compact Edition 3.5 関連のDLL を Visual C# のディレクトリ以下にコピーしてみたところ普通に動きましたっ。
おおっ。

コピーしたのは、以下のファイル。
⇒続きを読む ヽ(´ー`)ノ