<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>もぎゃろぐ</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/" />
    <link rel="self" type="application/atom+xml" href="http://blog.mogya.com/atom.xml" />
    <id>tag:blog.mogya.com,2007-08-27://1</id>
    <updated>2012-02-03T02:25:53Z</updated>
    <subtitle>おひるねのできる日々</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.1</generator>

<entry>
    <title>[プラグイン不要]Chromeのショートカットキーカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2012/02/customize-chrome-shrotcutkey.html" />
    <id>tag:blog.mogya.com,2012://1.1431</id>

    <published>2012-02-03T01:18:16Z</published>
    <updated>2012-02-03T02:25:53Z</updated>

    <summary> Macでどうしても馴染めないショートカットキーが幾つかあります。 一番困るのが...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
    <category term="chrome" label="chrome" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p>
Macでどうしても馴染めないショートカットキーが幾つかあります。<br />
一番困るのがGoogleChromeのMeta+h。Windows版ChromeのCtrl+hは履歴を表示なのですが、Mac版ChromeでMeta+hを押すとウインドウが隠れてしまいます。<br />
ブラウズ中に手軽に押してしまうものなので、その瞬間ウインドウが消えてなくなるのはかなり戸惑います。UIが良くできているので、隠れたことはわかるのですが、そのたびに作業が中断するのは辛いです。
</p>
<p>
で、色々試した末、プラグインも何も入れずにMeta+hをヒストリーに割り当てることに成功したのでご紹介。
</p>

<p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="keyboard2.png" src="http://blog.mogya.com/2012/02/03/keyboard2.png" width="640" height="576" class="mt-image-none" style="" /></span><br />
これだけ。OSのシステム環境設定→キーボード→キーボードショートカット→アプリケーション のところで＋ボタンを押して、アプリケーション用のショートカットキーを割り当てればOK。<br />
「メニュータイトル」のところは、素直にメニューにあるテキストをそのまま入れればいいみたい。<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="menu-1.png" src="http://blog.mogya.com/2012/02/03/menu-1.png" width="282" height="226" class="mt-image-none" style="" /></span>
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>Windows7で音声合成(Text to speech)</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2012/01/windows7text-to-speech.html" />
    <id>tag:blog.mogya.com,2012://1.1410</id>

    <published>2012-01-15T00:01:55Z</published>
    <updated>2012-01-15T02:15:31Z</updated>

    <summary>  ヨメから、「Windowsで中国語テキストの読み上げをできないか」とのご要望...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
    <category term="windowstts" label="windows tts" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p style="float:right;margin:5px"><img alt="" src="http://blog.mogya.com/2012/01/15/sxchu_325655_international.jpg" width="314" height="235" class="mt-image-none" style="" /></p>
 ヨメから、「Windowsで中国語テキストの読み上げをできないか」とのご要望をいただいたので、「昔そんなことやったなぁ」と思いながら調べた内容まとめ。普通の読者の方は日本語読み上げだと思いますけど、だいたい同じ手順で出来ます。<br style="clear:both;"/>

<h3>手順の概要</h3>
<p>
　Windowsには、音声合成(SAPI)という機能が搭載されています。これをつかうと、Excelや、Vectorでダウンロードできる各種SAPI対応アプリケーションでテキストを読み上げさせることができます。<br />
　※なんでWordじゃないのかは謎。<br />
　ただし、Windows7のProfessional程度では英語のランタイムしか搭載されていないので、日本語や中国語を読み上げるためには別途ランタイムが必要。このランタイムがどうも無料で手にはいらないっぽい。UltimateのDVDに入っているという噂。<br />
　一方、SAPIとほとんど同じ機能なんだけど微妙に異なるぽいSpeech Platform Server Runtimeというのがあって、これは各言語ランタイムが無料で配布されている。そして、Speech Platform Server RuntimeをSAPIとして認識させちゃう裏技があるので、これを使えばExcelでテキストを読み上げさせることが出来る！
</p>

<h3>Microsoft Speech Platformとランタイムのインストール</h3>
<p>
<a href='http://www.microsoft.com/download/en/details.aspx?id=27225' target='_blank'>Download: Microsoft Speech Platform - Runtime (Version 11) - Microsoft Download Center - Download Details</a>から、自分の環境にあったSpeechPlatformRuntime.msiをダウンロードしてインストール。Windows7 64bit版の人はx64_SpeechPlatformRuntime、32bit版の人はx86_SpeechPlatformRuntime。「わかんない」というような人はきっと32bit版です。<br />
<img alt="Microsoft Speech Platformのダウンロード" src="http://blog.mogya.com/2012/01/15/WS000.JPG" width="640" class="mt-image-none" style="" />
</p>

<p>
<a href='http://www.microsoft.com/download/en/details.aspx?id=27224' target='_blank'>Download: Microsoft Speech Platform - Runtime Languages (Version 11) - Microsoft Download Center - Download Details</a>
から、必要な言語のTTSランタイムをインストール<br />
　※「ｚh」とか「ja」で検索すれば見つかる。<br />
　※「MSSpeech_SR」で始まるのは音声認識用ランタイム、「MSSpeech_TTS_」で始まるのが音声合成用ランタイム。今回必要なのは音声合成用ランタイムなので、間違えないように注意。<br />
<img alt="音声合成用ランタイムのダウンロード" src="http://blog.mogya.com/2012/01/15/WS001.JPG" width="640" class="mt-image-none" style="" />
</p>
<h3>Speech Platform Server RuntimeをSAPIとして認識させる</h3>
<p>
スタート > すべてのプログラム > アクセサリ > コマンドプロンプトを右クリックして、「管理者として実行」。権限昇格のために管理者パスワードを要求させるので入力。開いたコマンドプロンプトで、下記を実行する。<br />
<blockquote>
reg COPY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices\Tokens" HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens /s /f
</blockquote>
　※または、レジストリエディタを立ち上げて、図のようにコピーしてもよい。
<img alt="レジストリをコピー" src="http://blog.mogya.com/2012/01/15/WS004.JPG" width="640" class="mt-image-none" style="" />

</p>
<h3>音声合成(SAPI)の言語を変更</h3>
<p>
　「コントロール パネル > すべてのコントロール パネル項目 > 音声認識 > 音声合成」を開いて「音声の選択」で適切な言語を選ぶ。<br />
　※ここまでの手順が失敗しているとMicrosoftAnnaしか出てこない。その時はおやつでも食べて考え直す。<br />
<img alt="" src="http://blog.mogya.com/2012/01/15/WS003.JPG" width="640" class="mt-image-none" style="" />
</p>
<h3>Excelで読み上げ</h3>
<p>
　<a href='http://office.microsoft.com/ja-jp/word-help/HA010222327.aspx' target='_blank'>読み上げコマンドが表示されない - Word - Office.com</a>を参考に、読み上げコマンドを表示させる。<br />
Excelのセルに適当な文章を入力して、読み上げボタンを押すと読み上げられる。<br />
<img alt="ボタンはここ" src="http://blog.mogya.com/2012/01/15/WS005.JPG" width="640" class="mt-image-none" style="" />

</p>
<h3>謝辞</h3>
キーとなったレジストリの変更のアイデアを初め、だいたいのアイデアは下記が出所です。このブログ記事は、下記を元に、最近の環境で実行できるようにまとめ直しました。<br />
<blockquote>
<a href='http://www.neko.ne.jp/~freewing/software/ms_sapi_tts/' target='_blank'>日本語や中国語等の音声合成(SAPI TTS)を無料で使う方法(Speech Platform Server Runtimeを裏技で SAPI 5.1として動作させる方法)</a>
</blockquote>
]]>
        
    </content>
