74件のRuby関連ブログ記事
僕はこの一年間でこの記事を含め全部で77件のブログ記事を書いた。そしてそのうちRubyに関係のない記事は以下の3件のみだった。
残りの74件はすべてRubyに関連する記事だ。「Ruby愛どんだけw」という声が聞こえてくる。しかし僕はRubyを愛しているわけではない。Matzを愛してるわけでもない(キリッ1。「自分の表現の手段として僕はRuby
しか持ち合わせていない」、というのが僕の意識だ。日本人としての日本語のような存在、それが僕にとってのRubyだ(流暢に使えるという意味ではない)。こう言うと「なんだ言語は単なる道具か」と言う人がいるが、言語は思考の一部なのだ。コードを書き始めるとそこにコードの種となる思考が生まれる2。文章もそうだよね?つまりそれは自分の一部といっていい。僕にとってRubyはそういう存在である。
さて、hatebu_entryを使って、今年の人気記事を並べてみよう。
% hatebu_entry merge $BLOG_URL $BLOG_URL2 | grep 2013
ギットハブの事情によりこのブログのURLが途中で変わってしまったので、2つのURLをマージして2013年ものだけを抜き出す。結果は次の通りだ(数字は総はてブ数)。
ステマ記事が1位!スマン。
まあ、今年も結構書いたなあという印象だが、これも読んでくれるブクマしてくれるツイートしてくれる人たちがいるからだ。感謝です。自分のお気に入りの記事はやっぱり「Rubyのcaseを〇〇(言語名)…」だな。
5冊のRuby関連電子書籍
M’ELBORNE BOOKSにおいて以下の5冊のRuby関連電子書籍を出版した。
電子書籍「Rubyチュートリアル ~英文小説の最頻出ワードを見つけよう!」EPUB/MOBI版
電子書籍「知って得する!55のRubyのトリビアな記法」EPUB/MOBI版
電子書籍「30分のチュートリアルでJekyllを理解する」EPUB/MOBI版
ここにもしっかりリンク貼る。
5冊といってもJekyllは改訂版で最後のはパッケージ版なので実質3冊だ。しかも全部過去ネタ…。まあ去年の暮にmaliq作った勢いで始めたプロジェクトだからねぇ。
売れ行きだが、毎月ちょろちょろとは買ってくれる人たちがいて、先日のステマ乙記事でちょっと跳ねた。もちろんビジネスというには程遠いが僕のkindle paperwhiteや電子書籍購入の原資にはなっている。兎に角、中途半端なRuby使いの書いたタダで読める信頼ならないコンテンツにお金を払う、僕はそういう人たちの心意気に感謝せずにはいられない。ありがとう!良かったら、もう一冊買ってね。
9個のRubygems
今年は8個の新しい宝石(Gem)を作った。
date | gem |
---|---|
1/14 | yampla |
1/29 | flippy |
10/15 | money_exchange |
10/16 | hatebu_entry |
10/28 | dir_friend |
11/10 | ctoD |
11/18 | itunes_track |
12/12 | sinatra_websocket_template |
これで僕の作ったGemは全部で13個になった([my gems](https://rubygems.org/profiles/melborne ‘’))。まあ小石ばかりだが。10月に入ってから「兎に角作ったものはGemの形で残そう」ということで数が増えた。僕にとって今年は「Gemの年」と言っていい。
各Gemの解説記事を貼っておこう。
Yampla
YamplaはYAMLファイルからLiquidで書かれたテンプレートに基いてXMLのようなファイルを出力するツールだ。商品リストのような頁を作るために使う。これはM’ELBORNE BOOKSの頁を用意するために作った。
Flippy
FlippyはᏗəʇʇɪʍʇ
のような上下反転文字を生成するツールだ。Terminalの出力を完全に反転するconsoleという機能も作った。縦書きツイートする機能も作った。Termtter用のpluginも書いた。縦ついについてはEarthquake.gem用のpluginを@no6vさんが書いてくれて、このときのTwitterでのやりとりがよかった。勉強になった。
Colorable
Colorableは去年作ったツールだが、今年大幅に機能を強化したので一応ここに上げておく。Gvizで色を簡単に扱えるようにしたかったから作った。色変換、色合成、色の環状リストの生成が簡単にできる。
MoneyExchange
MoneyExchangeはGoogle Currency APIを使ってターミナルで簡単に通貨換算するためのツールだ。でも、いま試したら動かない..。Google Currency APIは非公式のものだったからこれが使えなくなったのかもしれない。まあ作ったのはmethod_missing使いたかっただけという話もある。
HatebuEntry
HatebuEntryは渡されたURLのはてブ数をターミナルで出力するツールだ。上で見たようにこのブログのように途中でURLが変わってしまったサイトのはてブ数をマージする機能がある。
DirFriend
DirFriendはファイル・ディレクトリをGrahphvizを使ってビジュアライズするためのツールだ。Gvizでディレクトリを視覚化しようとしたら結構手間が掛かることがわかったので作った。Graphvizを自動でopenする機能ができないと泣きを入れていたら、@rosylillyさんが助けてくれたのがよかった。configファイルで予め出力スタイルを設定できるようにもした。
CtoD
CtoDはCSVデータからデータベーステーブルを生成するツールだ。奥さんの韓ドラ視聴EXCELデータをWebアプリ化するために作った。実は密かに「パーフェクトRuby」のすがまさおさんのチュートリアルをかなり参考にしている。テストを一行も書いていなかったところ@twitt__さんが書いてくれたのがよかった。
ItunesTrack
ItunesTrackはrb-appscriptを使って、音楽ライブラリをCSV化するツールだ。CtoDと組合せて自分の音楽ライブラリをブラウザ上で眺めて見るために作った。
SinatraWebsocketTemplate
SinatraWebsocketTemplateはWebSocketアプリのひな形を簡単に作れるようにするために作った。後に書くOtoTweというWebアプリとかを作ったときに、無駄に反復作業が多いと思ったので作った。
以上だが、これらのGemを作るに際し今年は「Thor」の使い方を学んだのがよかった。Thorを使うとサブコマンド付きCLIツールのインタフェースが簡単にできる。SinatraWebsocketTemplateでテンプレートを生成するのにも大いに使っている。
2個のRuby製Webアプリ
2個のRuby製Webアプリを作った。まあいずれも簡単なデモアプリだが。
OtoTwe
OtoTweは、Twitterで#ototweタグを付けてつぶやくと音が出るというサイトだ。音はサイトを開いている人全員にブロードキャストされる。さっちゃん(@ne_sachirou)に誘われて参加することになった、FuniSaya Advent Calendar 2013 - Adventarに併せて作った。最初WebSocketを使うつもりだったが、後に”Server-Sent Events”という技術があるのを知ってこれを使ってみた(Userカウンタの更新に激しい遅延があるのはそのため)。HTML5 Web Audioに触れたのがよかった。
ただサイトとしては今ひとつ盛り上がれなかったのが残念だった。リアルタイムWebの難しさを垣間見た。いまでも生きているのでサイトを開いて、’hello #ototwe #C3’などとつぶやいてみてほしい。待ってるから。
Typewr
Typewrは、タイプライターのようなチャットシステムだ。なんのことやらだが、これもWebSocketを使っているので一人のタイプが全員にブロードキャストされる。各人の文字は一応色分けで区別できる。
個人的には気に入ってるんだが、みんなシャイなのでちょっとタイプして直ぐ去ってしまうのが残念だ。今でも生きているので、遊びに来てほしい。vimperatorとかをOFFにして。待ってるから。できればSafariがいい。ChromeはBackSpaceが効かないようだ。
まとめ
そんなわけで、この1年の成果というか活動を振り返ってみた。来年はどういう年になるかな。来年もよろしく!
blog comments powered by Disqus