<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>When the rain falls silver &#187; プログラミング</title>
	<atom:link href="http://www.fortunerinn.org/blog/tag/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fortunerinn.org/blog</link>
	<description></description>
	<lastBuildDate>Tue, 22 May 2012 13:22:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/tag/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/feed" />
		<item>
		<title>AndroidのPermission状況</title>
		<link>http://www.fortunerinn.org/blog/2012/05/5659</link>
		<comments>http://www.fortunerinn.org/blog/2012/05/5659#comments</comments>
		<pubDate>Sun, 13 May 2012 14:04:27 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[TIPS]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=5659</guid>
		<description><![CDATA[Android APIを追い掛けていて困るのは、どのAPIでどのPermissionが必要かわかりにくいことだ。マニュアルに明記してあることもあるが、大体は「エラーが出たらManifestに」といった場当たり的な対処が推奨されてしまっている。 STOWAWAYには、Android 2.2のPermissoon Mapがある[1]。これは、どのAPIを呼び出せばどのパーミッションが必要かわかるマップだが、いかんせん情報量が多くてわかりにくい。また、基本は同じとはいえAPI levelにより多少変化もしている。 そこで、整理のために論文&#8221;Android Permissions Demystified&#8221;(PDF)を元にして、おおまかな区別を抜き出してメモとする。 まず最初に触れておきたいのは、結局統一したPermissionのポリシーなど無い、ということだ。以下に説明するようにあちこちで権限が持ちだされ、チェックされ、あるいは無視されている。中には無駄にチェックするAPIもあるらしい。よって、現状のAPI Levelでは食い違っている箇所がでることを前提とする。 最初に、Permissionは3種類の脅威レベルに分けられる。 Normal Permission: 壁紙の変更など、APIへのアクセスを制限するもの。 Dangerous Permission: SMS送信など、API呼び出しにより潜在的に危険をもたらすもの。 Signature/System Permission: 署名されたアプリケーションでだけ使えるもの。バックアップやアプリケーションのインストールなど、特に危険なもの。 (他、各アプリケーションが独自に定めるPermission) Android API frameworkの構造は「APIライブラリ」「システムプロセス中のAPI実装」の二つのパートに分割できる。「APIライブラリ」は各アプリケーションの仮想マシンで動作するもの。当然、アプリケーションと同様の制限を受ける。それに対し「システムプロセス中のAPI実装」に制限はない。ライブラリが構文糖としてユーザからのリクエストを代理で受け、裏でシステム側で実行する、といった感じになる。 APIの呼び出しは三ステップで行われる。まず、アプリケーションはライブラリのAPIをinvokeする。次に、ライブラリはライブラリ中のprivate interfaceをinvokeする。このprivate interfaceはRPC stubになっていて、最後にRPCリクエストがシステムプロセスとして、システムサービスに誰が処理してくれるか尋ねる。この仕組みはJavaのreflectionが使われている。 例えば、ClipboardManager.getText()は、IClipboard$Stub$Proxyに引き渡され、システムのClipboardServiceが呼ばれる。 さて、肝心のPermissionのチェックだが、統一ポリシーなどは存在せず、実に色々な箇所で行われる。システムプロセス中のAPI実装でチェックするものもあれば、ライブラリ中で随時チェックするものもある。極一部の権限(INTERNET, WRITE_EXTERNAL_STORAGE, BLUETOOTHなど)は、Unix groupで制御されている。この場合、API側は何もチェックせず、ただinvokeするだけである。 Android NDKで開発できるNative Codeでは、直接にはシステムのPermissionを制御できない。、ソケットやファイルにアクセスする場合、Java wrapperを用意して行うことになる。 Content Providerは、単独のアプリケーションとしてインストールされて他のシステムプロセスやAPIライブラリからは切り離され、抱える情報の保護のために静的/動的なPermissionチェックを行う。アクセス先は、read/writeといった定義と、&#8221;content://a/b&#8221;のようなpathにより指定される[2]。 Intentは、全てシステムサービスのActibityManagerServiceを通じて送信される。二つのテクニックによりIntentの送信は制限されている。一つは、Permissionを持っているアプリケーションにだけ送信する仕組みである。もう一つは、システムのIntentはUIDがマッチするプロセスにしか送信しない仕組みである。受信の場合もだいたいはPermissionが必要であり、OSが送信するIntentの受取先を制限している。 (論文では、この後もテストコードを暮ろうとしたらAndroid側が色々アレで大変でしたという話や、APIの分析結果が続きますが、省略。) 一応、本命はapkをアップロードして余分な権限を宣言していないか解析を行えるStowawayの方、のはず。余談だが、BlackHatなどで発表されたMercuryという「うっかりContent ProviderやServiceに権限をつけ忘れて、publicになっていないか」というチェックを行うためのツールが存在し、最新のAndroguardと組み合わせて使うこともできるらしい(AREには未収録)。]]></description>
			<content:encoded><![CDATA[				<p>Android APIを追い掛けていて困るのは、どのAPIでどのPermissionが必要かわかりにくいことだ。マニュアルに明記してあることもあるが、大体は「エラーが出たらManifestに」といった場当たり的な対処が推奨されてしまっている。</p>
				<p><a href="http://www.android-permissions.org/">STOWAWAY</a>には、Android 2.2のPermissoon Mapがある<sup>[<a href="http://www.fortunerinn.org/blog/2012/05/5659#footnote_0_5659" id="identifier_0_5659" class="footnote-link footnote-identifier-link" title="一応、本命はapkをアップロードして余分な権限を宣言していないか解析を行えるStowawayの方、のはず。">1</a>]</sup>。これは、どのAPIを呼び出せばどのパーミッションが必要かわかるマップだが、いかんせん情報量が多くてわかりにくい。また、基本は同じとはいえAPI levelにより多少変化もしている。</p>
				<p>そこで、整理のために論文&#8221;Android Permissions Demystified&#8221;(<a href="http://www.cs.berkeley.edu/~afelt/android_permissions.pdf">PDF</a>)を元にして、おおまかな区別を抜き出してメモとする。</p>
				<p>まず最初に触れておきたいのは、結局統一したPermissionのポリシーなど無い、ということだ。以下に説明するようにあちこちで権限が持ちだされ、チェックされ、あるいは無視されている。中には無駄にチェックするAPIもあるらしい。よって、現状のAPI Levelでは食い違っている箇所がでることを前提とする。</p>
				<p>最初に、Permissionは3種類の脅威レベルに分けられる。</p>
				<ol>
				<li>Normal Permission: 壁紙の変更など、APIへのアクセスを制限するもの。</li>
				<li>Dangerous Permission: SMS送信など、API呼び出しにより潜在的に危険をもたらすもの。</li>
				<li>Signature/System Permission: 署名されたアプリケーションでだけ使えるもの。バックアップやアプリケーションのインストールなど、特に危険なもの。</li>
				<li>(他、各アプリケーションが独自に定めるPermission)</li>
				</ol>
				<p>Android API frameworkの構造は「APIライブラリ」「システムプロセス中のAPI実装」の二つのパートに分割できる。「APIライブラリ」は各アプリケーションの仮想マシンで動作するもの。当然、アプリケーションと同様の制限を受ける。それに対し「システムプロセス中のAPI実装」に制限はない。ライブラリが構文糖としてユーザからのリクエストを代理で受け、裏でシステム側で実行する、といった感じになる。</p>
				<p>APIの呼び出しは三ステップで行われる。まず、アプリケーションはライブラリのAPIをinvokeする。次に、ライブラリはライブラリ中のprivate interfaceをinvokeする。このprivate interfaceはRPC stubになっていて、最後にRPCリクエストがシステムプロセスとして、システムサービスに誰が処理してくれるか尋ねる。この仕組みはJavaのreflectionが使われている。</p>
				<p>例えば、ClipboardManager.getText()は、IClipboard$Stub$Proxyに引き渡され、システムのClipboardServiceが呼ばれる。</p>
				<p>さて、肝心のPermissionのチェックだが、統一ポリシーなどは存在せず、実に色々な箇所で行われる。システムプロセス中のAPI実装でチェックするものもあれば、ライブラリ中で随時チェックするものもある。極一部の権限(INTERNET, WRITE_EXTERNAL_STORAGE, BLUETOOTHなど)は、Unix groupで制御されている。この場合、API側は何もチェックせず、ただinvokeするだけである。</p>
				<p>Android NDKで開発できるNative Codeでは、直接にはシステムのPermissionを制御できない。、ソケットやファイルにアクセスする場合、Java wrapperを用意して行うことになる。</p>
				<p>Content Providerは、単独のアプリケーションとしてインストールされて他のシステムプロセスやAPIライブラリからは切り離され、抱える情報の保護のために静的/動的なPermissionチェックを行う。アクセス先は、read/writeといった定義と、&#8221;content://a/b&#8221;のようなpathにより指定される<sup>[<a href="http://www.fortunerinn.org/blog/2012/05/5659#footnote_1_5659" id="identifier_1_5659" class="footnote-link footnote-identifier-link" title="余談だが、BlackHatなどで発表されたMercuryという「うっかりContent ProviderやServiceに権限をつけ忘れて、publicになっていないか」というチェックを行うためのツールが存在し、最新のAndroguardと組み合わせて使うこともできるらしい(AREには未収録)。 ">2</a>]</sup>。</p>
				<p>Intentは、全てシステムサービスのActibityManagerServiceを通じて送信される。二つのテクニックによりIntentの送信は制限されている。一つは、Permissionを持っているアプリケーションにだけ送信する仕組みである。もう一つは、システムのIntentはUIDがマッチするプロセスにしか送信しない仕組みである。受信の場合もだいたいはPermissionが必要であり、OSが送信するIntentの受取先を制限している。</p>
				<p>(論文では、この後もテストコードを暮ろうとしたらAndroid側が色々アレで大変でしたという話や、APIの分析結果が続きますが、省略。)</p>
				<ol class="footnotes"><li id="footnote_0_5659" class="footnote">一応、本命はapkをアップロードして余分な権限を宣言していないか解析を行えるStowawayの方、のはず。</li><li id="footnote_1_5659" class="footnote">余談だが、BlackHatなどで発表された<a href="http://labs.mwrinfosecurity.com/tools/2012/03/16/mercury/">Mercury</a>という「うっかりContent ProviderやServiceに権限をつけ忘れて、publicになっていないか」というチェックを行うためのツールが存在し、<a href="http://androguard.blogspot.jp/2012/03/androguard-mercury.html">最新のAndroguardと組み合わせて使う</a>こともできるらしい(AREには未収録)。 </li></ol>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2012/05/5659/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2012/05/5659" />
	</item>
		<item>
		<title>Android with Eclipse</title>
		<link>http://www.fortunerinn.org/blog/2012/04/5614</link>
		<comments>http://www.fortunerinn.org/blog/2012/04/5614#comments</comments>
		<pubDate>Sun, 29 Apr 2012 03:43:11 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=5614</guid>
		<description><![CDATA[Eclipse.appに日本語(pleiades)を導入しようとしたが、何かうまくいかない。原因は一部ファイルを、plugins/pluginsという中に展開してしまっていたことだったので、ファイルを移動して無事起動。eclipse.iniがパッケージの中にあるので、地味にやりなおすのが面倒だった。 軽く動作をなぞって、大体どのディレクトリに何が入っているのか、勘所をつかんでおく。 Manifest.xmlにPermissionだけで4種類ほどあるのだが、User以外の3つはどう違うのだろう。どこかに書いてあるのだろうが、調べるのが大変そうだ。]]></description>
			<content:encoded><![CDATA[				<p>Eclipse.appに日本語(pleiades)を導入しようとしたが、何かうまくいかない。原因は一部ファイルを、plugins/pluginsという中に展開してしまっていたことだったので、ファイルを移動して無事起動。eclipse.iniがパッケージの中にあるので、地味にやりなおすのが面倒だった。</p>
				<p>軽く動作をなぞって、大体どのディレクトリに何が入っているのか、勘所をつかんでおく。</p>
				<p>Manifest.xmlにPermissionだけで4種類ほどあるのだが、User以外の3つはどう違うのだろう。どこかに書いてあるのだろうが、調べるのが大変そうだ。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2012/04/5614/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2012/04/5614" />
	</item>
		<item>
		<title>アレがいいんです</title>
		<link>http://www.fortunerinn.org/blog/2012/04/5590</link>
		<comments>http://www.fortunerinn.org/blog/2012/04/5590#comments</comments>
		<pubDate>Mon, 23 Apr 2012 14:06:21 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=5590</guid>
		<description><![CDATA[アレといっても代名詞ではなく、ARE (Virtual Machine for Android Reverse Engineering) というきちんとしたツール名。 有名所のツールが色々と詰め合わせになっていて、Android のapkファイルの基本的な解析がだいたいできるようになっている。Qtライブラリを利用して色々と環境を作るのが面倒な APKInspector まで入っているのは嬉しい。 というか、APKInspectorを使おうとVMをいじっていた最中に見つけたのでちょっとだけ涙目。まあ、そういうものですよね。 詰め合わせの中身はこんな感じ。 Androguard Android sdk/ndk APKInspector Apktool Axmlprinter Ded Dex2jar DroidBox Jad Smali/Baksmali 他にも、reverse-androidとか、Mercuryとか、使うと面白そうなものは多いので、まだまだ探しがいがありそうだ。]]></description>
			<content:encoded><![CDATA[				<p>アレといっても代名詞ではなく、<a href="http://redmine.honeynet.org/projects/are/wiki">ARE</a> (Virtual Machine for Android Reverse Engineering) というきちんとしたツール名。</p>
				<p>有名所のツールが色々と詰め合わせになっていて、Android のapkファイルの基本的な解析がだいたいできるようになっている。Qtライブラリを利用して色々と環境を作るのが面倒な APKInspector まで入っているのは嬉しい。</p>
				<p>というか、APKInspectorを使おうとVMをいじっていた最中に見つけたのでちょっとだけ涙目。まあ、そういうものですよね。</p>
				<p>詰め合わせの中身はこんな感じ。</p>
				<ul>
				<li><a href="http://code.google.com/p/androguard/">Androguard</a></li>
				<li><a href="http://developer.android.com/">Android</a> sdk/ndk</li>
				<li><a href="http://code.google.com/p/apkinspector/">APKInspector</a></li>
				<li><a href="http://code.google.com/p/android-apktool/">Apktool</a></li>
				<li><a href="http://code.google.com/p/android4me/">Axmlprinter</a></li>
				<li><a href="http://siis.cse.psu.edu/ded/">Ded</a></li>
				<li><a href="http://code.google.com/p/dex2jar/">Dex2jar</a></li>
				<li><a href="http://code.google.com/p/droidbox/">DroidBox</a></li>
				<li><a href="http://www.varaneckas.com/jad">Jad</a></li>
				<li><a href="http://code.google.com/p/smali/">Smali/Baksmali</a></li>
				</ul>
				<p>他にも、<a href="https://github.com/nelhage/reverse-android">reverse-android</a>とか、<a href="http://labs.mwrinfosecurity.com/tools/2012/03/16/mercury/">Mercury</a>とか、使うと面白そうなものは多いので、まだまだ探しがいがありそうだ。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2012/04/5590/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2012/04/5590" />
	</item>
		<item>
		<title>オブジェクト指向でイベント駆動型のソース追いは面倒だ</title>
		<link>http://www.fortunerinn.org/blog/2012/04/5583</link>
		<comments>http://www.fortunerinn.org/blog/2012/04/5583#comments</comments>
		<pubDate>Fri, 20 Apr 2012 10:15:48 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=5583</guid>
		<description><![CDATA[ソースコードを読むのはそんなに苦にしていないのだけれど、最近のウェブ系はイベントで発火してオブジェクトにより多態化した処理というのが多く、動作から追うことはできても、このメソッドどこからの経路で使われているの? というのが非常に追いにくい。 静的中心に見ている段階なので、実際に動かして動的に解析してやればいいのだろう。言語ごとにcaller/calleeを追うツールが違うので、いまいち使いにくそうなのが懸念点。グラフ書いてソースコードとの対応が取れる程度で良いのだけれど、個人利用の範疇ではあまり無さそう。 まあ、ネタが色々とアレなので通信主体であまり実地に動かしたくないわけで。パーサだけ他のから借りてきて、レイヤつけて自分で解析ツールでもつくるしかないのかねえ…って特殊すぎるしコード量がちょっと多すぎそうだ。 と、そんな趣味(?)に最近手をそめています。]]></description>
			<content:encoded><![CDATA[				<p>ソースコードを読むのはそんなに苦にしていないのだけれど、最近のウェブ系はイベントで発火してオブジェクトにより多態化した処理というのが多く、動作から追うことはできても、このメソッドどこからの経路で使われているの? というのが非常に追いにくい。</p>
				<p>静的中心に見ている段階なので、実際に動かして動的に解析してやればいいのだろう。言語ごとにcaller/calleeを追うツールが違うので、いまいち使いにくそうなのが懸念点。グラフ書いてソースコードとの対応が取れる程度で良いのだけれど、個人利用の範疇ではあまり無さそう。</p>
				<p>まあ、ネタが色々とアレなので通信主体であまり実地に動かしたくないわけで。パーサだけ他のから借りてきて、レイヤつけて自分で解析ツールでもつくるしかないのかねえ…って特殊すぎるしコード量がちょっと多すぎそうだ。</p>
				<p>と、そんな趣味(?)に最近手をそめています。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2012/04/5583/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2012/04/5583" />
	</item>
		<item>
		<title>意図的に手を出さないのは難しい</title>
		<link>http://www.fortunerinn.org/blog/2011/07/4763</link>
		<comments>http://www.fortunerinn.org/blog/2011/07/4763#comments</comments>
		<pubDate>Fri, 29 Jul 2011 13:36:50 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=4763</guid>
		<description><![CDATA[最近、設計レビューなどをする機会があるのだが、勘所をわかってもらうのが中々に難しい。 高次設計なのに、やけに具体的に書きすぎてしまったり、酷いといきなりchar*などが飛び出して実装を意識しすぎたり。とにかく目的を飛ばして手順だけ書く感じ。「何故その処理なのか」が無い。 そりゃあ実装寸前まで考えてからやれる規模ですし、私もそうしてますけれども、ソフトウェア工学的にはあくまで高次なわけで…。実装フリーな抽象化した記述というのが、難しい所なのだろう。 自分で手を出せる規模ではないので、レビューに徹するしかないのが良いのか悪いのか。こんな所で趣味や大学での余分な履修が役にたっています。余技程度とはいえ、好みのままにあれやこれやに手を出しておいて本当によかった。]]></description>
			<content:encoded><![CDATA[				<p>最近、設計レビューなどをする機会があるのだが、勘所をわかってもらうのが中々に難しい。</p>
				<p>高次設計なのに、やけに具体的に書きすぎてしまったり、酷いといきなりchar*などが飛び出して実装を意識しすぎたり。とにかく目的を飛ばして手順だけ書く感じ。「何故その処理なのか」が無い。</p>
				<p>そりゃあ実装寸前まで考えてからやれる規模ですし、私もそうしてますけれども、ソフトウェア工学的にはあくまで高次なわけで…。実装フリーな抽象化した記述というのが、難しい所なのだろう。</p>
				<p>自分で手を出せる規模ではないので、レビューに徹するしかないのが良いのか悪いのか。こんな所で趣味や大学での余分な履修が役にたっています。余技程度とはいえ、好みのままにあれやこれやに手を出しておいて本当によかった。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2011/07/4763/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2011/07/4763" />
	</item>
		<item>
		<title>プログラミング言語 Ruby が JIS 規格に</title>
		<link>http://www.fortunerinn.org/blog/2011/03/4327</link>
		<comments>http://www.fortunerinn.org/blog/2011/03/4327#comments</comments>
		<pubDate>Tue, 22 Mar 2011 00:42:31 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=4327</guid>
		<description><![CDATA[プログラム言語RubyのJIS規格（JIS X 3017）制定について RubySpecとのからみはどうなっているのだろう。]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.ipa.go.jp/about/press/20110322.html">プログラム言語RubyのJIS規格（JIS X 3017）制定について</a></p>
				<p>RubySpecとのからみはどうなっているのだろう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2011/03/4327/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2011/03/4327" />
	</item>
		<item>
		<title>ZenCoding</title>
		<link>http://www.fortunerinn.org/blog/2010/10/3741</link>
		<comments>http://www.fortunerinn.org/blog/2010/10/3741#comments</comments>
		<pubDate>Mon, 18 Oct 2010 04:16:45 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3741</guid>
		<description><![CDATA[EmacsWiki: Zen Codingから、Carbon EmacsにZenCodingを導入してみる。 簡単に言えばHTMLをとことん省略記法で書こうというもの。ただし、難点として少なくともEmacs版(非公式)は行単位なので、inlineで書くのには役に立たない。 色々なエディタに組込めるようなので、マークアップ効率化 &#8211; zen-codingでコーディングを倍速にあたりを見るとわかりやすいかも。]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.emacswiki.org/emacs/ZenCoding">EmacsWiki: Zen Coding</a>から、Carbon EmacsにZenCodingを導入してみる。</p>
				<p>簡単に言えばHTMLをとことん省略記法で書こうというもの。ただし、難点として少なくともEmacs版(非公式)は行単位なので、inlineで書くのには役に立たない。</p>
				<p>色々なエディタに組込めるようなので、<a href="http://techblog.yahoo.co.jp/cat207/web_1/_zencoding/">マークアップ効率化 &#8211; zen-codingでコーディングを倍速に</a>あたりを見るとわかりやすいかも。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/10/3741/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/10/3741" />
	</item>
		<item>
		<title>Hadoopに興味はあるんだけど</title>
		<link>http://www.fortunerinn.org/blog/2010/09/3649</link>
		<comments>http://www.fortunerinn.org/blog/2010/09/3649#comments</comments>
		<pubDate>Sun, 19 Sep 2010 10:37:07 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3649</guid>
		<description><![CDATA[オープンソースカンファレンスのHadoop講演資料を紹介します (Yahoo! JAPAN Tech Blog) 上司がいじっているのを見て、気になっている技術の一つ。基本的な仕組みはMap/Reduceということで理解はできるのだが、いざ実際に使おうとするとどういうパターンで使えばいいのかわからず、準備するのが面倒そうというのもあって手を出していない。 作っているとSQLならばこんな風[1]に、Key-Value系ならこんな風[2]に、というのはある程度見えたので、これも実例を試してみればいいのだろう。今一適当な題材が決まらないのが難点だ。 要するに即時性なし、大規模、分散可能なデータであればいいんだよな。攻撃パケットを適当に投げて、傾向分析でもすればいいのかしらん。…やっぱり使ってみないと勘所がよくわからなさそうだ。バッチで使ってもいいので、適当にブラウザゲームあたりをでっちあげて解析するのもありか。マッチメーカー系とか自分でもしてみたいし。 何にせよ、ある程度処理オーダーの壁を超えられるので、少しでも手を出しておきたい技術ではある。 …とりあえず、どれだけ資源を費せば最低限できそうなのかから調べてみるか。 SQLを通じてDB直や、ORマッピングを介したデータ操作。Core DataなどのCocoa風味。あるいは試していないがmemcached系?]]></description>
			<content:encoded><![CDATA[				<p><a href="http://techblog.yahoo.co.jp/cat206/post_29/">オープンソースカンファレンスのHadoop講演資料を紹介します (Yahoo! JAPAN Tech Blog)</a></p>
				<p>上司がいじっているのを見て、気になっている技術の一つ。基本的な仕組みはMap/Reduceということで理解はできるのだが、いざ実際に使おうとするとどういうパターンで使えばいいのかわからず、準備するのが面倒そうというのもあって手を出していない。</p>
				<p>作っているとSQLならばこんな風<sup>[<a href="http://www.fortunerinn.org/blog/2010/09/3649#footnote_0_3649" id="identifier_0_3649" class="footnote-link footnote-identifier-link" title="SQLを通じてDB直や、ORマッピングを介したデータ操作。">1</a>]</sup>に、Key-Value系ならこんな風<sup>[<a href="http://www.fortunerinn.org/blog/2010/09/3649#footnote_1_3649" id="identifier_1_3649" class="footnote-link footnote-identifier-link" title="Core DataなどのCocoa風味。あるいは試していないがmemcached系?">2</a>]</sup>に、というのはある程度見えたので、これも実例を試してみればいいのだろう。今一適当な題材が決まらないのが難点だ。</p>
				<p>要するに即時性なし、大規模、分散可能なデータであればいいんだよな。攻撃パケットを適当に投げて、傾向分析でもすればいいのかしらん。…やっぱり使ってみないと勘所がよくわからなさそうだ。バッチで使ってもいいので、適当にブラウザゲームあたりをでっちあげて解析するのもありか。マッチメーカー系とか自分でもしてみたいし。</p>
				<p>何にせよ、ある程度処理オーダーの壁を超えられるので、少しでも手を出しておきたい技術ではある。</p>
				<p>…とりあえず、どれだけ資源を費せば最低限できそうなのかから調べてみるか。</p>
				<ol class="footnotes"><li id="footnote_0_3649" class="footnote">SQLを通じてDB直や、ORマッピングを介したデータ操作。</li><li id="footnote_1_3649" class="footnote">Core DataなどのCocoa風味。あるいは試していないがmemcached系?</li></ol>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/09/3649/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/09/3649" />
	</item>
		<item>
		<title>Quartz Comporserで遊んでみる</title>
		<link>http://www.fortunerinn.org/blog/2010/07/3435</link>
		<comments>http://www.fortunerinn.org/blog/2010/07/3435#comments</comments>
		<pubDate>Mon, 12 Jul 2010 14:15:46 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3435</guid>
		<description><![CDATA[Macで５分でARアプリを作る方法(AR without programming in 5min)を見ていたら面白そうだったので、いじって遊んでみる。 簡単に言えばパッチを組みあわせて作るビジュアルプログラミング。 2Dでも3Dでも適当に貼りつけて動かせるし、なかなかに楽しい。並列操作が得意な分、シーケンス操作が難しそうだが、これはマクロでもつくれというものなのだろう。 わけのわからないパッチが山ほどあるので、もうちょっと触ってみるつもり。]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.monogocoro.jp/2010/05/25/ar-without-programming-in-5min.html">Macで５分でARアプリを作る方法(AR without programming in 5min)</a>を見ていたら面白そうだったので、いじって遊んでみる。</p>
				<p>簡単に言えばパッチを組みあわせて作るビジュアルプログラミング。</p>
				<p>2Dでも3Dでも適当に貼りつけて動かせるし、なかなかに楽しい。並列操作が得意な分、シーケンス操作が難しそうだが、これはマクロでもつくれというものなのだろう。</p>
				<p>わけのわからないパッチが山ほどあるので、もうちょっと触ってみるつもり。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/07/3435/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/07/3435" />
	</item>
		<item>
		<title>きょ、今日はこのへんにしといてやる</title>
		<link>http://www.fortunerinn.org/blog/2010/07/3414</link>
		<comments>http://www.fortunerinn.org/blog/2010/07/3414#comments</comments>
		<pubDate>Wed, 07 Jul 2010 01:18:00 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3414</guid>
		<description><![CDATA[調子が悪かったので、宴会に行かずさっさと帰宅。 Twitterの発言から、Mecabを試してみようとfinkでインストール。 試してみると、見事に文字化け。どうやら、標準だとEUC-JPで全部処理しているらしい。仕方がないので、本体と辞書をUTF8で作りなおしてインストール。すると、今度はrubyバインディングが動かなくなってしまった。どこか妙なライブラリをひろってしまったんだろうか。 面倒そうなので、一端ここまでで中断。なんというか、暑さで気力が続かない。]]></description>
			<content:encoded><![CDATA[				<p>調子が悪かったので、宴会に行かずさっさと帰宅。</p>
				<p>Twitterの発言から、Mecabを試してみようとfinkでインストール。</p>
				<p>試してみると、見事に文字化け。どうやら、標準だとEUC-JPで全部処理しているらしい。仕方がないので、本体と辞書をUTF8で作りなおしてインストール。すると、今度はrubyバインディングが動かなくなってしまった。どこか妙なライブラリをひろってしまったんだろうか。</p>
				<p>面倒そうなので、一端ここまでで中断。なんというか、暑さで気力が続かない。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/07/3414/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/07/3414" />
	</item>
	</channel>
</rss>

