<?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>JiroBlog &#187; Jiro</title>
	<atom:link href="http://www.jirosoft.com/wordpress/author/jirozo_3/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jirosoft.com/wordpress</link>
	<description>ただのオヤジプログラマのブログ</description>
	<lastBuildDate>Thu, 22 Jul 2010 13:13:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Androidアプリ開発の基礎 #1(開発環境)</title>
		<link>http://www.jirosoft.com/wordpress/2010-07-16-210/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-07-16-210/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 09:06:37 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[ADT]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Xperia]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=210</guid>
		<description><![CDATA[開発環境
Android SDKのダウンロードとインストール。
ダウンロードはhttp://developer.android.com/intl/ja/index.html から。
最新版を落としておけば過去のバージョン [...]]]></description>
			<content:encoded><![CDATA[<h3>開発環境</h3>
<h4>Android SDKのダウンロードとインストール。</h4>
<p>ダウンロードは<a href="http://developer.android.com/intl/ja/index.html" target="_BLANK">http://developer.android.com/intl/ja/index.html</a> から。</p>
<div id="attachment_211" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/androidsdk.jpg"><img class="size-medium wp-image-211" title="androidsdk" src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/androidsdk-300x250.jpg" alt="Android SDK ダウンロード" width="300" height="250" /></a><p class="wp-caption-text">Android SDK　ダウンロードサイト</p></div>
<p>最新版を落としておけば過去のバージョンの環境も入るので安心。</p>
<ul style="padding-left: 30px;">
<li>Windows</li>
<li>MacOSX(intel)</li>
<li>Linux(i386)</li>
</ul>
<p>対応する環境のパッケージをダウンロードする。Windowsならばandroid-sdk_r06-windows.zip</p>
<p>ダウンロード後zipファイルを解凍して、任意の場所に配置する。ちなみにC:\に置きました。</p>
<h4>Java開発環境</h4>
<p>JDKのインストールが必要。今回はJDK6をインストール。実行環境のJREだけではだめ。</p>
<p>ダウンロードは<a href="http://java.sun.com/javase/downloads/index.jsp" target="_BLANK">http://java.sun.com/javase/downloads/index.jsp</a>から。</p>
<div id="attachment_226" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/jdk6.jpg"><img class="size-medium wp-image-226" title="jdk6" src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/jdk6-300x244.jpg" alt="JDKダウンロード" width="300" height="244" /></a><p class="wp-caption-text">JDKダウンロードサイト</p></div>
<p>今回はJDK 6 Update 21のJDKを指定。</p>
<p>ダウンロード後インストール。</p>
<h4>Eclipse</h4>
<p>開発用のIDEはEclipseを使用する。</p>
<p>ダウンロードは<a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a> から。</p>
<div id="attachment_227" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/Eclipse.jpg"><img class="size-medium wp-image-227" title="Eclipse" src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/Eclipse-300x228.jpg" alt="Eclipseダウンロード" width="300" height="228" /></a><p class="wp-caption-text">Eclipseダウンロード</p></div>
<p>最新版のHeliosではなく　Older Versionsのリンクから Eclipse Galileo SR2 Packeges(v3.5.2)を使用した。</p>
<div id="attachment_228" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/EclipseOld.jpg"><img class="size-medium wp-image-228" title="EclipseOld" src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/EclipseOld-300x177.jpg" alt="Eclipse 過去バージョン" width="300" height="177" /></a><p class="wp-caption-text">Eclipse 過去バージョン</p></div>
<p>最新版はAndroid SDKとの問題ありとどこかで見たような??</p>
<p>日本語化は Pleades 1.3.1を使用。<a href="http://sourceforge.jp/projects/mergedoc/releases/">http://sourceforge.jp/projects/mergedoc/releases/</a> から。</p>
<div id="attachment_229" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/Pleiades131.jpg"><img class="size-medium wp-image-229" title="Pleiades131" src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/07/Pleiades131-300x264.jpg" alt="Pleiades1_3_1ダウンロード" width="300" height="264" /></a><p class="wp-caption-text">Pleiades1_3_1ダウンロード</p></div>
<p>下のほうにpleiades_1.3.1.zipがあるのでダウンロード。zipを解凍してできたフォルダの中にある　feautures pluginsの中身をEclipseの</p>
<p>同名のフォルダの中にコピーする。これだけでは日本語化できない。</p>
<p>Eclipseのeclipse.iniファイルを編集する。</p>
<p style="padding-left: 30px;">-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar<br />
-clean</p>
<p>２行をiniファイルの最後に追加して上書き保存。この後Eclipseを起動すると日本語化される。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-07-16-210/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP-slimstat-Ex 2.12に変更</title>
		<link>http://www.jirosoft.com/wordpress/2010-07-07-208/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-07-07-208/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 07:34:25 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=208</guid>
		<description><![CDATA[WordPressで便利なアクセス解析ツールのWP-Slimstat-Exの最新版にアップデートしました。
本体のダウンロードはこちらからどうぞ。
wp-slimstat-ex-plugin.zip(1.2 MB)
wp [...]]]></description>
			<content:encoded><![CDATA[<p>WordPressで便利なアクセス解析ツールのWP-Slimstat-Exの最新版にアップデートしました。</p>
<p>本体のダウンロードは<a title="WP-slimstat-Ex2.12" href="http://082net.com/2009/1003/wp-slimstat-ex-v2-1/#wp-slimstat-ex-v21-en" target="_blank">こちら</a>からどうぞ。</p>
<p><a href="http://082net.com/?dl=wp-slimstat-ex-plugin.zip">wp-slimstat-ex-plugin.zip</a>(1.2 MB)</p>
<p><a href="http://082net.com/?dl=wp-slimstat-ex-pins.zip">wp-slimstat-ex-pins.zip</a>(184.9 KB)</p>
<p>の二つのファイルをダウンロードして、まずwp-slimstat-exのフォルダを /wp-content/plugins/ にアップロードします。</p>
<p>つぎに解凍して出来た pins フォルダの中身を　/wp-content/plugins/wp-slimstat-ex/pins/ にアップロードします。</p>
<p>あとはプラグインの管理画面で wp-slimstat-Ex　を有効化します。そのあと、wp-slimstat-Exの管理画面でpinsのなかの</p>
<p>必要な機能を有効化してください。</p>
<p>すでに古いバージョンを使っている場合は、データベースが異なる場合があるので以前のデータを消す必要があるかもしれません。</p>
<p>日本語化は「よんよん」さんのサイトで、いつも最新版を提供していただけるので助かっています。</p>
<p>poエディタ使って、自分で翻訳してもいいんですが、これ結構大変な作業なんですよね。</p>
<p>よんよんさんに感謝しつつ　<a title="よんよんさんのブログ" href="http://yonyon-blog.net/youmei/2010/01/06/wp-slimstat-ex-ver-2-1-2%E3%82%92%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%8C%96%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/" target="_blank">こちら</a> から日本語化ファイルをダウンロードして解凍。</p>
<p>/wp-content/plugins/wp-slimstat-ex/lang/ にアップロードして完了です。</p>
<p>pinsのなかには　Bad behavior など　別のプラグインが必要なものもあります。</p>
<p>プラグインの新規追加から検索してインストールしましょう。マップ情報を使うGeoslimstatはグーグルマップAPIのキーも必要になります。</p>
<p>これで、また快適なアクセス解析が出来ます。でも、たいしてアクセス無いんですけどね。ほとんどbotだったりしてww</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-07-07-208/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xperia vs iPhone3GS</title>
		<link>http://www.jirosoft.com/wordpress/2010-06-21-201/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-06-21-201/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 06:59:26 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Xperia]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=201</guid>
		<description><![CDATA[Xperia購入しました。
Android OS 1.6なので、躊躇していたのですが、現在国内で一番売れているとしたら、やはりXperiaなのかなと。
１０月ごろにはOSアップデートで2.1にはなるようです。
はやくFr [...]]]></description>
			<content:encoded><![CDATA[<p>Xperia購入しました。<br />
Android OS 1.6なので、躊躇していたのですが、現在国内で一番売れているとしたら、やはりXperiaなのかなと。<br />
１０月ごろにはOSアップデートで2.1にはなるようです。<br />
はやくFroyoになってほしいのですが、とりあえず勉強のため作成したソフトが動作する実機がほしかったので。</p>
<p>購入費用はSoftBankのように端末代金の割戻しがないので、少しかかります。<br />
端末は２４回分割としました。月々1600円程度。ポイントがあまっていたので、月々の端末代金に充当するようにしました。<br />
しばらくは端末代金がタダです。頭金は故障時に修理代が安くなるサービスに入ると無料にしてくれました。<br />
しかし、このサービス月々315円で、最大５千円の支払で故障時新品と交換してくれるのですが、ペイできるか微妙なところです。</p>
<p>まずは、Xperiaと今まで使用していたiPhone 3GSとの比較をしてみたいと思います。とりあえず使用して気づいたこと。</p>
<h3>1.タッチスクリーンの反応</h3>
<p style="padding-left: 30px;">これは、Android勉強会で色々な機種のタッチスクリーン反応を機械的に調査した結果を見ましたが、まさにそのとおり。iPhoneの反応がすばらしすぎる気がします。iPhoneに慣れているとXperiaでは誤動作頻発です。</p>
<p style="padding-left: 30px;">まずスクロールがタッチになってしまう現象があります。Twitterクライアントを使っていると、スクロールを使いまくるのですがこれがタッチと誤判断されて、すぐに別画面が開いてしまいます。XperiaのTVCFでスクロールしている画面がありますが、タッチでは何も動作しない状況でやっているんではないかと疑ってしまいますね。</p>
<p style="padding-left: 30px;">感覚的には画面にタッチしたらしばらくまって指をスライドしないといけない感じです。または、しっかり指を押し付けてからうんこらしょっとスクロールかな。iPhoneだと、あまり考えずに軽くスライドでOK何ですけどね。これはソフトの改良で直るものではない気がします。</p>
<p style="padding-left: 30px;">スクロールだけでなく、タッチ位置の判定も微妙にずれる感があります。ソフトウェアキーボードで英字などをタッチする場合iPhoneよりミスタッチが増えました。まあiPhoneの判定がすごいのですが。このあたりはハード、ソフト両面で今後の改良が待たれます。</p>
<p style="padding-left: 30px;">こういうUIの部分は、軽く見てはいけないと思います。ハードを使い始めて最初の印象になりますから、いかに優れたソフトが有ったとしてもUIのせいで使う気をなくす場合が多いと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-06-21-201/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP1.3再入門#4 Ktaiライブラリと振分け</title>
		<link>http://www.jirosoft.com/wordpress/2010-06-02-195/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-06-02-195/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 08:46:43 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=195</guid>
		<description><![CDATA[pearのNet_UserAgent_Mobileを使用して、携帯とPCのアクセスを振り分ける目論見でしたが、携帯用のページ作成には振り分けだけでなくいろいろな機能が必要だと勉強すればするほど理解しました。(某辞任表明首 [...]]]></description>
			<content:encoded><![CDATA[<p>pearのNet_UserAgent_Mobileを使用して、携帯とPCのアクセスを振り分ける目論見でしたが、携帯用のページ作成には振り分けだけでなくいろいろな機能が必要だと勉強すればするほど理解しました。(某辞任表明首相風)<br />
そういうわけでcakePHPにも利用しやすいKtaiライブラリの導入を決めました。</p>
<p><a href="http://blog.ecworks.jp/ktai">ECWorks Blog</a>からダウンロードできます。</p>
<p>インストールと言うか、ダウンロードしたファイルを解凍してcakePHPの対象フォルダにコピーするだけです。<br />
テンプのreadmeをよく読めば設置は難しくないですね。</p>
<p>ただ、今回は携帯からのアクセスとPCからのアクセスで異なるViewを表示したいことと、アドレスを分けたくなかったので<br />
ちょっと工夫が必要でした。</p>
<p>/app/controllersにコピーしたAppControllerの中に必要な設定をコピーします。</p>
<p>ここで、コントローラ内にbeforeRender()を追加します。</p>
<pre class="brush: php;">
    function beforeRender() {
    parent::beforeRender();

    if (
        in_array('Ktai', $this-&gt;components) &amp;&amp;
        $this-&gt;Ktai-&gt;is_ktai()
        ) {
            // Viewのパスへの書き換え
            $view_paths = App::path('views');
            $result = array_search(ROOT.DS.APP_DIR.DS.'views'.DS, $view_paths);
            if ($result !== false) {
                $view_paths[$result] = ROOT.DS.APP_DIR.DS.'views_mobile'.DS;
            }
            App::build(array('views' =&gt; $view_paths), true);
        }
    }
</pre>
<p>同じクラス内で</p>
<pre class="brush: php;">
    var $components = array('Ktai');
</pre>
<p>としているのでif文のコンポーネンツ判断はいらないですね。<br />
参考にしたサイトの記述ではここのif文がarray_key_existsになってて動かなかったのですが<br />
$componentsは[0]->&#8221;Ktai&#8221;のようになっていてKeyサーチではtrueになりませんでした。</p>
<p>ここでちょっとはまりました。in_arrayならうまく動作しました。</p>
<p>この記述でPCからなら/app/views/以下のレイアウトとテンプレートを携帯からなら<br />
/app/views_mobile/を見に行ってくれます。</p>
<p>/app以下のAppControllerを変更しただけなので、トップページの場合はこのAppControllerを継承した<br />
PagesControllerを/app/controllers/に作成します。</p>
<p>あとは/app/views_mobileとそれ以下の必要なフォルダを作成してdefault.ctp home.ctpなどを携帯専用として作成すればOKです。</p>
<p>とりあえずiMode HTMLシュミレータではうまく動作しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-06-02-195/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP1.3再入門#3 ドキュメントルートとトップページ</title>
		<link>http://www.jirosoft.com/wordpress/2010-06-01-185/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-06-01-185/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 12:43:35 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=185</guid>
		<description><![CDATA[さてさて、トップページを表示させることは出来たのですが、基本的にトップページが他のページと少し違うレイアウトだったり、ただのインデックスページってこともありますから静的なページを表示することもありえます。
MVCでデータ [...]]]></description>
			<content:encoded><![CDATA[<p>さてさて、トップページを表示させることは出来たのですが、基本的にトップページが他のページと少し違うレイアウトだったり、ただのインデックスページってこともありますから静的なページを表示することもありえます。</p>
<p>MVCでデータベースに紐づいたページに必ずなるとは限りませんよね。一部新しいお知らせとかが入るくらいで。<br />
今回構築しているシステムでは、トップページはPC用はシステムの案内としようか、それとも直接サービスが使えるようにするか迷ってます。そんな感じなので、まずルーティングについて再確認しておこうと思います。</p>
<p>最初の読込み</p>
<p>http://localhost/ktai/というurlでアクセスしたら、/index.phpをまず読み込みますが、ここに他のソースが読込まれます。</p>
<pre class="brush: php;">
	require APP_DIR . DS . WEBROOT_DIR . DS . 'index.php';
</pre>
<p>appディレクトリのwebrootディレクトリですから、/app/webroot/index.phpを読み込みます。<br />
このなかで/cake/bootstrap.phpをインクルードしている。</p>
<p>エントリポイントについては<a href="http://bobch.in/cakephp/doku.php/dispatcher">ここ</a>の説明がよくわかる。</p>
<p>このbootstrap.phpからConfigure クラスをインスタンス化している。このときに/app/config/core.phpと/app/config/bootstrap.phpが呼ばれている。<br />
ああ、おんなじ名前が多くて混乱する。<br />
そのあと/cake/dispacher.phpを読んでいる。ここでbaseurlなどを決めているようだ。<br />
これに/app/config/route.phpが絡んでいる。</p>
<pre class="brush: php;">
	Router::connect('/', array('controller' =&gt; 'pages', 'action' =&gt; 'display', 'home'));
</pre>
<p>pagesコントローラのディスプレイactionでhomeを呼べとなっている。<br />
やっと、ここまで来た。</p>
<p>これはデフォルトでは/cake/libs/controller/pages_controller.phpのなかのdisplayメソッドが使われる。<br />
このように固定されていると中々不自由です。</p>
<p>/app/config/route.phpを書き換えてcontrollerやaction などを書き換える方法もあります。<br />
また呼ばれるテンプレートのhome.ctpの中でレイアウト変更も出来ますね。</p>
<p>home.ctp</p>
<pre class="brush: php;">
&lt;?php
    $this-&gt;layout = &quot;main&quot;;
    $this-&gt;pageTitle = &quot;携帯用タイトル&quot;;
?&gt;
</pre>
<p>/app/views/layoutsにmain.ctpを作っておけばOKです。home.ctpでレイアウトだけ指定して何も書かなければmain.ctpの静的なページになりますね。</p>
<p>認証などでbeforeFilterを加えたりする場合は、/cake/libsにあるpages_controller.phpを<br />
/app/controller/にコピーして書き換えると自由に出来ます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-06-01-185/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP1.3再入門#2 pear</title>
		<link>http://www.jirosoft.com/wordpress/2010-06-01-178/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-06-01-178/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 08:08:49 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=178</guid>
		<description><![CDATA[前回までで、とりあえずトップページが表示されました。
このあとMVCにしたがってデータベースとその表示、更新などのページを作っていくわけですが、今回はちょっと横道にそれてPHPの便利な道具としてpearを導入することにし [...]]]></description>
			<content:encoded><![CDATA[<p>前回までで、とりあえずトップページが表示されました。<br />
このあとMVCにしたがってデータベースとその表示、更新などのページを作っていくわけですが、今回はちょっと横道にそれてPHPの便利な道具としてpearを導入することにしました。</p>
<p>恥ずかしい話ですが実はpearって何。それっておいしいの?状態でした。</p>
<p>携帯用のwebを作成するためにアクセスしてきた対象が携帯かPCかを振り分ける方法を探していてnet_userAgent_mobileというライブラリを見つけまして、どうもこれがpearというもののひとつであると言うことがわかりました。</p>
<p>pearはPHPの機能を拡張するライブラリということまでわかりました。ww</p>
<p>さて、ローカルのテスト環境にはXAMPPを導入した際にpearは入っているようです。<br />
その環境でNet_userAgent_mobileのインストールに取り掛かります。<br />
pearと言うコマンドでインストールできると言うことまでわかったのでコマンドプロンプトを開いて</p>
<p>C:\xampp/phpに移動します。(xamppのインストール方法によって変わります。)<br />
このディレクトリにpearコマンドがありますので<br />
pear install net_useragent_mobile<br />
とタイプすればダウンロードとインストールを勝手にやってくれます。</p>
<p>これでテストできそうなので以下のようなテストphpを書いてみました。<br />
mobiletest.php</p>
<pre class="brush: php;">
&lt;?php
require_once('Net/UserAgent/Mobile.php'); 

$agent = Net_UserAgent_Mobile::singleton(); 

if($agent-&gt;isDoCoMo()){
    echo &quot;docomo&quot; . &quot;&lt;br&gt;&quot;;
    echo $agent-&gt;getModel().&quot;&lt;br&gt;&quot;;
    echo $agent-&gt;getSerialNumber().&quot;&lt;br&gt;&quot;;
}elseif($agent-&gt;isSoftbank()){
  echo &quot;Softbank&quot;;
}elseif($agent-&gt;isEZweb()){
  echo &quot;au&quot;;
}elseif($agent-&gt;isWillcom()){
  echo &quot;WILLCOM&quot;;
}else{
  echo &quot;PC&quot;;
}
?&gt;
</pre>
<p>この状態でxamppのapacheを起動させてブラウザからhttp://localhost/mobiletest.phpを呼び出すと<br />
「PC」と表示されました。無事動いているようです。次にiモード HTMLシュミレータ2を起動して同様のURLにアクセスすると<br />
<a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/06/cakephp1_3_03.jpg"><img src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/06/cakephp1_3_03-198x300.jpg" alt="iモード　HTML シュミレータ" title="cakephp1_3_03" width="198" height="300" class="alignleft size-medium wp-image-181" /></a></p>
<p>このように表示されました。ユーザーエージェントなどの判別もうまくいっているようです。<br />
ただシリアル番号は取れていないようですが、この部分は後で要検討です。</p>
<p>auやsoftbankもシュミレータでテストするべきですが、とりあえず実機でテストしてみたいのでレンタルサーバーにuploadする方法を検討します。</p>
<p>今回はお名前ドットコムのSD共用サーバーを借りています。<br />
説明を見るとpearはインストールされていないようなので手動でセットしないといけません。</p>
<p>いろいろ調べてみるとpear.phpとNet_UserAgent_Mobileの必要なファイルだけアップロードしても出来るようですが他の機能も必要になりそうなのですべてあげておくことにします。</p>
<p>ブラウザからインストールする方法としてgo-pear.phpと言うソースをアップロードしてインストールする方法がありましたので<br />
テストしてみましたがどうもうまくいきません?</p>
<p>SD共用サーバーはSSHやTelnetが使えないのでFTPに頼るわけですが、アップロード先がドメインを複数含むので以下のようになっています。<br />
analyze<br />
backup<br />
files<br />
hoge.com<br />
hogehoge.com<br />
ブラウザからアクセスできるのはhoge.comとhogehoge.com以下ですのでpearはfiles以下のブラウザでアクセスできない領域におくことにします。<br />
hoge.comの直下にgo-pear.phpをアップロードしてブラウザでhttp://hoge.com/go-pear.phpを叩くとインストール画面が出てきます。<br />
(go-pear.phpはぐぐるとソースが入手できます。)<br />
ここでInstallation prefixのところに何を入れるかで悩みました。<br />
/home/アカウント名/pearなどと解説してるところもあるのですが、SD共用サーバーではどうすればよいか。</p>
<p>仕方ないのでpearをインストールする前に先ほどのmobiletest.phpをアップしてエラー吐かせて見ました。<br />
すると<br />
/export/sdxx/www/jp/r/e/gmoserver/n/m/サーバーアカウントID/hoge.com/mobiletest.php<br />
にエラーがあるとでました。(一部伏字にしてますので、ご自分の環境で確認してください)<br />
これで参照位置がわかりました。ただしgo-pearでインストールする際には/files/hoge/以下にしようと思うのでパーミッションを777にしておかないといけないようです。</p>
<p>面倒になってきたのでWindows環境でインストールしているディレクトリを/files/hoge/PEARにすべてアップロードしました。<br />
さて、pearへのパスが通っていないので、このままでは先ほどのmobiletest.phpは動きません。<br />
include_pathと言う奴を指定しなくちゃいけません。<br />
.htaccessでパスを通す方法が書いてあったので設置して<br />
    php_value include_path &#8220;.:/export/sdxx/www/jp/r/e/gmoserver/m/n/サーバーアカウントID/files/hoge/PEAR&#8221;<br />
としてみましたが、動きません。.htaccessでは動かないこともあるとのこと。サーバー側の仕様でしょうね。</p>
<p>仕方ないのでmobiletest.phpに一行加えました。</p>
<pre class="brush: php;">
    ini_set('include_path', &quot;.://export/sdxx/www/jp/r/e/gmoserver/m/n/サーバーアカウントID/files/hoge/PEAR&quot;);
</pre>
<p>これをrequire_onceの前に加えたら、なんとか無事動作しました。</p>
<p>結構面倒でしたが、これでpear持つ変えるようになりました。</p>
<p>つぎは振り分けを行うためにcakePHPのルーティングについて、勉強しなおします。<br />
これも結構ややこしやーーーー。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-06-01-178/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakePHP1.3再入門#1</title>
		<link>http://www.jirosoft.com/wordpress/2010-05-31-165/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-05-31-165/#comments</comments>
		<pubDate>Mon, 31 May 2010 08:36:57 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=165</guid>
		<description><![CDATA[しばらくcakePHPから遠ざかっていたらVar1.3安定版が出ていました。
新規に1.3をインストールして、再度初心に帰って再入門します。ということで、いつもの覚書と言うかメモです。
ダウンロード
cakePHP日本語 [...]]]></description>
			<content:encoded><![CDATA[<p>しばらくcakePHPから遠ざかっていたらVar1.3安定版が出ていました。</p>
<p>新規に1.3をインストールして、再度初心に帰って再入門します。ということで、いつもの覚書と言うかメモです。</p>
<p>ダウンロード<br />
<a href="http://cakephp.jp/">cakePHP日本語サイト</a>のトップに1.3.0 stableのDOWNLOADがあります。<br />
cakephp-cakephp1x-1.3.0-0-g1c06478.zipと言うファイルを落としてきて解凍チン!!。</p>
<p>テスト環境はxamppを使っているのでxampp/htdocs/以下に今回テスト用のktaiというディレクトリを作って中身をコピー。</p>
<p>とりあえず、このままfirefoxでhttp://localhost/ktai/を打ち込む。<br />
まずエラーページが表示される。<br />
<a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/05/cakephp1_3_01.jpg"><img class="alignleft size-medium wp-image-166" title="cakephp1_3_01" src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/05/cakephp1_3_01-300x201.jpg" alt="cakePHP初期画面" width="300" height="201" /></a></p>
<p>まずは、お決まりのエラーですが、ちょっと新しいのが出ているのかな。<br />
&#8216;Security.cipherSeed&#8217;って無かったような気がする。</p>
<p>背景が黄色の部分がエラーです。<br />
３箇所出ています。<br />
最初の二つについては/app/config/core.phpを編集しないといけません。</p>
<p>「Security.salt」の定数がデフォルトだとみんなに知られていますから変更しろとのこと。</p>
<p>198行目の</p>
<pre class="brush: php;">
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
</pre>
<p>を書き換えます。<br />
DYhG93b0q&#8230;の部分を適当に書き換えます。この値はハッシュの作成に使われます。</p>
<p>CookBookの1.3を見ると CIPHER_SEEDがSecurity.cipherSeedに書き換えられたみたい。なんのことやらw<br />
どうも乱数発生時の種みたいですね。これも適当な数字に書き換えましょう。</p>
<p>203行目の</p>
<pre class="brush: php;">
Configure::write('Security.cipherSeed', '76859309657453542496749683645');
</pre>
<p>これでさっきの画面をリロードしたら、上の二つはグリーンになります。</p>
<p>3番目のメッセージはデータベースに関する設定をしろってことで、config/database.php.default　を config/database.phpにリネームして中身をいじくることになります。</p>
<pre class="brush: php;">
class DATABASE_CONFIG {

	var $default = array(
		'driver' =&gt; 'mysql',
		'persistent' =&gt; false,
		'host' =&gt; 'localhost',
		'login' =&gt; 'user',
		'password' =&gt; 'password',
		'database' =&gt; 'database_name',
		'prefix' =&gt; '',
	);

	var $test = array(
		'driver' =&gt; 'mysql',
		'persistent' =&gt; false,
		'host' =&gt; 'localhost',
		'login' =&gt; 'user',
		'password' =&gt; 'password',
		'database' =&gt; 'test_database_name',
		'prefix' =&gt; '',
	);
}
</pre>
<p>$defaultが普通の設定　$testはテストの時なんかに別のDB使うときの設定って認識でいいと思います。<br />
複数のDBなんか同時に使うことはないと思うけど。</p>
<p>ちなみにモデルの定義の中で</p>
<pre class="brush: php;">
$this-&gt;useDbConfig = 'test';
</pre>
<p>とすると$testの定義を使ってくれるので、色々作っておいてモデルごとに使い分けることも出来るみたい。<br />
Bakeとかでも自動判別するんだろうなあ。</p>
<p>[設定]<br />
driverはMySQLなのでそのまま、persistentは持続的データベース接続ってことらしい。<br />
<a href="http://php.net/manual/ja/features.persistent-connections.php">ここ</a>に説明が書いてるけど、よく理解して使わないとちょっと怖そう。デフォルトどおりfalseにしておく。<br />
hostはlocalhostのまま、本番動作時はレンタルサーバーとかの指定によって書き換えよう。<br />
loginはMySQLのログインユーザー名、passwordはそのパスワード、databaseは使用するデータベース名。<br />
prefixは接頭語だけど、いらないので省略。</p>
<p>こんな感じでdatabase.phpを書き換えたらOKかな。</p>
<p><a href="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/05/cakephp1_3_02.jpg"><img class="alignleft size-medium wp-image-176" title="cakephp1_3_02" src="http://www.jirosoft.com/wordpress/wp-content/uploads/2010/05/cakephp1_3_02-300x195.jpg" alt="設定とりあえずOK" width="300" height="195" /></a></p>
<p>とりあえず初期設定の一部が済みました。使用するデータベースはphpMyAdminとかで先に作成しておいたほうがいいですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-05-31-165/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android友の会大分支部勉強会#OitAnd</title>
		<link>http://www.jirosoft.com/wordpress/2010-05-29-163/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-05-29-163/#comments</comments>
		<pubDate>Sat, 29 May 2010 14:40:47 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Aperia]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=163</guid>
		<description><![CDATA[Android友の会大分支部の勉強会に参加してきました。
こういう集まりは前回AUMG大分に参加して以来です。先月も開催されていたのですが、ちょうど風邪で体調を崩していて参加できませんでした。
すでにアンドロイドマーケッ [...]]]></description>
			<content:encoded><![CDATA[<p>Android友の会大分支部の勉強会に参加してきました。</p>
<p>こういう集まりは前回AUMG大分に参加して以来です。先月も開催されていたのですが、ちょうど風邪で体調を崩していて参加できませんでした。</p>
<p>すでにアンドロイドマーケットにアプリを登録している方の実体験や、GoogleIOの話題。<br />
beagleBoardというワンボードPC?でAndroidが動いている話など、なかなか面白かったです。</p>
<p>ライトニングトークの後は実際にJavaのプロジェクトを配布してTwiiter風クライアントをいじくっての勉強会でした。<br />
サーバーサイドはRoRで作成されていたようで、こちらのソースも配布されましたがRubyはちんぷんかんぷんです。</p>
<p>Eclipseの使い方もまだまだ勉強しないと、色々便利な方法があるみたいです。Java自体、ほとんど触っていなかったので<br />
今回はいまひとつぴんと来ませんでしたが、刺激は受けました。</p>
<p>Androidは雑多な端末が出ているので、端末ごとの差異でアプリの動作にも影響が出るようです。<br />
iPhoneはワンメイクですが、こちらもOSバージョンで多少違います。しかし、Androidのほうが大変そうです。<br />
現在はテストする実機が無いので、なかなか開発に踏み出す気が起こりません。</p>
<p>kpondaさんの持ってきていたあやしい１万円端末も動作が遅くて使い物にならないみたいだし、Xperiaを購入しようか迷っています。<br />
OSが1.6のところが難点ですね。秋には2.2にバージョンアップするそうですが、iPhoneのように簡単に出来ればよいのですが。</p>
<p>バージョンアップ自体も、うわさの段階ですから２年縛りもあって中々踏み切れません。<br />
秋まで待つかな。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-05-29-163/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLServer2008Expインストール</title>
		<link>http://www.jirosoft.com/wordpress/2010-05-27-155/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-05-27-155/#comments</comments>
		<pubDate>Thu, 27 May 2010 09:37:53 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[MicroSoft]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[SQLServer]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=155</guid>
		<description><![CDATA[以前作成したシステム(1999年製)のサポートで、Access2000ベースで作成したシステムが最近不安定になりました。
データ件数がひとつのテーブルで１４万件を越してきていて、破損するとちょっと面倒ですし、不安定さと動 [...]]]></description>
			<content:encoded><![CDATA[<p>以前作成したシステム(1999年製)のサポートで、Access2000ベースで作成したシステムが最近不安定になりました。<br />
データ件数がひとつのテーブルで１４万件を越してきていて、破損するとちょっと面倒ですし、不安定さと動作速度低下の原因になっています。<br />
当初は簡単なアプリだったのでAccessで個人的に使用することを前提としていたのですが、使用されている方の事業も発展してデータ量が増えてきたのです。他のシステムではAccessフロントエンドでMSDEを使用していたので今回もそちらに移行しようと考えましたが、今はSQLServer2008Expになっているようです。導入はMSDEのように簡単ではないようなので、ちょっと面倒だなー。</p>
<p>客先のマシンはWindowsXPだしインターネットにも接続していないのでアップデートもかかってないようだし、準備段階で時間とられそうです。</p>
<p>取り合えず必要なのは<br />
　<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&#038;displaylang=ja"> Microsoft .Net Framework 3.5 SP1</a><br />
　Windows インストーラ 4.5<br />
みたいです。.Net Framework 3.5 SP1は事務所のテストマシンには入ってると思いますがとりあえずインストールしておきます。<br />
インストーラも変更しなくちゃいけないみたいですね。こっちはダウンロードがわかりにくい。<br />
<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=ja&#038;FamilyID=5a58b56f-60b6-4412-95b9-54d056d6f9f4">ここ</a>のページのWindowsXP-KB942288-v3-x86.exeだと思うww</p>
<p>インストール進めていたら環境チェックが入ってWindowsPowerShell2.0なるものが必要となってエラー。<br />
いろいろ探した結果見つけたのが<br />
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=60cb5b6c-6532-45e0-ab0f-a94ae9ababf5&#038;DisplayLang=ja">Windows XP 用更新プログラム (KB968930)</a><br />
WindowsPowerShell2.0とWindowsRemoteManagement2.0をWindowsXPにインストールするみたいだけど<br />
こんな名前じゃわかりにくい。</p>
<p>これを入れたら、やっと先に進みました。客先の環境では苦労しそうだな。<br />
やっとSQLSever2008Expのインストールに進みました。</p>
<p>ここで問題発生。VisualBasic2008Expressをインストールした際にSQLServer2008Expインストールしていたみたいww<br />
インストール手順の確認のために、一度アンインストールして再度やってみることに。<br />
さらにSQLServer2008Expも管理ツールが付属したものでないと扱いにくいので別のパッケージをダウンロードしなおすことにします。<br />
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b5d1b8c3-fda5-4508-b0d0-1311d670e336&#038;DisplayLang=ja">ここ</a>にあるSQLEXPRADV_x86_JPN.exeです。556MBもある。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-05-27-155/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WindowsMobileなどなど</title>
		<link>http://www.jirosoft.com/wordpress/2010-05-13-153/</link>
		<comments>http://www.jirosoft.com/wordpress/2010-05-13-153/#comments</comments>
		<pubDate>Wed, 12 May 2010 20:03:53 +0000</pubDate>
		<dc:creator>Jiro</dc:creator>
				<category><![CDATA[ブログ]]></category>
		<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[VisualBasic]]></category>
		<category><![CDATA[WindowsMobile]]></category>

		<guid isPermaLink="false">http://www.jirosoft.com/wordpress/?p=153</guid>
		<description><![CDATA[非常に長いことご無沙汰でした。４月に超短納期の仕事が入りまして、ばたばたしておりました。
それが片付いた後は、たちの悪い風邪にかかってしまい。GW明け近くまで臥せっていました。
今回のお仕事はWindowsCE上でEmb [...]]]></description>
			<content:encoded><![CDATA[<p>非常に長いことご無沙汰でした。４月に超短納期の仕事が入りまして、ばたばたしておりました。<br />
それが片付いた後は、たちの悪い風邪にかかってしまい。GW明け近くまで臥せっていました。</p>
<p>今回のお仕事はWindowsCE上でEmbeddedVB3.0で作られたシステムをWindowsMobile6.0 VB2005に移行するものでした。仕様書はほとんどなし。データベースもサンプルにデータが入っていない。<br />
データ構成の資料も無い。という状況で、すべては実機の動作とソースから作成する状況でした。しかも１ヶ月に満たない納期でw。</p>
<p>VB2008ならもう少し融通が利くようでしたが、2005のMobile環境はコントロールが異常に少ないことと、プロパティがほとんどの無いに等しいので一苦労でした。昔のEmbeddedの方がプロパティ多いんですよ。びっくりしました。<br />
なんせClickイベントも拾えないのでGotFocusで擬似動作させたり、Activateイベントが思わぬところで動作してぐちゃぐちゃになったりと祭り状態でした。データベースも以前はCDBというモバイル用Accessでしたが今回はSQL-Serverのコンパクト版ですのでデータ型も再定義の必要がありました。</p>
<p>まあ救いといえばロジック部分はある程度流用できたのですが、随分たくさんの変数が使いまわされていることと、オブジェクトの破棄があまり明確で無い書き方をしていたので、その辺はリークのないように気を使いました。</p>
<p>.NET以降のVBはあまり使ったこと無かったのですが、まあ慣れればVSのIDEと共に、ある程度は使い安いかなと感じました。CakePHPもAptanaとFireFoxのデバッグ機能で随分楽にはなりますが、さすがにVSの便利さには追いつかないですね。</p>
<p>その前はVS2008でWPFを使ってC#で書くお仕事でしたが、こっちは新機能満載でググっても情報無くて苦労しました。</p>
<p>という具合にCakePHPは放置状態ですが新バージョンの安定版が出ているので試してみたいところです。<br />
しかしAndoroidやってみたいのでEclipse+SDKをインストールしてJava勉強中です。<br />
片手間で昔作りかけていた見積書システムをVB2008でいじくって遊んでます。せっかくVBやったので忘れないうちにすこし身につけておこうかなと。簡単なシステムですがある程度出来たらVectorあたりで配布しようかな。</p>
<p>まあ、今時あまりはやらないかもしれませんが、iPhoneとかモバイル端末とかいじってて感じたUIへの思いを少し入れてみようかなと。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jirosoft.com/wordpress/2010-05-13-153/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
