タグ

ブックマーク / wazanova.jp (10)

  • Gruntとgulp.jsでサイトパフォーマンスを向上させる - ワザノバ | wazanova

    @yosuke_furukawaさんがtweetしていたサイトパフォーマンスに関連する Gruntとgulp.js のタスク一覧です。確かによいまとめなので、メモしておきます。 GruntとGulpには、画像の最適化、HTML/CSS/JavaScriptファイルの結合 & 圧縮をするタスクがあるので、まずそちらをベースラインとして利用されたし。 1) 画像ファイルの圧縮 & 最適化 webページは平均1.5MBで画像ファイルが多くを占める。モバイルで160KBの画像ファイルを追加すると直帰率が12%悪化すえるというEtsyのデータがあり。 Grunt grunt-contrib-imagemin grunt-imageoptim (OSXのみ) 二つのタスクのどちらを選ぶかは、こちらの比較表 で確認してください。 Gulp gulp-imagemin 3/4/2014時点ではImage

  • Twitterのキャッシュを支えるRedis - ワザノバ | wazanova

    https://www.youtube.com/watch?v=rP9EKvWt0zo 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 TwitterのYao Yuが、大規模サービスのキャッシュにおいてRedisを活用する取組みについて紹介しています。 1) Redisを採用している理由 キャッシュだけで、ストレージとしては利用していない。 主なところでは、Twitterのタイムラインで利用している。ホーム画面であれ、ユーザ画面であれ、タイムラインはTweetのインデックスなので、key/valueストア型のRedisを利用するケースとして最適。 以前はmemcachedを使っていたが、問題になったのは、タイムラインでおきるread/writeは、(ユーザが閲覧している範囲に追加反映するということなの

  • Twitterのスパム対策 - ワザノバ | wazanova

    https://blog.twitter.com/2014/fighting-spam-with-botmaker 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約3時間前 導入以来、スパム量を40%削減したBotMakerについて、Twitterエンジニアブログで紹介しています。 サービスの性質的にスパム対策の難易度は高い 例えばメールであれば、コンテンツは非公開であり、スパム対策による多少の配信遅延は、サービスのクオリティ上は問題ない。一方Twitterは、APIを介して配信でき、リアルタイムでコンテンツを公開するサービスゆえに、 スパムの配信成功/ブロックがスパム配信者からもわかってしまう。 スパム対策による配信遅延は、サービスのクオリティ低下になる。 という事情がある。 満たすべき要件 誤ってスパム判定

  • Dockerイメージの最適化 - ワザノバ | wazanova

    http://www.centurylinklabs.com/optimizing-docker-images/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 米国キャリアのリサーチ部門であるCenturyLink Labsが、 Dockerイメージは1Gを超えることがよくあって、ローカルで実験しているうちはよいが、ネットワークを介して頻繁にやり取りしはじめると、サイズが問題になる。 ということで、dockerイメージのサイズを減らす取り組みについて、ブログで紹介しています。 Layers レイヤの構成の詳細については、Dockerのドキュメントを参照されたし。議論のポイントとして理解しておかなくてはいけないのは、Dockerfileでの各操作の結果、新しいイメージのレイヤが順次生成されるというこ

    Surgo
    Surgo 2014/08/04
  • 前任者が悪いのかもしれないけれど - ワザノバ | wazanova

    https://medium.com/p/506a06ae35ea 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 自分は最初に手がける立上げ仕事がほとんどだったので、他人のタスクを引継ぐよりは、次の方にバトンタッチすることが多かったと思います。右も左もわからない状況から始める立上げ仕事は、楽しいけれど、前に進めるだけでそれはそれで大変。なので、引継ぐときは「頑張ったね。」と自分に言ってあげたいというのが音。とはいえ、引継いだ人が後から見れば、相当アラい仕事ぶりに思えたでしょう。大成功してないプロジェクトについては全て、批判は甘んじて受け入れるべきなのかもしれません。 Shamoon Siddiquiはブログで、安易に前任者の責任にする危険性について語っています。 新しく採用した後任のエンジニアが入

  • GitHub の ATOM が CoffeeScript で書かれているのはどうなの? - ワザノバ | wazanova

    http://discuss.atom.io/t/why-coffeescript/131 2 comments | 2 points | by noto ■ comment by noto | 約1時間前 先日 GitHub が発表してエディタ ATOM のディスカッション・フォーラムでなぜ CoffeeScript で書かれていて、EcmaScript 6 (ES6) じゃないの? node.js/V8 を利用するデスクトップアプリケーションなら ES6 をすぐに使うほぼ完璧な機会なのに、という問題提起があり、それについて議論があったようです。 前提として、GitHubJavaScript Styleguide に 新たに JS を書く時は CoffeeScript で書くこと 新たに .js ファイルを追加することは避けること と書かれていて、GitHub の中の人としては

  • Facebook: MySQL Pool Scannerでの徹底した自動化 - ワザノバ | wazanova.jp

    https://www.facebook.com/notes/facebook-engineering/under-the-hood-mysql-pool-scanner-mps/10151750529723920 Facebookがエンジニアブログで、MySQLの運用を自動化している事例を紹介しています。このレベルまでくると、意思をもった大規模なロボット群みたいで、すごいですね。前半はマスタ/スレーブの基的な自動化の話ですが、後半ではオペレーションの自動化ロジックをどのように自動化して増やすかという手法まで言及してます。 FacebookのMySQL DBクラスタは、2つの大陸にまたがる複数のデータセンタにある数千台のサーバで構成されている。通常、DBアドミンが担当するルーティーンワークは、MySQL Pool Scanner (MPS) で自動化されている。 1) DBノードを詳しく

  • Twitter: Slave Recoveryで再起動時にタスクを継続する - ワザノバ | wazanova.jp

    https://blog.twitter.com/2013/slave-recovery-in-apache-mesos Twitterエンジニアブログで、Apache Mesos version 0.14.1 の新機能Salve Recoveryを紹介しています。Slave Recoveryを利用すると、スレーブのプロセスが落ちてもタスク/エクゼキュータが稼働を続けることができ、また、再起動したスレーブプロセスが実行中のタスク/エグゼキュータと再接続できます。 1) Why it matters? Stateful Services 番環境でステートフルサービスがフル稼働に時間がかかる場合があります。(例えば、キャッシュが数時間かかるなど。)また、一つのタスクが完了まで何時間もかかることも。それらのケースは、クラッシュやアップグレードによるスレーブの再起動の影響を受けます。また、シャ

  • Twilio: HAProxyの設定の紹介 - ワザノバ | wazanova.jp

    https://www.twilio.com/engineering/2013/10/16/haproxy/ 音声/テキストコミュニケーションのクラウドサービスを提供するTwilioが、オープンソースのTCP/HTTPロードバランサーHAProxyの設定についてエンジニアブログで紹介しています。 1) 経緯 TwilioのFounder達が、クラスターのホストが他のホストと通信しトラッフィクを渡せるHAProxy Configを音声メッセージ用につくって、Venture Capitalから資金調達。次に、SMS (テキストサービス)サービスのAPIにHAProxy Configをそのまま適用。それがうまくワークしたのでHAProxy Configの内容を理解しないまま、Twilioのサービスに順次コピーされて、問題が感染していってしまった。 目標であるFive nine (99.999%)

  • Flickr: RedisをMySQLのセカンダリインデックスにする - ワザノバ | wazanova.jp

    http://code.flickr.net/2013/03/26/using-redis-as-a-secondary-index-for-mysql/ Flickrエンジニアブログで、Redisを利用したDBクエリ最適化の事例を紹介しています。 1) 背景 Yahoo.comのサイトの右側に、直近でアクティブなFlickrコンタクトの写真が10枚掲載 [例] されます。 Yahoo.comのトップページのサイトパフォーマンスを担保するため、このAPIはかなり厳しめのSLA (Service Leve Agreement) が課せられてます。直近に写真をアップロードしたアクティブなユーザのリスト作成の際、コンタクト数が多いユーザが存在すると、SLAを守るパフォーマンスがだせないため、クエリとMySQLのインデックスを改善する必要がでてきた。 2) 最初の試み 直近のコンタクトデータを非

  • 1