</entry>

<entry>
    <title>指定した時刻までただ寝ているsleepUntil</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2012/01/sleepuntil.html" />
    <id>tag:blog.mogya.com,2012://1.1395</id>

    <published>2012-01-02T12:00:50Z</published>
    <updated>2012-01-02T12:25:28Z</updated>

    <summary>  あけましておめでとうございます。初日の出は見に行ったけれど、正月とかあまり気...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="作ったもの" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p style="float:right;margin:5px;">
<img alt="sxchu_1362335_sleep.jpg" src="http://blog.mogya.com/2012/01/02/sxchu_1362335_sleep.jpg" width="320" height="240" class="mt-image-none" style="" />
</p>
<p>
 あけましておめでとうございます。初日の出は見に行ったけれど、正月とかあまり気にせず元日からコードを書いています。<br />
</p>
<p>
さて、お正月にちなんで、ひたすら寝ているプログラムsleepUntilというのを書いてみました。sleepじゃなくてsleepUntilなので、指定した時刻までただ寝ているプログラムです。
</p>
<blockquote>
<a href='https://gist.github.com/1550431' target='_blank'>sleepUntil (mogya's gist: 1550431 -- Gist)</a>
</blockquote>
<p style="clear:both;">
なんに使うかといいますと、プログラムを夜中に走らせるために使います。<br />
スクレイピングは人が活動していない時間帯に走らせるのが基本なので、夜中１時スタートというのが普通です。これまでは、時計を睨みながらsleep 3000; とかしていたのですけれど、そんな計算は自分でしてくれるプログラムがsleepUntilというわけです。<br />
</p>
<blockquote>
$ sleepUntil "1:00"
</blockquote>
 って書けば、sleepUntilは起動と同時に眠りについて、夜中一時に(起きて即座に)終了します。
<blockquote>
$ sleepUntil "1:00";(夜中に走らせたいコマンド)
</blockquote>
という具合にしておけば、sleepUntilが深夜一時に終了したあと、(夜中に走らせたいコマンド)が実行されます。実質的に、夜中一時に該当プログラムを起動するようなことができるわけです。
<p>
cronでいいじゃないかと言われたらそのとおりなのですけど、一回しか実行しないようなものをcronに書くのはなんだか気がひけるのです。
実行環境が違うとかそういうことも気にしなくていいですし。
</p>
<p>
時刻のパースはTime.parseに丸投げです。パースしてみて過去の時刻になったときは翌日の時刻に読み替えるようになっています。
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>【Titanium Advent Calendar 2011：二日目】evalJSの恐怖</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/12/titanium-evaljs.html" />
    <id>tag:blog.mogya.com,2011://1.1360</id>

    <published>2011-12-01T15:00:01Z</published>
    <updated>2011-12-01T15:37:29Z</updated>

    <summary> 【はじめに】 この記事は、@astronaughtsさん企画の「Titaniu...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="titanium" label="titanium" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<h3> 【はじめに】</h3>
<p>この記事は、<a href="http://twitter.com/#!/astronaughts">@astronaughts</a>さん企画の「Titanium Advent Calendar 2011」向けに書いています。<br />
@astronaughtsさんは、この企画もそうですけど、それ以外にも関西で最大規模のTitaniumイベント<a href='http://tidevs.me/' target='_blank'>Ti.Developers.meeting</a>の主催者でもあります。最初はどうしようかと思うくらいしょぼかったｗ Ti.Devs.me、諦めずに開催を繰り返して大きなイベントに育て上げた@astronaughtsに、個人的今年のTitaniumMVPを送りたいです。
</p>
<hr />
<p>さて、そんなわけでTitaniumの話題を一つ。Titaniumでは、アプリ内でブラウザが開くwebViewという仕組みを使うことができます。<br />
これを使うと、アプリ内でWEBページを見てもらうことができるので、Titanium以外でもよく使われている仕組みです。これ、意外と怖いということはご存知ですか？
</p>
例えば簡単なアプリを用意してみましょう。このアプリは、起動すると、モバイラーズオアシスというサイトをwebviewで開きます。
<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="mo.png" src="http://blog.mogya.com/2011/12/02/mo.png" width="321" height="602" class="mt-image-none" style="" /></span>
<a href='https://gist.github.com/1417382' target='_blank'>俺ブラウザ -- Gist</a>
<p>
このアプリの最後に、ちょっとスパイスをかけてみます。
</p>
<script src="https://gist.github.com/1417427.js?file=gistfile1.js"></script>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="mo1.png" src="http://blog.mogya.com/2011/12/02/mo1.png" width="321" height="602" class="mt-image-none" style="" /></span>

<p>
上野駅が蒲田駅に変わってしまいました。これで、モバイラーズオアシスの中の人は、「蒲田駅を検索したら違う位置が表示された」という謎のバグ報告に悩まされることになります。クックック。永久に悩み続けるがいい...
</p>
<br />
<p>
ご自分のアプリのWebViewに上記を仕掛けるとか、絶対やめてください。やめろってば！<br />
冗談はさておき、技術的にこういうことが可能であることは頭においておく必要があります。今回は上野が蒲田になる程度ですみましたが、ニュースサイトの内容を書き換えられたら？ログインしたときにユーザー名とパスワードを他のサイトに送信する仕組みが入っていたら？<br />
webViewとブラウザを同一視していると、あっと驚く手品に巻き込まれてしまうかもしれません・・・
</p>

<p>
逆に、この手法をうまく使えば、スマートフォンに最適化されていないHTMLに別のCSSを適用して要素を大きく表示させたり、サイドバーを隠してスマートフォン向けのページに見せるようなこともできるかも。<br />
...できるかもしれないのですけど、実際は結構大変です。この記事を書くために色々試したのですけど、evalJSしたJSコードをデバッグする手段が無いので、泣きそうでした。<br />
ちょっと複雑なJSを書くと、なぜか処理が行われなくて途方にくれます。いい思いつきだと思ったんだけどなぁ。
</p>

<h3> 【おわりに】</h3>
<p>
明日は<a href='http://d.hatena.ne.jp/officel/' target='_blank'>@raki</a>さんかな。よろしくおねがいします〜。
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>GoogleMapsAPI有料化に関して調べてみた</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/10/googlemapsapi-limit.html" />
    <id>tag:blog.mogya.com,2011://1.1322</id>

    <published>2011-10-29T00:23:08Z</published>
    <updated>2011-10-29T04:19:29Z</updated>

    <summary> ブログやWEBサイトに地図を表示することが出来て大変便利なGoogleMaps...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="技術メモ" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="googlemaps" label="GoogleMaps" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p style="float:right;margin:5px;"><img alt="sxc_hu_738173_map_money.jpg" src="http://blog.mogya.com/2011/10/29/sxc_hu_738173_map_money.jpg" width="299" height="448" class="mt-image-none" style="" /></p>
<p>ブログやWEBサイトに地図を表示することが出来て大変便利なGoogleMapsAPIに関して、Googleが有料化を発表したのでビックリしました。</p>
<blockquote>
　Googleは、Google Maps APIの利用規約を今年4月に改定し、10月1日から同APIの利用上限を定めることを発表していた。<br />
　現時点で利用上限を超過しても、即座に課金されることはない。利用者には、APIの利用状況を確認する期間が与えられる。その上で、利用上限を超えている場合には「2012年初めごろ」から強制的に課金されるとしている。その場合は、最低30日前に通知されるとしている。<br />
(<a href='http://internet.watch.impress.co.jp/docs/news/20111028_487036.html' target='_blank'>Google Maps API有料化の詳細発表、該当ユーザーは2012年初めに強制課金開始 -INTERNET Watch</a>)
</blockquote>

<p>今一番知りたいことは「どれくらい使ったら課金されるようになるのか」だと思うのですが、自分が調べた範囲では、あまり気にしなくてよさそうです。根拠はこれだ！<br />
</p>
<blockquote>
<img alt="maps_limit1.png" src="http://blog.mogya.com/2011/10/29/maps_limit1.png" width="578" height="106" class="mt-image-none" style="" /><br />
(<a href='http://code.google.com/intl/en/apis/maps/faq.html#usagelimits' target='_blank'>FAQ - Google Maps API Family - Google Code</a>)
</blockquote>

<p>
Styled Maps というのは最近出来た機能で、GoogleMapsから線路を消したり海の色を変えたりといったデザイン変更が出来る機能です。こちらを使っている場合はちょっと厳しいのですけど、そうでない場合は 25,000 map loads / Day。1ページに大量の地図を埋め込むことは普通ないので、つまり実質25,000 PV/Day ≒ 75万PV/月ということになります。<br />
モバイラーズオアシスが10万PV程度なので、食べログさんとか、大手不動産業者さんレベルにならない限りは課金されないんじゃないかと。<a href='http://30min.jp/' target='_blank'>30min.</a>さんあたりが微妙なラインかなぁ。<br />
</p>

<p>
さらに上記ページを見ると、越えた場合の課金金額も書かれています。
</p>
<blockquote>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="maps_limit2.png" src="http://blog.mogya.com/2011/10/29/maps_limit2.png" width="534" height="349" class="mt-image-none" style="" /></span><br />
(<a href='http://code.google.com/intl/en/apis/maps/faq.html#usagelimits' target='_blank'>FAQ - Google Maps API Family - Google Code</a>)
</blockquote>

<p>
25,000を越えたあと、1,000usageごとに4$だそうです。例えば100万PV/月のサイトがあったとすると、約3万3千アクセス/Dayなので超過部分が8300usage＝$32。$960/月なので、76,800円/月ということになりますね。<br />
ちなみに、Google Maps API Premier、お値段を公開している代理店を見つけました。85万円/年~だそうです。<br />
<a href='http://goga.jp/maps.html' target='_blank'>GOGA - Google Maps API</a>
</p>



追記：Google Maps API Expertの方からコメントがいただけました。<br />
<blockquote>
回数は、APIライブラリの読込回数です。 <br />
<a href='http://groups.google.com/group/google-maps-api-japan/browse_thread/thread/45801e9c53512b5b' target='_blank'>ANN:Google Maps APIへの使用制限の導入について - Google-Maps-API-Japan | Google グループ</a>
</blockquote>
ということは、iPhoneアプリなんかは、アプリを起動して地図を表示するごとに1回と考えれば良さそうですね。]]>
        
    </content>
