C++でフォームアプリつくってたら、デザイナの挙動がおかしくなって、しまいにはデザイナエラー。
仕方ないので、C#。
でも、結果としてC#の方が楽だった。
C++でフォームアプリつくってたら、デザイナの挙動がおかしくなって、しまいにはデザイナエラー。
仕方ないので、C#。
でも、結果としてC#の方が楽だった。
TechNet Plus Directからもキーを落としてきたので、まとめて見れたらうれしいかと思い、試行錯誤を再び。
なんとなく、前と挙動が違う感があるのだけど、MSXML更新されてたような気がするので、そのせいかも知れないとか思いつつ。
件のXMLコードはMSDNプロダクトキー変換表示用XSLT/XMLコードに更新。
見るだけなら問題なし、かな?
html化が必要なら、msxslを使えばよい(はず)。
http://fne.cocolog-nifty.com/blog/2009/10/post-7c67.html
で書いたコード、確かにコマンドラインコンパイルでは問題なく動いたのに、プロジェクトに組み込んだら、#defineの中身を解釈してくれないばかりか、コンパイルエラー出まくる。
仕方ないので、ベタ書きした。
Office2010βの32bit版を動かしてみた。
なんか変なこと起こるかなと期待半分だったけど、アドインは問題無く動作。
Excel2007からの文字列長(32767文字)制限もそのままらしいので、内部仕様も全く問題なし。
さて、64bitは、どうなのか。
32bit混在で動くわけがないから、Excel自体が32bitであると64bitの恩恵を受けられないってことは64bitネイティブって可能性が。
アドイン呼び出し部だけ32bit化されてる可能性はあるけど、それだとオーバーヘッドでかいだろうし。
件の構造体のアラインメントは64bitだと変わりそうな感じがしてて・・・
あぁ、恐ろしい。<すぐにやってみれよ、俺。
パース方式考えなきゃな。
カンマくらいは大目に見てあげようとか考えつつ、本当に数万桁の計算ができるかやってみようかと。
やりすぎたか。
ロジック的には整数部小数部それぞれで2^32-1桁の計算に対応したはずなので3万桁なんて屁でもないんだけど、それを見るのは厄介。
とりあえず内部処理だけだが、加算・減算ができるようになった。
処理速度はイマイチだけど、負数も小数も含めて、600桁計算しても大丈夫になった。
結果の一例を載せておこう
忘れないように。
constメンバ関数のconst意味は、そのconstメンバ関数を実行する際に所有するオブジェクトの内容を変更しないという意味だが、それ故、constオブジェクトが実行できるのはconstメンバ関数に限られるということ。
つまり、
void Hoge::Func(const Hoge &obj)
{
if( obj.IsOK() ) // call Hoge::IsOK()
{
Hoge.m = obj.m;
}
}
のときの、Hoge::IsOK()はconstで定義されていなければならないということ。
この場合、bool Hoge::IsOK() const;のような定義が必要。
#たとえ、Hoge::IsOK()の中で変更をして無いとしても、constの省略はコンパイラエラーを招く。
うっかり忘れて多量のエラーを吐かれると、イヤなのでメモ。
シェアウェア登録したのだけれど、使ってもらえてないのか、まだ売り上げが無いので、やはり追加関数で対応していきたい。
Excelで計算できる数値は10の309乗程度までの浮動小数点範囲なので、ここはひとつ、3万桁目指して計算できたら、何かうれしいことが起こることを期待しつつ実装中。
#3万桁使えるのはExcel2007以降だけど。
なにやら超胡散臭い方法を多々取り入れつつできたのだけれど、なぜ例外が発生していたのか、さっぱりわからない。
try catchでも捉えきれないってのは、tryブロック外か、catchブロック内で例外になっているのかも知れないんだけど、それでも超想定外で、さっぱり。
でも、とりあえず、動くようになったから、一応信じておくとするか。
かきの季節になったので。
試験にも受かったし。
かきでお腹を満たすなら俺の中ではかきおこのコストパフォーマンスが一番だと思ってるのですが、さすがにふらりと出掛けるには遠すぎる。
ADO.NETの.NET Framework 3.5対応版・・・ADOだけ分離した最初じゃなかろうか。
ADO.NETってーと、つまるところ、DB。
直接のDBではなくて、DBアクセスと、そのデータ活用部分。
いわゆる3層C-Sモデルの2層目部分に相当する部分ってところか。
今回も大体1週間程度の対策。
対策書籍は70-561用のSelf-Paced Training Kit。
英語、でもオフィシャル。
ハードカバーで持ち運び不便だけど、付属CD-ROMに全ページPDFが含まれていて、PC等で読める。
読めるのはいいのだけれどさ。
今のところ、高機能なものはいらない。
投稿さえできれば、面倒は極端に減る。
ならばというわけで、シンプルなものをつくってみた。
ときどきある。
いや、頻度はかなり高い。
全ての環境で発生するものではないと思うけれど、なぜCPUに余力があるのに、そういうことが起こるかという点と、解消方法が問題。
ダウンロードしてみた。
つくったアドインをExcelで動かしてみたいと思う。
とりあえず、週末に。
そいや、64bitと32bitが分かれたのってOfficeでは初めてだな。
俺のアドインって、32bitコードだから、64bitで動くのかなぁ。
64bitと32bitの混在はできないはずなので、多分無理、かな・・・
64bitでもやってみる必要がありそうだな(覚書)。
.NETなら、依存コードさえ無ければどちらにもネイティブで対応できるのだけど、今度はバージョン混在問題があるし・・・
「マイクロソフト MCSE 2003限定 2受験目無料キャンペーン用受験チケット」申し込みページ | プロメトリック
勘違いしてた。
再受験無料だとばかり思ってた。
5科目のうち、どれでも2回を1科目分の値段で受験できるってことらしい。
これはとりあえず番号だけ要求しておいた方がいいかも知れん、ってことで早速要求。
要求だけなら無料。
ターゲットは70-647と70-680だけ。
#他は合格済み。
##当然MCSE2003も取得済み。
mini D-SUB15ピンの延長用連結コネクタ(オス-メス)と75Ωの抵抗3本を買ってきて(計500円以内@マルツ)、Den Personlige Computer - VGA Dummyにあるとおりにつないでみた。
最近のノートPCは外部ディスプレイをセカンダリ認識できるようになっているのだけれど、ディスプレイを接続していないとこれが有効にならない場合がほとんど。
けれど、このダミーアダプタを付けると、それを騙すことができる。
絶対ダメなもののダメ理由が、「法律により処罰対象になるから」という、いわゆる、「ほら、怒られちゃうからやめようね」的な、本質とは異なることにすり替えちゃうような報道や会見ではいけないと常々思う。
せっかく役者がそういう場に立つのであれば、ダメ理由を分かりやすく、たとえば、目の焦点をわざと外して、半笑いでよだれを垂らしながら、見た目に明らかにヤバい人を演じて欲しかった。
もし、やってくれてたら、インパクト絶大だっただろうに。
幼少期ならトラウマになるかも。
逆に、普通の人をやっちゃうから、本来のダメ理由が霞む。
「やってもバレなければ普通の人なんだぜ、きっと、だから大丈夫」と思わせるような報道ならしない方がマシ。
記事エクスポート/インポートがうまくできずに、完全再構築。
処理速度は上がったのだが、やはり、mt-xmlrpc.cgiがタイムアウト。
何が原因か、不明・・・
X41から後期X60に替えようと思い、VHDネイティブブートを構成したんだけど、起動しなくなった。
OSインストール完了後からHDDへのアクセスが多くて変な感じはしていたのだが・・・
BIOSでデバイス認識はできているのだが、HDD diagnostic programで搭載しているWD5000BEVTを検査してみると、0000エラーすら出る状態に。
突然死!
1年も使ってないけれど、かたちあるもの壊れるわけだから、仕方ないですが、経年劣化としたら早すぎ。
熱かなぁ・・・
かなり重い。
管理サイトはSSL&CGIなので、やはりかなりの負荷が掛っているようだ。
PerlCGI動作時のCPU負荷は限界まで一気に跳ね上がる。
X41以外のマシンで再構築すべきだろうか。
前期型のX60を利用してみるか・・・
このサイトも実はDDNSを利用している。
MyDNSというDDNSを利用させてもらっているのだが、他のDDNSサイト同様、定期的にアドレス通知を送る必要がある。
#というか、それでDNS情報を更新できるからDynamicDNSなわけだが。
念のため、元のXP Homeを残したまま、Windows 7を別パーティションにインストール。
#標準では空きが無いので、HDDを換装するか、領域切りなおし等する必要がある。
やり方は設定依存だろうけど、最初にF12キー(Fn+F11)を押すと、ブートデバイスを選択できる。
あとはインストーラーに任せればかなりすんなりとWindows 7が起動する。
Windows Live Writerの設定時に、mt-xmlrpc.cgiへのアクセスでタイムアウトする。
エラー時に表示されるURLは正しい。
とすれば、mt-xmlrpcの処理の問題か。
だが、なぜタイムアウトするのか、よくわからない。
ユーザ名に問題があるのかもしれない。
サーバ負荷が問題なのかもしれない。
SSL証明書に問題があるのかもしれない。
OSのイベントログには処理がタイムアウトしたことのエラーが記録されている。
CPUかディスク(無いけど)アクセスの遅さが原因かも知れない。
コメントの管理までやるには、管理ページへアクセスする必要があるし、それはSSL暗号化できてるから、いいのだけれど・・・
自己証明書からドメイン証明書に変更。
#ワイルドカードオレオレ。
ドメインルート証明書をインストールしておけば、SSL証明書のエラーは出なくなる。
だが、なぜかWindows Live Writerはうまく動かない。
あとわかったことは、/mt/ディレクトリ(標準名)もブログ表示側で公開しておく必要があるらしいということ。
非SSLでログインしようとすればできちゃうんだよな、どうしようかしら。
#どうしようもない。
ThinkVantage Password Managerを使っていて、最近困ったのは、マイニフティへのログインだった(過去形)。
Password Mangaer有効状態でマイニフティログインページを参照すると、なぜかは不明だが、DEP(データ実行防止)関連のエラーが出ていた。
OptOutでIEを除外してもダメだった。
ちょうど、マルチOSでの利用に対し不便を感じたため、BIOSでセキュリティチップを無効化したX61Tabletで発生したため、仕方がないと感じはしたものの、他のサイトでは起こらない現象であったため、何らかの対処が可能ではないかと探ってみた。
8GBのCFでWindows7運用は、やはり厳しい。
全体をNTFS圧縮しても、アップデート一発で、空き容量はすぐに警告レベル。
16GBのCFへ載せ替えたいところ。
MSDNサブスクライバーダウンロードとかの・・・: 気晴日記、重複を削ればもっとわかりやすい: 気晴日記に書いたXSLTを改版したので、載せておこうと思う。
改良点としては、仮番号が付くようになったことと、色を付けて少し見易さを意識してみたことが挙げられる。
コードはウェブページ化(こちら)。
直したら都度アップ。
このブログは、8GBCFと4GBSDHCでゼロスピンドル化したThinkpad X41を利用し、Windows7+IIS7.5+MovableType4.2の構成で構築しました。
非力なので、今月は様子見運転とします。