<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
  <title>iddy.jp - RSS feeds by OfficeL</title> 
  <link>http://iddy.jp/rss/blog/OfficeL/</link> 
  <description>RSS feeds by OfficeL hosted at http://iddy.jp/</description>
  <language>ja</language>
  <item>
    <title>OfficeL: [はてダ] 【Titanium Advent Calendar 2011：三日目】バージョンチェック http://t.co/2DgFxJAO</title> 
    <description>
    <![CDATA[
    OfficeL: [はてダ] 【Titanium Advent Calendar 2011：三日目】バージョンチェック http://t.co/2DgFxJAO
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/142658973722619905</link> 
    <pubDate>Fri, 02 Dec 2011 17:38:44 +0000</pubDate>
   </item>
  <item>
    <title>【Titanium Advent Calendar 2011：三日目】バージョンチェック</title> 
    <description>
    <![CDATA[
    
<div class="section">
<h4>はじめに</h4>
<p>この記事は、<a href="http://twitter.com/#!/astronaughts">@astronaughts</a>さん企画の「<a href="http://atnd.org/events/21951">Titanium Advent Calendar 2011</a>」向けに書いています。</p>
<h4>ちょっと宣伝１</h4>
<p>いきなりで恐縮ですが、過日 Titanium Mobile で制作したアプリがリリースされているので紹介させてください。</p>
<p><a href="http://itunes.apple.com/ca/app//id453674679?mt=8"><img width="175" alt="クイズ早押しボタン" src="http://a3.mzstatic.com/us/r1000/084/Purple/e3/2d/03/mzl.inbzdajd.175x175-75.jpg" class="artwork" height="175"></a></p>
<p>このアプリはあたまソフトさんによる企画で、私はプログラム部分だけ担当しました。先に述べたとおり、Titanium Mobile 製です。</p>
<p>クイズサークル等で早押し大会をするときに使えます。</p>
<p>iOS向けリリースになっていて、Andoridではまだ見た目の調整が必要ですが、とりあえず動作はします。私は未確認ですがiPadでも動作すると思います。</p>
<p>プログラム的な出来としてはイマイチ感が否めないとか、広告を出す予定だったのが、某社のSDKが正式に対応していなくて、サードパーティでモジュール化されていたものを取り込んだところ画面遷移で落ちまくる事象が頻発し、諦めた経緯があります。</p>
<p>Ti製アプリコレクターはぜひ買ってあげてください。（無償で開発したので私には特になにも起きませんがｗ）</p>
<h4>今日の本題</h4>
<p>で、今日の本題です。</p>
<p>みんないろいろ悩むところだけどあまり議論されていない（と思う）バージョンアップのチェック方法、です。</p>
<p>上記のアプリは、ユーザデータをSQLiteで管理しているのですが、何回か開発中にレイアウト変更をしました。</p>
<p>その都度DBを再作成していたのですが、これはリリース後に同じことをすると、蓄積したデータが消えてしまうのでよろしくありません。</p>
<p>そのため、アプリ内でバージョンを判別して、初回起動時、通常時、バージョンアップ時で処理を分けることにしました。</p>
<p>具体的なコードはこんな感じです（かなり端折っています）。</p>
<p><pre>
var V = Ti.App.getVersion();// tiapp.xml の Version の値が入る
var CV = Ti.App.Properties.getString('CV',0);// 第二引数は初期値
if (CV == 0){
// 初回起動時（テーブルの生成とか）
}
if (CV &#60; V){
// バージョンアップ時処理（データの更新とか。バージョン毎の処理はこの中でやる）
}
Ti.App.Properties.setString('CV',V);// Version の値を CV としてしまう（次回に備える）
// ここから通常処理
</pre></p>
<p>これにより、アプリの初回起動時はバージョン値(CV)を持っていないので、初期化処理が行われ、通常時は保持しているバージョン値があるので処理はスルーし、バージョンアップ後の初回起動時にバージョンアップ処理が行われるようになっています。</p>
<p>今日の本題は、そもそもコレでいいのか？もっといいやり方とかわかりやすいやり方はないかを聞きたいのと、コレでいいやって人には使ってもらってフィードバック欲しいなっていう二点です。</p>
<p>三日目なのにすごいささやかなネタで申し訳ありません m(_._)m</p>
<h4>ちょっと宣伝２</h4>
<p><a href="http://code.google.com/p/office-l/source/browse/#svn%2Ftrunk%2FTi%2FDrainPipe">排水管プロジェクト</a></p>
<p>上記のコードは乗っていませんが、Titanium のサンプルコードの KitchenSink に倣って、排水管（DrainPipe）という名前で Titanium Mobile のサンプルコードを蓄積するプロジェクトをやっています。</p>
<p>最近全然手を入れられていませんが、国際化対応、Android&iOS両対応準備、JSSがどんな感じになるのかを簡単にチェック、くらいができていて、もっとコードを集めたいと思っています。</p>
<p>その他のこともいろいろやってた経緯があって、google code なのですが、最近 git も使える感じなので移動しようかなとか考えています。</p>
<p>これを読んでいる人の中で蓄積に付き合ってもいいぜ、とか言ってくれる方がいらっしゃいましたらご連絡ください。</p>
<h4>自己紹介など</h4>
<p>最後になりますが、ちょっとだけ自己紹介。</p>
<p>Office L という屋号でフリーランスのSE（みたいなこと）をやっています。<a href="http://twitter.com/#!/raki">Twitter / raki</a> です。</p>
<p>IT業界18年目、フリーになって8年目のごく普通のおっさんで、既婚、子持ち、ヘビースモーカー、ノンアルコール、音ゲーマー（jubeat,REFLEC BEAT,ちょっとだけDDR）です。</p>
<p>現職は某「てれーれってれ」って感じのCMで有名な企業さんの、それとは別の部隊でSE兼PGみたいなことをしています。</p>
<p>業界歴が長いので結構な数の言語（BASICやCOBOLから始まってCやVB,VC,Perl,PHP,シェルも書きますし、もちろんObj-Cも書きます。SGML,xml,HTML,CSS,JSはjQuery派）やDBMS（MySQL,PostgreSQL,Oracle,DB2,珍しいところだとInfoMixとかいじってた時期があります）やOS（Windows、Macはもちろん、Linux系OSってゆうか、SolarisやAIXなどのUNIX OSとか、OS2なども）が使えます。ネットワークもそこそこいけますし、オペレータとしてならFireworksも使えます（このブログの過去記事参照）。ご推察のとおり、立派な器用貧乏です。</p>
<p>たぶん一番得意なのは橋渡しで、ITなんかちんぷんかんぷんな企画屋さんとかデザイナーさん、IT以外は知ったこっちゃないSIerの間で、うまいこと仕事を回したり、調整したり、通訳したりするところで結構真価を発揮するみたいです。</p>
<p>個人的にはコード書いてる時間が一番幸せですけど。</p>
<p>メインの仕事は大抵常に埋まってるってゆうか、埋めてもらっている（超強力で優秀で友人でもある営業さんがついている）のであんまり必要ありませんが、サブのお仕事とか企画やシステムのご相談とか勉強会講師の依頼とかご飯食べに行きたいとか友達になりたいとかデートしたいとか（※ただし艶女に限るｗｗ）、もろもろお問い合わせお待ちしておりますｗ</p>
<br>

<p>というわけで、明日は <a href="http://blog.playispeace.com/">@papetto_tv</a>さんでしょうか？</p>
<p>よろしくお願いします！</p>
</div>

    ]]>
    </description>
    <link>http://d.hatena.ne.jp/officel/20111203/p1</link> 
    <pubDate>Fri, 02 Dec 2011 15:00:00 GMT</pubDate>
   </item>
  <item>
    <title>OfficeL: 2011-11-08 のテストなう10:53:29</title> 
    <description>
    <![CDATA[
    OfficeL: 2011-11-08 のテストなう10:53:29
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/133844592473812992</link> 
    <pubDate>Tue, 08 Nov 2011 09:53:32 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: 2011-11-08 のテストなう10:51:43</title> 
    <description>
    <![CDATA[
    OfficeL: 2011-11-08 のテストなう10:51:43
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/133844153854459904</link> 
    <pubDate>Tue, 08 Nov 2011 09:51:47 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: 2011-11-08 のテストなう10:49:04</title> 
    <description>
    <![CDATA[
    OfficeL: 2011-11-08 のテストなう10:49:04
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/133843491859079169</link> 
    <pubDate>Tue, 08 Nov 2011 09:49:09 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: 2011-11-08 のテストなう08:16:17</title> 
    <description>
    <![CDATA[
    OfficeL: 2011-11-08 のテストなう08:16:17
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/133805034482839552</link> 
    <pubDate>Tue, 08 Nov 2011 07:16:20 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: google + page を作りました。 http://t.co/oKzIVen6</title> 
    <description>
    <![CDATA[
    OfficeL: google + page を作りました。 http://t.co/oKzIVen6
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/133794896439029760</link> 
    <pubDate>Tue, 08 Nov 2011 06:36:03 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: ぶっちゃけこのアカウントはRSSの流し込みしかしてないからな。。。</title> 
    <description>
    <![CDATA[
    OfficeL: ぶっちゃけこのアカウントはRSSの流し込みしかしてないからな。。。
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/133793991496966144</link> 
    <pubDate>Tue, 08 Nov 2011 06:32:28 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: RT @raki: Titanium mobile で作ったアプリがリリースされたー！おめでとーう！   http://t.co/wEC01SaW #titaniumjp</title> 
    <description>
    <![CDATA[
    OfficeL: RT @raki: Titanium mobile で作ったアプリがリリースされたー！おめでとーう！   http://t.co/wEC01SaW #titaniumjp
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/131598781467734016</link> 
    <pubDate>Wed, 02 Nov 2011 05:09:29 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: [はてダ] [Android]Titanium Mobile によるスマートフォンアプリ開発勉強会（DevHub西新宿）ってのをやってきました http://t.co/jlrJRdVe</title> 
    <description>
    <![CDATA[
    OfficeL: [はてダ] [Android]Titanium Mobile によるスマートフォンアプリ開発勉強会（DevHub西新宿）ってのをやってきました http://t.co/jlrJRdVe
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/117255724182159360</link> 
    <pubDate>Fri, 23 Sep 2011 15:15:17 +0000</pubDate>
   </item>
  <item>
    <title>[Android]Titanium Mobile によるスマートフォンアプリ開発勉強会（DevHub西新宿）ってのをやってきました</title> 
    <description>
    <![CDATA[
    
<div class="section">
<p>今日は<a href="http://www.zusaar.com/event/agZ6dXNhYXJyDQsSBUV2ZW50GN3EBgw" target="_blank">Titanium Mobile によるスマートフォンアプリ開発勉強会（DevHub西新宿） on Zusaar</a>をやってきました。</p>
<p>今回は好きにやってねスタンスをとったので、あんまり事前準備とかしてなくて、ちょっと前に書いた<a href="http://officeljp.blogspot.com/2011/09/windows-titanium-studio-android.html" target="_blank">別館記事</a>を紹介する程度で、後はまだ動かせていない人のサポートをしてました。</p>
<p>内容的には特筆するほどのこともなく、淡々とコトが進んだので、反省と次回に向けてをリストアップ。</p>
<dl>
<dt>相変わらずイベントのトピを読まないで参加する人をどう扱うか。</dt>
<dd>読んでこないのは百歩譲って個人の自由としてもいいけど、結果として完全に出遅れてる人をどうサポートするか、は今後の課題。参加するほうもサポートするほうも、完全にあらららって感じになっちゃうからね。。。</dd>
<dt>結果として作業に開きがでてしまった場合にどうするか</dt>
<dd>上の件にも通じるけど、作業の開きができるとサポートしきれなかったり、そこだけ作業できなかったりってことがある。サポート用の初心者勉強会と、既にやってる人向けのハッカソンにしてたので、やれる人は好きに進めてくれればいいし、できてない人はサポートを受ければいいんだろうけど、勉強会的な一体感とか、コミュニケーション量に差が出るのは否めないね。</dd>
<dt>環境差をどう吸収するか</dt>
<dd>今回多かったのは MBA の Lion （あーうらやましいw）みたいだけど、MBP の SL や Windows な人もいて、正直全部の環境、個々の問題には対処しきれないなぁと思った。少人数の初心者をサポートすることには意味がある、と個人的に思っていたけど、継続してやっていく価値があるか、というとそうでもないと思った。つまりたぶん初心者サポート系の勉強会はもうやらないw</dd>
<dt>コミニュケーションメインにしたいんだけど、そうありたくないタイプの人をどう扱うか</dt>
<dd>そもそもうまくやれてないって言われると返す言葉もございませんって感じなんだけど、双方が非コミュじゃねぇ？w 時間的制約もあるけど、もう少し相互にコミュニケーションとれるようにしたい、と思っている。ただ、それを勉強会には求めてないよって人も多い気もするので、今後の課題かなと。</dd>
<dt>おやつの分量w</dt>
<dd>ネタのつもりじゃないけど、スイーツ（笑）を準備して女性も参加しやすいようにしてみたつもりなんだけど、女性参加者はおひとり。お徳用パックのおかしを買ってきてってことにしてたのだけど、結果として一人分が<a href="http://movapic.com/raki/pic/4021415" target="_blank">結構な量</a>になってしまった。おやつに関しては、なしにするか、持ち出し覚悟でこっちで用意するか、実費程度負担してもらうか、って感じになると思うんだけど、今の所未定。でもおかしあるほうが自己紹介タイムとりやすいし、少なくても何もしてないところよりはコミニュケーションとれてるとは思っているんだけど。</dd>
<dt>思惑の違いをどうするか</dt>
<dd>これは勉強会後のアンケートにあった話だけど、ハッカソンのお題を一つにしぼって回答を用意したほうがいい、的なコメントをもらったんだけど、個人的には全くそうは思わないってゆうか、それってハッカソンの意味あるの？って感じで、どうしたもんかと。ハッカソンってやりたいことがある人が集まってこんなんやるぜーとか、こんなんやりたいぜーってことをするのであって、回答は用意してあるからこれやってみ、って言われてやるようなもんじゃないと思うのね。いや、意見は意見で別に全然構わないんだけど、こういった主催側の思惑と外れた思想で参加する参加者との認識とかのずれをどこでどう調整したらいいか、的なことも大きな課題かなと。</dd>

</dl>
<p>個人的雑感を最後にメモっておくと、せっかく多くの（そうでもないけどw）人が集まってる勉強会にきて、他の人とコミニュケーションとらずに帰っていくのってどうなのかしらと。</p>
<p>楽しいのかしら、それで、、、（このネタは少しあっためてから別の記事としてそのうち書こうと思います）</p>
</div>

    ]]>
    </description>
    <link>http://d.hatena.ne.jp/officel/20110923/p1</link> 
    <pubDate>Thu, 22 Sep 2011 15:00:00 GMT</pubDate>
   </item>
  <item>
    <title>OfficeL: [はてダ] [google][API]google+ API が公開されたそうなのでサンプル動かしてみた時にハマったことのメモ http://t.co/HZtn88zI</title> 
    <description>
    <![CDATA[
    OfficeL: [はてダ] [google][API]google+ API が公開されたそうなのでサンプル動かしてみた時にハマったことのメモ http://t.co/HZtn88zI
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/114542728087486464</link> 
    <pubDate>Fri, 16 Sep 2011 03:34:49 +0000</pubDate>
   </item>
  <item>
    <title>OfficeL: [はてダ] [Fireworks][iPhone3GS]jubeat copious 稼動記念ジャケ風壁紙 http://t.co/aOs15ry2</title> 
    <description>
    <![CDATA[
    OfficeL: [はてダ] [Fireworks][iPhone3GS]jubeat copious 稼動記念ジャケ風壁紙 http://t.co/aOs15ry2
    ]]>
    </description>
    <link>http://twitter.com/OfficeL/statuses/114417530524798976</link> 
    <pubDate>Thu, 15 Sep 2011 19:17:19 +0000</pubDate>
   </item>
  <item>
    <title>[google][API]google+ API が公開されたそうなのでサンプル動かしてみた時にハマったことのメモ</title> 
    <description>
    <![CDATA[
    
<div class="section">
<p>昨日リリースされたんですかね？<a href="http://developers.google.com/+/api/" target="_blank">Google+ API - Google+ Platform &#8212; Google Developers</a>が使えるようになっていたので、早速サンプルを試してみました。</p>
<p>ローカル環境はxamppなのでphp選択ですがあしからずｗ</p>
<p>各自ドキュメントを読むのは当たり前として、<a href="http://developers.google.com/+/downloads" target="_blank">Downloads - Google+ Platform &#8212; Google Developers</a>から、<a href="http://code.google.com/p/google-plus-php-starter/" target="_blank"> google-plus-php-starter -   A starting point for your awesome Google+ PHP Applications - Google Project Hosting </a>に飛んで、スターターの zip ファイルをダウンロードして展開。</p>
<p>ついでに<a href="http://code.google.com/p/google-api-php-client/" target="_blank"> google-api-php-client -   Google APIs Client Library for PHP - Google Project Hosting </a>から最新のクライアントライブラリをダウンロードして、スターターの直下に展開。</p>
<p>xamppデフォルトなら htdocs 下に上記ファイルを展開。短いほうがアクセスしやすいので、フォルダ名を gpps(google plus php starterだから)に変更。</p>
<p><a href="https://code.google.com/apis/console/" target="_blank">Google Accounts</a>でgoogle+APIをonにセット</p>
<p>左メニューの API Access で Create an OAuth2 client ID ってボタンを押して、必要事項を入力。プロジェクト名はなんでもいいみたい。url は <a href="https://localhost/gpps/" target="_blank">https://localhost/gpps/</a> にセット。</p>
<p>Create client IDってすると、OAuthやったことがある人ならおなじみのなんちゃらキーとかが表示される。</p>
<p>gpps/index.php をエディタで開いて、26行目前後のところに値をセット。</p>
<p><pre>
$client-&#62;setClientId('ほにゃらら.apps.googleusercontent.com');
$client-&#62;setClientSecret('うにゃうにゃ');
$client-&#62;setRedirectUri('<a href="https://localhost/gpps/'" target="_blank">https://localhost/gpps/’</a>);
$client-&#62;setDeveloperKey('ここは迷ったけどconsole のSimple API AccessのAPI Keyをセット');
</pre></p>
<p>ってしたら <a href="https://localhost/gpps/" target="_blank">https://localhost/gpps/</a> でアクセスしてできあがり。</p>
<p>以下、環境差にもよるけどはまったところをメモ。</p>

<ul>
<li> ssl を別要件で使っているときは設定に注意</li>
<li> zend等を入れていて.htaccessがフックしちゃうとかも注意</li>
<li> curl が必要なので xampp/php/php.ini で curl エクステンションのコメントを解除すること</li>
<li> http でやろうとするとうまくいかなかったのはなんでかなー</li>
<li> curl で Fatal error: Uncaught CurlException: 60: SSL certificate problem, verify that the CA cert is OK. Details: error みたいなのがでたら、オプションの問題なので /xampp/htdocs/gpps/google-api-php-client/src/io/apiCurlIO.php をエディタで開いて、112行目の</li>
</ul>
<p><pre>
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
</pre></p>
<p>を</p>
<p><pre>
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
</pre></p>
<p>にしてあげれば大丈夫。でもこれ本番機でこんな設定にするなよ。。？</p>

<ul>
<li> あとは、gpps/index.php がsjis 認識されて読み込んだAPIの結果が文字化けするのが気になったら、index.php の head の中に &#60;meta charset="UTF-8" /&#62;いれてあげれば大丈夫。</li>
</ul>
<p>出来上がったらindex.phpで他の戻り値を出力してみるとか、他のAPIを呼んでみるとかすればOK。</p>
<p>でもconsoleで見る限り１日1000回しかAPI呼べないようなので、遊びすぎには注意（遊びでそんなに使う人もいないダロ。。。）</p>
</div>

    ]]>
    </description>
    <link>http://d.hatena.ne.jp/officel/20110916/p1</link> 
    <pubDate>Thu, 15 Sep 2011 15:00:00 GMT</pubDate>
   </item>
  <item>
    <title>[Fireworks][iPhone3GS]jubeat copious 稼動記念ジャケ風壁紙</title> 
    <description>
    <![CDATA[
    
<div class="section">
<p><a href="http://f.hatena.ne.jp/officel/20110916032311" class="hatena-fotolife" target="_blank"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/o/officel/20110916/20110916032311.jpg" alt="f:id:officel:20110916032311j:image:w360:right" title="f:id:officel:20110916032311j:image:w360:right" class="hatena-fotolife hatena-image-right" width="360"></a></p>
<p>巷では15日から jubeat の最新作 copious が稼動したようですが、仕事が忙しくて初日参戦できませんでした。</p>
<p>あんまりなので久しぶりに Fireworks の練習がてらまた壁紙を作りました。</p>
<p>まだあまり詳細画像が出回ってないのと、サントラジャケットに複数のバージョン（って言っても星の位置が違うだけ？）があって、どうしようかと思ったあげく、自分がさそり座なので背景の星はさそり座にしてしまいましたｗ</p>
<p>ちゃんとアンタレスもあるのよｗ</p>

<ul>
<li> 今回は先日話題になってた <a href="http://www.jpegmini.com/" target="_blank">JPEGmini - Your Photos on a Diet!</a> を使ってサイズダウン</li>
<li> グラデにノイズをかけて質感アップ（？）</li>
<li> さらにぼかしもかけてスムーズに（？）</li>
<li> サントラジャケットよりもかなり下方向にグラデ移動</li>
</ul>
<p>失敗したなーと思っているのは、</p>

<ul>
<li> 星はちゃんと45度倒して◆にしてたんだけど、縦に配置したので■になっちゃったこと</li>
<li> 星の間の線若干手抜き。もう少しバランスとってもよかった</li>
<li> 透明パネル部の書き方もうちょい工夫できてもよさそうな。今はベタ塗りから透明度30%くらいで描画モード平均を使用してるんだけど、クリアな質感がいまいち。。。</li>
</ul>
<br>

<p>iPhone ユーザの jubeater さんに使ってもらえれば。</p>
<p>宇宙人壁紙はまた今度。</p>
</div>

    ]]>
    </description>
    <link>http://d.hatena.ne.jp/officel/20110915/p1</link> 
    <pubDate>Wed, 14 Sep 2011 15:00:00 GMT</pubDate>
   </item>
</channel>
</rss>