</entry>

<entry>
    <title>画像を使わずにボタンを表示：iPhone専用サイト編</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/10/machine-dependent-charactors-on-ios5.html" />
    <id>tag:blog.mogya.com,2011://1.1316</id>

    <published>2011-10-25T05:54:29Z</published>
    <updated>2011-10-25T06:15:34Z</updated>

    <summary>  iOS5のMobile Safariから使えるようになったHTML5・CSS...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="css" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p>
 <a href='http://d.hatena.ne.jp/kudakurage/20111025/1319475131' target='_blank'>iOS5のMobile Safariから使えるようになったHTML5・CSSを試してみました【前編】 - くらげだらけ（くだくらげのBLOG）</a>で、<a href='http://www.justbenicestudio.com/studio/websymbols/' target='_blank'>Web Symbols typeface</a>というテクニックが紹介されていた。<br />
WebFontという技術を使って、文字の代わりにボタン画像なんかを埋め込んだフォントを使えば、画像ファイルを持たなくてもよく使うアイコンを表示できるよ！というアイデア。<br />
みんながこのフォントを使うようになって、jQueryみたいに高速なサーバからこのフォントが落とせるようになれば面白い技術だと思う。
</p>
<p>
でも、iOSに限定していいんだったら、<a href='http://blog.mogya.com/2011/09/titanium-button-without-images.html' target='_blank'>[titanium]画像を使わずにボタンを表示</a>の手法を使ってWebFontなしにボタン画像を表示することも出来る気がしたので、やってみた。
</p>

<blockquote>
<a href='http://blog.mogya.com/2011/10/25/test.html' target='_blank'>
<img alt="machine_dependent_charactors.PNG" src="http://blog.mogya.com/machine_dependent_charactors.PNG" width="320" height="480" class="mt-image-none" style="" /></a>
<br />
<a href='http://blog.mogya.com/2011/10/25/test.html' target='_blank'>machine dependent charactors on iOS5 - mogya</a>
</blockquote>


<p>
理屈は前回と同じ。Apple SymbolsやLucida Grandeといったフォントは、上記のようなデザインの文字を元々持っている。これらは、同じフォントを持っていないと表示できないからWEBの世界では使わないことになっているけれど、iPhone専用サイトと割り切るのであれば、CSSでフォント指定して上げれば表示することが出来る。<br />
どんな記号が使えるかは、下記を参考に。<br />
<ul>
<li><a href="http://wakabamac.blog95.fc2.com/blog-entry-261.html" target="_blank">わかばマークのMacの備忘録 : Macで使うHTMLでの特殊文字 </a></li>
<li><a href="http://docs.info.apple.com/article.html?path=Mac/10.6/jp/8164.html" target="_blank">Mac OS X 10.6 Help: 特殊文字と記号を入力する</a></li>
</ul>
</p>

<p>
長所としては、WebFontを使うより当然高速軽量に表示が出来る。短所としては、iOSの持っているフォントに依存してしまうので、昔のIE専用WEBページと同様、他の機種で見た時の表示が保証されない。<br />
実際問題としては、サンプルをひらいてみると分かるようにWindowsでもけっこう表示できちゃうんだけど、WEBの精神から行くとあんまり望ましくないことなのは事実。「iPhone」といったらiPadもAndroidも含めた全てのスマートフォンで動くものを想像されるお客さまも日本にはいらっしゃるので、利用する時は慎重に利用することをお勧めします。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>[PHPMatsuri]Titanium大賞をいただきました</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/10/phpmatsurititanium.html" />
    <id>tag:blog.mogya.com,2011://1.1310</id>

    <published>2011-10-21T00:41:18Z</published>
    <updated>2012-01-17T01:23:00Z</updated>

    <summary> PHPな人が集まって一晩中開発を行うイベントPHP祭りに行って来ました。 「m...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="行った所" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="titaniummobile" label="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="phpmatsuri" label="phpmatsuri" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p style="float:right;margin:5px;"><img alt="jhmr.gif" src="http://blog.mogya.com/2011/10/21/jhmr.gif" width="320" height="427" class="mt-image-none" style="" /></p>

