<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TRACKSYSTEMS blog/jp &#187; プログラミング</title>
	<atom:link href="http://www2.db-tracklayer.com/blog/jp/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www2.db-tracklayer.com/blog/jp</link>
	<description>TRACKSYSTEMS Official Blog Japanese</description>
	<lastBuildDate>Sat, 12 Mar 2011 10:30:51 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>WindowsMobileから外部のMySQL DBサーバへアクセスする方法</title>
		<link>http://www2.db-tracklayer.com/blog/jp/2009/05/27/windowsmobile%e3%81%8b%e3%82%89%e5%a4%96%e9%83%a8%e3%81%aemysql-db%e3%82%b5%e3%83%bc%e3%83%90%e3%81%b8%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://www2.db-tracklayer.com/blog/jp/2009/05/27/windowsmobile%e3%81%8b%e3%82%89%e5%a4%96%e9%83%a8%e3%81%aemysql-db%e3%82%b5%e3%83%bc%e3%83%90%e3%81%b8%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Wed, 27 May 2009 01:47:35 +0000</pubDate>
		<dc:creator>たかぼー</dc:creator>
				<category><![CDATA[DB-Tracklayer 開発]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[MFC]]></category>
		<category><![CDATA[PocketPC]]></category>
		<category><![CDATA[WindowsMobile]]></category>

		<guid isPermaLink="false">http://www2.db-tracklayer.com/blog/jp/?p=334</guid>
		<description><![CDATA[たかぼー＠プログラマーです。 前回の投稿でiPhoneからMySQL DBサーバへ繋ぎにいく方法を書きましたが、今回はそれのWindowsMobile版のお話です。 ろーる君が似たようなテーマの記事を投稿しているような気がしますが、きっと気のせいですね。 さて、WindowsMobileと言いますと、iPhoneと違ってリリースされてから結構年数が経っていますし、バージョンアップも繰り返していることから、すでに何かしらMySQL DBへ繋ぎに行く方法が開発されているだろうと思い、探してみたところ、すぐに見つけることができました。 公式サイトにMySQL Connector/NETという.NET版のライブラリがありまして、Compact Framework 2.0に対応している、と表記がありました。 Compact Frameworkというのは.NET FrameworkをWindowsMobileで動作するように機能を最低限にしたりモバイル機に必要なものを別途追加したりしたもので、つまるところ.NETでアプリを開発していればMySQL DBへはすぐに接続できるということになります。 しかし、今回はC/C++言語でやりたいという会社の意向もあり、この方法は使わないことになりました。 （動作速度や消費メモリ、対応OSの面でおそらくC/C++の方が有利） というわけで今回もiPhone版と同じようにMySQL Connector/CのソースをWindowsMobile用に修正する方向性で作業を進めたわけなのですが、iPhone版と比べてかなり修正箇所が多くなりました。 WindowsMobileでコンパイルするにあたり、通常のWindows版のソースコードを流用していきましたが、 そもそも Windows MobileのWin32 APIは本来のWin32 APIの一部しかサポートしていない C標準ライブラリも同様に一部しかサポートしていない 文字コードはユニコードのみ（APIも基本的にはユニコードのみサポート） カレントディレクトリという概念が無い などと、Windowsとはかなり事情が異なるため、コンパイルエラーが山ほど出ます。 これを一つ一つ潰していく作業が必要になるというわけです。 代替コードを書いたり、マルチバイトからユニコードへ変換するコードを挟んだりしていくわけです。 そうしてようやくエラーを潰し終わっても、これだけでは実はまだ動きません。 WindowsMobileはアラインメントの制約が厳しいため、半端なメモリポインタをintとして読み取ろうとすると実行時にエラーが発生してしまいます。MySQLのソースにそうした変換マクロがいくつか存在しているため、それらを別の手段に置き換える必要があります（1バイトずつ読み込む等）。 これでようやく動くようになりました。 今回はMFCを利用しますので、MySQL C APIのラップクラスを作り、ようやく完成です。]]></description>
		<wfw:commentRss>http://www2.db-tracklayer.com/blog/jp/2009/05/27/windowsmobile%e3%81%8b%e3%82%89%e5%a4%96%e9%83%a8%e3%81%aemysql-db%e3%82%b5%e3%83%bc%e3%83%90%e3%81%b8%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhoneから外部のMySQL DBサーバへアクセスする方法</title>
		<link>http://www2.db-tracklayer.com/blog/jp/2009/05/16/iphone%e3%81%8b%e3%82%89%e5%a4%96%e9%83%a8%e3%81%aemysql-db%e3%82%b5%e3%83%bc%e3%83%90%e3%81%b8%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://www2.db-tracklayer.com/blog/jp/2009/05/16/iphone%e3%81%8b%e3%82%89%e5%a4%96%e9%83%a8%e3%81%aemysql-db%e3%82%b5%e3%83%bc%e3%83%90%e3%81%b8%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Sat, 16 May 2009 05:54:34 +0000</pubDate>
		<dc:creator>たかぼー</dc:creator>
				<category><![CDATA[DB-Tracklayer 開発]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www2.db-tracklayer.com/blog/?p=222</guid>
		<description><![CDATA[DB-TracklayerのiPhone版（iPhone用MySQLクライアントアプリ）実現に向けて しゃちょーより新たなミッションとして 「iPhoneから外部MySQL DBサーバへアクセスするライブラリを構築せよ！」 との指令が届いたのであります。 （※ 一部台詞は誇張しています） アクセスライブラリと言うことは、苦い部分（データのやりとり）ばかりで、 美味しい所（GUI、アニメーション等）は一切無しという事でございます。 しかもこれが実現出来ないと、iPhone版の企画自体がボツになってしまうという 無言のプレッシャー付きでございます。 責任重大であります。 ・・・と余談はさておき、iPhoneからMySQL DBサーバの情報を取得する方法ですが、 主に２つの実現方法が挙げられます。 一つは、MySQL DBサーバとiPhoneを仲介する別サーバを用意する方法です。 PHP等にはすでにMySQL用のクライアントライブラリが有りますので、 そこからDBへアクセスし、結果をHTTPでiPhoneに返してあげるという方法です。 この方法は仲介サーバさえ作ってしまえば、 HTTP通信が行える多種多様な端末で実現可能なため、 簡単に実装できて応用力が高いですが、 その反面、仲介サーバを経由するため速度面やサーバ負荷、 サーバ運用費などが問題となります。 （そもそも閉じたネットワーク環境上ですと仲介サーバにアクセスできませんし。） そしてもう一つはiPhoneから直接DBサーバに繋ぎに行く方法です。 MySQLにはMySQL Connectorと呼ばれるクライアントライブラリが用意されていまして、 これを使えばDBへ直接接続する事ができます。 仲介サーバは利用しませんので、速度面や運用費で困ることはありませんが、 公式で用意されているライブラリは既存のメジャーなプラットフォームに限られており、 iPhone専用のライブラリは現時点では存在していません。 ただ、ソースが公開されていますので 今回はこれをiPhone用にカスタマイズすることにしました。 iPhone用の開発にはObjective-Cという言語を用いますが、 これはC言語の上位互換なので、C言語のソースはそのままコンパイルすることができます。 もともとmac os用の挙動もソースに有りますので、そこをうまく利用して iPhoneで動作するようにソースを修正し、コンパイルを行いました。 実機からMySQL DBサーバへの接続も無事に行うことができました。 さて次に、今回使用したMySQL Connector(libmysql)はC言語を使ってアクセスしますが、 このままですと、iPhoneで用いるCocoa touchフレームワークとの相性があまり良くないので、 Cocoa touch向けにラッパークラスの製作を行いました。 主に、C言語の文字列型(char*)とNSString*型との相互変換、文字コード変換、メモリ管理等を クラスライブラリで吸収するようにしています。 ただ、実際に使ってみるとおそらく足りない部分が多々でると思いますで 随時修正を加えていく予定です。]]></description>
		<wfw:commentRss>http://www2.db-tracklayer.com/blog/jp/2009/05/16/iphone%e3%81%8b%e3%82%89%e5%a4%96%e9%83%a8%e3%81%aemysql-db%e3%82%b5%e3%83%bc%e3%83%90%e3%81%b8%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhoneプログラミング入門</title>
		<link>http://www2.db-tracklayer.com/blog/jp/2009/05/06/115/</link>
		<comments>http://www2.db-tracklayer.com/blog/jp/2009/05/06/115/#comments</comments>
		<pubDate>Wed, 06 May 2009 03:40:22 +0000</pubDate>
		<dc:creator>たかぼー</dc:creator>
				<category><![CDATA[DB-Tracklayer 開発]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www2.db-tracklayer.com/blog/jp/?p=115</guid>
		<description><![CDATA[たかぼーです。 いろんなプログラムを担当しています。 blog初登場です。 この度しゃちょーからiPhoneのソフトウェア開発を指示されまして、 mac bookとiPod touchをいきなり渡されたわけなのですが・・・・ mac osも触ったことが無ければ、xcodeやinterface builder、iPhone SDKなど、 すべて初めてで、何から何まで試行錯誤の日々でした。 いやぁ、でもこれが楽しかった楽しかった。 何かを覚えて身につけている実感というのでしょうか。 書籍やＷＥＢを読みあさっていろんな事が出来るようになって、 その成長が実感できたので、プログラマとして、 技術屋としてレベルアップしたな！という実感がとても有りました。 さて、最初はiPhoneの事を何もしらずに、 いろんな妄想をして夢見がちだったわけなのですが、 実際にいろいろやっているうちに、だんだんどこらまで出来るかが解ってしまいまして、 現実の世界に引き戻されるのでした・・・。 いや、実際iPhoneはいろんな事できますよ、 アニメーションなんかもかなり簡単に実現できて凄いと思います。 ただ、何と言いましょうか、ダンジョン内の宝箱はおおよそ取り尽くしてしまった、 みたいな、ワクワク感が無くなってきてしまったのがちょっぴり寂しいのでした。]]></description>
		<wfw:commentRss>http://www2.db-tracklayer.com/blog/jp/2009/05/06/115/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

