タグ

bokkoに関するshimookaのブックマーク (9)

  • メルカリの「エンジニアブログ」はじめました | メルカリエンジニアリング

    はじめまして。1エントリ目を書くことになった id:sotarok です。光栄です。 メルカリは、2013年7月にリリースされて現在急成長中のフリマアプリで、今週2周年を迎えます。 ダウンロード数1500万ということで多くのユーザーに利用していただいていて、サービスとしても会社としても大きくなる中で、日々多くの技術的課題への挑戦が行われています。 そうした内容を、今日からこの “Mercari Engineering Blog” で、あれやこれや発信していきたいと思っています。 さて、1発目のご挨拶エントリーということで特段大きなネタは用意していないのですが、、 これまでのメルカリではエンジニアブログをやっていなかったため、技術的なアウトプットは各人がそれぞれやっていました。そこで、ここ2年のメルカリエンジニアメンバーによる技術的なアウトプットをまとめてみました! インフラからクライアント

    メルカリの「エンジニアブログ」はじめました | メルカリエンジニアリング
    shimooka
    shimooka 2015/06/30
    旧ウノウ+旧クロコスのタッグブログ
  • ZendOpcacheとAPCuではじめるハイパフォーマンスPHP - pixiv engineering blog

    先月末から一週間ほど旅に出ていたbokkoです。今回はpixivでのPHPのバージョンアップに関する取り組みの一部を紹介します。 pixivPHP pixivではWebアプリケーションの開発で主にPHPを利用しており、今のところPHP5.3とPHP5.4で動いている環境が混在している状態ですが、これをPHP5.5化するプロジェクトが進行中です。 オペコードキャッシュとユーザキャッシュによるPHPアプリケーションの高速化 pixivのようなPVの多いWebサイト(2013年10月現在で38億/月)をPHPで運用する場合、 アプリケーションのパフォーマンスという観点ではもちろんのこと、運用にかかるコストの面でも APCやZendOpcacheが提供しているようなオペコードキャッシュ機能は必須と言えます。 サーバスペックが高いマシン(CPUコア数が16とか24)を使っているということもあります

  • isucon予選に 「くらげとみかんと江戸幕府」チームで参加してきました - bokko bokkoにしてやんよ

    同僚の@walf443と@edvakfとisucon予選一日目に参加してきました。 僕がくらげで@walf443がみかん、そして@edvakfが江戸幕府です。 16:30頃の時点でベンチマークが2〜3時間以上通ってなかった上に RawScore(エラーによる減点を除いたスコア)も散々だったので完全に通夜状態だったのですが、 17:00頃から一気に巻き返して最終的には予選一日目5位(19412.5点)で通過(暫定)することができました。 今回は主に僕と@edvakfでアプリケーションの修正をやって、 @walf443がミドルウェアまわりをやるという役割でスタートし、 最終的には僕もアプリケーションの修正をやる傍らミドルウェアの置き換え等を行う形になりました。 言語はRubyにするかPHPにするかで意見が割れていたのですが最終的に僕の強い希望でPHPに決まりました。(予選通過(暫定)できて

  • PHPカンファレンス2013でpixivのインフラについて発表してきました - pixiv engineering blog

    去年と比べて体重を8kb・・・間違えました8kg落としたbokkoです。目標体重まであとさらに8kgとなりました。道は険しく遠いです。 先週末の9/14(土)に東京都大田区産業プラザ(PiO)にて開催されたPHPカンファレンス2013にスピーカーとして参加してきました。以下はその資料になります。 inside pixiv’s infrastructure〜application cluster side〜 やや駆け足でしたが、トークではpixivの開発体制、アプリケーション基盤でのPHPの使われ方、データストア・キャッシュ戦略、 pixiv内部で利用されているRESTful APIの仕組みについてお話させていただきました。 今回は「application cluster side」ということでアプリケーション基盤の話がメインでしたが、 機会があれば「contents delivery cl

  • ウノウラボ Unoh Labs: 10テラバイトマシンのつくりかた

    「iPodの残り容量が200MBを切った」と社内で発言してから「iPhoneを買おう!」としきりに言われるようになったbokkoです。そんな私は先月、ホコリをかぶっていたデスクトップPCを筐体ごと買い換えました。今ではMacBookからSSHでログインしてコンソール上で快適な生活を送っています。 今月、2TBのHDDを6使ったサーバを立てる機会がありまして、今日はその時のお話です。 HDDの容量とストレージサーバ Webサービスのインフラを構築・運営していると、膨大なデータをどう扱うかといった問題にぶち当たることがあります。仮想化技術の進歩によって複数のOSを1台のマシンで同時に稼働させつつ、物理的なマシンの数を減らすことができるようにはなりましたが、物理的な媒体であるHDDを1台のマシンに搭載できる数には限りがあり、ソフトウェアであるOSの仮想化みたいにじゃんじゃん増やすことができませ

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: daemontoolsでデーモン管理

    Emacsでbackward-charをC-lに割り当てているbokkoです。「指相撲で相手の指に届かないくらい指が短いので一回も勝ったことがないんです。だからそんな短い指でC-bなんて押してたら指が痛いんです」と言ってもなかなか信じてもらえないのですが、そんな私でも(global-set-key "\C-l" 'backward-char)というelispを評価するだけで快適にプログラミングさせてくれるEmacsが大好きです。 と、タイトルと関係ない話はこれくいらいにしておいて、今日はdaemontoolsのお話です。 daemontoolsは異常終了してしまったデーモンプロセスを再起動してくれたり、ログローテートを肩代わりしてくれたりするなど、デーモンの制御や管理、監視を行うプログラムの集まりです。例えば、以下のようなプログラムが含まれています。 supervise デーモンの起動、監

  • ウノウラボ Unoh Labs: シェルスクリプトでプログラミング

    パワプロよりパワポケが好きなbokkoです。でも最近はPSPで遊んでいます。 今回はシェルスクリプトやコマンドラインでよく使うプログラムとその使用例の紹介です。 シェルスクリプトでは既にあるコマンドを組み合わせてプログラムを書きます。しかし、シェルスクリプトは分岐や繰り返しといった制御構造を持ち、関数や変数を扱ったり、四則演算を行うこともできます。 演算 シェルスクリプトで演算を行うにはexprを使います。 add.sh #!/bin/sh A=1 B=2 C=`expr ${A} + ${B}` echo ${C} ↑のadd.shを実行すると、 $ sh test.sh 3 $ と表示されます。↓のようにexprの引数をスペースで区切らず渡してしまうと、単に1+2と表示されてしまいますので、注意しましょう。 #!/bin/sh A=1 B=2 C=`expr ${A}+${B}` ec

  • ウノウラボ Unoh Labs: gdbの使い方

    今年の2月にマカーになったbokkoです。どうも僕の使っているフォントがほかの人には見づらいらしく、「そのフォントはねぇよw」と言われたり、外付けのキーボードを使っているせいか、「MacBookの意味なし!」と社内で言われてたりしています。 今日はgdbのお話です。gdbは非常に広く使われているデバッガで、特にC、C++のプログラムをデバッグするのによく使われています。 デバッガの使い方 プログラムをデバッグする際、例えば以下の方法が挙げられます。 1. ソースコードを読む 2. ソースコードに出力関数を仕込む(例えばprintf) 3. ソースコードを書き換えて実行してみる これで十分な場合もありますが、そうでない場合もあります。これらの方法ではプログラムを実行している最中にこちらからソースコードレベルでのアクションを起こすことが難しいので、例えば、プログラムをある時点で止めて変数の

  • 1