タグ

ブックマーク / blog.mirakui.com (19)

  • クックパッドを退職しました - 昼メシ物語

    2024年1月末まで在籍していますが昨年12月に業務は終えていて、いまは有休消化期間中です。2010年から約14年間勤めてきた、自分の生き様そのものとも言えるクックパッドを離れるのには、表現しきれないほど大きく、複雑な思いがあります。 僕がこの14年間でやってきたことを振り返ってみます。 入社 クックパッドに入社した時は新卒3年目相当で、26歳でした。もともと料理Ruby が好きで、当時まだ珍しかった Ruby on Rails でサービス開発をしているらしいという点や、当時からネットウォッチしていた @ryo_katsuma さんが所属していること、直属の上司の井原さんが転職したことが決め手になり、体当たりで飛び込みました。当時の僕はほとんど実績もなく、入れてもらえるかギリギリのところだったと思いますが、おそらく井原さんが頑張って交渉してくれたのだと思います。当に感謝しています。こ

    クックパッドを退職しました - 昼メシ物語
    InoHiro
    InoHiro 2024/01/27
    お疲れ様でした!
  • 開発合宿をする際の知見 - 昼メシ物語

    数年前から身内で時々集まって開発合宿をしていて、成功失敗あわせて知見が貯まってきたので備忘録として記事にしておきます。 なお、ここで開発合宿と言っているのは1,2部屋に1泊して済ませるような規模のもので、ホワイトボードでブレストしまくりといったものではなくて淡々とみんなでパソコンするみたいなものを想定しています。 宿選び あえてオススメの宿リストみたいなのは書きません。なぜなら開発合宿向けの宿まとめみたいな記事を真に受けて失敗したことがあるので、そのようなリソースをインターネットに増やしたくない。 開発合宿で有名な某旅館は、割安ではあるが無線LANが弱すぎ、温泉はぬるすぎ、メシもいまいちという品質なのに、開発合宿に選ばれがちである。○○旅館に行ってきましたという開発合宿レポートをみんながブログに書くから検索にヒットしてみんなそこに行くみたいになってて、負の連鎖が起こってる。 無線LANより

    開発合宿をする際の知見 - 昼メシ物語
    InoHiro
    InoHiro 2014/05/19
  • 今さら聞けない Immutable Infrastructure - 昼メシ物語

    Immutable (不変な) Infrastructure は、サーバを一度セットアップしたら二度と変更を加えないという運用スタイルのことを指します。 クラウド環境では、必要に応じてすぐにサーバを用意し、不要になったら簡単に破棄することができます。Immutable Infrastructure は、このようなクラウドの特性を活かす運用スタイルとして、注目されつつあります。 背景 Immutable Infrastructure が提唱された背景にある技術として、 Auto Scaling や Blue-Green Deployment*1 などがあります。 Auto Scaling Auto Scaling は、負荷に応じて自動的にサーバ台数を増減させる技術で、 AWS では標準で提供されています。常に必要な台数だけ起動していればいいので、コスト削減になるというものです。 Auto S

    今さら聞けない Immutable Infrastructure - 昼メシ物語
    InoHiro
    InoHiro 2013/11/27
  • AWS re:Invent と Immutable Infrastructure - 昼メシ物語

    先日 Las Vegas で開催された AWS re:Invent 2013 に参加してきました。 非常に活気あふれる大規模なカンファレンスで、大変刺激を受けました。 今日は、いま何かと話題になっている Immutable Infrastructure に関連した発表を2つ紹介します。 Stop Worrying about Prodweb001 and Start Loving i-98fb9856 slideshare: Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:Invent 2013 AWS の Chris Munns 氏による発表です。タイトルからして面白いですね。エモいです。 この発表は以前から目をつけていたんですが、スケジュールの都合で出られず、残念でした。こうしてス

    AWS re:Invent と Immutable Infrastructure - 昼メシ物語
    InoHiro
    InoHiro 2013/11/21
  • スピリチュアルエンジニアリング入門 - 昼メシ物語

    先日 hack05 というイベントで LT をしたので、そのときの資料をまとめておきます。 スピリチュアル エンジニアリングとは システム開発・運用にスピリチュアル要素を取り入れることでシステム安定化を目指します。 皆さんご存知の通り、人間の技術力には限界があり、予測不能な事故(バグ)はまさに、神の領域といえます。 そこで「ジンクス」「縁起かつぎ」「妖精さん」などの力を借りることで、人間の手ではどうしようもない事態を回避するというのがこのスピリチュアルエンジニアリングです。 スピリチュアルエンジニアリングの基原理 スピリチュアルエンジニアリングの基は「祈り」にあります。「絶対に動く」という祈りの強さがよりよいコードをもたらします。 スピリチュアルはすべてのエンジニアの身近に! 以下に当てはまる人がいたら、あなたも立派なスピリチュアルエンジニア! コーディング中に神が降りてきたと思う瞬間

    スピリチュアルエンジニアリング入門 - 昼メシ物語
    InoHiro
    InoHiro 2013/07/09
  • 「全自動パラメータチューニングさん」は何であって何でないのか - 昼メシ物語

    発表資料: 全自動パラメータチューニングさん // Speaker Deck ソースコード: https://github.com/mirakui/tuningsan これは何なのか ハッカソンイベント「Open Hack Day Japan」にて、24時間の制限の中で開発し、90秒でプレゼンテーションした作品です 2013/2/16〜2/18 にかけてヤフー株式会社で開催された、「Open Hack Day Japan」という大規模ハッカッソンイベントで開発しました。 上記のプレゼンテーションは発表で使用したものです。 Open Hack Day Japan - Yahoo! JAPAN 作品は、全参加作品の中で唯一のコマンドラインツールであり非常に地味でしたが、ありがたいことに KLab賞をいただくことができました。どうもありがとうございます。 指定した1パラメータの自動調整によって

    「全自動パラメータチューニングさん」は何であって何でないのか - 昼メシ物語
    InoHiro
    InoHiro 2013/02/20
  • Rails3.2からログの行が他プロセスのものと混ざるようになった件について - 昼メシ物語

    Rails 3.2.0 から、マルチプロセス環境下(Unicornなど)では、 Rails.logger によるロギングが、以下のように複数のリクエスト同士で「混ざる」ようになってしまいました。 Started GET "/search?q=blip" for 0.0.0.0 at 2012-03-12 02:20:18 -0700 Processing by SiteController#search as / Parameters: {"q"=>"blip"} Started GET "/search?q=2bxen" for 0.0.0.0 at 2012-03-12 02:20:20 -0700 Processing by SiteController#search as / Parameters: {"q"=>"2bxen"} Rendered site/foo.html.erb

    Rails3.2からログの行が他プロセスのものと混ざるようになった件について - 昼メシ物語
  • 昼メシ物語

    スポーツバイク自体はもともと2010年からSurly Steamrollerというクロモリのピストバイクを乗っていて、これは今もメンテをしながら乗り続けてる。 blog.mirakui.com これとは別に、2021年に一人旅をしたいと思い立って、前からやってみたかった輪行をするためにCannondaleのSupersix Evo (normal mod, Disc, Ultegra Di2, 2021)というカーボンのロードバイクを買った。ピストバイクはその仕組み上、クイックリリースがなく車軸をボルトでしっかり締めて乗るのでホイールを取り外しにくく、また固定ギアであるため体力消耗が激しいので輪行にはあまり向いていないのであった。Supersix Evoは軽く、なにより見た目が洗練されている。ブレーキや変速のためのケーブルがハンドルやフレームに内装されているため、ケーブルの類いが見えない。

    昼メシ物語
  • Passenger 4.0 beta1 の新機能解説 - 昼メシ物語

    先日、 Phusion Passenger 4.0 beta 1 が公開されました。 近年は Passenger に代わり Nginx + unicorn の構成が Rails の業界標準になりつつありますが、Passenger 4 は大きく進化したようなので、そのアップデート内容を紹介します。 なお、この記事は 10/24 に公開された Phusion 公式ブログの記事「Phusion Passenger 4.0 beta 1 is here – Phusion Corporate Blog」を要訳したものです。説明をところどころ省いているので、詳しくは原文を参照してください。 What's new? 複数のRubyバージョンのサポート 1サーバで複数のアプリケーションをホストしている場合、アプリケーション毎に違うRubyインタプリタを指定できるようになりました。 イベント駆動 I/O

    Passenger 4.0 beta1 の新機能解説 - 昼メシ物語
  • gem管理の新標準ツール"Bundler"のTips - 昼メシ物語

    Bundlerは、rubygemsのラッパーです。Rails3のgem管理に採用されています。 Bundlerを使うことで、 このgem、手元にはインストールされているのに、番環境にインストールされてない! 開発環境にgemを入れまくったら、プロジェクトにどのgemが必要なのか分からなくなった! みたいな問題を解決できます。 詳しくは公式サイトをご覧ください。 今日はそんなBundlerについて色々分かってきたので、Tipsをいくつか紹介したいと思います。 前提知識 この記事は、このへんが理解出来ていることが前提です。 Bundler: The best way to manage Ruby applications Rubygems に /usr/bin を触らせないためには gem をユーザーディレクトリで運用する++ - きたももんががきたん。 Bundlerは1.0系以降を使おう

    gem管理の新標準ツール"Bundler"のTips - 昼メシ物語
  • #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語

    Rubyist達の夏フェスであるところのRubyKaigiが今年も開催され、猛暑の練馬が大いに盛り上がりました。今回が最後の開催とのことで、関係者各位は素晴らしい会議を当にどうもありがとうございました。 さて、今年のRubyKaigi2011での各セッションで紹介されたgemのうち、気になったものをピックアップしてみました。 1. fakeweb fakewebは、指定したURLのHTTPレスポンスを偽装する、テスト用のライブラリ。外部サービスと連携するプログラムのテストを書くにはとても便利ですね。 Engine YardのAndy Delcambre氏による「Toggleable Mocks and Testing Strategies in a Service Oriented Architecture」という発表で紹介されました。 以下、サンプルコードです。(READMEより) F

    #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語
  • 私がクックパッドの画像配信野郎です - 昼メシ物語

    一年ほど前にヤフーを退職した私ですが、その後なにをやっているかというと、クックパッドに入社して画像配信をしています。私が入社する前から動いていた画像配信の仕組みは設計が古くてなにかと困っていたので、より良いシステムを開発してリプレースというのをやっています。前職ではなかなかこういう基盤システムを一人でイチから作って運用までするという体験はできなかったので、でかい仕事をできるチャンスに恵まれて大変充実した毎日です。 入社当初はサービス開発の担当だったんですが、開発に必要な基盤システムを作り始めたらどんどんエンジニアリングのレイヤーが下がってきて、気づけばインフラチームに所属していました。 まあそんな話はさておき、この画像配信関連の成果をいくつかの勉強会で発表したので、その資料を紹介します。 サイバーエージェントxクックパッド合同勉強会(amepad) 弊社オフィスで開催された、サイバーエージ

    私がクックパッドの画像配信野郎です - 昼メシ物語
  • 「※この発言は個人の見解であり、所属する組織の公式見解ではありません」をリリースしました - 昼メシ物語

    http://この発言は個人の見解であり.所属する組織の公式見解ではありません.tsuyabu.in/ 「※この発言は個人の見解であり、所属する組織の公式見解ではありません」は、発言専用のTwitterクライアントです。これを使って発言すると、その発言があくまで個人の見解であることを主張することができます。 使い方は簡単で、発言を140文字以内で入力し、「Tweet」をクリックするだけです。すると、以下のように、その発言が個人の見解に過ぎないことが明示されます。 技術的な説明 ただ Twitter Anywhere を html に貼りつけただけです。 まず、Anywhere アプリケーションをこちらから登録します。 https://dev.twitter.com/anywhere/apps/new この時に指定するアプリケーション名を「※この発言は〜」にしたというだけの話です。このアプリ

    「※この発言は個人の見解であり、所属する組織の公式見解ではありません」をリリースしました - 昼メシ物語
  • 本当は速いImageMagick: サムネイル画像生成を10倍速くする方法 - 昼メシ物語

    一般的に ImageMagick のサムネイル画像生成は遅いとされており、パフォーマンスが求められるシーンでは Imlib2 などのより高速な画像処理ライブラリが使われることが多いです。 Imlib2 の高速さについては、以前「Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 床のトルストイ、ゲイとするとのこと」という記事で紹介しました。この記事のベンチマークにおいて、Imlib2 によるサムネイル画像の生成は、 ImageMagick の3倍程高速でした。 しかし、 ImageMagick は Imlib2 より画質がよく、高機能で使いやすく、今も頻繁にメンテナンスされており、とてもよく出来ています。その点 Imlib2 は、2004年からメンテナンスされておらず、セキュリティホールが見つかっても、各Linuxディストリビューションがそれぞれパッチを当て

  • query_trace: SQLが発行されたファイルと行番号を調べる - 昼メシ物語

    Railsで、ActiveRecordがSQLのログを吐いてくれるんですが、これだとどのクエリがどこから呼ばれたのか分からなくて、デバッグがしにくい。 Schedule Load (0.023687) SELECT * FROM schedules WHERE (schedules.id = 3) LIMIT 1 Resource Load (0.001076) SELECT * FROM resources WHERE (resources.id = 328) LIMIT 1 Schedule Load (0.011488) SELECT * FROM schedules WHERE (schedules.id = 3) LIMIT 1 Resource Load (0.022471) SELECT * FROM resources WHERE (resources.id = 328)

    query_trace: SQLが発行されたファイルと行番号を調べる - 昼メシ物語
  • Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 昼メシ物語

    この記事の概要 Imlib2を使って画像のサムネイルを生成してみたところ、ImageMagickより3倍速かった。 また一般的には、Imlib2の方が画質が悪いとされているが、パラメータを調整することで、十分に美しいサムネイル画像を得ることができた。 はじめに Imlib2は画像処理ライブラリ。mixiの発表資料大規模画像配信とPerl によれば、mixiは高速に高品質なサムネイルを生成するために、ImageMagickでなくImlib2を選んでいる。 上記資料の中では、以下のように説明されている。 速度 Epeg > Imlib2 > Imager >>> ImageMagick 画質 ImageMagick > Imlib2 >>> EpegImlibの画質は多少ImageMagickに劣るが、速度は十分に速い、とのこと。 一方で、404 Not Foundという記事では、ImageM

  • ruby-profとKCacheGrindでプロファイル野郎になる - 昼メシ物語

    速さが足りない!!!!! そんな時はプロファイリングの時間ですね。 Rubyには標準添付ライブラリとして profile というプロファイラがついてくる。でもこのライブラリはあまりに遅すぎて実用に耐えないから、多分誰も使っていない。ほとんどのRubyistは ruby-prof を使っていることだろう。 今回はこの ruby-prof を使って Ruby プログラムのプロファイリングする方法を紹介する。 計測する(ruby-prof) ruby-profはrubygemsで簡単に入る。 $ gem install ruby-profruby-profというコマンドラインツールがインストールされる。これを使うと、プログラムを変更することなく手軽にプロファイリングを行うことができる。ruby-profコマンドのusageは以下のとおり。 ruby_prof 0.9.2 Usage: ruby_

    ruby-profとKCacheGrindでプロファイル野郎になる - 昼メシ物語
  • rvm: 複数のRubyを共存させる最新のやり方 - 昼メシ物語

    http://favotter.net/status.php?id=13069973879 こんにちは、4月からついに職業Rubyエンジニアになったmirakuiです。 あまり認めたくありませんが、Rubyは事実上、いまだに1.8系から1.9系への移行期にあります。 現在の安定版である1.8.7と1.9.1を開発環境に共存させている人も多いんじゃないでしょうか。 もううんざりだ 俺のMacBookに入ってるRubyをざっと調べてみました。 /usr/bin/ruby 1.8.7。多分MacOSX(SnowLeopard)に最初から入ってたやつ? /usr/local/bin/ruby 1.8.7。多分自分でビルドしたやつ /opt/local/bin/ruby 1.8.7。MacPortsで入れたやつ /opt/local/bin/ruby1.9 1.9.1。MacPortsで入れたやつ

    rvm: 複数のRubyを共存させる最新のやり方 - 昼メシ物語
  • PosterousのCEO「Webはクソ。ブラウザはマジなんとかしろ」 - 昼メシ物語

    俺も使ってるお手軽日記サービスのPosterous。そのCEO、Sachin Agarwalが書いていた記事がなんとなく面白かったので和訳しました。 元の記事: The web sucks. Browsers need to innovate - Sachin's Space 部分的にかなり意訳したり強調したりしてます。以下文。 Webはクソ。ブラウザはマジなんとかしろ Webはダメダメなプラットフォームだけど、一方iPadは今後もどんどんすげーアプリがどんどん出てくるのは明らかだろう。 Web業界が長年かけて築いてきたWebサイト達よりもいいものを、どうしてiPadは最初のリリースにも関わらず出せてしまうんだろう? 「Webの終わり」を宣言するために、私はこの記事を先週から書き始めた。「Webは死んだ」とまでは言わない。でももう薄氷を踏んでる状態だ。 Webは静的なコンテンツを扱うには

    PosterousのCEO「Webはクソ。ブラウザはマジなんとかしろ」 - 昼メシ物語
    InoHiro
    InoHiro 2010/05/05
  • 1