<p>PHPな人が集まって一晩中開発を行うイベントPHP祭りに行って来ました。</p>
<blockquote>
「mogyaさんPHP祭りは来ないの？」<br />
「最近PHPは全然書いてないのでノーチェックですねぇ。」<br />
「<a href="http://blog.masuidrive.jp/">増井さん</a>を呼んでTitaniumの話をしてもらうよ」<br/>
「今申し込みました(即答)」<br/>
</blockquote>
というような経緯です。<br/>
<br/>
実際行ってみたら、
<blockquote>
masuidrive「この中で、Titaniumをご存知のかた？」(挙手)<br />
masuidrive「Titaniumでプログラムを書いたことがある方」(挙手)<br />
masuidrive「Titaniumでアプリを作ってリリースしたことのある方」(挙手)<br />
masuidrive「今日は初心者向けなので、今挙手された方が聞くような内容はありませんｗ」<br />
</blockquote>
って言われました。そりゃまあそうですよね。<br />

<p>
ハッカソンでは、<a href='http://itunes.apple.com/jp/app/id394644333?mt=8' target='_blank'>電源検索</a>の無料版「電源検索Lite」を開発して「Titanium大賞」をいただきました。
</p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="6253918541_5b2d940be1_o.jpg" src="http://blog.mogya.com/2011/10/21/6253918541_5b2d940be1_o.jpg" width="640" height="426" class="mt-image-none" style="" /></span>
<p>
そういうわけで、「電源検索Lite」for iPhoneは今Appleで審査中なので、審査が通ればAppStoreに登場する予定ですので、楽しみにお待ちくださいませ。<br />
ちなみに、待ち切れない方は、電源がないお店も検索できる有料版がすでにAppStoreに出ております。
</p>
<a href="http://click.linksynergy.com/fs-bin/click?id=4K8DZnszSCk&subid=&offerid=94348.1&type=10&tmpid=3910&RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fjp%2Fapp%2Fid394644333%3Fmt%3D8"><img src="http://oasis.mogya.com/images/design/appstore.png" width="173" height="60" /></a>
<ul>
<li><a href='https://market.android.com/details?id=com.mogya.oasis.android.best.lite' target='_blank'>電源検索Lite by モバイラーズオアシス - Android マーケット</a></li>
<li><a href='https://market.android.com/details?id=com.mogya.oasis.android.best' target='_blank'>電源検索 by モバイラーズオアシス - Android マーケット</a></li>
</ul>]]>
        
    </content>
</entry>

<entry>
    <title>[Titanium] iPhoneでAdMaker広告を掲載</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/10/titanium-iphoneadmaker.html" />
    <id>tag:blog.mogya.com,2011://1.1300</id>

    <published>2011-10-15T03:58:27Z</published>
    <updated>2012-01-17T01:22:53Z</updated>

    <summary> Titaniumで作ったiPhoneアプリに広告を出す場合、モジュールが簡単に...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="titaniummobile" label="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p>
Titaniumで作ったiPhoneアプリに広告を出す場合、モジュールが簡単に手に入るAdMobが人気ですが、<a href='http://jp.ad-maker.net/' target='_blank'>AdMaker</a>(MediaAd)は使えないの？という声も多いみたいです。やってみたら簡単に出来たので、やり方をまとめてみます。
</p>

<h3>モジュールを使う</h3>

下記を落としてきます。
<blockquote>
<a href='https://github.com/tryden/TiAdMaker' target='_blank'>tryden/TiAdMaker - GitHub</a>
</blockquote>

<p>
titanium.xcconfigを開くと、TitaniumSDKのバージョンが定義されているので、これを自分の好みのものに書き換えます。1.6.1はちょっと微妙ですね。<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="titanium.xcconfig.png" src="http://blog.mogya.com/2011/10/15/titanium.xcconfig.png" width="599" height="320" class="mt-image-none" style="" /></span>
</p>

<p>
で、build.pyを走らせるとモジュールが出来上がります。<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="build.png" src="http://blog.mogya.com/2011/10/15/build.png" width="663" height="397" class="mt-image-none" style="" /></span>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="build2.png" src="http://blog.mogya.com/2011/10/15/build2.png" width="663" height="436" class="mt-image-none" style="" /></span>
</p>

<p>
出来上がったモジュールを解凍して、新しいプロジェクトにこんな感じで配置。<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="module-1.png" src="http://blog.mogya.com/2011/10/15/module-1.png" width="835" height="333" class="mt-image-none" style="" /></span>
</p>

<p>
<a href='https://github.com/tryden/TiAdMaker/blob/master/example/app.js' target='_blank'>example/app.js</a>にサンプルがあるので、まずはこれを動かしてみるのがいいんじゃないかと思います。<br />
</p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="app.js-1.png" src="http://blog.mogya.com/2011/10/15/app.js-1.png" width="600" height="337" class="mt-image-none" style="" /></span>
<p>
AD_URL、SITE_ID、ZONE_IDはAdMakerでメディアを作るともらえます。<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="medibaad-1.png" src="http://blog.mogya.com/2011/10/15/medibaad-1.png" width="700" height="391" class="mt-image-none" style="" /></span>
</p>

<p>
というわけで起動してみるとこんな感じ。<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="sample1.png" src="http://blog.mogya.com/2011/10/15/sample1.png" width="396" height="300" class="mt-image-none" style="" /></span>
</p>
<p>
めでたしめでたし。
</p>


<h3>webviewを使う方法</h3>
<p>
　ちなみに、AdMakerの公式サイトでは、こんなふうに案内されています。
</p>
<blockquote>
TitaniumへSDKを実装できません。どうすればいいですか？<br />
SDKでの対応はしておりません。<br />
Web Viewを作って頂き、そこにJavaScriptタグを実装して頂くことで表示して頂くことも可能です。<br />
(<a href='http://jp.ad-maker.net/faq/index.html' target='_blank'>よくあるご質問｜スマートフォン広告なら「mediba ad」｜iPhone、Androidアプリ・サイト広告</a>)
</blockquote>

<p>
JavaScriptと空っぽのbodyタグを書いたHTMLを用意してwebviewで開いたところ、広告はちゃんと表示されたのですけど、クリックしたあとの広告もwebviewの中で開いて、どうしてくれようかという感じになりました(当たり前ですね)。<br />
webviewのイベントをハンドリングしてあれこれという手も考えられるのですが、あんまりやると広告に手を入れているように見えてしまうことが懸念されます。モジュールが動くのだったら、そのほうがいいんじゃないかな、と思います。
</p>
<p>
P.S: Android用はこちら。<br />
<a href='http://d.hatena.ne.jp/harukazepc/20110815/1313395772' target='_blank'>titanium の AdMaker モジュール作ってみました(Android用) #titaniumjp - harukazepcの日記</a>
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ノマドワーキングを2ヶ月続けてみて気づいた一つの法則</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/10/2.html" />
    <id>tag:blog.mogya.com,2011://1.1291</id>

    <published>2011-10-08T10:18:45Z</published>
    <updated>2011-10-08T10:26:03Z</updated>

    <summary>  「安くて飲み物がおいしいのに混んでなくて快適な喫茶店」は、つぶれる。 ...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="フリーランス" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p style="margin:10px;float:right;">
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="sxchu_1341556_hubgrybird.jpg" src="http://blog.mogya.com/2011/10/08/sxchu_1341556_hubgrybird.jpg" width="314" height="207" class="mt-image-none" style="" /></span>
</p>
<p> 「安くて飲み物がおいしいのに混んでなくて快適な喫茶店」は、つぶれる。</p>
<br style="clear:both;" />
]]>
        
    </content>
</entry>

