サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
makimoto.hatenablog.com
rbenv あるある: rbenv shell のつもりが rbenv local と打っていて、そのカレントディレクトリ以下での実行した Ruby のバージョンが意図しないバージョンになってしまってる。~/ でやりがち。— セコン (@hotchpotch) January 5, 2014 たしかに、自分の使っている Ruby のバージョンがわからなくて辛い時が私もしばしばあるので、Ruby のバージョンをプロンプトに表示させてみることにしました。 単純に rbenv version をコニョコニョしているだけです。 rbenv_version () { if [[ "`rbenv version | grep '.rbenv/version'`" = "" ]];then if [[ "`rbenv version | grep 'RBENV_VERSION'`" = "" ]];th
先日の健康診断で「食事に気を使え、ちゃんと運動しろ」と言われたので、最近は取り敢えず走ったり歩いたりしている。 ある程度のコストをかけてちゃんとしよう (ただ、トレーナーをつけたり、ジムに通ったりはしたくない) というポリシーでやっていて、いくらかの知見がたまったので共有する。 服装 ランニング用の装備なしで長距離走ったり歩いたりすると身体を壊しやすいとのアドバイスをもらったので、もろもろの装備を整えている。 靴 靴はアディダスの adizero Mana 7 にした。 いつもはコンバースとか履いているので、ランニングシューズを履くだけで足が軽くなっていくらでも走れる気持ちになれる。(気持ちだけ) 意外と普段履きにもできていて、たまに運動しない日にも履けて使い勝手が良い。 特に靴にこだわりはないのだが、アディダスの adizero にしたのは昔 Youtube で見た動画を覚えていたからだ
土日に開発合宿に行ったので、その際に glitch(1) というのを作った。 makimoto/glitch 何これ 例によってグリッチのためのツールなのだが、 golang 製のコマンドラインツールとして作られている。 golang がインストールされている端末では、最短2個のコマンドを叩くだけでグリッチ画像が作成できる。 (とはいえ、sed s/a/b/g photo.jpg > output.jpg とかすると1コマンドでグリッチできるので、実は別段優れているわけではない) 今のところ sed glitch と repeat glitch と自分が呼んでいる手法について実装してある。 JPEG 画像だとうまく壊れるが、他のフォーマットではまだあまりまじめに確認していない。 特に何も設定しなくてもそれなりの壊れ方をするようになっているけど、オプションをいくつか渡すことでその人好みの壊れ
ActiveRecord に serialize という機能があります。 特定フィールドにオブジェクトをシリアライズして保存する機能で、デフォルトでは YAML が使われますが、 load と dump のクラスメソッドを持つクラスを指定することで、任意のフォーマットでシリアライズすることができます。 activerecord-msgpack_serializer は MessagePack を使った ActiveRecord のシリアライズを行なう機能を提供するもので、以下の様に使います。 require "activerecord/message_pack_serializer" class Post < ActiveRecord::Base serialize :meta_data, ActiveRecord::Serializers::MessagePackSerializer #
exception_notification_fluent_logger_notifier という異様に長い名前の gem を作りました。長すぎて RubyGems.org のフォーマットが崩れます。*1 インストールすることで ExceptionNotifier::FluentLoggerNotifier というクラスが生えます。 exception_notification はRack などに仕込んで例外が出たら通知を行なう gem です。 通知の方法として、メールや HipChat などいくつか組み込みの notifier があるのですが、独自の notifier を作成する方法が提供されています。 今回作った ExceptionNotifier::FluentLoggerNotifier は、例外が発生した際に fluent-logger-ruby を経由して Fluentd にデ
文化の日でしたね。 それはさておき、あまり知られていないことのようですが、 Heroku のインスタンスはデフォルトで ImageMagick がインストールされています。 なので、適切なライブラリ (たとえば Ruby だったら RMagick など) を使うことで簡単に画像をいじることができます。 さて、ある環境で ImageMagick が動くということが分かった時、我々がやるべきことはもちろん、アニメーション GIF を作ることです。 コマンドラインにおいて ImageMagick を使って GIF アニメを作る方法は簡単で、 convert という ImageMagick が専有している非常に一般的な名前のコマンドを使って以下の方法で実現できます。 $ convert foo.jpg bar.png baz.gif output.gif ImageMagick の Ruby バイ
Rubyソースコード完全解説 という本があります。 その名の通り Ruby 処理系のソースコードについて解説もので、 Ruby Hacking Guide (略して RHG) という名称でも知られています。 他に類を見ない日本語で書かれた言語処理系ソースコード解説ということで非常に貴重な本です。 さて、この本は2002年に出版され、残念ながらすでに絶版となっているこの本ですが、ありがたいことに2004年に著者の青木峰郎さんが HTML 形式で本文を公開*1されていて、今でも全文を読むことができます。 でもやっぱり Kindle で読みたいので Kindle 用の .mobi ファイルをつくることにしました。 基本的には、以下の流れで .mobi ファイルを生成します。 RHG の HTML 版のアーカイブをサポートページからダウンロードする .mobi ファイル生成のためのコマンドラインツ
先週末お台場で開催された RubyKaigi 2013 のライトニングトークセッションにて、The Pragmatic Glitch というタイトルで LT をしました。 タイトルの通りグリッチの話です。 スライドはこんな感じです。 RubyKaigi 2013 の LT は英語で発表することになっていたので非常に緊張していたのですが、数年前から関心あるトピックであるグリッチのエッセンスを発表できてよかったです。 RubyKaigi におけるグリッチといえば、2011年の日本Ruby会議2011における ucnv さんの発表である Visual Glitch, using Ruby でかなりの部分が語られているので、今回は背景的な話は割愛し、タイトルに示すように実用的 (pragmatic) で初学者でも比較的簡単にグリッチを作ることができる方法を紹介しました。 何人か、実際に試してみたと
感想 #tkrk10 クックパッドの検索を支える二人のエンジニア…一体何者なんだ…— No6 (@No6) January 13, 2013 おれにとってクックパッドの話が参考になる時代は終わった… #突然のperl死— チュッチュとはえ10歳 (@tohae) January 13, 2013
GXEB # 6「スピリチュアル × ○○」で発表してきました。
普段の生活の中でグリッチ画像を作りたいということがよくあるが、「パラメタを設定して画像をグリッチさせる→グリッチさせた画像を検証する」という作業を楽にするために簡単な zsh コマンドを作った。 function glitch(){ sed "s/$2/$3/g" $1 > glitched_$1 open glitched_$1 } ご覧の通り、sed で JPEG ファイルのバイト列を置き換えて、新しいファイルを開くだけだが、これによって PDCA サイクルを高速にまわせて質の良い画像が得られるはず。 例えば、以下のような makimoto.jpg というファイルがあるとする。 *1 この画像に対し、以下のコマンドを実行すると、次に示すような画像が生成され表示される。便利。 $ glitch makimoto.jpg x y *1:どういう画像なのかは想像にお任せします
同僚の @tadai さん @ryo_katsuma さんと、4月24日発売の WEB+DB PRESS Vol.68 に「速習 リーンスタートアップ」という記事を書きました。 その名の通り、最近邦訳が出た『リーン・スタートアップ 』についての解説記事で、リーンスタートアップの概要や理論、クックパッドにおいて実践している内容などについて15ページで紹介してます。 クックパッド独自の仮説検証のフレームワークなども紹介していて、既に原典を読んだ方にも面白い内容になっているのではないかと思います。
romaji というライブラリを書いた。 - 寿司じゃないブログ という記事を書いたのだが、テスト環境について反応があったのでもうちょい詳しく書く。 RSpec テスティングツールのデファクトスタンダード。 http://rspec.info/ に行くか、The RSpec Book を読もう。 Guard ソースコードが編集されているかを監視して、変更があった場合に自動でテストを走らせてくれる。 guard/guard · GitHub guard と guard-rspec を gem install して、以下のようなファイルを Guardfile という名前でプロジェクトのルートディレクトリに置き、 guard コマンドを走らせると、watch で指定したファイルの変更の監視してくれる。 guard 'rspec', :version => 2, :all_after_pass =
先日社内の Ruby と Rails の質問チャットに「ローマ字とカナを変換するのに良いライブラリないですか」と質問したら、「貴様の要求に足るものはない。というか貴様が作って gem で公開しろ」と言われたので (こわい) 、ライブラリを書いて romaji という名前で公開した。 gem install romaji でインストールできる。 ローマ字とカナを相互変換するライブラリは既にいくつかあったのだが、ぼくが求めていた以下の条件をすべて満たせるものがなかったので新しく作った次第。 gem として提供されている テストされている Ruby 1.8.7 と 1.9.x で問題なく動く require するだけでは既存のクラスを拡張しない Guard と Travis CI で絶えずテストを回しつづけて作った。便利な世の中になった。
Homebrew で入るものは Homebrew で入れたいので macvim.rb を参考に野良 Formula を作った。 こんな感じで (ぼくの環境では) インストールできる。 いろいろ怪しいので、適当に fork して良い感じにして欲しい。
みだりにお菓子を食べないようにするため、ぼくがオフィスのお菓子の棚から取って食べているのを見つけられたらその人に1,000円払うことにする。 ただし諸条件あり。 「お菓子の棚」は会社の福利厚生として設置されている部分のみを指し、たとえばお土産などで置かれているイレギュラーなお菓子は対象にはならない。 「お菓子を食べた」とは、棚からお菓子を取り出してその袋を開けた以降の状態を指す。お菓子を手に取ったものの、気付いて戻した場合は対象にはならない。袋を開けた場合は復旧が困難であるため、お菓子を食べた状態と同等であると解釈する。 1,000円を支払うのは、1つの案件につき最初に指摘した1名に限る。複数人が同時に指摘した場合は、指摘した人たち同士で協議の上金銭の受け取り人を決定するか、あるいは人数分で頭割りして支払うこととする。その際に発見者間に紛争が発生した場合でも、実施者 (まきもと) は関知し
便利情報です。 (順不同・随時追加) http://ton.katsuma.tv (@ryo_katsuma) http://tonkatsu.polog.org (@negipo) http://tonk.yats-data.com (@PENGUINANA_) http://ton.makimoto.org (@makimoto) http://tonkatsu.ssig33.com/ (@ssig33)
Fluentd meetup in Japan に行ってきた。 意識が高まったので、fluent-plugin-say なるものを作った。 これは Fluentd の output plugin で、 say コマンドで受け取った文字列を喋らせる便利ツールである。say コマンドなので、もちろん Mac OS X のみ対応だけど、 syslog とかを喋らせて楽しめる。 コアな部分のソースコードはこんな感じでかなり簡単。 ruby 1.9.x の環境で、 $ gem install fluent-plugin-say するとついでに fluentd もインストールしてくれるので、以下のような設定ファイルを書く。 あとは、 $ fluentd -c fluent.conf で fluentd を起動させた後、http://localhost:8888/say?json={%22message
特に思うことはなく、休暇を取って東北に旅に出ていました。 大まかな予定だけを立てて4泊5日で花巻・遠野・盛岡・八戸・十和田・青森を巡りました。 ということで、パラパラ写真を貼っていきます。 1日目:花巻鉛温泉 半日仕事したあと、そのまま東京駅から新幹線に乗って新花巻駅に行き、そこから無料送迎バスで鉛温泉の旅館まで行き、そこの湯治部に泊まりました。 湯治部というのは、温泉旅館に併設されている質素な部屋を借りて純粋に温泉を楽しむための施設とのこと。チェックインすると6畳くらいのこたつのある部屋に通されました。ご飯だけは旅館 (旅館部) のものを手配したので、小さなこたつに豪華な料理が並ぶというアンバランスな情景になってしまいました。 湯治部は自炊部とも呼ばれるそうで、ご飯を自由に作って良い炊事場や、食材などを取り扱っている売店がある。 部屋は鍵がかからず空調もなかったので、ややビビりながら温泉
この記事は deprecated です。 はてなブログのフィードバックでこの旨を連絡したら直してくれました。 今は script タグ内では自動リンク化されないようです。 http://makimoto.hatenablog.com/entry/2011/11/09/235347 本文 はてなブログ、HTML モードで色々な JavaScript が通っちゃって楽しいんですが、生で JavaScript を書く上で多少注意するべき点があります。 例えば、お行儀の良い人でしたら jQuery を使う際以下のように $() を使わずに jQuery() と明示的に記述するはずです。 <script type="text/javascript">// <![CDATA[ jQuery(function(){ jQuery('.erase-all').click(function(){ jQuer
さっきまで黙って消えるようにしてたけどそれだと他の記事が見てもらえないのでリンクをクリックしたら消えるようにしました。 ここを押すと消える。
このページを最初にブックマークしてみませんか?
『Stats of the Rivers』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く