タグ

ブックマーク / rosylilly.hatenablog.com (14)

  • ISUCON5 で準優勝しました - 鳩舎

    今年も @mirakui と @sora_h と一緒に ISUCON5 に出場して、準優勝しました。 やったこと 時間は投入した時間。 12:00 : API リクエストを送る先の services が DB に入ってるけど大した数でもない(7つ)ので、全部アプリケーションにハードコードした。 これはのちにリクエストにプロキシを挟む時にコード変更だけでよくなったので地味に効いた。なお、これによる高速化はあんまりしなかった(そりゃそうだ)。 13:16 : API リクエストへのパラメータを保存している subscriptions の保管先を DB から Redis へ変更。 DB 問い合わせへの高速化というより、 JSON 形式から MessagePack 形式での保存になったことの方が重要な気がしてる ま、これも大した効果は出てない。 initialize でバグったら話にならないから、

    ISUCON5 で準優勝しました - 鳩舎
    kamipo
    kamipo 2015/11/02
  • アニメ視聴に主眼を置いた VOD サービスの比較と解説 - 鳩舎

    2015-04-30 版。俺が使ってるあのサービスがねえぞどうなってんだという方はコメントでサービス名を書いていただけますと僕が金を払いに行きますのでよろしくお願いします。 TL;DR コスト及び物量重視なら d アニメストア。コメント見たかったらニコニコ。いろんなデバイスで見たかったら Hulu いいけどそんなに数ないよ。 VOD サービス 自分がお金払って契約した(している)ものは以下 Hulu 長いこと契約してる 異常としかいいようがないくらいいろんなデバイスのクライアントある Panasonic だと TV にアプリ入ってたりするし謎の開発力 PS4 / PS3 にもアプリがあるし、ログインも簡単 PS4 でパスワード打たなくてもログインできるのめちゃ便利 U-NEXT UQ-WiMAX 契約したあとに朝から『U-NEXT 契約しませんか』って電話かかってきて『あぁうん、どうぞ、お

    アニメ視聴に主眼を置いた VOD サービスの比較と解説 - 鳩舎
    kamipo
    kamipo 2015/04/30
  • ISUCON4 お疲れ様でした - 鳩舎

    今回の ISUCON 、みんなはどうだったかな?楽しかったかな?ベンチマーカーについての文句?いいよ、こいよ、俺がベンチマーカー実装者だ。 ということで、まずはお詫びを。今回、過去の ISUCON に比べて当にトラブルが多くて申し訳なかったです。次の出題者になれる機会があるならば、当にもっとしっかりしたいと強く思っています。当に、申し訳なかった。 あとは後悔を。正直当日まで実感なかったし、朝の方も徹夜明けであんまわかってなかったんだけど、昼飯が喉を通らないところでストレス過多で死にそうになってることに気づいた。いやーだって考えてみたら今まさに僕よりすごいエンジニアが僕のベンチマーカーを叩き潰すために全神経を注いでるわけですよ。そりゃ胃痛もするわ。もう二度と出題者になんてなりたくないね。 問題についての詳しい解説や、講評なんかは後日 ISUCON 公式ブログの方に乗せてもらえると思うの

    ISUCON4 お疲れ様でした - 鳩舎
    kamipo
    kamipo 2014/11/10
  • 『DCI なんて面倒なだけで Service 使えばいい』への返答 - 鳩舎

    NOTE: 最下部に追記があります。 よく言われる話として、 DCI なんて実装が面倒な上に夢の実装の話をしており、現実解としては Service クラスを用いて実装すればシンプルな実装になるのだから、そういったものは必要ないのだ、というご意見への返答です。 こういった批判の文脈の際、 Service クラスというのがどこの Service クラスを指しているのか、が問題なのですが、 DDD における Service ではないように思えるので、おそらく PofEAA などで語られる Service Layer などを指していると思われます(違うならそう言ってください)。 PofEAA における Service Layer(以後、 Service と呼ぶものはこの PofEAA における Service です)はドメインオブジェクトからアプリケーションロジックを切り離すことを主目的としていま

    『DCI なんて面倒なだけで Service 使えばいい』への返答 - 鳩舎
    kamipo
    kamipo 2014/01/05
  • speed_gun で Rails のパフォーマンスを測定する - 鳩舎

    Web アプリケーションのパフォーマンスにうるさいみなさんこんにちは。 Rails アプリのパフォーマンスプロファイリングだと、 rack-mini-profiler が有名で、それ以外だと New Relic とかを使って測定していくのが普通のようですが、物足りない部分があったので、自前でプロファイラ gem を作りました。 Rubygems: http://rubygems.org/gems/speed_gun / Github: https://github.com/rosylilly/speed_gun 詳細は Github の README なんかを見ていただくとして、基的には rack-mini-profiler 的な情報収集が出来ると思ってもらって差し支えないです。 ちなみに計測画面はこんな感じ。 大きなスクリーンショットはこちら 小さくて何も見えないかも……とりあえず3セ

    speed_gun で Rails のパフォーマンスを測定する - 鳩舎
    kamipo
    kamipo 2013/12/04
  • gofu is tofu clone implemented by golang - 鳩舎

    go 言語かけるようになるとメス鳩のウケが良いと聞いたので頑張って勉強しました。リリースは大安か友引の日を選ぶタイプの鳩、ロージーです。 gofu(護符) という、弊社の id:mirakui さんが作ったイケてる画像リサイズサーバー、 tofu の go 実装です(tofu についてはこのへんを見ると良いです)。 もちろん全部機能が載ってるわけでもなく、ひみつのハッシュ値あたりとかはどう実装されてるのか知らんし今回必要ないのでつけてません。 護符が出来ることは以下で全てです。 S3 から画像をとってきて表示することが出来ます(/image/path.jpg にアクセスすると S3 の /image/path.jpg を取ってきます) 取ってきた画像からは自動的に Exif その他のメタ情報が消えています。 これらのパラメータでリサイズなどの処理を付与できます。 w : 画像の横幅を変更し

    gofu is tofu clone implemented by golang - 鳩舎
  • Github があると VPS のセットアップが楽 - 鳩舎

    Github っていう超ベンリスーパークールサービスがあるんですけど、このサービスを使うと VPS のセットアップがすごく楽。 皆いろんなマシンとか持ってて SSH 鍵もいくつも持ってると思うんだけど、このサービスを使えば VPS のセットアップの時にいちいちいろんな公開鍵を集めて SCP で配置するみたいな手間がなくなる。 具体的には $ wget https://github.com/[username].keys $ mv [username].keys .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys すると良い。 Github に登録してある公開鍵は上記の URL で取れるので、例えば友達と共有サーバーを作るみたいなときにも役に立つ。 ギッハブマジ便利だなー

    Github があると VPS のセットアップが楽 - 鳩舎
  • DCI の話をした - 鳩舎

    超重要追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Takai (@takai) December 27, 2012 とのことなので、このスライドを参考にするのはやめてください。 元記事 会社で DCI の話をしました。 資料はこちらです。 いろんな人から全然便利そうじゃないと評判でした。俺の伝え方が悪い……

    DCI の話をした - 鳩舎
    kamipo
    kamipo 2012/12/26
  • DCI を考える #2 - 鳩舎

    追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Takai (@takai) December 27, 2012 ということで、以下の内容はすべて間違いである可能性が高いです。 元記事 これまでのあらすじ: ActiveStrategy はイマイチなアプローチだよね。 文脈によって可能な挙動が変わり、モデルは基的にデータのみを持つことでクリーンな状態を保とうといっているのに、便利な include を提供する ActiveStrategy はやはりイマイチなアプローチで、挙動の切り分けが容易になるのはいいことだけれど、それって今までの include 地獄から何も

    DCI を考える #2 - 鳩舎
    kamipo
    kamipo 2012/12/26
  • DCI を考える - 鳩舎

    追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Takai (@takai) December 27, 2012 ということで、以下の内容はすべて間違いである可能性が高いです。 元記事 Data - Context - Interaction いわゆる DCI が最近の人気らしい。 DCI そのものの説明をこのエントリでする気はないので、 Sapporo Ruby Kaigi の角谷さんのプレゼンなどを見るとよい。 Rails の場合、 Data はまぁ ActiveRecord / Mongoid などのいわゆる MVC におけるモデル、であっていると思う。これに

    DCI を考える - 鳩舎
    kamipo
    kamipo 2012/12/26
  • Lightweight git hook management tool その名も git-hook を作りました - 鳩舎

    どうもこんにちは。フックしてますか。ジャブからローにつなげてますか。 そんなこんなで最近は僕もそこそこ git に慣れてきて助けてもらわなくても良くなって来ました。 しかし人間の欲望はとどまるところをしらず、「なんか定形作業めんどくせーなだるいしなんかうまいことどうにかなれよ面倒くせぇ」とか考え始めるものです。たとえば「テスト通ってないコードコミットするなってリーダーがいうけどいちいち手でテスト走らせて確認すんのだるいからなんかうまいこと自動で動かんかな」とか。 git は大変よくできたツールですので、そういうのもちゃんと用意されています。hooks といって、コミットのタイミングなどで特定のシェルスクリプトなりなんなりを動かすことが出来るよう配慮されているのです。すげーな git 。 しかしこいつがマジめんどくさい。自分でシェルスクリプト書くとか絶対嫌だし、すでにそのへんに転がってるのを

    Lightweight git hook management tool その名も git-hook を作りました - 鳩舎
    kamipo
    kamipo 2012/07/30
  • 僕が社内ライブラリを OSS 化すべきだと思う3つの理由 - 鳩舎

    こんばんは、台風がヤバいですね。 こんな風に命の危険がそこそこあるときは、なんとなく人生について考えてしまいます。私はどこからやってきて、どこへ消えてゆくのか…… そんなことを考えていた折に、「社内ライブラリって OSS にしてしまうべきだよなー」と、ふと思ったので、考えていることをメモしておこうとおもいます。 「社内ライブラリ」 とりあえずこの社内ライブラリの前提を並べると 1つまたは複数のプロジェクトが参照しているライブラリである 製品的なビジネスロジックを内包しておらず、汎用的で、利用されているプロジェクトと密結合でない バージョン管理されている の3点は満たしておく必要があります。例えばニコニコ動画を OSS にするのはちょっとアレですし、課金部分を OSS にするなんてもってのほかだなーと思います。 そんなプロジェクトがあなたの会社にあるかないかはわかりませんが、いわゆる「この言

    kamipo
    kamipo 2012/06/20
  • git-助けてというすごく便利なエイリアスを作った - 鳩舎

    こんばんは!暑い! ということで今日はgitのすごく便利なエイリアスを作りました。 Git-助けて https://github.com/rosylilly/git-tasukete という、超便利コマンド集です。 使い方はホームディレクトリあたりにクローンしてきて、パスを通しておくだけです。 するとあら不思議、ターミナルに $ git 助けて と打つだけで、助かりたい時の場合がリストで出てきます。 後はそのうち、目的の状況のモノをターミナルにコピペするだけです。ほらね $ git mergeを取り消したい はい、マージが取り消せました。よかったよかったー! こんな困った場合にも対応してください!というのはGitHubのissueか、コメント欄にて受け付けてます!

    git-助けてというすごく便利なエイリアスを作った - 鳩舎
    kamipo
    kamipo 2012/05/06
  • リリース先輩というIRCボットを作った - 鳩舎

    こんにちは、皆さんgit使いこなしてますか?僕は全然です。 ところでgit個人的に使う分にはいいですけど、会社の許可取るのとかは大変ですよね。できる限りSVNで管理したい。 ということでとあるチームではgitで基的にソースコードを管理して、デプロイ時はsvnに置く、というようなことをしています。なんだか二度手間な感じもしますが、まぁやっておけばいいのであればやっておきましょう。 ところがどっこいgit-svnはとてもめんどくさい。めんどくさいしgitに慣れきった人間はsvnでコミットすることができない。できないなら機械に任せよう。 ということでどうせ毎回同じ事をするので「リリース先輩」というIRCボットを作って、先輩によろしくやってもらうことにしました。 リリース先輩 IRCrosylilly: release_senpai: 先輩、リリースの準備お願いします! release_se

    リリース先輩というIRCボットを作った - 鳩舎
    kamipo
    kamipo 2012/05/02
  • 1