<entry>
    <title>ホウレンソウに頼らないマネジメント</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/10/post-109.html" />
    <id>tag:blog.mogya.com,2011://1.1285</id>

    <published>2011-10-03T05:04:34Z</published>
    <updated>2011-10-06T13:09:40Z</updated>

    <summary>  Twitterのつぶやきを見ていたら、わりと常識に縛られないタイプの方なのに...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="そのほか" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="大きな会社小さな会社" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p style="float:right;margin:5px;"><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="sxchu_299380_hourenso.jpg" src="http://blog.mogya.com/2011/10/06/sxchu_299380_hourenso.jpg" width="314" height="235" class="mt-image-none" style="" /></span></p>
<p>
 Twitterのつぶやきを見ていたら、わりと常識に縛られないタイプの方なのに、「新人研修で覚えてもらうのはホウレンソウとプログラミングくらいかなぁ」的なことを言われていて。そういえばホウレンソウって必須でもなんでもないことは意外と知られていないなぁ、と思ったので書いてみる。</p>
<p>
<h3>ホウレンソウに頼ったAくんの仕事の進め方</h3>
<ul>
<li>9:00 業務開始。朝Mtgで、その日やることをみんなの前で発表。ぼく早くプログラム書き始めたいんだけどな...</li>
<li>9:30頃 昨日の進捗報告に上司からツッコミが。詳細な説明を書いて返信する。</li>
<li>10:00頃 ようやくプログラムを書き始める。</li>
<li>12:00 お昼休み。</li>
<li>13:00 再びプログラムを書き始める。</li>
<li>14:00 今朝のメールに上司は納得しなかったらしく、呼び出された。状況を説明してようやく納得してもらう</li>
<li>15:00 えーと。何してたんだっけ。あれ。このあと進捗会議か。</li>
<li>15:00 さっき上司に説明したばっかりの状況をもう一回みんなに報告。みんな興味ないから聞いてないんだけどね。</li>
<li>18:00 延々と関係のない人たちの状況を聞かされて、ようやく終了。晩御飯食べに行きますか。</li>
<li>19:00 定時後はプログラミングの時間だ！</li>
<li>22:30 今日の進捗をメールに書いてMLに投げる。メールボックスに届いている他のメンバーからの進捗報告は、興味が無いのでまとめてゴミ箱へ。</li>
</li>
</ul>
だいたいこんな感じかと思います。公平を期すため、3時からのラジオ体操とか、11時から健康診断に行かないといけないイベントは省きました。
</p>

<p style="float:right;margin:5px;">
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="sxchu_994712_carot.jpg" src="http://blog.mogya.com/2011/10/06/sxchu_994712_carot.jpg" width="314" height="228" class="mt-image-none" style="" /></span>
</p>
<p>
<h3>ホウレンソウに頼らないBくんの仕事の進め方</h3>
<ul>
<li>9:00 業務開始。昨日思いついたアルゴリズムを猛然と書きはじめる。</li>
<li>9:30頃 マネージャさんが後ろを通った気がしたけど、猛然とプログラムを書いていたら通りすぎていった。用事があればまた来るでしょ。</li>
<li>12:00 お昼休み。</li>
<li>13:00 再びプログラムを書き始める。</li>
<li>14:00 マネージャさんが後ろから覗いた気がしたけど、猛然とプログラムを書いていたら去っていった。用事があればまた来るでしょ。</li>
<li>15:00 一休みしていたら、マネージャさんが走ってきた。手が空くのを待っていたらしい。<br />
「様子はどう？」と聞かれたので、進捗を説明。納得の行かないところにはツッコミが入るけど、説明したら納得してくれた。1vs1の会話だから、所要時間は15分もあれば十分</li>
<li>15:30 再びプログラムを書き始める。</li>
<li>18:00 仕事終わり。スポーツジムによって帰ろう！</li>
</ul>
かっこ良く定時で仕事を終えていますが、プログラムを書いている時間はAもBも7.5hです。Bくんが超高速で仕事を終えているわけではありません。
</p>

<p style="float:right;margin:5px;">
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="sxchu_977756_salad.jpg" src="http://blog.mogya.com/2011/10/06/sxchu_977756_salad.jpg" width="255" height="235" class="mt-image-none" style="" /></span>
</p>
<p>
<h3>進捗の把握は誰の仕事？</h3>
じつは、AもBも自分が経験したことのある仕事です。Bは夢物語だったわけじゃなくて、実際にそういうふうに仕事をしていました。ラピュタは本当にあったんだ！(海の向こうに)
<ul>
<li>Aでは、進捗を報告するのがメンバーの責務になっています。Bでは、進捗を把握するのはマネージャさんの仕事です。だってマネージャってマネジメントする人でしょ？</li>
<li>進捗会議で全員の時間を束縛するより、1vs１を繰り返したほうが、進捗把握に係る工数は少なくなります。わかりきっているところはカットできるし、わからないところはその場で聞き返せるので、マネージャさんの理解度も高いです。</li>
<li>進捗を把握するのはマネージャさんの仕事であってメンバーの仕事ではないので、マネージャさんはメンバーの仕事を邪魔しないように、忙しくなさそうな時間を見計らって進捗を聞きに行きます。「忙しいところ悪いけど、進捗を聞かせてもらえるかな？」<br />
とはいえ、マネージャとメンバーは同じ目標に向かって進むチームなので、メンバーも可能な限りマネージャさんがヒアリングしやすいように協力しますけどね。
</li>
<li>Bの問題は、マネージャさんが異常に忙しいことです。メンバーが日報を書かなくていいのも、進捗会議に出席しなくてもいいのも、マネージャさんが進捗を聞いて回っているからこそです。<br />
マネージャさんは大変ですけど、メンバーより多くお給料が出ているんだから、メンバーよりたくさん働くのはとても正しい姿ですよね。</li>
</ul>
</p>

<p>
メンバーはお互いの仕事の進捗を知らなくて、マネージャさんだけが全ての進捗を把握することになるので、誰かがコケたときに他の人がカバーすることはできません。<br />
各人の責任範囲が明確で、メンバーの役割がはっきりしている欧米型の仕事の進め方だからこそやれるやり方なのだと思います。<br />
でも、ここで書いたのは、実際にぼくがメンバーとして働いたことのある体験談なので、これで仕事が回っている職場が実在します。というか、日本以外で働いたときはたいていこのやり方でした。
</p>

<p>
日本式に、メンバーが状況を報告したり、やばい時に自発的に動く能力を持っていることは、別に悪いことではないです。やばい時に自発的にアラーム上げてくれたら、マネージャさんは進捗を聞いてまわる頻度を下げることができるし、メンバーの報告だって下手であるよりは上手なほうが嬉しいに決まってます。<br />
でも、そうじゃないと仕事が回らない状態が常識だと思っているとしたら、世の中そうじゃないやり方もあるんだよ、という話も知っておいていただけると嬉しいです。
</p>
<p>
<h3>関連記事</h3>
<ul>
<li><a href='http://blog.mogya.com/2010/08/memories-in-dispatch-programme.html' target='_blank'>派遣プログラマ時代の思い出 - もぎゃろぐ</a></li>
<li><a href='http://blog.mogya.com/2010/08/whats-happen-english-office.html' target='_blank'>社内公用語を英語にすると何が起こるか - もぎゃろぐ</a></li>
</ul>
</p>]]>
        
    </content>
</entry>

