<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Ruby / Drkcore</title><link>http://blog.kzfmix.com/Ruby</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Thu, 05 Sep 2013 21:05:20 +0919</lastBuildDate><item><title>RoRに入門している</title><link>http://blog.kzfmix.com/entry/1378382205</link><description>&lt;p&gt;先週末にコメダでFlask談義をしていた時に、&lt;a href="http://twitter.com/ando_ando_ando"&gt;@ando_ando_ando&lt;/a&gt;に浮気しているとか言われたんだけど、RedmineもFastladderもRails使ってんだからしょうがないじゃんと答えておいた。&lt;/p&gt;
&lt;p&gt;というわけで、最近Railsを学んでいる。&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/4774146633/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51%2BUj1CI5tL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Ruby on Rails 3 アプリケーションプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    山田 祥寛&lt;br /&gt;
    技術評論社 / 3675円 ( 2011-05-12 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;この本をひと通り読んだけど、もっといい本はないものか？&lt;/p&gt;
&lt;p&gt;あと同僚にPythonで書けよって言っても無視してレガシーな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/477415864X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/61sIXS13siL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Perl徹底攻略 (WEB+DB PRESS plus)&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    大沢 和宏&lt;br /&gt;
    技術評論社 / 2289円 ( 2013-07-23 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;ま、オブジェクト指向プログラミングから学ばないとあかんと思うけど、頑張って覚えるしかないよねー。&lt;/p&gt;
&lt;p&gt;あと年末に三島Haskell無名の関数の会(忘年会)やりたいっすね。最近Haskell書いてないからそろそろなんか書かないとなーって思っている。&lt;/p&gt;</description><pubDate>Thu, 05 Sep 2013 21:05:20 +0919</pubDate><category>Ruby</category></item><item><title>初めてのRubyを読みなおした</title><link>http://blog.kzfmix.com/entry/1377516143</link><description>&lt;p&gt;先日Rubyの本が届いた&lt;/p&gt;
&lt;p&gt;&lt;img alt="1377515805" src="http://www.kzfmix.com/images/blog/1377515805.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;これを機会にということで初めてのRubyを読みなおした(&lt;a href="http://blog.kzfmix.com/entry/1216195898"&gt;5年ぶりか&lt;/a&gt;)
5年も経つので改めて読んだら、言語の仕様とかふむふむなるほどーと面白く読めた&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「?」「!」は単なる命名習慣&lt;/li&gt;
&lt;li&gt;二重引用符と一重引用符はバックスラッシュの扱いがことなる&lt;/li&gt;
&lt;li&gt;シンボルオブジェクトはプロセス内で唯一&lt;/li&gt;
&lt;li&gt;privateメソッドは常にレシーバ省略形式で呼びださなければならない&lt;/li&gt;
&lt;li&gt;ブロックをオブジェクトとして渡したい場合には仮引数リストの最後に&amp;amp;で収縮された引数を置く&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/4873113679/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41gCZhFayuL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;初めてのRuby&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Yugui&lt;br /&gt;
    オライリージャパン / 2310円 ( 2008-06-26 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Mon, 26 Aug 2013 20:55:07 +0919</pubDate><category>Ruby</category></item><item><title>速いredmineは正しい</title><link>http://blog.kzfmix.com/entry/1351327370</link><description>&lt;p&gt;&lt;a href="http://forza.cocolog-nifty.com/blog/2012/10/redmineits-rxts.html"&gt;Redmineの性能を検証した事例～ITS応答性能の調査結果と対策編を読んで&lt;/a&gt;のスライドにWEB+DB PRESS Vol.70を読めと書いてあったので、&lt;/p&gt;
&lt;p&gt;おーこれは早速買わなきゃと思ってAmazon開いたら既に購入済みだった。&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/4774151904/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/61P6xCMudeL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;WEB+DB PRESS Vol.70&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    成田 一生&lt;br /&gt;
    技術評論社 / 1554円 ( 2012-08-24 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;おもいっきり読み飛ばしてたので今から読む。&lt;/p&gt;</description><pubDate>Sat, 27 Oct 2012 17:43:57 +0919</pubDate><category>Ruby</category></item><item><title>「Ruby on Rails 3 アプリケーションプログラミング」を読んだ</title><link>http://blog.kzfmix.com/entry/1351294606</link><description>&lt;p&gt;既に他のWAFを知っている場合の入門書として良いのではないかと。自分の知識をテコにして手っ取り早く知りたいことが知れるしね。僕は特に規約のあたりの知識を入れたかったので十分役に立った。&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/4774146633/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51%2BUj1CI5tL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Ruby on Rails 3 アプリケーションプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    山田 祥寛&lt;br /&gt;
    技術評論社 / 3675円 ( 2011-05-12 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;h3&gt;インストールとか&lt;/h3&gt;
&lt;p&gt;Rubyはrbenv使いたかったので&lt;a href="http://d.hatena.ne.jp/hidde/20120128/1327758334"&gt;Mac OS X(Lion)にRuby on Rails 3.2の開発環境を構築する&lt;/a&gt;を参考にした。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;brew update
brew install rbenv
brew install ruby-build
brew install readline
brew link readline
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;export PATH=&amp;quot;$HOME/.rbenv/bin:$PATH&amp;quot;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bash_profile
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;eval &amp;quot;$(rbenv init -)&amp;quot;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bash_profile
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.bash_profile
rbenv install 1.9.3-p286
rbenv global 1.9.3-p286
gem update --system
gem update rake
gem install rails --no-ri --no-rdoc
&lt;/pre&gt;&lt;/div&gt;


&lt;h3&gt;RoRのマイグレーション便利そう&lt;/h3&gt;
&lt;p&gt;migrateっていまいちよく理解せずに言われるがままに叩いてたのだけど、これはなかなか便利そう。Python(SQLAlchemy)でも同じようなものがないかなーと探したら&lt;a href="http://alembic.readthedocs.org/en/latest/"&gt;Alembic&lt;/a&gt;を見つけたので見てみる。&lt;/p&gt;
&lt;h3&gt;resources&lt;/h3&gt;
&lt;p&gt;Flaskだったら&lt;a href="http://flask-restful.readthedocs.org/en/latest/extending.html"&gt;Flask-RESTful&lt;/a&gt;使えばいいんだろうけど、formをウェブ画面に表示するときのURLで良く悩む。&lt;/p&gt;
&lt;p&gt;RoRのresourcesメソッドだと&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/books/new(.:format)で新規登録画面&lt;/li&gt;
&lt;li&gt;/books/:id/edit(.:format)で編集画面&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;って決まっているらしいので僕のFlaskアプリもこの規約に従おうっと。&lt;/p&gt;
&lt;h3&gt;その他&lt;/h3&gt;
&lt;p&gt;Rails consoleというコマンドでコンソールが起動できる&lt;/p&gt;</description><pubDate>Sat, 27 Oct 2012 08:53:06 +0919</pubDate><category>Ruby</category></item><item><title>Redmineに手を入れたくなったのでRuby on Rails 3を学んでみることにした</title><link>http://blog.kzfmix.com/entry/1351252085</link><description>&lt;p&gt;Ruby on Rails製のソフトウェアはいくつか利用しているけど、自分でつくったことはないし、コードのそれっぽいところを探して手を入れたりするくらいなので、RoRの規約とかよくわかってない。&lt;/p&gt;
&lt;p&gt;最近Redmineに手を入れたくなってきたので、ソースコードリーディングするついでにさわりくらいはRoRを学んでおこうかなと思ったので、本を読み始めた。&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/4774146633/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51%2BUj1CI5tL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Ruby on Rails 3 アプリケーションプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    山田 祥寛&lt;br /&gt;
    技術評論社 / 3675円 ( 2011-05-12 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;rubyも&lt;a href="http://rbenv.org/"&gt;rbenv&lt;/a&gt;で入れなおすのがよいのか？&lt;/p&gt;</description><pubDate>Fri, 26 Oct 2012 20:50:39 +0919</pubDate><category>Ruby</category><category>Redmine</category></item><item><title>JekyllかHydeかHakyllかはたまたObrazか</title><link>http://blog.kzfmix.com/entry/1344037023</link><description>&lt;p&gt;GitHub Pagesを管理するのに、Jekyllっぽいstatic site generatorを探している。ついでに、さくっと開発するためのボイラープレートとかTipsとかも知りたいんだけど、僕の観測範囲では見つけることができなかった。&lt;/p&gt;
&lt;p&gt;やっぱ、&lt;a href="https://github.com/mojombo/jekyll/wiki/Sites"&gt;Siteのデザイン&lt;/a&gt;眺めて、ヨサゲなサイトのデザインとかCSSとかを参考にして自分用テンプレートを作って管理するしかないのかなぁ。 &lt;/p&gt;
&lt;p&gt;twitter bootstrapは便利なんだけど、twitter bootstrap臭が消えないよね（モバイルで見やすいので気に入っているんだけど）。もう少しミニマルなtwitter bootstrapの作り方みたいなのも知りたいなぁ。&lt;/p&gt;
&lt;h3&gt;Jekyll&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://jekyllrb.com/"&gt;Jekyll&lt;/a&gt;はRuby製で日本語の情報も結構ある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://melborne.github.com/2012/05/13/first-step-of-jekyll/"&gt;30分のチュートリアルでJekyllを理解する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tokkonopapa.github.com/blog/2011/12/28/easy-usage-of-jekyll-on-github/"&gt;jekyllで作る簡単GitHub Pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mattn.kaoriya.net/software/lang/ruby/20090409185248.htm"&gt;Jekyllで始める簡単ブログ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;来月GitHubのハンズオンやるから、Jekyllってその後のハンズオンネタとしてちょうどいいんじゃないか？と思って色々調べてたんだけど、結局HTMLとかCSSにいっちゃうみたいなんで、最初の方に書いたような感じになっている。&lt;/p&gt;
&lt;h3&gt;Hyde or Obraz&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://ringce.com/hyde"&gt;Hyde&lt;/a&gt;はDjangoのテンプレートエンジンとか使っているらしいんだけど、僕はJinja派なのでちょっと避けた。&lt;/p&gt;
&lt;p&gt;最近、&lt;a href="http://obraz.pirx.ru/"&gt;Obraz&lt;/a&gt;っていうテンプレートエンジンにJinja2を使っているstatic site generatorを見つけたので、こっち使ってみようかなぁと思っている。コードも500行未満らしいので一度読んでみようっと。&lt;/p&gt;
&lt;h3&gt;Hakyll&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://jaspervdj.be/hakyll/"&gt;Haskell製のstatic site generator&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hakyll is a Haskell library for generating static sites, mostly aimed at small-to-medium sites and personal blogs. It is written in a very configurable way and uses an xmonad-like DSL for configuration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Shizudevつくる会のgithub organizationsのサイトはこれを使ってみようと思っている。なぜなら、静岡東部にはHaskellerが3人以上存在するからだ。これは人口比率から考えてもそこそこ高いのではないかと思っているがどうなんだろ？&lt;/p&gt;
&lt;p&gt;それから&lt;a href="http://blogs.wankuma.com/yaju/archive/2010/04/01/187628.aspx"&gt;「静岡県の形は世界的にも有名なプログラム言語Haskellのロゴマークである「λ（ラムダ）」に似ている&lt;/a&gt;からね。&lt;/p&gt;
&lt;p&gt;というわけで、いまはHakyllを使ってみようかなぁと考えている。誰か今度のつくる会で黙々してみませんか？&lt;/p&gt;</description><pubDate>Sat, 04 Aug 2012 09:05:04 +0919</pubDate><category>Haskell</category><category>Ruby</category><category>Python</category></item><item><title>ゲノム言語ATGC</title><link>http://blog.kzfmix.com/entry/1230452181</link><description>&lt;p&gt;プログラムとして実行できるfasta形式のプログラミング言語を作ってみた。いちおうチューリング完全(なはず)。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;HELLO_WORLD&lt;/span&gt;
&lt;span class="n"&gt;ccggaccgcg&lt;/span&gt; &lt;span class="n"&gt;gggcaccgcc&lt;/span&gt; &lt;span class="n"&gt;ggcggaccgc&lt;/span&gt; &lt;span class="n"&gt;cgccggaccg&lt;/span&gt; &lt;span class="n"&gt;cccggcgacc&lt;/span&gt; &lt;span class="n"&gt;gccgccccac&lt;/span&gt;
&lt;span class="n"&gt;cgcccgccca&lt;/span&gt; &lt;span class="n"&gt;ccgcggggga&lt;/span&gt; &lt;span class="n"&gt;ccgccgcccc&lt;/span&gt; &lt;span class="n"&gt;accgccgccg&lt;/span&gt; &lt;span class="n"&gt;gaccgccgcc&lt;/span&gt; &lt;span class="n"&gt;ggaccgccgg&lt;/span&gt;
&lt;span class="n"&gt;cgcaccgcgg&lt;/span&gt; &lt;span class="n"&gt;cgggaaccga&lt;/span&gt; &lt;span class="n"&gt;cacatccata&lt;/span&gt; &lt;span class="n"&gt;ccacagaacc&lt;/span&gt; &lt;span class="n"&gt;caaaa&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;これはatgcというコマンドで解釈して実行します。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;$ &lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;atgc&lt;/span&gt; &lt;span class="n"&gt;hello_world&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fasta&lt;/span&gt; 
&lt;span class="n"&gt;Hello&lt;/span&gt; &lt;span class="n"&gt;world&lt;/span&gt;!
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ゲノム的にGCリッチなほうがいいだろうということで0と1にg,cをそれぞれ割り当てて数字を表現するようにしてる。exitコマンドには終止コドンを割り当てようかとも思ったが、なんとなくaaaにしてみた(polyA)。&lt;/p&gt;
&lt;p&gt;しかも（というか当たり前だけど）&lt;a href="http://blast.ncbi.nlm.nih.gov/Blast.cgi"&gt;blastでホモロジーサーチがかけられる&lt;/a&gt;し、multifastaにしておけばソース管理もできるうえに、データベース化してインデックスはっておけば、NCBIのツール群でコマンド一発で取り出せる。&lt;/p&gt;
&lt;p&gt;ただ今回作ったHELLO_WORLDの配列はblastnだといい感じにヒットしなくて悲しかったので、blastxかけたらブラックコットンウッドからなんかひっかかった。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;gb&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;ABK94795&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;1&lt;span class="o"&gt;|&lt;/span&gt;  &lt;span class="n"&gt;unknown&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Populus&lt;/span&gt; &lt;span class="n"&gt;trichocarpa&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;Length&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;229

 &lt;span class="n"&gt;Score&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; 33&lt;span class="p"&gt;.&lt;/span&gt;5 &lt;span class="n"&gt;bits&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;75&lt;span class="p"&gt;),&lt;/span&gt;  &lt;span class="n"&gt;Expect&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; 5&lt;span class="p"&gt;.&lt;/span&gt;9
 &lt;span class="n"&gt;Identities&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; 14&lt;span class="o"&gt;/&lt;/span&gt;21 &lt;span class="p"&gt;(&lt;/span&gt;66&lt;span class="c"&gt;%), Positives = 15/21 (71%), Gaps = 0/21 (0%)&lt;/span&gt;
 &lt;span class="n"&gt;Frame&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;1

&lt;span class="n"&gt;Query&lt;/span&gt;  100  &lt;span class="n"&gt;GPPPDRRRTAAGTDTSIPQNP&lt;/span&gt;  162
            &lt;span class="n"&gt;GPPPDRRRT&lt;/span&gt;  &lt;span class="n"&gt;GT&lt;/span&gt;  &lt;span class="n"&gt;S&lt;/span&gt; &lt;span class="n"&gt;P&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;
&lt;span class="n"&gt;Sbjct&lt;/span&gt;  209  &lt;span class="n"&gt;GPPPDRRRTRQGTTKSEPASP&lt;/span&gt;  22
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;VMとかは特にいじってないのでEsotericの本を参照のこと。&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/4839927847/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41vb2HHFNJL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    原 悠&lt;br /&gt;
    毎日コミュニケーションズ / ?円 ( 2008-12-20 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;VMを使った中間言語方式の強力さを理解した。&lt;/p&gt;
&lt;h3&gt;追記 2012.07.31&lt;/h3&gt;
&lt;p&gt;ソースを&lt;a href="https://github.com/kzfm/ATGC"&gt;GitHub&lt;/a&gt;に移した&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;./bin/atgc examples/shizuoka.fasta

                                                  **
                                                 **
                                              ****
                                              ******
                                              ******
                                            ********
                                              ****                  ******
                                            ********              ******      ************
                                          ********              **************************
                                     ****************            **********************
                              **********************        **********************
                          **************************      ************************
                        **************************          **********************
                        **********************************************************
                    ******************************************   ******************
                  ****************************************                ************
                  **************************************                ****************
                ************************************                    ****************
              **************************************               ********************
           **************************************                ************************
        ************************************                      ************************
        **************************************                    **********************
  ******************************************                    ********************
************************************************                  ********************
****      ********************************                        ********************
****     **************** **************                              ****************
**************************************                              **************
                 ****************************                                ******
                                          **********
&lt;/pre&gt;&lt;/div&gt;</description><pubDate>Tue, 31 Jul 2012 20:41:29 +0919</pubDate><category>bioinformatics</category><category>Ruby</category></item><item><title>Rubyスクリプティングテクニック</title><link>http://blog.kzfmix.com/entry/1335999436</link><description>&lt;p&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/4873113563/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41P4GL5v1aL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Brian Marick&lt;br /&gt;
    オライリー・ジャパン / 2625円 ( 2008-02-23 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;例題やりたかったら、テスト駆動JavascriptかPython Testingがいいと思う。&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;
    アスキー・メディアワークス / ?円 ( 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;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/1847198848/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41izoWan1zL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Python Testing: Beginner's Guide&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Daniel Arbuckle&lt;br /&gt;
    Packt Publishing / 3220円 ( 2010-01-31 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Sat, 02 Jun 2012 17:37:40 +0919</pubDate><category>Ruby</category></item><item><title>Rubyスクリプティングテクニック</title><link>http://blog.kzfmix.com/entry/1334054838</link><description>&lt;p&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/4873113563/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41P4GL5v1aL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Brian Marick&lt;br /&gt;
    オライリー・ジャパン / 2625円 ( 2008-02-23 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;テストファーストっていうところに興味がわいた。Rubyが物足りなければCoffeeScriptでかきなおすのも面白いかなぁと&lt;/p&gt;</description><pubDate>Tue, 10 Apr 2012 19:47:34 +0919</pubDate><category>Ruby</category></item><item><title>RubyのgsubをCoffeeScriptで</title><link>http://blog.kzfmix.com/entry/1330210543</link><description>&lt;p&gt;Rubyのgsubはblockを受け取ってマッチするたびにブロック内の処理内容を変えられるので便利。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;irb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;&lt;span class="mo"&gt;002&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&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="n"&gt;irb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;&lt;span class="mo"&gt;003&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;a-a-a-a&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/a/&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="n"&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="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;1-2-3-4&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Node.jsでも同じようなことがやりたかったので&lt;a href="http://flochip.com/2011/09/06/rubys-string-gsub-in-javascript/"&gt;Ruby's String gsub in Javascript&lt;/a&gt;をちょっと変更して配列を受け取れるようにしてみた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;gsub = &lt;/span&gt;&lt;span class="nf"&gt;(source, pattern, replacements) -&amp;gt;&lt;/span&gt;
  &lt;span class="nx"&gt;unless&lt;/span&gt; &lt;span class="nx"&gt;pattern&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="o"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;replacements&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;source&lt;/span&gt;

  &lt;span class="nv"&gt;result = &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;
  &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&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="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;match = &lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pattern&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
      &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;replacements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;shift&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="nv"&gt;source = &lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;source&lt;/span&gt;
      &lt;span class="nv"&gt;source = &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;
   &lt;span class="nx"&gt;result&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="nx"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;a-a-a-a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sr"&gt;/a/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&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;/pre&gt;&lt;/div&gt;</description><pubDate>Sun, 26 Feb 2012 08:01:33 +0919</pubDate><category>Ruby</category><category>coffeescript</category><category>Node.js</category></item></channel></rss>