<?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/development/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>JMeterを使ったテストをやってみた</title>
		<link>http://www2.db-tracklayer.com/blog/jp/2009/12/26/jmeter%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e3%82%84%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://www2.db-tracklayer.com/blog/jp/2009/12/26/jmeter%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e3%82%84%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 09:44:34 +0000</pubDate>
		<dc:creator>penguin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[JMeter]]></category>
		<category><![CDATA[サンプラー]]></category>
		<category><![CDATA[テスト]]></category>
		<category><![CDATA[パターン]]></category>
		<category><![CDATA[リクエスト]]></category>

		<guid isPermaLink="false">http://www2.db-tracklayer.com/blog/jp/?p=750</guid>
		<description><![CDATA[先日別件の仕事で、JMeterを使いました。 しゃちょーから、「今作ってるやつ、JMeterってのを使って負荷テストをやっておきたいんだけど、 使い方調べといて」と言われて、このツールの存在すら知らなかった私は「？？？？」と思いながら WEBで使い方の検索開始。 結局は自分で動かしてみないと分からなくて、ダウンロードしてやってみました。 今回の使い方は負荷テストというより、パターンテストとして威力を発揮してくれました。 利点としては、以下のようなことだったと思います。 ・リクエストの正当性がテストできる ・テスト値を重複して何度も設定しないで済む ・テスト内容のコピーが簡単 ・動的な値も設定できる(今回はインクリメント) やりにくかったことは以下のことです。 ・テスト結果をツリーで表示する場合に、ツリー部分にはサンプラーの名前しか入らないので パターンを見分けにくかった。 ・用意されているリスナーだとテスト結果をドキュメント化するのには割と手間がかかる。 (これは当たり前なんだけど) 【JMeter】 (ダウンロード：http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi) 起動はWindows上で動かす場合、解凍されたディレクトリのbin\jmeter.batより起動。 いくつかの説明をしてくれているサイトで見て最初に思ったのは、JMeter上で使われている文言と、 実際にやりたいことがなかなか結びつかない、ということでした。 サンプラーってなに？とか。 で、私のやった作業をメモとして書いておこうと思います。 ・最初にやることは「スレッドグループ」の作成 起動すると、テスト計画とベンチマークのみがあるので、テスト計画の部分で右クリック。 まずは「スレッドグループ」を作る。 これは実行するテストの基本設定で、負荷テストをやるなら当たり前だけど、どのくらいの リクエストをどんな間隔で投げるのか、ということ。 全テストパターンでそれぞれ同じぐらいの数のリクエストを投げればいいのであればそれほど 気にすることはないけど、ここを変動させたい場合には分ける。 その他に、テスト結果をどの単位で見たいかによって分けるのも有効です。 ・次は「サンプラー」 サンプラーは投げるリクエストの一番元になる部分です。 リクエストを投げる先のサーバ情報と、呼び出すファイル、メソッドを設定します。 更にここではパラメータの指定ができます。 要は http://[サーバ情報]/[呼び出すファイル]/[パラメータ] のように、画面での設定項目が 繋がって一つのリクエストが出来上がるという感じ。 最初は、これが今ひとつこれが理解しにくかったところでした。 ・拡張ヘッダをつけたい いわゆる拡張ヘッダとかの、固有のヘッダを付与したい場合には、設定エレメント内の 「HTTPヘッダマネージャー」を追加します。 これでヘッダフィールドと値を設定できます。 ・どのHTTPリクエストにも反映させたい内容の設定 「HTTPリクエスト初期値設定」を反映させたいものの一つ上の階層に追加します。 その配下にあるサンプラー全てにこの内容が反映されます。 部分的にリクエストの内容を変えたい場合には、何度も同じ内容を入力しなくて済むこの設定が有効です。 今回はここまで。 リスナーの話は次回。]]></description>
		<wfw:commentRss>http://www2.db-tracklayer.com/blog/jp/2009/12/26/jmeter%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e3%82%84%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone版 画面設計を書いてます</title>
		<link>http://www2.db-tracklayer.com/blog/jp/2009/06/12/iphone%e7%89%88-%e7%94%bb%e9%9d%a2%e8%a8%ad%e8%a8%88%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%be%e3%81%99/</link>
		<comments>http://www2.db-tracklayer.com/blog/jp/2009/06/12/iphone%e7%89%88-%e7%94%bb%e9%9d%a2%e8%a8%ad%e8%a8%88%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%be%e3%81%99/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 05:25:05 +0000</pubDate>
		<dc:creator>penguin</dc:creator>
				<category><![CDATA[DB-Tracklayer 開発]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[コントロール]]></category>
		<category><![CDATA[画面設計]]></category>

		<guid isPermaLink="false">http://www2.db-tracklayer.com/blog/jp/?p=410</guid>
		<description><![CDATA[やっと少し仕事関連のことを書く気になりました。 最近手をつけたのは、製品の画面設計です。 と言っても、私は画面イメージから画面設計書を起こすだけで、原案は画面イメージを作った人が考えているので、ラクではあります。 以前に販売サイトの画面設計のお話をしましたが、そのときと大きく違うのは、全体像を自分で考えなくてもいいところ。 しかも現在はモバイル製品用のを書いていますが、これはハードウェアの画面が小さいので、配置するオブジェクトも少なめで書きやすいです。 しかし色々考えなくていいのにも問題が･･･ 各開発環境のことも知らないし、プログラムもしないので、コントロールの名前が分からない！ それにあまり違いはないけれど、iPhoneだとイベントの発生タイミングがたまに分からないこともあったりします。 例えば画面は遷移したようだけど、ドロップダウンリストの表示なのか、違うページに行くイメージなのかが 分かりにくかったり、特にコミットがどこなのか不明確な感じがしてしまうのは、iPhoneやiTouchにあまり触れていないのが原因かと思います。 ちなみにiPhoneはコントロール名もカッコよかった。 画面上にAP名や画面名などを配置するエリア・配置するもの → Navigation Bar・Navigation Item タブ配置エリア・配置するもの → Tab Bar・Tab Bar Item ボタンとかの配置エリア・そこに置くボタン → Tool Bar・Bar Buttom Item テキストボックス → Text Field etc&#8230; 普通に英語で考えればそのままなんですが、自分で作ったのはMS Accessでのツールぐらいなものなので、 そこから比較するとカッコよく思います。]]></description>
		<wfw:commentRss>http://www2.db-tracklayer.com/blog/jp/2009/06/12/iphone%e7%89%88-%e7%94%bb%e9%9d%a2%e8%a8%ad%e8%a8%88%e3%82%92%e6%9b%b8%e3%81%84%e3%81%a6%e3%81%be%e3%81%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>画面設計進行中</title>
		<link>http://www2.db-tracklayer.com/blog/jp/2009/05/07/%e7%94%bb%e9%9d%a2%e8%a8%ad%e8%a8%88%e9%80%b2%e8%a1%8c%e4%b8%ad/</link>
		<comments>http://www2.db-tracklayer.com/blog/jp/2009/05/07/%e7%94%bb%e9%9d%a2%e8%a8%ad%e8%a8%88%e9%80%b2%e8%a1%8c%e4%b8%ad/#comments</comments>
		<pubDate>Thu, 07 May 2009 13:21:04 +0000</pubDate>
		<dc:creator>penguin</dc:creator>
				<category><![CDATA[DB-Tracklayer 開発]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[画面設計]]></category>

		<guid isPermaLink="false">http://www2.db-tracklayer.com/blog/jp/?p=164</guid>
		<description><![CDATA[事業の企画が終わった後は、しゃちょーは大変だったわけですが、私は少ししてからWEBサイト構築のための設計を始めました。 といっても、社内SEの経験しかない私は、プログラマーに伝えるための設計書を作ったことがありません。 開発SEに伝えるための資料と、プログラマーに作りたいものを伝えるのでは全く違うと言ってもいいぐらいです。 少し前から開発の業務委託を受けた際の納品物の統一のため、開発関係のドキュメントの雛形を作成していたのですが、大方のフォーマットは決められても、やはり開発するものによって必要な情報が違い、ほぼフォーマットは決められないのだなということを今ヒシヒシと感じます。 私の経験の殆どはユーザー企業のC/S型システムの企画と導入、運用サポートだったわけですが、やっぱりWEBベースのシステムというのも、基本的には同じとはいえ、画面の遷移であったり、イベント内容の表現方法がやや違うように感じました。 そう、WEBアプリってなんか簡単そうに見えるんですよね。 実際にはそういうことじゃないと思うし、同じはずなんですが、設計書の重々しさが違うというか。 話が逸れましたが、今回はWEBサイトの開発で以下のドキュメントを並行して作成しています。 ・サイト概念図 ・画面レイアウト(詳細設計に近い内容) ・画面一覧 ・画面遷移図 ・業務フロー サイト概念図は先行で作りましたが、他は少し作っては「あ！これが必要。ここを検討しないと次のことが書けない･･･」なんて言いながらドキュメント間を行ったり来たり。 この後、DBを持つ必要がある場合は、DBのデータ設計もするのかもしれませんね。 まだ見えていないことが多く、何を作ればいいかは手探りですが、来月上旬には目処をつけないとね。。。]]></description>
		<wfw:commentRss>http://www2.db-tracklayer.com/blog/jp/2009/05/07/%e7%94%bb%e9%9d%a2%e8%a8%ad%e8%a8%88%e9%80%b2%e8%a1%8c%e4%b8%ad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