<entry>
    <title>[Titanium]CFBundleVersion must be no longer than 18 charactoers</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/09/post-108.html" />
    <id>tag:blog.mogya.com,2011://1.1276</id>

    <published>2011-09-25T12:22:30Z</published>
    <updated>2012-01-17T01:23:45Z</updated>

    <summary>  個人的なポリシーで、アプリケーションのバージョン番号は、1.0, 1.1, ...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
    <category term="titaniummobile" label="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[ <p>
個人的なポリシーで、アプリケーションのバージョン番号は、1.0, 1.1, 2.0とかじゃなくて、20110923, 20110925...っていうふうに年月日でつけることにしています。<br />
どこでマイナーバージョンを上げてどこでメジャーバージョンを上げるかとか悩んでも仕方ないし、ユーザーさんにとってはどっちが新しいかさえ分かればOKなんだから、無理に数字に丸める理由はないよね。
</p>
<p>
というような経緯で俺ポリシーを採用していたら、えらい目にあいました。
</p>


<p>
理由は知らないんだけど、Titanium MobileはInfo.plistに書いてあるBundleVersionの後ろに、タイムスタンプをくっつけてしまいます。例えばInfo.plistに「1.0」と書いた場合、実際のビルドに使用されるCFBundleVersionは「1.0.1316956026」という具合に。<br />
普通の人はバージョンなんてせいぜい5文字だから、
日付時刻をつけても弊害はなかったのだけれど、年月日方式だと、「20110925.1316956026」となってしまいます。実はバージョン番号には１８桁までという制限があるので、これだとCode SignをするときのVelificationでエラーになってしまうのです。
</p>
<p>
厄介なことに、このアプリの旧バージョンはXCodeで開発していたので、年月日方式ですでにリリースしてしまっています。<br />
しょうがないので、「3.0」にしてみたんだけど、これも「The key CFBundleVersion in the Info.plist file must contain a higher version than that of the previously uploaded version.」ということでどうにもならなくて泣きそうに。Adhoc Buildまで無事通って、最後の最後に発覚するので心理的ダメージがでかいです。<br />
</p>
<p>
そういうわけで、このTitanium Mobileの余計な処理を止める方法。<br />
builder.py ( /Library/Application Support/Titanium/mobilesdk/osx/#{TITANIUM_SDK_VERSION}/iphone/ )をひらいて、この辺をコメントアウトする。
</p>
<script src="https://gist.github.com/1240566.js"> </script>
<p>
僕から見たら余計な処理だったけど、書いてあるからには必要な理由があったのだろうから、普通の人はまねしない方がいいと思う。
バージョン番号が長くなって困った方だけ、自己責任でどうぞ。
</p>

<h3>おまけ：Distribution Buildのハマリどころ</h3>

<p>
　iPhoneアプリの開発は、エミュレーターで動いて、AdHocビルドも動いているのに、最後の最後でリリースできない！って苦労することが多い気がする。
自分が今回はまった点と解決策。
</p>
<ul>
<li>Distribution Buildした後、Validateするとすっごい長いエラーダイアログが出る<br />
→キャプチャしておくのを忘れたんだけど、ほぼ画面いっぱいのエラーダイアログ。長すぎて結局何がエラーなのか全然分からなかったんだけど、ダイアログの上でcommand+Cを押すと全文がコピーできるので、エディタに貼り付ければ内容を見ることが出来る。<br />
</li>
<li>「Icon specified in the Info.plist not found under the top level app wrapper: icon.png Unable to verify icon dimensions, no icon found」<br />
→可能性１：info.plistに書いてあるアイコンファイルと実際においてあるアイコンファイルの名前が違う。大文字小文字にも注意。<br />
→可能性２：アイコンファイルが8bit pngになっている。24bit pngじゃないとダメらしいです。<br />
</li>
<li>「a sealed resource is missing or invalid」<br />
→Resourcesに余計なファイルがあると起きるらしい。.gitとか.gitignoreとかそのへんをひと通り削除したら出なくなった
</li>
<li>「CFBundleVersion must be no longer than 18 charactoers」<br />
→上に書いたとおり。「バージョン番号は１８文字以下でないといけません」。
</li>
</ul>
<p>
CodeSignとかMobileProvisioningになってしまえば、もはやTitaniumMobileであることはあまり関係が無いので、「エラー文字列 iPhone」でググるのが王道のような気がしました。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>[titanium]TKAnimationSampleはTitanium開発者必見のアニメーションサンプル集</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/09/titanium-tkanimationsample.html" />
    <id>tag:blog.mogya.com,2011://1.1267</id>

    <published>2011-09-17T14:15:28Z</published>
    <updated>2012-01-17T01:23:43Z</updated>

    <summary>Ti.Developers.meeting vol 0.3 で、MogSnapの...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="titaniummobile" label="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p><a href='http://astronaughts.net/?p=705' target='_blank'>Ti.Developers.meeting vol 0.3</a> で、MogSnapのコバヤシトールさんに、アニメーションについてお話していただきました。</p>
<p>
その際の説明用サンプルとして掲示されたTKAnimationSampleがとても素晴らしかったのでご紹介。
</p>
<blockquote>
<a href='https://github.com/toru0325/TKAnimationSample' target='_blank'>toru0325/TKAnimationSample - GitHub</a>
</blockquote>
<p>
<img alt="TKAnimationSample1.png" src="http://blog.mogya.com/2011/09/18/TKAnimationSample1.png" width="325" height="485" class="mt-image-none" style="" /><br />
KitchenSinkみたいに、複数のサンプルが見られるようになっています。
</p>

<p>
<img alt="TKAnimationSample2.png" src="http://blog.mogya.com/2011/09/18/TKAnimationSample2.png" width="325" height="485" class="mt-image-none" style="" /><br />
HelloWorld.js。静止画見ても何のことだか分からないと思いますが、HelloWorldが下から飛び出してくるサンプルです。
</p>

<p>
<img alt="TKAnimationSample4.png" src="http://blog.mogya.com/2011/09/18/TKAnimationSample4.png" width="325" height="485" class="mt-image-none" style="" /><br />
buttons.js。ボタンが出現するサンプル。よりかっこいいbuttons_with_scale.jsというのもあります。
</p>

<p>
<img alt="TKAnimationSample5.png" src="http://blog.mogya.com/2011/09/18/TKAnimationSample5.png" width="325" height="485" class="mt-image-none" style="" /><br />
赤いボールが複雑な軌跡を描いて飛び回るredbox.js。「Hint」ボタンを押すことで、どういうふうに実現されているかを見ることが出来ます。
</p>

<p>
<img alt="TKAnimationSample6.png" src="http://blog.mogya.com/2011/09/18/TKAnimationSample6.png" width="325" height="485" class="mt-image-none" style="" /><br />
AndroidやiPadのように画面上にポップアップを出現させるInfo_view.js。iPhoneではあまりやらないことになってますが、実現させたい人はたくさんいると思うので、そういう方はこのサンプルを参考にすると良いと思います。
</p>

<p>
ゲームやかわいいアプリケーションにアニメーションが必須なのはいうまでもないですが、情報系のアプリケーションでも、ちょっとアニメーションを利かせておくことで、
ユーザーさんの目線を誘導することが出来るのでとても役に立ちます。<br />
APIリファレンスを見て実装してもなかなか上手く動かないのですけど、TKAnimationSampleで動いているサンプルをみて実装するのなら簡単に実装できますよね。<br />
自分はTKAnimationSampleを見て30分くらいで、今作っているアプリにアニメーションを追加することが出来ました。<br />
とても勉強になるので、ぜひさわってみてくださいませ。
</p>
]]>
        
    </content>
