タグ

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

  • ロードバイクを手放した話 - 昼メシ物語

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

    ロードバイクを手放した話 - 昼メシ物語
    sora_h
    sora_h 2024/01/28
  • クックパッドを退職しました - 昼メシ物語

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

    クックパッドを退職しました - 昼メシ物語
    sora_h
    sora_h 2024/01/26
    またね〜
  • チーム白金動物園としてISUCON13に参加しました - 昼メシ物語

    結成たぶん10年くらいのチーム白金動物園(mirakui, sorah, rosylilly)として ISUCON 13 に参加してきました。ここ数年はなんだかんだ運営側であることが多かったので、いち選手としては随分久しぶりな気がします。 結果は694チーム中18位で、最終スコアは 103,838 でした。 ISUCON13 受賞チームおよび全チームスコア : ISUCON公式Blog 優勝経験のあるチームとしては満足のいく結果ではありませんが、Rubyを使ったチームの中では一番スコアが高かったようです。 上位30チームに限定すると以下となりました Go   29組 96.7% Ruby   1組   3.3% ISUCON13 利用言語比率 : ISUCON公式Blog この1組が我々です。 あとLINEヤフー社が提供してくださった会場に入場した順では僕が1位を取りました。 ISUCON

    チーム白金動物園としてISUCON13に参加しました - 昼メシ物語
    sora_h
    sora_h 2023/11/28
  • チーム白金動物園として ISUCON 9 予選を通過しました - 昼メシ物語

    いつものチーム白金動物園( @mirakui, @sorah, @rosylilly )として7回目の参加をしました。自分の ISUCON との関わりを振り返ると以下のような感じです。 2012 ISUCON 2: kamipo, do_aki とともに出場。この頃はまだ小規模で、予選というのは無かったですね 2013 ISUCON 3: sorah, rosylilly とチーム白金動物園を組み、選出場。 Fail で0点フィニッシュです… 2014 ISUCON 4: 白金動物園で出題側として参加。 二度とやるかと思うくらい大変だったけど、当に良い思い出です 2015 ISUCON 5: 白金動物園として選2位の成績を残す。 この年が今のところわれわれの最高成績ですね 2016 ISUCON 6: 白金動物園、初の予選敗退!! 大会のレベルが上がっているのを痛感 2017 ISU

    チーム白金動物園として ISUCON 9 予選を通過しました - 昼メシ物語
    sora_h
    sora_h 2019/09/13
  • ISUCON5本選で2位でした(白金動物園) - 昼メシ物語

    白金動物園、2位いただきました #isucon @sora_h @rosylilly と3人でチーム「白金動物園」として ISUCON 5 に参加し、選で2位を獲得しました。 主な分担としては sorah と rosylilly の2人が実装をして、僕はインフラまわりの整備と、ログ分析や指示出し、あと二人が喧嘩したら仲裁をするという分担でした。今年は二人が喧嘩しなかったので仲裁役は必要なくて良かったです。 (追記 2015/11/02 14:14)2人の記事が揃ったので以下にリンクしておきます。HTTP/2 まわりのチャレンジなどは彼らの記事に詳しいです。 sorah: ISUCON5 で準優勝してきた #isucon - diary.sorah rosylilly: ISUCON5 で準優勝しました - 鳩舎 やったこと 今回の問題はマイクロサービスがテーマになっていて、運営側が用意し

    ISUCON5本選で2位でした(白金動物園) - 昼メシ物語
    sora_h
    sora_h 2015/11/01
    やったぜ
  • retrobot の最近のアップデートについて(v0.2.0-v0.3.1) - 昼メシ物語

    1年前の自分と暮らす で紹介した retrobot という twitter bot ツールについてですが、記事を読んだ何人かの方が retrobot を運用してくださっているようです。ありがとうございます。 その後、ユーザの皆様からご要望を受けていくつかの改善を行いましたので、今回はその紹介です。 主なバージョンアップ内容 v0.2.0 @sora_h さんによって大幅なリファクタリングが行われました。 gem 化されました。 http://rubygems.org/gems/retrobot いままでは .env による環境変数やコマンドライン引数で挙動を制御していましたが、 YAML 形式の設定ファイルで指定するようになりました。詳細は後述します。 Revolution (gemify, add config yml) by sorah · Pull Request #5 · mira

    retrobot の最近のアップデートについて(v0.2.0-v0.3.1) - 昼メシ物語
    sora_h
    sora_h 2014/07/01
    sora_h さんすごい〜 (へら)
  • 開発合宿をする際の知見 - 昼メシ物語

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

    開発合宿をする際の知見 - 昼メシ物語
    sora_h
    sora_h 2014/05/18
    たのしそう
  • 今さら聞けない Immutable Infrastructure - 昼メシ物語

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

    今さら聞けない Immutable Infrastructure - 昼メシ物語
  • 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 - 昼メシ物語
  • LLまつりとDevOpsDay Tokyo 2013に登壇します - 昼メシ物語

    登壇情報です。 8.24 (土) LLまつり Infrastructure as LL - プログラム - Lightweight Language Matsuri アプリケーション開発にLLを使うのは当たり前になった一方で、最近ではChefやPuppetといったサーバ構成管理ツールなどの普及により、インフラエンジニアがLLを使ってインフラを記述・運用することも行われるようになりつつあります。 セッションでは、インフラとLLの関連についてご紹介します。 登壇者 伊藤直也(フリーランス) @naoya_ito 黒田良(paperboy&co.) @lamanotrama 成田一生(クックパッド) @mirakui 司会 高橋征義(達人出版会) @takahashim 凄いメンバーに混じってのトークセッションです。僕みたいな開発出身のルビーストがインフラエンジニアとして生きのこるには〜〜みた

    LLまつりとDevOpsDay Tokyo 2013に登壇します - 昼メシ物語
    sora_h
    sora_h 2013/08/22
    たのしみ / "LLまつりとDevOpsDay Tokyo 2013に登壇します"
  • ActiveRecordが発行するSQLをフックして色々やるためのライブラリArproxyを公開しました - 昼メシ物語

    https://github.com/cookpad/arproxy http://rubygems.org/gems/arproxy これは何? Arproxyを使うと、ActiveRecordが発行したSQLDB Adapterによって実行される直前をフックすることができます。これによって、カスタマイズしたクエリログを出力したり、どこからクエリが発行されたのかをトレースしたりすることができるようになります。 Arproxyでは、DB Adapterのフック処理を以下のように定義します。これはクエリが実行されるたびにバックトレースを出力する例です。*1 class QueryTracer < Arproxy::Base def execute(sql, name=nil) Rails.logger.debug sql Rails.logger.debug caller(1).join(

    ActiveRecordが発行するSQLをフックして色々やるためのライブラリArproxyを公開しました - 昼メシ物語
  • 「全自動パラメータチューニングさん」は何であって何でないのか - 昼メシ物語

    発表資料: 全自動パラメータチューニングさん // 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パラメータの自動調整によって

    「全自動パラメータチューニングさん」は何であって何でないのか - 昼メシ物語
    sora_h
    sora_h 2013/02/20
    だいたいスライドを見て推測してた物と同じだった。自動化万歳!
  • スピリチュアルエンジニアリング入門 - 昼メシ物語

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

    スピリチュアルエンジニアリング入門 - 昼メシ物語
    sora_h
    sora_h 2012/12/17
    復習
  • 不要なメルマガ広告はspamフォルダではなく配信拒否(オプトアウト)しましょう - 昼メシ物語

    一般にspamと呼ばれる電子メールには2種類あります。オプトイン(配信承諾)して受け取ったメールと、オプトインしてないのに届いたメールです。 この記事は、インターネット全体の利益を考えるなら、オプトインして受け取ったメール広告を迷惑に感じたら、spamフォルダに入れて放置するのではなく、配信拒否(オプトアウト)するべきであることを促すものです。 (追記:なお、お肉のほうのスパムは大文字のSPAMで、迷惑メールのほうは小文字でspamと書くそうです。コメントありがとうございます) オプトインとオプトアウト あなたがメールを受け取る意思を表明することを、オプトインと呼びます。 反対に、「このメールは受けとりたくない!」という意思を表明することを、オプトアウトと呼びます。 例えば、楽天などのネットショップで買い物をした時に、「メールマガジンに登録する」というチェックボックスがあったとします。これ

    不要なメルマガ広告はspamフォルダではなく配信拒否(オプトアウト)しましょう - 昼メシ物語
    sora_h
    sora_h 2012/11/05
  • rails runner的なことをrails runnerを介さずに直接やる - 昼メシ物語

    rails runner コマンドを使うと、各modelsとか、config.autoload_pathsに指定したファイルとかをロードした上でスクリプトを実行できる。 $ rails runner hoge.rb ただ、毎回 rails runner とか書くのはだるいので、hoge.rbを独立したスクリプトにしちゃいたい。 そんなときは下みたいに書くと、rails runnerと同等の環境をロードした状態にできる。 #!/usr/bin/env ruby require File.expand_path('../../config/application', __FILE__) Rails.application.require_environment! # 以下、いつものようにスクリプトを書く これをscript/ 以下とかに配置すればいける。 ついでにいうと、thorを組み合わせる

    rails runner的なことをrails runnerを介さずに直接やる - 昼メシ物語
    sora_h
    sora_h 2012/10/04
    助かりました。
  • 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からログの行が他プロセスのものと混ざるようになった件について - 昼メシ物語
  • 「※この発言は個人の見解であり、所属する組織の公式見解ではありません」をリリースしました - 昼メシ物語

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

    「※この発言は個人の見解であり、所属する組織の公式見解ではありません」をリリースしました - 昼メシ物語
  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
    sora_h
    sora_h 2009/06/06
  • 1