<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>きんくまデザイン &#187; 1-blog</title>
	<atom:link href="http://www.kuma-de.com/category/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.kuma-de.com</link>
	<description>Flash / iOS/ JavaScript Development</description>
	<lastBuildDate>Mon, 30 Jan 2012 14:41:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[日記] Sublime Text 2 を買った</title>
		<link>http://www.kuma-de.com/blog/2012-01-30/3160</link>
		<comments>http://www.kuma-de.com/blog/2012-01-30/3160#comments</comments>
		<pubDate>Mon, 30 Jan 2012 14:41:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-日記]]></category>
		<category><![CDATA[Sublime Text 2]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3160</guid>
		<description><![CDATA[こんにちは。きんくまです。
Sublime Text 2を買いました。
この間TextMateも買ったばかりなのですが、気に入ったので。
Keith Petersさんのブログで知りました。
１週間ほど試してみてたところ、 [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。きんくまです。<br />
<a href="http://www.sublimetext.com/" target="_blank">Sublime Text 2</a>を買いました。<br />
この間TextMateも買ったばかりなのですが、気に入ったので。<br />
<a href="http://www.bit-101.com/blog/?p=3439" target="_blank">Keith Petersさんのブログ</a>で知りました。</p>
<p>１週間ほど試してみてたところ、気に入ったポイントは</p>
<p>1. 2バイトサポート<br />
2. 起動時間が速い<br />
3. Pythonで拡張機能をかける</p>
<p>ソースコードの中に日本語を入れることがあるので、1. は重要な点です。<br />
TextMateはここが弱かったので、普通に入出力ができるSublimeは良い点でした。</p>
<p>カスタマイズが好きな私にとって、3は魅力的な点です。<br />
でも、まだやり方がわからないので、時間ができたら調べてみようと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2012-01-30/3160/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JavaScript] json parser、node.jsなど</title>
		<link>http://www.kuma-de.com/blog/2012-01-20/3114</link>
		<comments>http://www.kuma-de.com/blog/2012-01-20/3114#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:15:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-JavaScript]]></category>
		<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-プログラミング]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[xml_parser]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3114</guid>
		<description><![CDATA[こんにちは。きんくまです。
JavaScriptをまた勉強しています。今回はだらだら日記です。
json_parser
この間本を買いました。
>> JavaScript: The Good Parts
そんで、この本の [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。きんくまです。</p>
<p>JavaScriptをまた勉強しています。今回はだらだら日記です。</p>
<h3>json_parser</h3>
<p>この間本を買いました。<br />
<a href="http://www.amazon.co.jp/dp/0596517742" target="_blank">>> JavaScript: The Good Parts</a></p>
<p>そんで、この本の巻末にjsonのパーサーが載っていました。<br />
調べてみたら、githubにあがってるやつでした。</p>
<p><a href="https://github.com/douglascrockford/JSON-js" target="_blank">>> douglascrockford / JSON-js</a></p>
<p>パーサーっていうのは、文字列を解析するものためのものです。<br />
そんで、興味があったので、どうやってやっているのか、調べてました。</p>
<p>本にのってたのは、この<a href="https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js" target="_blank">ページ</a>のやつでした。</p>
<p>これは、コードとしても短いので、みやすかったです。<br />
コードが長くなっちゃうと、今見ているのが何をしているのか、わからなくなっちゃうのだけど、これは、そんなことがなかったです。<br />
最後のところが何しているのかわからなかったけど、文字を1文字ずつ読み込んでいって、それが何を表すか評価をしていっていることがよくわかりました。<br />
コードみただけじゃわかんなかったので、console.logさしこんで確認していったのですけどね、、。<br />
前に、syntaxhighlighterみたいのって作ってみたいなーと思ったことがあったのだけど、どうやっていいのかわからなかったのですが、こうやって解析していけば、できそうな気がします。</p>
<h3>node.js</h3>
<p>前にCoffeeScriptを試したくて、入れたnode.jsでしたが、チュートリアルの動画をみていたら、nodeそのものに興味がわいてきました。</p>
<p>チュートリアルの動画<br />
<a href="http://nodetuts.com/" target="_blank">Homepage &#8211; Node Tuts &#8211; Node.js Free screencast tutorials</a></p>
<p>EPISODE 8ぐらいまでみたところ。<br />
スクリーンキャプチャしながらコメントしているので、タイプミスやコードエラーもよくあるのだけれど、それをすぐに直してるところが、なんかリアルっていうか。楽しい感じです。</p>
<p>TextMateを使っているようなので、私も真似して体験版を使ってみました。<br />
そしたら、なんかよさそうだったので、購入しました。<br />
Aptanaの方が高機能なのだけど、TextMateは軽いのでよし。<br />
前のバージョンでは2バイトがうまく表示できなかったみたいだけど、TextMate2が出ていて、そっちはうまく表示できているので、よし。<br />
でも、表示はよいのだけど、日本語入力がうまくいかないのです。Ctrl+mでないと確定できないので、これで長文はかけないという、、。<br />
バグというかそのことを開発元に伝えたいのだけど、どこに書けば良いのだろう？</p>
<p><a href="http://www.inazumatv.com/contents/archives/6484" target="_blank">>> TextMate 2 がやってきた | イナヅマtvログ</a></p>
<p>それで、node.jsのチュートリアルページも一通りやってみました。</p>
<p>チュートリアルのページ<br />
<a href="http://www.nodebeginner.org/" target="_blank">The Node Beginner Book</a></p>
<p>チュートリアルのページをやると、どうやって他のjsを読み込んだりするかっていう基本的なことがわかります。</p>
<p>node.jsの何に興味をひかれたかというと、サーバーが簡単に作れるというところです。<br />
httpサーバー、socketサーバー、websocketサーバー。<br />
socketサーバーができるということは、flashとも簡単に通信ができるんです。<br />
websocketのサーバーをたてれば、jsともソケット通信ができるという。</p>
<p>そんで、websocketについて調べてました。<br />
まだ仕様は確定していないので、各ブラウザによって使っている仕様のバージョンが違います。</p>
<p>このページがよくわかりやすいです。<br />
<a href="http://gihyo.jp/dev/feature/01/websocket" target="_blank">>> Jettyで始めるWebSocket超入門</a></p>
<p>仕様書をもとに、自分でサーバー側を書いてみようと思いました。（クライアント側のJavaScriptはわりと簡単。ブラウザが難しいところやってくれるからね！ ）</p>
<p>現在のChrome（16.0.912.75）の仕様書はこれ（iOSのsafariはまた違うバージョンで互換性なし！）<br />
<a href="http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-13" target="_blank">The WebSocket protocol  draft-ietf-hybi-thewebsocketprotocol-13</a></p>
<p>仕様書にはプロトコルが書かれています。<br />
プロトコルっていうのは、通信の手順のとりきめですね。<br />
電話のかけかただったら、受話器をとってから番号を押すみたいな、そういう手順です。</p>
<p>Websocketのこれには２つの段階があります。<br />
1. ハンドシェイク（握手。接続を確立するまで）<br />
2. 実際のデータの送受信（フレームと言われる単位で行う）</p>
<p>そんで、<a href="http://en.wikipedia.org/wiki/WebSocket" target="_blank">wiki</a>見ながらハンドシェイクまでは自力で実装できたのだけど、データの送受信がどうやってやるのかわからず。<br />
チュートリアル動画にもあった<a href="http://socket.io/" target="_blank">Socket.io</a>のソースコードを見てみることに。</p>
<p>最初は何をやっているのかわからなかったのですが、ビット演算をしているらしい。<br />
<a href="http://www.ajaxtower.jp/js/ope/index8.html" target="_blank">ビット演算子</a></p>
<p>フレーム構造はこうやって書かれています。</p>
<p><a href="http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-13#section-5.2" target="_blank">>>http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-13#section-5.2</a></p>
<pre>
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-------+-+-------------+-------------------------------+
     |F|R|R|R| opcode|M| Payload len |    Extended payload length    |
     |I|S|S|S|  (4)  |A|     (7)     |             (16/63)           |
     |N|V|V|V|       |S|             |   (if payload len==126/127)   |
     | |1|2|3|       |K|             |                               |
     +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
     |     Extended payload length continued, if payload len == 127  |
     + - - - - - - - - - - - - - - - +-------------------------------+
     |                               |Masking-key, if MASK set to 1  |
     +-------------------------------+-------------------------------+
     | Masking-key (continued)       |          Payload Data         |
     +-------------------------------- - - - - - - - - - - - - - - - +
     :                     Payload Data continued ...                :
     + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
     |                     Payload Data continued ...                |
     +---------------------------------------------------------------+
</pre>
<p>node.jsのBufferクラスの最小単位は8bit（Octetというらしい）なので、ビット単位のデータを検証したり、埋め込んだりするには、ビット演算が必要になるんですね。<br />
それがわかってしまえば、結構楽しいです。</p>
<p>例えばopcodeという、これからくるデータが何を表すのかがあります。<br />
それを抜き出すには、下位4ビットが必要なので、</p>
<pre>
opcode = buffer[0] &#038; 0xf
</pre>
<p>としてあげるとよいです。</p>
<p>データがマスクされているかを示すMASKを取り出すには、</p>
<pre>
masked = buffer[1] &#038; 0x80
</pre>
<p>となります。ビット演算やってたら「おお、俺いまプログラマっぽいことしてる！」という、俺イメージの中のプログラマの像に重なってうれしくなりました。</p>
<p>Chromeとはなんとか通信できるようになったのですが、iOSとつなぐのはまた調べないといけないことが多いので、素直にSocket.io使おうかどうか迷うところ。使った方が断然簡単なのだけど、構造を勉強しながら作ると大変な分、得るものが多いので悩みどころですね。</p>
<p>それで、話かわりまして、宣伝といいますか、<br />
今度<a href="http://f-site.org/articles/2011/11/10130448.html" target="_blank">f-siteでしゃべる機会を得ました</a>ので、この辺をからめて発表してみようと思っています。<br />
お題はjsflなのですけど、無理矢理からめちゃえと。ちなみにdemo2です。</p>
<p>あと、またまた全然話し変わって。<br />
flashとhtml5って比較が出てくるのですけど、最近思うのは、flashというよりはAIRとhtml5って言う方がしっくりくるんじゃないかということです。<br />
描画の速度はもちろんflashの方が上だったり、音声・動画関係のバツグンの安定感もflashが上なのですが、ファイルの保存とか今回のソケットだとか、DBとか含めて考えると、flashっていうより、AIRかと。</p>
<p>あと、いくつかJSのライブラリを見ていると、実は裏で代替機能としてflash使っているものって結構あるのですよね。Socket.ioもそうなんですよ。</p>
<p>自分は別にflashでもhtml5でもどっちの肩をもつつもりもないのですけど、ブラウザネイティブに機能が追加されてきているのは、面白い動きだと思います。<br />
ただ、クロスブラウザを考えると実案件は当分先になるでしょうね。<br />
でもでもiOSやandroidにしぼった形ならかなり近そうです。</p>
<p>今はnodeとJavaScriptそのものをもう少しやってみたいので、しばらく続けたいなと思ってます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2012-01-20/3114/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[ターミナル] コマンドメモ</title>
		<link>http://www.kuma-de.com/blog/2012-01-03/3097</link>
		<comments>http://www.kuma-de.com/blog/2012-01-03/3097#comments</comments>
		<pubDate>Tue, 03 Jan 2012 07:50:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-日記]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3097</guid>
		<description><![CDATA[ターミナルのコマンドメモです。
自分に必要そうなところだけ。
自分の性格的に、ストイックに「emacsだけ」とか、「ターミナルだけ」とかできないので、
その時の便利具合に応じて使い分けてる。


cal
カレンダー
ca [...]]]></description>
			<content:encoded><![CDATA[<p>ターミナルのコマンドメモです。<br />
自分に必要そうなところだけ。</p>
<p>自分の性格的に、ストイックに「emacsだけ」とか、「ターミナルだけ」とかできないので、<br />
その時の便利具合に応じて使い分けてる。</p>
<table border="1">
<tr>
<td>cal</td>
<td>カレンダー<br />
cal 1 2012 > 2012/01月のカレンダー表示</td>
</tr>
<tr>
<td>pwd</td>
<td>現在のパス</td>
</tr>
<tr>
<td>cd</td>
<td>カレントディレクトリ移動</td>
</tr>
<tr>
<td>echo 文字列</td>
<td>文字列を表示<br />
echo $HOME > 環境変数を表示</td>
</tr>
<tr>
<td>ls</td>
<td>ファイル一覧<br />
-a 隠しファイル表示<br />
-l 詳細表示<br />
-r 表示順逆順</p>
<p>ワイルドカード<br />
* 任意の文字列<br />
? 任意の１文字<br />
[] かっこで指定した任意の1文字</td>
</tr>
<tr>
<td>cp 元のパス コピー先のパス</td>
<td>ファイルのコピー<br />
ワイルドカードを使ってもよし<br />
-i オプションで上書きなどの警告つき<br />
-r ディレクトリの中身を再帰的にコピー</td>
</tr>
<tr>
<td>mv 元のパス 移動先のパス</td>
<td>ファイルの移動、名前の変更</td>
</tr>
<tr>
<td>ln -s 元のパス 移動先のパス</td>
<td>リンクの作成<br />
相対パスのときは、元から移動へのパスを書く</td>
</tr>
<tr>
<td>mkdir ディレクトリ名</td>
<td>ディレクトリの作成<br />
-p 連続した階層ディレクトリを一気に作る</td>
</tr>
<tr>
<td>rm ファイルのパス</td>
<td>ファイルの削除<br />
-r ディレクトリ以下を再帰的に削除<br />
-f 警告なしで削除</td>
</tr>
<tr>
<td>cat</td>
<td>ファイルの中身を表示する</td>
</tr>
<tr>
<td>less</td>
<td>ファイルを少しずつ表示</td>
</tr>
<tr>
<td>head</td>
<td>ファイルの先頭を表示</td>
</tr>
<tr>
<td>tail</td>
<td>ファイルの終わりを表示</td>
</tr>
<tr>
<td>man</td>
<td>オンラインマニュアル表示</td>
</tr>
<tr>
<td>zip</td>
<td>zip形式に圧縮<br />
-P パスワード保護<br />
-r フォルダを再帰的に圧縮</td>
</tr>
<tr>
<td>tar</td>
<td>tar.gzファイルを扱う<br />
tvzf 中身を確認<br />
xvzf 解凍</td>
</tr>
</table>
<p>あとターミナルじゃなくFinder上で<br />
Cmd + Shift + .(period) で隠しファイルの表示/非表示のきりかえ</p>
<p>でも、やっぱり今のところFinder上が慣れてるし楽だ。<br />
ただ、echo hoge > hoge.txt とかやるとエディタアプリとか立ち上げずに<br />
すぐにテキストファイルが作れたりするのは、魅力だと思われ。</p>
<p>このコマンド一覧は、下記の本を参考に作りました。<br />
<a href="http://www.amazon.co.jp/Mac-OS-10-5-Leopard-UNIX/dp/4898148786/ref=sr_1_3?s=books&#038;ie=UTF8&#038;qid=1325654537&#038;sr=1-3" target="_blank">>> Mac OS X v 10.5 Leopard as UNIX</a></p>
<p>ずーっと何年も前にふと興味があったので買ってから、少し読んでは寝かせて。みたいな感じだったけど、ざっと読んでみました。<br />
この本の途中に、unixのアプリをmacで使うという章があって。<br />
tar.gzファイルを拾ってきて、それを自分でコンパイルして、インストールという流れが書いてありました。<br />
全く知らないことだったので、１回やってみたら勉強になった。<br />
以前に、openCVをやってみようと思って、この流れが全くわからなかったので、挫折しちゃったのだけど、<br />
今度はできそうな気がする。</p>
<p>unixのアプリを動かそうと思うと、端末の種類（CPUとか）やOSに依存することがあります。<br />
「別の機種でソースコードからコンパイルされたバイナリ」を動かそうとしても他の端末では動かないことがあるのです。<br />
なので、コンパイルする生のソースコードを拾ってきて、機種ごとにコンパイルをする方が確実。<br />
そのコンパイル時の設定は機種ごとに変更する必要があるので、そのあたりを自動化する仕組みがある。</p>
<p>でも、このあたりは最近は<a href="http://mxcl.github.com/homebrew/" target="_blank">Homebrew</a>っていうので、管理するのが流行ってるみたい。<br />
これは、何をするものかというとさきほどの機種依存をmac用に考慮してくれて、ソフトを管理してくれるアプリです。<br />
「自分でソースコード拾ってきてコンパイル」とかしないでも、有名どころはコマンドひとつでインストールしてくれちゃうやつです。</p>
<p>ちょっと前はこの本にも書いてあった<a href="http://www.macports.org/" target="_blank">MacPorts</a>が流行ってたみたい。<br />
<a href="http://www.google.co.jp/search?sourceid=chrome&#038;ie=UTF-8&#038;q=homebrew%E3%81%A3%E3%81%A6#hl=en&#038;safe=off&#038;sclient=psy-ab&#038;q=macports+%E3%81%A8+homebrew&#038;pbx=1&#038;oq=macports+%E3%81%A8+homebrew&#038;aq=f&#038;aqi=&#038;aql=&#038;gs_sm=e&#038;gs_upl=10291l11423l1l11642l3l2l0l0l0l0l200l282l1.0.1l2l0&#038;bav=on.2,or.r_gc.r_pw.,cf.osb&#038;fp=7ef6fd46bf46c44e&#038;biw=1436&#038;bih=783" target="_blank">macportsとhomebrewとか検索すると結構出てくる</a></p>
<p>そんなわけで、前にnodeとCoffeeScriptをそのまま入れていたのだけど、Homebrewで入れ直してみた。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2012-01-03/3097/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[ターミナル] emacs キーバインドメモ</title>
		<link>http://www.kuma-de.com/blog/2012-01-02/3084</link>
		<comments>http://www.kuma-de.com/blog/2012-01-02/3084#comments</comments>
		<pubDate>Mon, 02 Jan 2012 07:12:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-プログラミング]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3084</guid>
		<description><![CDATA[チュートリアルで必要そうなものをメモしています。
チュートリアルは C-h t で起動します。
emacsはコードを書くなどメインで使用する気はないのだけれど、
メモ書きとか、設定ファイルとか、ちょっとした書き足しor修 [...]]]></description>
			<content:encoded><![CDATA[<p>チュートリアルで必要そうなものをメモしています。<br />
チュートリアルは C-h t で起動します。</p>
<p>emacsはコードを書くなどメインで使用する気はないのだけれど、<br />
メモ書きとか、設定ファイルとか、ちょっとした書き足しor修正するのを<br />
ターミナルだけでかけるのは、便利だなと思ってきたところ。</p>
<p>下のコマンド一覧にC-p,C-aとかのカーソル移動は、自分的に<a href="http://pqrs.org/macosx/keyremap4macbook/" target="_blank">KeyRemap4MacBook</a>とか使って覚えていたことなので、載せてません。<br />
KeyRemap4MacBookはすごく便利なアプリで、emacsのカーソル移動をeclipseとか他のアプリでもすることができるのです。<br />
（あーでも、それ機能のうちのごく一部です。メインは普通にキーバインドをいじれるという趣旨のソフトです）<br />
だから、AptanaとかFlashBuilderとかでもemacsのキーバインドで動くと。もちろん普通のエディタCotEditorとかでもです。<br />
前に、FlashBuilderでショートカット設定からemacsのキーバインド設定にしたときに、なんかうまくいかないことがあったのだけど、これなら大丈夫。</p>
<p>emacsのキーバインドって何か知らない人のために説明すると、<br />
Control+nとか、Control+aとかで、カーソルを次の文字とか前の文字へとか、行頭、行末へとかいろいろと移動できるのです。<br />
これに慣れると、矢印キーを押さなくてもよいので、全く手首のポジションを変えることなく、コーディングをすることができるという。<br />
慣れると文字を書くのがむちゃくちゃ速くなるのです。<br />
自分的には、シャアが通常のザクの３倍の性能を引き出すみたいな感じだと思ってます。</p>
<p>そんで、私は前にWindowsを使っていたのですけど、そのときは、<a href="http://www.nitoyon.com/program/nitoshrt.htm" target="_blank">にとしょーと</a>を使ってました。にとよんさん作のアプリでものすごくお世話になりました。本当ありがとうございます。冗談抜きに、ご飯ぐらいごちそうしないと罰が当たると実は思ってたり。お会いしたことないけど。<br />
これに、Controlの部分をaltに変えたキーバインド設定ファイルを使ってました。そんで、altキーだと親指がつりそうになるので、レジストリをいじって無変換キーをaltキーに変更してやってました。</p>
<p>他にも下のようなものがあったのだけど、ちょっと使い始めてるときにmacに移っちゃったので、こちらの使用感はあまりわからないです。<br />
<a href="http://www.nwlab.com/?p=127" target="_blank">[Windows] WindowsでEmacsのキーバインドが実行できるXkeymacs</a></p>
<table border="1">
<tr>
<td>C-u 数字 コマンド</td>
<td>コマンドをリピートする。<br />
e.g. C-u 8 C-f &gt;&gt; 8文字進む</td>
</tr>
<tr>
<td>C-l</td>
<td>スクロールを中央に</td>
</tr>
<tr>
<td>C-g</td>
<td>コマンドを中断</td>
</tr>
<tr>
<td>C-x 1</td>
<td>ウインドウを1つにする</td>
</tr>
<tr>
<td>C-@</td>
<td>マークをつける </td>
</tr>
<tr>
<td>C-w</td>
<td>リージョンをカット</td>
</tr>
<tr>
<td>M-w</td>
<td>リージョンをコピー</td>
</tr>
<tr>
<td>M-delete</td>
<td>前の単語を消す</td>
</tr>
<tr>
<td>M-d</td>
<td>次の単語を消す</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>C-y</td>
<td>ヤンク<br />
ヤンク直後にM-yを押すと履歴がさかのぼれる（すげえ！）</td>
</tr>
<tr>
<td>C-x u</td>
<td>アンドウ<br />
C-_ こっちでもアンドウはOK</td>
</tr>
<tr>
<td>C-x C-f</td>
<td>ファイルを検索<br />
１度開いたファイルをもう1度開くとバッファーに保存された状態で開ける</td>
</tr>
<tr>
<td>C-x C-s</td>
<td>ファイルを保存</td>
</tr>
<tr>
<td>C-x C-b</td>
<td>バッファーのリストを表示<br />
C-x 1で抜ける</td>
</tr>
<tr>
<td>C-x b バッファー名</td>
<td>バッファー上のファイルに移動</td>
</tr>
<tr>
<td>C-x C-c</td>
<td>emacsの終了</td>
</tr>
<tr>
<td>C-z</td>
<td>emacsを一時停止。fgで復帰</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>M-x text-mode</td>
<td>モード切り替え<br />
他にc-modeなど</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>C-s 文字列</td>
<td>文字列前方検索<br />
C-sを続けて打つと、次の文字列へ。Deleteで前の文字列へ<br />
C-gで抜ける</td>
</tr>
<tr>
<td>C-r 文字列</td>
<td>文字列後方検索</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>C-x 2</td>
<td>ウインドウ分割</td>
</tr>
<tr>
<td>C-x o</td>
<td>他のウインドウへ移る</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2012-01-02/3084/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[日記] 来年もよろしくお願いします</title>
		<link>http://www.kuma-de.com/blog/2011-12-31/3053</link>
		<comments>http://www.kuma-de.com/blog/2011-12-31/3053#comments</comments>
		<pubDate>Sat, 31 Dec 2011 09:40:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-日記]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3053</guid>
		<description><![CDATA[こんにちは。きんくまです。
今年ももうすぐ紅白が始まる時間となりました。
今年もいろいろとありました。
iPadやAndroidのタブレットのアプリを作ったり、
都内在住の外国人からアポがあって、仕事を手伝ったり、
プロ [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。きんくまです。</p>
<p>今年ももうすぐ紅白が始まる時間となりました。</p>
<p>今年もいろいろとありました。</p>
<p>iPadやAndroidのタブレットのアプリを作ったり、<br />
都内在住の外国人からアポがあって、仕事を手伝ったり、<br />
プログラムの言語もいろいろとやる機会があり、とても勉強になりました。</p>
<p>英語の勉強は、もうすぐ丸２年くらい。何事も続かない私の割には、珍しく続いています。<br />
学生のときは苦手科目で、30過ぎてから始めたけど、なんとかなるもんです。<br />
欲をいえば、20代にやってれば良かったと思いますが、必要に迫られたのが、30過ぎなんだから仕方ないですね。<br />
海外っていうかシリコンバレーで働けたら、楽しいだろうなと思って、調べてみたこともあるけど、１人でならともかく、家族もいるし、なかなか難しいですね。</p>
<p>カタコトながら、<a href="http://en.kuma-de.com/blog/" target="_blank">ブログも続いていて</a>、1対1で少しだけなら話をすることができるようになりました。<br />
各種本家の英語ドキュメントも、コードがあるから、なんとなくこんなこと言ってるんだろうなー。という感じでなら読めるので、プログラムする上ではすごく役に立っています。</p>
<p>ただ、ネイティブ同士の会話は全く聞き取れないし、長文読んだりすることや、ちゃんとした会話はまだできないです。<br />
１度、都内のネイティブていうか、英語が話せる人たち（ほとんど外国人）の勉強会に行ったのですが、全然ダメでした。頭が真っ白になるっていうか、全然聞き取れないし、あわあわしちゃって、懇親会にも出ずに、すぐに帰ってきてしまった、、。あれは本当にくやしかったです！<br />
なんとかしてあそこにもう一度行きたいなと。<br />
日本の勉強会は、講義形式というか、スピーカーがいてその人の話を聞くというのがメインだと思うのですが、あっちのは、ディスカッションがメインだったので、知らないでいったら、そういう結果に。<br />
なので、少しずつ上達していけたらいいなと思います。</p>
<p>ブログの記事は、来年も自分がつまったところや、勉強したことをまとめたりすることを続けたいと思います。<br />
意外と他の人に役に立ってたりするみたいです。良かった良かった。<br />
読んでもらって、どうもありがとうございます。</p>
<p>あと、Twitter上でRTしてもらったりしても、何にもコメント返さない失礼な奴だったりするんですが、そういう奴だと思ってください。<br />
本当すんませんです。それからありがとうございます。</p>
<p>では来年もよろしくお願いします。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2011-12-31/3053/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JavaScript] ブックマークメモ</title>
		<link>http://www.kuma-de.com/blog/2011-12-30/3046</link>
		<comments>http://www.kuma-de.com/blog/2011-12-30/3046#comments</comments>
		<pubDate>Fri, 30 Dec 2011 12:22:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-JavaScript]]></category>
		<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-プログラミング]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3046</guid>
		<description><![CDATA[JavaScriptに関する個人的なあとで見る系ブックマークメモです。
jQuery
Backbone.js MVC
CoffeeScript
Node.js
NowJS
jsdom
Socket.io
このページのコメ [...]]]></description>
			<content:encoded><![CDATA[<p>JavaScriptに関する個人的なあとで見る系ブックマークメモです。</p>
<p><a href="http://jquery.com/" target="_blank">jQuery</a><br />
<a href="http://documentcloud.github.com/backbone/" target="_blank">Backbone.js</a> MVC<br />
<a href="http://jashkenas.github.com/coffee-script/" target="_blank">CoffeeScript</a><br />
<a href="http://nodejs.org/" target="_blank">Node.js</a><br />
<a href="http://nowjs.org/" target="_blank">NowJS</a><br />
<a href="https://github.com/tmpvar/jsdom" target="_blank">jsdom</a><br />
<a href="http://socket.io/" target="_blank">Socket.io</a></p>
<p><a href="http://www.reddit.com/r/javascript/comments/nuoki/where_should_i_start/" target="_blank">このページ</a>のコメントから。</p>
<p>2011/01/03 追加<br />
<a href="http://gihyo.jp/dev/column/newyear/2012/javascript-prospect?page=2" target="_blank">新春特別企画：2012年のJavaScript～PCからモバイルの時代へ｜gihyo.jp … 技術評論社</a><br />
<a href="http://pjax.heroku.com/" target="_blank">pjax</a> ajaxでページロード<br />
<a href="http://zeptojs.com/" target="_blank">zepto.js</a> 軽量ライブラリ</p>
<p>&#8211;<br />
<a href="http://bartaz.github.com/impress.js/" target="_blank">impress.js</a> プレゼンツール 3dとかできて面白い</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2011-12-30/3046/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[ターミナル] ターミナル上でzip形式にパスワード付きで圧縮</title>
		<link>http://www.kuma-de.com/blog/2011-12-30/3043</link>
		<comments>http://www.kuma-de.com/blog/2011-12-30/3043#comments</comments>
		<pubDate>Fri, 30 Dec 2011 08:45:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-日記]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3043</guid>
		<description><![CDATA[Macはターミナル上で、ファイルをzip形式に圧縮することができます。
他のアプリはいらないです。
パスワードをつけることも可能です。
ターミナル上で
man zip
とやると、なんかすごいオプションがずらずらと出てきま [...]]]></description>
			<content:encoded><![CDATA[<p>Macはターミナル上で、ファイルをzip形式に圧縮することができます。<br />
他のアプリはいらないです。<br />
パスワードをつけることも可能です。<br />
ターミナル上で<br />
man zip<br />
とやると、なんかすごいオプションがずらずらと出てきます。<br />
その中で、パスワードのやり方とか探してみました。</p>
<p>1. １枚のファルだけを圧縮</p>
<pre class="brush:text">
zip example.zip filename
</pre>
<p>2. ディレクトリを圧縮 -rオプションをつけます</p>
<pre class="brush:text">
zip -r example.zip directoryname
</pre>
<p>3. パスワードをつけてディレクトリを圧縮 -Pオプションをつけます</p>
<pre class="brush:text">
zip -P yourpassword -r example.zip directoryname
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2011-12-30/3043/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[日記] コマンド間違ってファイル消しちゃった</title>
		<link>http://www.kuma-de.com/blog/2011-12-29/3038</link>
		<comments>http://www.kuma-de.com/blog/2011-12-29/3038#comments</comments>
		<pubDate>Thu, 29 Dec 2011 14:41:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-日記]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3038</guid>
		<description><![CDATA[こんにちは。きんくまです。
もうすぐ今年も終わりですね。
さて、先日ブログにこんなメモを残しました。
>> [terminal] ターミナルで.DS_Storeファイルを再帰的に消す
そんで、やっちゃいましたよ。
作業中 [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。きんくまです。</p>
<p>もうすぐ今年も終わりですね。<br />
さて、先日ブログにこんなメモを残しました。</p>
<p><a href="http://www.kuma-de.com/blog/2011-12-24/3006" target="_blank">>> [terminal] ターミナルで.DS_Storeファイルを再帰的に消す</a></p>
<p>そんで、やっちゃいましたよ。<br />
作業中に、ふーっと、まとまりのいいところまできたので、gitでコミット。<br />
あるフォルダの.DS_Storeファイルを消そうと思って、コマンド打ったんですよ。<br />
そしたら、ですね、なんかおかしいんですよ。<br />
あれ？？？？<br />
なんか全部ファイルが消えてるんですけど&#8230;。</p>
<p>コマンド打ったディレクトリ以下が空のフォルダ残して全部消えちゃってます。<br />
すごく焦ったんですよ。<br />
それで、<br />
「いや、なんの、gitで回復させれば大丈夫だっつーの。」<br />
とか青くなりながら、gitコマンドうったら、<br />
「gitのリポジトリなんかないよ。」<br />
とかメッセージが帰ってきたんですよ。</p>
<p>いやいやそんなことないって、とかいって、見てみたら、リポジトリごとごっそり<br />
消去してしまっていたという、、。</p>
<p>コマンドもう一度ちゃんとみたところ、rmのオプションの-nameが抜けていて、<br />
名前で検索せずに、何もかも削除ということをしてしまっていたようです。</p>
<p>ターミナル上で、ファイルを削除するとゴミ箱行かないで、いきなり削除されちゃうんで、<br />
もとに戻せないという。</p>
<p>いやー焦りました。<br />
そしたら、TimeMachineが俺にはあるじゃマイカと、TimeMachineのデータが入っている外付けHDDをつないでみたところ、2日前にたまたまバックアップしていたのを発見。<br />
普段、１ヶ月に１度やるかやらないかの、きまぐれバックアップだったのですが、<br />
何故かそのときは気が向いてやっていたという。<br />
なので、2日前までは戻れるということになりました。<br />
はじめてTimeMachine使いましたよ。助かりました。</p>
<p>いつもは、こういう置換削除みたいな、ヒヤリ系は必ずどこかに一度バックアップコピーしてから作業しているんですが、gitのリポジトリあるからいいやとか、ターミナルも少し慣れてきたかな、みたいな気のゆるみがあり、全くしていませんでした。</p>
<p>作業的には、実際のところ半日分くらいのところだったので、そこまで大事にはいたらなかったのですが、なんだか自分の気のゆるみを指摘された気分になりましたよ。</p>
<p>対策としては、以下の感じにしようかと。</p>
<p>1) TimeMachineのHDDつけっぱなし＋スイッチON状態にしておいて、絶対に1時間前に戻れるようにしておく<br />
2) rmコマンド打つときは慎重に。-iオプションつけて、プロンプト出させたり、再帰処理の時は絶対にバックアップをとってから行う<br />
3) gitのリポジトリのあるディレクトリではterminalの作業は行わないようにする。gitリポジトリ以下の階層でもgitコマンドは使える（というのを今回知った）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2011-12-29/3038/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[iOS] iPadでスクロールさせたときに、CSS3 アニメーションが止まる</title>
		<link>http://www.kuma-de.com/blog/2011-12-26/3034</link>
		<comments>http://www.kuma-de.com/blog/2011-12-26/3034#comments</comments>
		<pubDate>Mon, 26 Dec 2011 13:56:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-JavaScript]]></category>
		<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-プログラミング]]></category>
		<category><![CDATA[cssアニメーション]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[スクロール]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3034</guid>
		<description><![CDATA[こんにちは。きんくまです。
CSS3アニメーションのこんなコードを書いて、あるエレメントに適用しました。

@-webkit-keyframes flapping {
   0% {
   	-webkit-transf [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。きんくまです。<br />
CSS3アニメーションのこんなコードを書いて、あるエレメントに適用しました。</p>
<pre class="brush:text">
@-webkit-keyframes flapping {
   0% {
   	-webkit-transform:scale(0,0);
   	opacity:1;
   }
   100% {
   	-webkit-transform:scale(1,1);
   	opacity:0;
   }
}
</pre>
<p>でも、iPadでスクロールさせたときに、CSS3 アニメーションが止まってしまい、困ってしまいました。<br />
正確に言うと、0%のキーフレームの位置からそれ以上進まなくなってしまうのです。</p>
<p>ググったところ、こんな感じのページを発見。</p>
<p><a href="http://5509.me/log/gpu-accelerator-with-css" target="_blank">>> GPUアクセラレーターが使える環境で強制的に有効にできるCSSの指定方法</a></p>
<p>CPUからGPUのレンダリングの切り替えのタイミングでsafariがちらつくとのこと。<br />
最初からGPUレンダリングを使えば、そんなことなくなるよ。<br />
これをするために、こんなCSSプロパティを使えばいいみたい。</p>
<pre class="brush:text">
-webkit-transform-style: preserve-3d;
</pre>
<p>そしたら、うまいこと解決してくれました。<br />
助かりました。どうもです。</p>
<p>たぶん予想するに、スクロールするときにその切り替えのタイミングが起こっていたのかもしれませんね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2011-12-26/3034/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JavaScript] Canvas2D で3D ドーナツ</title>
		<link>http://www.kuma-de.com/blog/2011-12-25/3010</link>
		<comments>http://www.kuma-de.com/blog/2011-12-25/3010#comments</comments>
		<pubDate>Sat, 24 Dec 2011 17:30:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1-JavaScript]]></category>
		<category><![CDATA[1-blog]]></category>
		<category><![CDATA[1-プログラミング]]></category>
		<category><![CDATA[トーラス]]></category>

		<guid isPermaLink="false">http://www.kuma-de.com/?p=3010</guid>
		<description><![CDATA[こんにちは。きんくまです。
z-sortがうまくいっていないのですが、ドーナツを表示することができました。
3Dドーナツは別名トーラスというそうです。
点の取り方は、中心から離れたところに円を描いて、それをぐるっと１周さ [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。きんくまです。</p>
<p>z-sortがうまくいっていないのですが、ドーナツを表示することができました。<br />
3Dドーナツは別名<a href="http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%BC%E3%83%A9%E3%82%B9" target="_blank">トーラス</a>というそうです。<br />
点の取り方は、中心から離れたところに円を描いて、それをぐるっと１周させるとできました。<br />
行列使って、回転させるとできましたです。</p>
<p><canvas id="mycanvas2" width="480" height="360"></canvas><br />
<script src="http://www.kuma-de.com/wp/wp-content/uploads/2011/12/source_cat.js"></script></p>
<p>あとすごいドーナツを見つけたので、載せておきます。<br />
途中からレンダリングが次々と切り替わっていくので重くなりますが、面白いです。<br />
<a href="http://raksy.dyndns.org/torus.html" target="_blank">>> http://raksy.dyndns.org/torus.html</a></p>
<p>それで、今回は1から書いてみてるのですが、なかなか勉強になります。<br />
行列、内積、外積とか。<br />
以前にやったときは急ぎ足でやっていたので、あんまり理解していなかったのですが、<br />
今回はわりと考えながらやっているので、得るものがありました。</p>
<p>あと面白いと思うのは、直線で点をつなげて塗りつぶせれば3Dでも描画できるということです。</p>
<p>もう少しやってみようと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuma-de.com/blog/2011-12-25/3010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