</entry>

<entry>
    <title>[ti.devs.me] window.urlを使わないプログラミング</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/09/tidevsme-windowurl.html" />
    <id>tag:blog.mogya.com,2011://1.1264</id>

    <published>2011-09-16T13:20:32Z</published>
    <updated>2012-01-17T01:23:27Z</updated>

    <summary> 明日16日のTi.Developers.meeting vol 0.3 in ...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="行った所" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="titaniummobile" label="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tidevsme" label="tidevsme" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p>
明日16日の<a href='http://astronaughts.net/?p=705' target='_blank'>Ti.Developers.meeting vol 0.3 in Kyoto</a>で、「window.urlを使わないプログラミング」というテーマでお話させていただきま<strike>す</strike>した。
</p>
<p>
<img alt="Ti.Developers.meeting.001.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.001.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.002.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.002.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.003.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.003.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.004.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.004.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.005.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.005.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.006.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.006.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.007.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.007.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.008.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.008.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.009.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.009.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.010.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.010.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.011.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.011.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.012.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.012.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.013.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.013.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.014.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.014.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.015.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.015.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.016.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.016.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.017.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.017.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.018.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.018.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.019.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.019.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.020.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.020.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.021.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.021.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.022.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.022.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.023.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.023.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.024.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.024.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.025.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.025.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.026.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.026.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.027.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.027.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.028.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.028.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.029.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.029.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.030.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.030.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.031.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.031.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.032.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.032.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.033.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.033.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.034.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.034.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.035.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.035.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.036.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.036.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.037.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.037.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.038.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.038.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.039.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.039.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.040.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.040.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.041.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.041.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.042.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.042.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.043.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.043.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.044.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.044.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.045.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.045.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.046.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.046.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.047.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.047.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.048.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.048.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.049.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.049.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.050.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.050.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.051.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.051.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.052.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.052.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.053.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.053.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.054.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.054.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.055.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.055.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.056.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.056.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.057.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.057.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.058.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.058.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.059.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.059.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.060.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.060.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.061.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.061.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.062.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.062.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
<img alt="Ti.Developers.meeting.063.jpg" src="http://blog.mogya.com/2011/09/16/Ti.Developers.meeting.063.jpg" width="648" height="486" class="mt-image-none" style="border:solid 1px black;margin:2px;" /><br />
</p>

<ul>
<li><a href='http://blog.mogya.com/2011/08/window-url-is-not-recommended.html'>[Titanium] window.urlは推奨されないプログラミング手法らしい - もぎゃろぐ</a></li>
<li><a href='http://blog.mogya.com/2011/08/why-window-url-is-not-recommended.html'>[Titanium]window.urlが駄目な理由 - もぎゃろぐ</a></li>
<li><a href='http://d.hatena.ne.jp/kaz_konno/20110704/1309799952'>無名関数を使ったアプリのひな形 - kaz_konno' blog: walkthisway</a></li>
<li><a href='http://vimeopro.com/appcelerator/building-native-mobile-applications/video/26414757'>Building Native Mobile Applications 02 - Cross-Platform JavaScript Applications</a></li>
<li><a href='http://vimeopro.com/appcelerator/building-native-mobile-applications/video/26414892'>Building Native Mobile Applications 04 - Working With Local Data</a></li>
<li><a href='http://d.hatena.ne.jp/sandai/20110824/p1'>知ってて当然？初級者のためのJavaScriptで使う即時関数(function(){...})()の全て</a></li>
<li><a href='http://vimeo.com/channels/tdm03' target='_blank'>Ti.Developers.meeting vol 0.3 in Kyoto on Vimeo</a></li>
</ul>
]]>
        
    </content>
</entry>

<entry>
    <title>[titanium]画像を使わずにボタンを表示</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/09/titanium-button-without-images.html" />
    <id>tag:blog.mogya.com,2011://1.1252</id>

    <published>2011-09-06T07:12:36Z</published>
    <updated>2011-09-06T07:59:22Z</updated>

    <summary> TitaniumMobileにはSystemButtonというのがあって、ロー...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="TitaniumMobile" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="titanium" label="titanium" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p>
TitaniumMobileには<a href='http://code.google.com/p/titanium-mobile-doc-ja/wiki/howto_button_icon'>SystemButton</a>というのがあって、ローカルに画像を持っていなくても標準的アイコンのボタンを表示させることができる(iphone only)。
</p>

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="systembutton.png" src="http://blog.mogya.com/2011/09/06/systembutton.png" width="396" height="150" class="mt-image-none" style="" /></span>

<p>
でも例えば、ブラウザでよく見る左右の三角形、forward/backボタンはsystemButtonに存在しない。<br />
デザイナさんと一緒にお仕事をしている人はいいのですけど、プログラマが適当に作ったアプリでは、こういうのを下手に描いたせいでデザインが素人っぽくなってしまったりする。著作権的なものには目をつぶって他のアプリからキャプチャするにしても、この程度の画像をいちいち切り出すのはめんどくさいよね。<br />
</p>
<p>
そこで、文字コードを使ってそれらしい文字をtitleに指定してみた。
</p>
<blockquote><pre>// Forward and back button for browser.
var buttonForward = Titanium.UI.createButton({
    title:String.fromCharCode(0x25b6)
});
var buttonBack = Titanium.UI.createButton({
    title:String.fromCharCode(0x25c0)
});
win.setToolbar([flexSpace,buttonBack,flexSpace,buttonStop,flexSpace,buttonReload,flexSpace,buttonForward,flexSpace]);  
</pre></blockquote>
<p>
<img alt="browserbuttons.png" src="http://blog.mogya.com/2011/09/06/browserbuttons.png" width="396" height="145" class="mt-image-none" style="" /><br />
お、いい感じ。もしかしてもっと色々出来るかも？
</p>

<blockquote><pre>// OK. more buttons!
var buttonApple = Titanium.UI.createButton({
    title:String.fromCharCode(0xf8ff)
});
var buttonCommand = Titanium.UI.createButton({
    title:String.fromCharCode(0x2318)
});
var buttonOption = Titanium.UI.createButton({
    title:String.fromCharCode(0x2325)
});
var buttonReturn = Titanium.UI.createButton({
    title:String.fromCharCode(0x23ce)
});
var buttonForward2 = Titanium.UI.createButton({
    title:String.fromCharCode(0x25c1)
});
var buttonBack2 = Titanium.UI.createButton({
    title:String.fromCharCode(0x25b7)
});
var buttonNote1 = Titanium.UI.createButton({
    title:String.fromCharCode(9833)
});
var buttonNote2 = Titanium.UI.createButton({
    title:String.fromCharCode(9834)
});
var buttonNote3 = Titanium.UI.createButton({
    title:String.fromCharCode(9835)
});
win.setToolbar([flexSpace,buttonForward2,buttonBack2,buttonApple,buttonCommand,buttonOption,buttonReturn,buttonNote1,buttonNote2,buttonNote3,flexSpace]);  
</pre></blockquote>

