@kyanny's blog

My thoughts, my life. Views/opinions are my own.

2012-01-01から1年間の記事一覧

Submitted sprk2012-cfp [accepted]

Pull Request #46: Add my proposal: Inside 30days Album - Fighting against legacy Rails by kyanny · sprk2012/sprk2012-cfp · GitHub札幌Ruby会議2012の Call for Proposals に応募しました。Sqaleではなく 30days Album の話です。レガシーな Rails ア…

Sqale (closed beta) launched

ペパボの新しいホスティングサービス【Sqale】が始まりました。 Rack が動く PaaS です。ここ数カ月はこれにかかりっきりでした。 Sqale 自身も Ruby on Rails でつくられています。ウェブアプリケーション以外の部分も含め、僕らが書いたコードは上から下ま…

Qiita に Ruby プログラミングの Tips を二つ投稿しました

ブロック付きメソッドで with-* マクロっぽい構文をつくる #Ruby - Qiita http://qiita.com/items/a0d1e8610a7fc090afcf後始末用のコードの実行を ensure 節で保証する #Ruby - Qiita http://qiita.com/items/4e78d900f13b027c347f

「あとで捨てることになるコードのテスト」について

同僚とこんな話をした。例えば「キャンペーンサイトとプレゼント応募フォーム」のような、一時的にしか使わないことがわかっているコードに対するテストをどの程度書けば良いのか?納期は迫っていて、他にもっと優先度の高い仕事もあるとする。最低限 200 が…

MixIn に強い Webistrano Recipe の書き方

という技術記事を Qiita に投稿しました。 Webistrano を使っている方にオススメです。ぜひご覧ください。MixIn に強い Webistrano Recipe の書き方 #webistrano #capistrano - Qiitaこの記事は Kobito で書きました。 Markdown 記法で書いてリアルタイムプ…

Rake の task に対する spec の書き方

rake-confirm という gem を作ってもらったのでさっそく使ってみたところ、 db:rollback と db:fixtures:load も production 環境でのうっかり実行を防ぎたかったので Pull Request を送った。テストのない Pull Request は reject されそうだなあと思ったの…

パスワードで保護された redis でも resque-web を使う

こうすればよいです。 Pull Request もした

オレオレ Git サブコマンドを作る

今日同僚と「git copy ってないの?」「ないすよ」という話をして、そういえば svn のころの癖でつい git help copy などと探してしまうし、別にあっても害はないかなと思って git-copy を作ってみた。https://github.com/kyanny/git-copyなんのことはない、…

bundle のなかで bundle する

Bundler.with_clean_env と bundle install --gemfile について追記しましたbundle exec した環境下でさらに bundle exec したいことがある。 bundle exec rake resque:work で起動した Resque ワーカーのなかで system("bundle exec rake spec") のような外…

ウェブオペレーションを読んだ

発売から遅れること一年、ようやくウェブオペレーションを読んだ。この本はウェブサイトの運用にまつわるさまざまなトピックを扱ったエッセイ集だが、アプリケーションプログラマにとっても得るものが多い。キャパシティプランニングや監視など、普段の仕事…

oh-my-zsh の bash 版を標榜する Bash it を試す

oh-my-zsh という、 zsh 向けの便利な拡張機能をまとめたフレームワークがある。 bash 愛好家としては zsh コミュニティの盛り上がりを悔しいような羨ましいような複雑な気持ちで遠巻きに眺めていたのだけど、 dotfiles.github.com 経由で Bash it という ba…

The Art of Readable Code の翻訳レビューに参加しました

The Art of Readable Code の日本語訳がこの夏に発売されます。翻訳は「メタプログラミングRuby」や「ウェブオペレーション」でおなじみの 角 征典 (@kdmsnr) さんです。自分のブログに The Art of Readable Code の感想を書いていたことがきっかけで、翻訳…

シニアエンジニアになりました

今年から始まったペパボの新しい人事評価制度で、技術者 (エンジニア) にはシニアエンジニア・アドバンスドシニアエンジニアといういわゆるスペシャリスト枠ができたのですが、最初の評価プロセスが終了したこの四月から、シニアエンジニアとして働いていま…

apache 1.3.42 をビルドすると htpasswd.c:101: error: conflicting types for 'getline' というエラーが出る

apache 1.3.42 をビルドすると htpasswd.c:101: error: conflicting types for 'getline' というエラーが出る場合は glibc の stdio ライブラリの getline 関数と競合しているので、このパッチを当てるか、該当箇所を置き換えてやれば良い。make 時のエラー…

mosh-1.1.3-1.el6.x86_64.rpm

mosh を試した。ソースから入れたくないなーと思ったので RPM をビルドして入れましょう。RPM をビルドしたことがないひとは いまさら聞けないrpmbuildことはじめ - blog.tnmt.info という良いまとめがあるのでこれをみてビルド用パッケージを導入したりコマ…

Concurrency vs. Parallelism

