プログラミング

緯度・経度から地名を検索

以下、緯度・経度から地名を検索するメモ。 http://refits.cgk.affrc.go.jp/index.htmlのhttp://refits.cgk.affrc.go.jp/tsrv/jp/rgeocode.htmlを利用する。WebサービスのURLはhttp://refits.cgk.affrc.go.jp/tsrv/rgeocode.phpと記述されてるけど、実際はht…

PerlとかJavaScriptとかAjaxとかJSONとかJSONPとかprototype.jsとかGoogleMapsApiとか…

3連休は延々プログラミング。久しぶりかも。 C/C++の静的型言語にどっぷりでPerlもJavaScriptも初めて触ったようなものなのでかなり心もとないwコンパイラがエラーをちゃんと教えてくれるってのは幸せなんだねぇと思い知る。

VC6でのメモリリーク対策

VC6でのメモリリーク対策。http://msdn.microsoft.com/library/ja/jpdnvc60/htm/MemLeaks.asp?frame=true検出のために以下の3行を追加すれば、メモリリークした場所が特定できると記述されている。 #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> で、やっ</crtdbg.h></stdlib.h>…

google maps api

いじってみようと調べた所、Javaスクリプトからしか扱えないっぽい。うーん。C#でクライアントアプリから操作したかったんだがなぁ。っつっても、WebAPIなんだからできなくはなさそうだけど、そんな所にがんばるのもねぇ・・・ガクリ。もうちょい調べてみよう。

Xercesライブラリに対するIntellisense

Xerces-C++をVC6で利用しているが、Xercesのライブラリに対するインテリセンスが効かない。これ、ものすごく不便。というわけで対策。 ソースをダウンロード XercesDeprecatedDOMLib.dspおよびXercesLib.dspプロジェクトファイルを自分のワークスペースにイ…

VC++ 2005の最適化?

関数パラメタにオブジェクトインスタンスを値渡しする場合に、ユーザ定義のコピーコンストラクタがある場合とない場合で最適化?*1が行われて生成されるコードが違う事がある。 ユーザ定義のコピーコンストラクタが定義されている場合の方が生成される一時オ…

for_each()で統計をとる方法

dataに適用して統計をとる関数オブジェクトcounterを作成して以下のように呼び出してもrateに結果が反映されない。 counter rate ; for_each( data.begin() , data.end() , rate ) ; cout 原因はfor_each()の第3パラメタが値渡しのため、呼び出し元のrateに…

Xerces 2.3.0でXercesDOMParserに別のDTDを適用できない・・・

SAXParser.loadGrammar( "test.dtd" , Grammar::DTDGrammarType , true ) ;は成功するのに XercesDOMParser.loadGrammar( "test.dtd" , Grammar::DTDGrammarType , true ) ;は失敗する罠・・・ムキーもしかして2.7.0ならイケるかと思いきや・・・リンク通らねぇー ガク…

MSXMLで任意のXMLスキーマファイルを用いて検証する方法

MSXML2::CLSID_XMLSchemaCache40をクリエイトしてadd()でXMLスキーマファイルを読み込み、MSXML2::CLSID_DOMDocument40にputref_schemas()で関連付ける。 そして、MSXML2::CLSID_DOMDocument40::load()なりvalidate()で検証可能。エラー発生場所を調べるには…

XMLファイルをXMLファイルからインクルードする方法

XML Inclusions (XInclude) Version 1.0 http://www.w3.org/TR/2004/REC-xinclude-20041220/ で、できそうだけど・・・パーサーは対応してるのか? - DTDの外部実体つかった方が、パーサーの幅は広がるかも。http://wisdom.sakura.ne.jp/web/xml/dtd/dtd11.html

std::set.find()とstatic_cast<>の一時変数返しの謎

std::set.find() std::set の要素内容を変更できないの?と会社で言われて調べてみる。 std::set<A> sa ; std::set<A>::iterator it ; it = sa.find( 5 ) ; (*it).set_prop(7) ;で問題なく更新できる(VC6)。ただし、setの内部実装はバイナリツリーだからキーは書き</a></a>…

Eclipse+WTPでXML Schemaバリデーション

Eclipse+WTPで名前無し空間に対するXMLスキーマのバリデーションをする方法を先日書いたんですが(http://d.hatena.ne.jp/xanthus/20060223#p1)、翌日Eclipseを起動するとなぜか The XML file is well formed.Warning : No grammar constraints detected for …

Eclipse+WTPでXMLスキーマ作成

Eclipse+WTPでXMLスキーマファイルを利用したバリデーションが出来ると思ってたのに・・・どうやら名前空間を持たない(xsi:noNamespaceSchemaLocation)場合には対応してないっぽい。ちっ。何かやり方あるんだろうか。 xsi:noNamespaceSchemaLocationの指定方法…