<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>javascript / Drkcore</title><link>http://blog.kzfmix.com/entry/javascript</link><description>Programming, Music, Snowboarding</description><atom:link href="http://blog.kzfmix.com/rss/" rel="self"></atom:link><language>ja</language><lastBuildDate>Thu, 02 Feb 2012 06:46:45 +0900</lastBuildDate><item><title>静岡Developers勉強会 第4回HTML5読書会</title><link>http://blog.kzfmix.com/entry/1328132775</link><description>&lt;p&gt;&lt;a href="http://atnd.org/events/24942"&gt;三島&lt;/a&gt;でやります。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4844330489/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51QCM4Kuz3L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;HTML5＆CSS3実践入門　最新Web標準を使いこなす (The Pragmatic Programmers)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    ブライアンP.ホーガン&lt;br /&gt;
    インプレスジャパン / 2940円 ( 2011-07-08 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;今回は、ローカルストレージ、websocket、History APIあたりなので、以下の話題に興味があれば参加すると面白いかもしれません。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1326794273"&gt;クライアントサイドMVC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/punitan/20110404/1301895279"&gt;pjax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/a2c/20110822/1313939287"&gt;超シンプルな、pushState + Ajax = PJAXのサンプル　Flask編&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.atmarkit.co.jp/fdotnet/chushin/introhtml5_05/introhtml5_05_01.html"&gt;双方向通信を実現！ WebSocketを使いこなそう&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/"&gt;The Top 10 Javascript MVC Frameworks Reviewed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nowjs.com/"&gt;NowJs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;次の本&lt;/h3&gt;
&lt;p&gt;入門Gitを推しておきます。&lt;a href="https://github.com/kzfm"&gt;GitHub&lt;/a&gt;でフォローしているShizudeverいないんだよね、増えたらいいなっていうのが理由の一つ（他のサービス使っているんだろうか？）。もうひとつはブランチの切り方がイマイチきちんと身についてないので、勉強会で人が集まれば複数人作業ってのを試すことができるかなと。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798023809/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41R5gj5VRFL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;入門Git&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    濱野 純(Junio C Hamano)&lt;br /&gt;
    秀和システム / 2310円 ( 2009-09-19 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Thu, 02 Feb 2012 06:46:45 +0900</pubDate><category>javascript</category><category>HTML5</category></item><item><title>TodoっていうNode.js製のtodo管理ツール</title><link>http://blog.kzfmix.com/entry/1328010269</link><description>&lt;p&gt;CLIで良い感じ&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;npm install -g todo
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;でインストールできる。&lt;/p&gt;
&lt;p&gt;&lt;img alt="node_todo" src="http://www.kzfmix.com/images/blog/node_todo.png" /&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nb"&gt;help&lt;/span&gt;:   
&lt;span class="nb"&gt;help&lt;/span&gt;:   todo - Todos in the CLI like what.
&lt;span class="nb"&gt;help&lt;/span&gt;:   
&lt;span class="nb"&gt;help&lt;/span&gt;:   Usage:
&lt;span class="nb"&gt;help&lt;/span&gt;:   
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo Go shopping. - Adds new item.
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo ls.          - Lists not finished items.
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo ls --all     - Lists all items.
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo rm 1         - Removes &lt;span class="c"&gt;#1 item.&lt;/span&gt;
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo check 1      - Marks &lt;span class="c"&gt;#1 item as done.&lt;/span&gt;
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo undo 1       - Marks &lt;span class="c"&gt;#1 item as not done yet.&lt;/span&gt;
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo clear        - Clears the whole list.
&lt;span class="nb"&gt;help&lt;/span&gt;:          todo version      - Lib version.
&lt;span class="nb"&gt;help&lt;/span&gt;:   
&lt;span class="nb"&gt;help&lt;/span&gt;:   Author: Veselin Todorov &amp;lt;hi@vesln.com&amp;gt;
&lt;span class="nb"&gt;help&lt;/span&gt;:   
&lt;span class="nb"&gt;help&lt;/span&gt;:
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Node.jsのテスト系のライブラリなんかもそうなんだけど、ターミナルに色付きで表示されると見やすくていいですね。オプションもわかりやすいので、端末にちょっと入れておけばtodo管理ができてイイかも。普段はGmailのタスクを使っているので同期できると嬉しいんだけどねー&lt;/p&gt;
&lt;p&gt;と思いながら調べたら&lt;a href="http://code.google.com/intl/ja/apis/tasks/index.html"&gt;Google Tasks API&lt;/a&gt;ってのがあったけど、これでいいんだろうか？あとで試してみよう。&lt;/p&gt;</description><pubDate>Tue, 31 Jan 2012 20:55:01 +0900</pubDate><category>javascript</category><category>Node.js</category></item><item><title>PreziのズーミングプレゼンテーションのコツはBig Pictureを描くこと</title><link>http://blog.kzfmix.com/entry/1327899195</link><description>&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822296040/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51V9fhpx5NL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Preziで始めるズーミングプレゼンテーション&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    筏井 哲治&lt;br /&gt;
    日経BP社 / 1575円 ( 2011-03-31 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Mon, 30 Jan 2012 13:53:15 +0900</pubDate><category>javascript</category><category>Prezi</category></item><item><title>テスト駆動Javascriptでテスト駆動開発を学ぶ</title><link>http://blog.kzfmix.com/entry/1327801639</link><description>&lt;p&gt;中級者向けのJavascript開発の本として読んでもいいし、テスト駆動開発の入門書として読んでも良い感じ。名著だと思う。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4048707868/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51g1mDqlfJL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;テスト駆動JavaScript&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Christian Johansen&lt;br /&gt;
    アスキー・メディアワークス / 3780円 ( 2011-11-25 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;自分はプログラマーの集団的な組織に属したことがないため、開発の色々（特にペアプロ）なイメージが良くわからんし、TDDもイマイチ理解していない感があったので、本書のように丁寧に書いてある本はありがたかったりする。&lt;/p&gt;
&lt;p&gt;第三部の「Javascriptテスト駆動開発の実際」のパートが面白いが、その中でも特にNode.jsによるサーバーサイドのテスト(14章)とクライアントサイドのテスト(15章)が非常に良かった。この2章だけで90ページくらいあるし、じっくり写経したら２日を費やしてしまったが、得るものは多かった。特に&lt;strong&gt;実際のコードとテストコードが絡み遭いながら完成に向かって進んでいく感&lt;/strong&gt;を味わえたのはなかなか素晴らしい体験だった。&lt;/p&gt;
&lt;p&gt;ちなみに14章ではNodeunitを使ってたけど、実際に自分が使うなら&lt;a href="http://vowsjs.org/"&gt;Vows&lt;/a&gt;かなぁと(&lt;a href="http://blog.kzfmix.com/entry/1327578938"&gt;CoffeeScriptでも使える&lt;/a&gt;しね)&lt;/p&gt;
&lt;p&gt;エディタに関しては、Emacsの場合、縦分割して左にコード、右にテスト出して交互に切り替えながら進めていくのが調子良かった。&lt;/p&gt;
&lt;p&gt;一部がテスト駆動開発の一般論で、二部がJavascriptの概論だけど、第４章の「学ぶためのテスト」というパートが面白かったかな。他の人が書いたライブラリを観察するために、テストの形で評価した内容を記述しておくという方法論は斬新だった。
まぁ、よく考えてみると、自分も新しいモジュールを理解したい場合はまずテストを眺めて、よく分からない場合は、対応する部分のソースコードを読んでふるまいを理解したりするので、結局そういったやりかたの形を変えて、積極的に観察とその記録を取っていく手法って考えればいいのかと思った。&lt;/p&gt;
&lt;h3&gt;おまけ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1325199977"&gt;javascriptを手っ取り早く学ぶためのjs本フローチャート&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1326794273"&gt;クライアントサイドのMVCを考える本&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 30 Jan 2012 08:22:23 +0900</pubDate><category>javascript</category><category>Node.js</category></item><item><title>html2jadeでHTMLを読みやすくする</title><link>http://blog.kzfmix.com/entry/1327701817</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1323170769"&gt;HTML5ベースのスライド&lt;/a&gt;つくる場合はJadeみたいなインデントでブロックを表現するような形式のほうが見やすいし書きやすい。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/donpark/html2jade"&gt;html2jade&lt;/a&gt;を使えば、逆にhtmlをjadeに変換して読みやすく出来るのでオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/bartaz/impress.js"&gt;impress.js&lt;/a&gt;のindex.htmlをjadeに変換してみた。読みやすい。&lt;/p&gt;
&lt;p&gt;&lt;img alt="impress" src="http://www.kzfmix.com/images/blog/impress_screenshot.png" /&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;      &lt;span class="nf"&gt;#bored&lt;/span&gt;&lt;span class="nc"&gt;.step.slide&lt;/span&gt;(&lt;span class="na"&gt;data-x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;-1000&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;-1500&amp;#39;&lt;/span&gt;)
        &lt;span class="nt"&gt;q&lt;/span&gt;
          | Aren&amp;#39;t you just
          &lt;span class="nt"&gt;b&lt;/span&gt; bored
          | with all those slides-based presentations?

      &lt;span class="nc"&gt;.step.slide&lt;/span&gt;(&lt;span class="na"&gt;data-x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;-1500&amp;#39;&lt;/span&gt;)
        &lt;span class="nt"&gt;q&lt;/span&gt;
          | Don&amp;#39;t you think that presentations given strong in modern browsers
          | shouldn&amp;#39;t strong copy the limits
          | of &amp;#39;classic&amp;#39; slide decks?

      &lt;span class="nc"&gt;.step.slide&lt;/span&gt;(&lt;span class="na"&gt;data-x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;1000&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;-1500&amp;#39;&lt;/span&gt;)
        &lt;span class="nt"&gt;q&lt;/span&gt;
          | Would you like to strong impress your audience
          | with strong stunning visualization
          | of your talk?

      &lt;span class="nf"&gt;#title&lt;/span&gt;&lt;span class="nc"&gt;.step&lt;/span&gt;(&lt;span class="na"&gt;data-x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-scale=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;4&amp;#39;&lt;/span&gt;)
        &lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="nc"&gt;.try&lt;/span&gt; then you should try
        &lt;span class="nt"&gt;h1&lt;/span&gt;
          | impress.js
          &lt;span class="nt"&gt;sup&lt;/span&gt; *
        &lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="nc"&gt;.footnote&lt;/span&gt;
          &lt;span class="nt"&gt;sup&lt;/span&gt; *
          | no rhyme intended

      &lt;span class="nf"&gt;#its&lt;/span&gt;&lt;span class="nc"&gt;.step&lt;/span&gt;(&lt;span class="na"&gt;data-x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;850&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;3000&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-rotate=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;90&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-scale=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;5&amp;#39;&lt;/span&gt;)
        &lt;span class="nt"&gt;p&lt;/span&gt;
          | It&amp;#39;s a
          &lt;span class="nt"&gt;strong&lt;/span&gt; presentation tool
          &lt;span class="nt"&gt;br&lt;/span&gt;
          | inspired by the idea behind
          &lt;span class="nt"&gt;a&lt;/span&gt;(&lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;http://prezi.com&amp;#39;&lt;/span&gt;) prezi.com
          &lt;span class="nt"&gt;br&lt;/span&gt;
          | and based on the
          &lt;span class="nt"&gt;strong&lt;/span&gt; power of CSS3 transforms and transitions
          | in modern browsers.

      &lt;span class="nf"&gt;#big&lt;/span&gt;&lt;span class="nc"&gt;.step&lt;/span&gt;(&lt;span class="na"&gt;data-x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;3500&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;2100&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-rotate=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;180&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-scale=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;6&amp;#39;&lt;/span&gt;)
        &lt;span class="nt"&gt;p&lt;/span&gt;
          | visualize your
          &lt;span class="nt"&gt;b&lt;/span&gt; big
          &lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="nc"&gt;.thoughts&lt;/span&gt; thoughts

      &lt;span class="nf"&gt;#tiny&lt;/span&gt;&lt;span class="nc"&gt;.step&lt;/span&gt;(&lt;span class="na"&gt;data-x=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;2825&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-y=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;2325&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-z=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;-3000&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-rotate=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;300&amp;#39;&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data-scale=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;1&amp;#39;&lt;/span&gt;)
        &lt;span class="nt"&gt;p&lt;/span&gt;
          | and
          &lt;span class="nt"&gt;b&lt;/span&gt; tiny
          | ideas
&lt;/pre&gt;&lt;/div&gt;</description><pubDate>Sat, 28 Jan 2012 08:01:53 +0900</pubDate><category>javascript</category><category>HTML5</category></item><item><title>vowsはCoffeeScriptでテストができる</title><link>http://blog.kzfmix.com/entry/1327578938</link><description>&lt;p&gt;CoffeeScriptでテストをできるライブラリを探していたら&lt;a href="http://baudehlo.wordpress.com/2011/11/01/why-linting-javascript-is-totally-bloody-useless/"&gt;vowsで出来る&lt;/a&gt;ことを知った。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nx"&gt;vows&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;vows&amp;#39;&lt;/span&gt;
&lt;span class="nx"&gt;assert&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;assert&amp;#39;&lt;/span&gt;

&lt;span class="nx"&gt;vows&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Division by zero&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addBatch&lt;/span&gt;
    &lt;span class="s1"&gt;&amp;#39;when dividing a number by zero&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
      &lt;span class="nx"&gt;topic&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

      &lt;span class="s1"&gt;&amp;#39;we get Infinity&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
        &lt;span class="nx"&gt;assert&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;equal&lt;/span&gt; &lt;span class="nx"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;Infinity&lt;/span&gt;

    &lt;span class="s1"&gt;&amp;#39;but when dividing zero by zero&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
      &lt;span class="nx"&gt;topic&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

      &lt;span class="s1"&gt;&amp;#39;we get a value which&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
        &lt;span class="s1"&gt;&amp;#39;is not a number&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
          &lt;span class="nx"&gt;assert&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;isNaN&lt;/span&gt; &lt;span class="nx"&gt;topic&lt;/span&gt;

        &lt;span class="s1"&gt;&amp;#39;is not equal to itself&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; 
          &lt;span class="nx"&gt;assert&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;notEqual&lt;/span&gt; &lt;span class="nx"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;topic&lt;/span&gt;

  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kr"&gt;export&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;これをvows --specすると&lt;/p&gt;
&lt;p&gt;&lt;img alt="vows" src="http://www.kzfmix.com/images/blog/vows_first_test.png" /&gt;&lt;/p&gt;
&lt;p&gt;かなり良い感じですね。&lt;/p&gt;</description><pubDate>Thu, 26 Jan 2012 20:57:53 +0900</pubDate><category>javascript</category><category>coffeescript</category></item><item><title>Joose(Javascript版のMoose)</title><link>http://blog.kzfmix.com/entry/1327320317</link><description>&lt;p&gt;sof見てたら見つけた。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://joose.it/"&gt;Joose&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;名前からして、&lt;a href="http://moose.iinteractive.com/"&gt;Moose&lt;/a&gt;のJavascript版ですね。&lt;a href="http://joose.github.com/Joose/doc/html/Joose/Manual.html"&gt;マニュアル&lt;/a&gt;はあるけど、モダンPerl入門でperlのサンプルから理解する方がいいような気がする。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798119172/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41W6wTHDSzL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;モダンPerl入門 (CodeZine BOOKS)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    牧 大輔&lt;br /&gt;
    翔泳社 / 2940円 ( 2009-02-10 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;買ったまま放置してあるMOPの本も読まなければいけない。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/0262610744/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/61PruSolX%2BL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;The Art of the Metabobject Protocol&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Gregor Kiczales&lt;br /&gt;
    The MIT Press / 4007円 ( 1991-07-30 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Tue, 24 Jan 2012 20:35:28 +0900</pubDate><category>perl</category><category>javascript</category></item><item><title>ExpressのスケルトンをCoffeeScriptに変換する</title><link>http://blog.kzfmix.com/entry/1327401254</link><description>&lt;p&gt;sof見てたら「xxx.jsっていうjavascriptをCoffeeScriptにしたいんだけど」「js2coffee使え」っていう問答があったので、使ってみた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;npm install -g js2coffee
&lt;span class="nv"&gt;$ &lt;/span&gt;express testapp
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;testapp
&lt;span class="nv"&gt;$ &lt;/span&gt; js2coffee app.js
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;で、無事に変換された&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nx"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createServer&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;configure&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;set&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;views&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;__dirname&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/views&amp;quot;&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;set&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;view engine&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;jade&amp;quot;&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;bodyParser&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;methodOverride&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kr"&gt;static&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;__dirname&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/public&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;configure&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;development&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;errorHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="nx"&gt;dumpExceptions&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
    &lt;span class="nx"&gt;showStack&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;configure&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;production&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;errorHandler&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;get&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;routes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;
&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;listen&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Express server listening on port %d in %s mode&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;settings&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;となると、srcフォルダを掘ってそこに.coffeeを入れて、libにコンパイルしたjavascriptを生成するようなCakefieを書けばいいような気がするが、&lt;a href="https://github.com/caolan/nodeunit"&gt;nodeunit&lt;/a&gt;のテスト入れたいばあいどうすればいいのかな？&lt;/p&gt;
&lt;p&gt;perlみたいに&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;cake
&lt;span class="nv"&gt;$ &lt;/span&gt;cake &lt;span class="nb"&gt;test&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ってやれればいいんだが。&lt;/p&gt;
&lt;p&gt;CoffeeScript自体のソースコードを読むのがいい気がしているが、他にベストプラクティス的なものはあるんだろうか？&lt;/p&gt;</description><pubDate>Tue, 24 Jan 2012 19:44:03 +0900</pubDate><category>javascript</category><category>coffeescript</category></item><item><title>Promises/Aの実装にwhen.jsってのがあった</title><link>http://blog.kzfmix.com/entry/1327221202</link><description>&lt;p&gt;jQueryのdeferredは&lt;a href="http://wiki.commonjs.org/wiki/Promises/A"&gt;Promises/A&lt;/a&gt;の実装らしい。テスト駆動javascriptでは&lt;a href="https://github.com/kriszyp/node-promise"&gt;node-promise&lt;/a&gt;が載っていたんだけど、ほかにも&lt;a href="https://github.com/cujojs/when"&gt;when.js&lt;/a&gt;っていうのがあったのでソースを読んでみた。&lt;/p&gt;
&lt;p&gt;Promiseの提案には&lt;a href="http://wiki.commonjs.org/wiki/Promises"&gt;いくつかあるらしい&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.infoq.com/jp/articles/surviving-asynchronous-programming-in-javascript"&gt;仮想パネル: JavaScriptで非同期プログラミングを乗り切る方法(infoQ)&lt;/a&gt;も面白く読めた。&lt;/p&gt;</description><pubDate>Sun, 22 Jan 2012 17:38:52 +0900</pubDate><category>javascript</category></item><item><title>Canvasに富士山を描く関数</title><link>http://blog.kzfmix.com/entry/1326973351</link><description>&lt;p&gt;Canvasタグと&lt;a href="http://code.google.com/p/flot/"&gt;flot&lt;/a&gt;を使って&lt;a href="http://docs.fujinism.com/fujimt/fujimt.html"&gt;富士山を描いてみた&lt;/a&gt;。静岡県民だとこの関数は小学校高学年で習うのかな？&lt;/p&gt;
&lt;p&gt;もしこの関数を知らない静岡県民がいたら、Canvasタグから勉強したほうがいいですね。タイミングよく来週&lt;a href="http://atnd.org/events/24193"&gt;HTML5読書会&lt;/a&gt;があります。しかもCanvasの章ですし、参加しないわけにはいけませんね。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;g&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cos&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;d1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;d2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;d3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;d4&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;d1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;d2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;d3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mf"&gt;2.1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;d4&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;g&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;

    &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;#placeholder&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;d1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;rgb(0,0,255)&amp;quot;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
                  &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;d2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;rgb(0,0,255)&amp;quot;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
                  &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;d3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;rgb(0,0,255)&amp;quot;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
                  &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;d4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;rgb(0,0,255)&amp;quot;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.kzfmix.com/entry/1292932787"&gt;Rで富士山関数&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4844330489/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51QCM4Kuz3L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;HTML5＆CSS3実践入門　最新Web標準を使いこなす (The Pragmatic Programmers)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    ブライアンP.ホーガン&lt;br /&gt;
    インプレスジャパン / 2940円 ( 2011-07-08 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Thu, 19 Jan 2012 20:49:15 +0900</pubDate><category>javascript</category><category>jQuery</category><category>HTML5</category></item></channel></rss>