Ruby, Concurrency, and You | Engine Yard Blog というブログポストの URL が今日になってメールで送られてきたので読んだ。各種 Ruby 実装において concurrency と parallelism への対応がどのようになっているかをまとめた記事で、それについてはリンク先…

Kindle Personal Documents を Kindle Library から一括削除するブックマークレット

Kindle には Personal Documents という、任意のファイルを Kindle デバイスに同期させるとても便利な機能がある。 @free.kindle.com なメールアドレスに添付して送るだけで Kindle デバイスがオンラインになったタイミングで自動ダウンロードしてくれるし、…

Emacs 実践入門を読んだ

「Emacs 実践入門」を読み終わった。技術評論社の池田様より献本をいただきました。ありがとうございました。楽しく読めました。この本は実に実践的だ。著者は Emacs を使い始めて四年ほどらしい。その倍ほど Emacs を使ってきたぼくだが、本書を読んでいて…

Working with UNIX Processes を読んだ

Working With Unix Processes という本を読んだ。 Thin の作者からの「時期バージョンを作るとき参考にする」というメッセージ*1が添えられていたのに惹かれて買った。著者のサイトで直販しているが、 Kindle Store からも購入できる。この本は一言でいうと…

ペパボの社内勉強会で Fixture Replacement について発表しました

ペパボ社内の RSpec 勉強会で Fixture Replacement について発表しました。実際は RSpec に限らずテストに関する話題を幅広く扱う勉強会でしたが。社外に公開しても差し支えない内容なのでスライドを公開します。話す内容を補うために用意したスライドなので…

Homebrew に (ささやかながら) 貢献するには

Homebrew は GitHub 上で開発が進められているので、新しい Formula を追加するとか既存の Formula を改良するとかして upstream に取り込んでもらいたい場合も当然 GitHub を使います。 Formula Cookbook というページに詳しく作法が書いてあるのだけど長い…

Elixir で FizzBuzz

近頃 話題に なっている Elixir で FizzBuzz を書いてみました。_fizzbuzz は不要だけどまぁ、関数も引数のパターンマッチで?同名のものを複数定義できる点は Erlang にあって Ruby にない部分だったよなーと思ったので。公式のチュートリアルがなかなかよ…

APIs: A Strategy Guide を読んだ

APIs: A Strategy Guide を読んだ。この本は API の設計や実装に関する本ではない。もっと大局的な、 API を取り巻くエコシステム全体のあり方を論じる本だった。要するに、開発者視点では得るものが少なかった。とはいえ一ヶ月半近くかけて主に通勤中に、最…

omniauth-loctouch と nonopaste-cli を rubygems.org で公開しました

OmniAuth のロケタッチ用ストラテジーである omniauth-loctouch と NoNoPaste 用のコマンドラインインターフェースである nonopaste-cli を rubygems.org で公開しました。 https://rubygems.org/gems/omniauth-loctouch https://rubygems.org/gems/nonopast…

highscalability.com の Tumblr のアーキテクチャについての記事を読んだ

High Scalability - High Scalability - Tumblr Architecture - 15 Billion Page Views a Month and Harder to Scale than Twitter を読んだ。すごく面白かった。 Kindle で引用したところを中心にメモ。 Tumblr のソーシャルグラフの特徴 The graph for Tum…

渋谷.rb[:20120215] で Ramaze と Sequel について発表しました

渋谷.rb[:20120215] で Ramaze と Sequel について発表しました。ありがとうございました。http://speakerdeck.com/u/kyanny/p/shibuya-rb-20120215-ramaze-sequel まとめだけ書くと、 Ramaze は覚えることが少ない・全容を把握しやすいのがよい Sequel は d…

おれがはてなブログPro初日に1年コースを契約した理由

http://b.hatena.ne.jp/entry/staff.hatenablog.com/entry/2012/02/13/172342はてなブログProに対して「高い」とか「競合に比べて機能が少なすぎる」とか「腕に覚えがあるエンジニアならさくらのVPSで全部自力で作れてしまう」とか、肯定的ではないコメント…

ブログのドメインを変更しました

はてなブログProがはじまりましたね。ということで、ブログを独自ドメインに変更してみました。知人で hatenablog.jp を使うひとが思いのほか少なくて、ちょっと失敗したなぁと思っていたところなので、 URL が変わってしまうことを気にしなかったわけではな…

GitHub の Notification を Android で受け取る

Notify My Android というサービスに登録する (無料です) NMA の Android アプリをインストールしてログインする (有料です) ウェブブラウザから NMA の管理画面にログインして API キーを発行する (My Account -> Manage my API keys) apikey@nmamail.net …

fluentd のソースを読む (1)

fluentd のソースを読み始めました。単なる趣味です。経緯: fluentd の exec buffered output plugin を試してみたらflush_interval を短くしても USR1 シグナルを送ってもバッファが flush されず command が実行されなくて悩んでいたらTimeSlicedOutput は…