タグ

ブックマーク / devpixiv.hatenablog.com (6)

  • 割れ窓理論を導入してWebサービスのクオリティに直結した話 - pixiv inside [archive]

    ピクシブ株式会社 Advent Calendar 2016 @8日目の記事です。 こんにちは、エンジニアのdo7beです。pixivFANBOXの開発などに携わっています。 さて、今回は新規開発プロジェクトに「割れ窓理論」を導入してサービスのクオリティ向上に繋がった話をご紹介したいと思います。 割れ窓理論とは 「割れ窓理論」とは、アメリカの犯罪学者ジョージ・ケリング氏が提唱した「建物の窓ガラスが割れたまま放置されると住民もゴミを捨てるようになり、治安が悪化し、より重大な犯罪が発生してしまう」という理論です。 つまり軽犯罪を取り締まることこそが、重大な犯罪を防ぐために重要であることを指しています。 私たちのチームではこれをWebサービスの新規開発プロジェクトに取り入れています。 WEBサービスにおける割れ窓は「軽度のデザイン崩れ」や「表記ゆれ」に、重大な犯罪は「バグ」や「全体のクオリティ低下

    割れ窓理論を導入してWebサービスのクオリティに直結した話 - pixiv inside [archive]
  • 大量接続に耐えるWebSocketアプリケーションサーバ構築のコツ - pixiv inside [archive]

    WebSocketの扱うサービスでは、長時間のコネクション、再接続処理、プロキシ、ロードバランサなど、インフラの面で多くの問題を抱えがちです。弊社のサービス「pixiv」の9周年企画でも、この問題に直面しました。 実際にそこで構築したインフラの事例をもとに、運用に使えるWebSocketサーバの構成について、pixivインフラ部の南川からご紹介します。 * 9周年企画 “黒歴史”をロケットで宇宙に飛ばす pixiv歴史 そもそも WebSocket とは? WebSocketはTCP上で動く双方向通信のための通信規格です。 Webページの読み込みで行われているような、クライアントがサーバにデータを要求し、サーバはクライアントにレスポンスを返すというHTTPの通信ルールとは違います。サーバと長時間コネクションを確立し、Socketのようにデータのやり取りを行います。そして、コネクションを

    大量接続に耐えるWebSocketアプリケーションサーバ構築のコツ - pixiv inside [archive]
  • 社内勉強会でReactとFluxについて喋った - pixiv inside [archive]

    開発が大好きな@geta6です。 React meetupのことを完全に見逃していて悔しかったので、外部公開の社内勉強会でReactとFluxについての発表をしました。 経緯 現在ピクシブではReactでFluxな感じの構成で新サービスを開発中です。これまで社のプロダクトとしてReactを採用したことは無く、この新サービスが初の採用となる予定です。社内の空気感は「FluxReactもよく聞くし何となくわかってるけど、詳しくは知らない」という感じでした。 そこで、自分の理解度の確認と、一緒に開発しているチームの人や社内外の開発現場の皆さんに大体の感覚を掴んでもらえるよう「ReactとFluxって一体全体なんじゃらほい」というテーマで、ざっくりと大枠を捉える発表をしました。 資料 speakerdeck.com ReactとFluxのこと // Speaker Deck スライドには入ってい

    社内勉強会でReactとFluxについて喋った - pixiv inside [archive]
  • pixivのサムネイル事情 - pixiv inside [archive]

    この記事はピクシブ株式会社Advent Calendar 12/10の記事です。 こんにちは、インフラチームの@harukasanです。 さて、今日はpixivで使用しているサムネイル変換サーバについて紹介しようと思います。 pixivにはたくさんのサムネイルがある pixivにはうんざりするほどたくさんの種類のサムネイルがあります。 これは対応しているプラットフォームが多く、また画面毎にもサイズが異なるからです。 PC版であるwww.pixiv.netだけでも10種類以上のサムネイルが使用されています。 また、サムネイルにはアスペクト比を固定したものと、スクエアにクロップした2種類があります。 (Ugoira Tech Talks: Ugoku Backendより) 従来の方法ではこれらのサムネイルをアップロード時に生成していたため、サムネイル生成を非同期化するなどして対応していました。

    pixivのサムネイル事情 - pixiv inside [archive]
  • PHP のスタティックメソッドをモック化する - pixiv inside [archive]

    初登場の @tototoshi です。今回は pixiv のユニットテストで利用しているモックライブラリの紹介をします。 ここ2ヶ月くらいの間、レガシー化したとあるモジュールのリファクタリングに取り組んでいました。 リファクタリングにはテストコードが必須です。しかし今ではすっかりテストを書く文化が根付いている pixiv にもテストコードがない時代がありました。リファクタリングが必要な古いコードにはテストコードがないことが多く、そういったコードに新たにテストをつけていくのはなかなか大変です。テストの概念のないプロジェクトはテスト可能なように設計・実装されていません。テストを書くのが大変なのではなく、書けるようにするまでが大変です。 特にやっかいだったのは DB を参照したりするようなスタティックメソッドを使ったメソッドのテストでした。以下のようなスタティックな Dao を使用した Serv

    PHP のスタティックメソッドをモック化する - pixiv inside [archive]
  • pixivの開発・デプロイ環境の変遷(2014年春版) - pixiv inside [archive]

    こんにちは。最近社内で「実践F#」読書会を始めた@edvakfです。関数型言語というだけで特に理由なくF#を選んだのですが、弊社のウェブエンジニアの方々がF#にまったく興味が無いことを痛感しました。目下少数精鋭で進行中です。 さて、F#読書会とは別の曜日になりますが、pixivというアプリケーションを開発する上でのプロダクティビティを上げることを目指した「エンジニアリングプロダクティビティ向上ハッカソン」を2013年の後半から始動し、かれこれ半年近く続けています。 昨日 Immutable Infrastructure Conference #1 に参加してきたので、今日はpixivの開発環境やデプロイ環境がこの1年でどう変わったかを振り返ってみたいと思います。 2012年まで 僕が入社した2012年はちょうどsvnからgitへの移行期でした。pixivにはPC版ウェブサイトであるwww.

    pixivの開発・デプロイ環境の変遷(2014年春版) - pixiv inside [archive]
  • 1