<p>
<img alt="morebutton1.png" src="http://blog.mogya.com/morebutton1.png" width="396" height="144" class="mt-image-none" style="" /><br />
もうソースコードは省略するけど、こういうのも出せる。
</p>
<p>
<img alt="morebutton2.png" src="http://blog.mogya.com/2011/09/06/morebutton2.png" width="396" height="146" class="mt-image-none" style="" />
</p>
<p>
WEBの世界では、エンドユーザーが持っているフォントにその文字がある保証がなかったり、フォントによってどんな文字が出るか予想ができないということで、こういう文字を使うのはご法度ということになっていた。<br />
iPhoneアプリをTitaniumMobileで作るのであれば、クライアントのフォントは常に同じだから、かなりの数の記号を使うことができる。<br />
残念ながらtoolbarにはフォントを指定できないみたいなので、toolbarに出せる文字はヒラギノで出せる範囲に限られるみたいだけど、labelとか普通のボタンだったら、font指定することで、もっと変な記号も出せるかもしれない。<br />
</p>
<p>
文字と文字コードの関係を調べるには、下記サイトか、Mac標準の「文字ビューア」を見ればOK.
</p>
<ul>
<li><a href='http://wakabamac.blog95.fc2.com/blog-entry-261.html' target='_blank'>わかばマークのMacの備忘録 : Macで使うHTMLでの特殊文字 </a></li>
<li><a href='http://docs.info.apple.com/article.html?path=Mac/10.6/jp/8164.html' target='_blank'>Mac OS X 10.6 Help: 特殊文字と記号を入力する</a></li>
</ul>
<p>
Androidは試してないのだけれど、原理的には同じようなことができるはず。<br />
でもAndroidの場合、インストールされているフォントが保証されないから、機種によってボタンが見えなくなったりするリスクがあるかも。
</p>

<p>
テストアプリのソースコードは下記。もちろん、画像ファイルなんて不要です:-)<br />
</p>
<script src="https://gist.github.com/1194823.js"> </script>]]>
        
    </content>
</entry>

<entry>
    <title>松山秀太郎　ペーパーモデル展が超かっこよかった</title>
    <link rel="alternate" type="text/html" href="http://blog.mogya.com/2011/09/syutaro-papermodel.html" />
    <id>tag:blog.mogya.com,2011://1.1249</id>

    <published>2011-09-05T03:03:06Z</published>
    <updated>2011-09-09T00:40:23Z</updated>

    <summary> 松山秀太郎　ペーパーモデル展を見に行ってきました。  松山秀太郎　ペーパーモデ...</summary>
    <author>
        <name>もぎゃ</name>
        <uri>http://blog.mogya.com/</uri>
    </author>
    
        <category term="行った所" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://blog.mogya.com/">
        <![CDATA[<p>
<img alt="IMG_1612.JPG" src="http://blog.mogya.com/2011/09/09/IMG_1612.JPG" width="640" height="480" class="mt-image-none" style="" /><br />
松山秀太郎　ペーパーモデル展を見に行ってきました。
</p>
<blockquote>
 <a href='http://d.hatena.ne.jp/photosgo/20110827/1314443585' target='_blank'>松山秀太郎　ペーパーモデル展</a><br />
(残念ながら公式サイトがないのですが、上記は知り合いの方のブログで、松山君がどういう人なのか、大変わかりやすく説明されています。)
</blockquote>

<p>
まだ声変わりもしていない12歳の男の子なのですが、写真を見ただけで展開図を起こして上のようなペーパーモデルを作ることが出来ます。
</p><p>
<img alt="IMG_1622.JPG" src="http://blog.mogya.com/2011/09/09/IMG_1622.JPG" width="640" height="480" class="mt-image-none" style="" /><br />
この電車が超かっこいい！
</p><p>
<img alt="IMG_1626.JPG" src="http://blog.mogya.com/2011/09/09/IMG_1626.JPG" width="640" height="480" class="mt-image-none" style="" /><br />
「神は細部に宿る」という言葉を思い出してしまいました。
</p><p>
<img alt="IMG_1615.JPG" src="http://blog.mogya.com/2011/09/09/IMG_1615.JPG" width="480" height="640" class="mt-image-none" style="" /><br />
新聞紙トレイン。影がいい感じに写ってますが、撮った人じゃなくて元の作品がいいからですｗ
</p><p>
<img alt="IMG_1608.JPG" src="http://blog.mogya.com/2011/09/09/IMG_1608.JPG" width="640" height="480" class="mt-image-none" style="" /><br />
展開図。精緻な図面なのに文字は小学生相応なのが萌えポイントです。
</p><p>
<img alt="IMG_1617.JPG" src="http://blog.mogya.com/2011/09/09/IMG_1617.JPG" width="480" height="640" class="mt-image-none" style="" /><br />
机を見ると、定規だけじゃなく、デジタルノギスまでありました。
</p><p>
残念ながらそんなに大きな個展じゃないので、今回見られるチャンスはあと一回。9月11日、13:00~18:00、天神橋3丁目のR+Sギャラリーというところで見ることが出来ます。入場無料。もし良かったらどうぞ。
</p>
↓この建物の２Fがギャラリーになっています。
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/maps?f=q&amp;source=embed&amp;hl=ja&amp;geocode=&amp;q=%E5%A4%A7%E9%98%AA%E5%BA%9C%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E5%A4%A9%E7%A5%9E%E6%A9%8B%EF%BC%93%E4%B8%81%E7%9B%AE%EF%BC%97%E2%88%92%EF%BC%93%EF%BC%91&amp;aq=0&amp;sll=34.700616,135.51183&amp;sspn=0.001907,0.003484&amp;vpsrc=6&amp;brcurrent=3,0x6000e6c465f7c62d:0xadf12f511e6a3ac6,0&amp;ie=UTF8&amp;hq=&amp;hnear=%E5%A4%A7%E9%98%AA%E5%BA%9C%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E5%A4%A9%E7%A5%9E%E6%A9%8B%EF%BC%93%E4%B8%81%E7%9B%AE%EF%BC%97%E2%88%92%EF%BC%93%EF%BC%91&amp;ll=34.70074,135.511417&amp;spn=0.001729,0.006968&amp;t=m&amp;z=14&amp;layer=c&amp;cbll=34.700609,135.511314&amp;panoid=jmJjKlPe0QCkHUzmfEPYmg&amp;cbp=11,28.71,,0,-5.75&amp;output=svembed"></iframe><br /><small><a href="http://maps.google.co.jp/maps?f=q&amp;source=embed&amp;hl=ja&amp;geocode=&amp;q=%E5%A4%A7%E9%98%AA%E5%BA%9C%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E5%A4%A9%E7%A5%9E%E6%A9%8B%EF%BC%93%E4%B8%81%E7%9B%AE%EF%BC%97%E2%88%92%EF%BC%93%EF%BC%91&amp;aq=0&amp;sll=34.700616,135.51183&amp;sspn=0.001907,0.003484&amp;vpsrc=6&amp;brcurrent=3,0x6000e6c465f7c62d:0xadf12f511e6a3ac6,0&amp;ie=UTF8&amp;hq=&amp;hnear=%E5%A4%A7%E9%98%AA%E5%BA%9C%E5%A4%A7%E9%98%AA%E5%B8%82%E5%8C%97%E5%8C%BA%E5%A4%A9%E7%A5%9E%E6%A9%8B%EF%BC%93%E4%B8%81%E7%9B%AE%EF%BC%97%E2%88%92%EF%BC%93%EF%BC%91&amp;ll=34.70074,135.511417&amp;spn=0.001729,0.006968&amp;t=m&amp;z=14&amp;layer=c&amp;cbll=34.700609,135.511314&amp;panoid=jmJjKlPe0QCkHUzmfEPYmg&amp;cbp=11,28.71,,0,-5.75" style="color:#0000FF;text-align:left">大きな地図で見る</a></small>
]]>
        
    </content>
</entry>

</feed>

