タグ

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

  • Googleのテスト自動化の進化 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=6ZvCU0dht50 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Google Test Automation Conferenceが今年はSeattleで開催されたようです。その中で興味深いと感じた話題をいくつか拾ってみました。 1) 成長を続けるGoogle 会社の規模が大きくなり、歴史を重ねてくると、何事も非効率になりがちですが、Ankit Mehtaが紹介してくれた数字によると、Googleの開発ペースは依然として右肩あがりのようです。 コードのコミットは、1日3万チェックイン。約3秒に1回。グラフを目測した限りでは昨年から約20%増。 リリース数もこの1年でほぼ倍増。 2) テストクローラーを利用してのモバイル実機テストの

  • 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は、(ユーザが閲覧している範囲に追加反映するということなの

  • Squareの内部APIの仕組み - ワザノバ | wazanova

    http://corner.squareup.com/2014/09/squares-api.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 SOAにおけるサービス間のコミュニケーションについては、CODE CLIMATEにおいて、Protocol Buffers vs JSONという比較が取り上げられていて、「ブラウザやJavaScriptが直接データを利用しないケース、特に内部サービス間のコミュニケーションにはProtocol Buffersの方が向いているのでは。」と紹介されています。 せっかく整合性のあるデータ構造を用意しても、サービス間のデータのやり取りの際に苦労させられることが多い。Protocol BuffersならProtoフォーマットにしてエンコーディングするだけで、意図す

  • 何でもデバッグできるようになるスキル - ワザノバ | wazanova

    https://www.youtube.com/watch?v=VV7b7fs4VI8 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 パッケージ(apt, yum, gem等)レポジトリのホスティングサービスであるPackageCloudを開発している、James Golickの講演です。 パフォーマンスの高いハイクオリティなソフトウェアをデプロイしたければ、あらゆるレベルでバグ修正ができるようになること。 まず、エピソードとして紹介しているのが、友人の会社のサイトが落ちて、あいにく、その会社のエンジニアが出払ってしまっていて、どうにかしてほしいと助けを求められたときのこと。 ソースコードを見たことない。 システムの構成を知らない。 phpは詳しくない。 SSHでアクセスできる情報だけはある。 とい

  • モバイルAPIデザインのまとめ - ワザノバ | wazanova

    Natasha Murashevがブログで、API Strategy and Practice Conferenceにおける、Michele Titolo (先月、「 Ruby RoguesメンバとiOSエンジニアAPI議論」で紹介しました。)とEtsyのPaul Wrightの講演のポイントをまとめてくれています。 1) スピード ユーザは待ってくれない。300msで、リクエスト / レスポンスの処理 / ユーザに結果の表示をする。 2) RESTが常にベストとは限らない 以前のEtsyのAPIリソースはDBスキーマのミラーになっていた。クライアントがリスティングのリストを受け取ったら、ユーザがFavoritedに指定しているリスティングIDを取得するために、再度APIコールする必要があった。クライアントのAPIコールが増えると、クライアントのスピードが落ちる。また障害の可能性となるポ

  • 高負荷データ処理の各社の事例 - ワザノバ | wazanova

    http://highscalability.com/blog/2014/3/24/big-small-hot-or-cold-examples-of-robust-data-pipelines-from.html 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約1時間前 Hakka LabsのFounderのPete Soderlingが、「何でもBig Dataと称する風潮は行き過ぎだが、処理すべきデータが増えてきているのは確か。」として、データ処理プロセスでの各社の取り組みを紹介しています。 Stripe HDFSには、JSONやBSONなど多様なフォーマットのデータを送っている。Thriftとでロジカルな構造を定義し、Parquetでディスクに保存するフォーマットを決めている。複雑なバッチ処理のツールとし

    takashabe
    takashabe 2014/03/26
  • Ruby RoguesメンバとiOSエンジニアのAPI議論 - ワザノバ | wazanova

    http://rubyrogues.com/147-rr-apis-that-dont-suck-with-michele-titolo/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 iOSエンジニアのMichele Titoloは、Objective-Cのディペンデンシーを管理するCocoaPodsのプロジェクトで知られてますが、モバイルエンジニアの立場からAPIを利用して開発するポイントについても、自らのブログでまとめています。 1) Follow Conventions はじめてのことにトライするときは先駆者の知恵に従うほうが、クオリティの高いものをつくれるので、conventionに従うのがよい。そのほうがデバッグもしやすい。自分でAPIのルールを定義する必要が生じた場合は、一貫性を維持し

  • APIファーストで開発する - ワザノバ | wazanova

    http://blog.pop.co/post/67465239611/why-we-chose-api-first-development POPは、簡単にビジネス/アイデアをかたちにするために、1分でドメイン/スタートページ/メアドを用意できるサービスとのこと。彼らが、「APIファースト」で開発しようとした理由を紹介してます。 1) 将来APIを提供できるように 機能を追加する都度、APIが既に準備できているかたちになるので、将来APIを第三者に提供するときもスムーズ。 2) フロント/バックエンドの分離 バックエンドのテンプレートコードがフロントエンドのクライアントビューとやり取りしない仕様にすることで、将来の開発に負の資産を残さない。 3) スケーラビリティ フロント/バックエンドそれぞれを独立してスケールさせることができるので、将来的にメリットがでるはず。 4) 開発言語のバリア

    takashabe
    takashabe 2013/11/26
  • GitHub: Tom Preston-Wernerが語る「幸せの最適化」 - ワザノバ | wazanova

    http://www.youtube.com/watch?v=Ms-8GcZXiDA PandoDailyのSarah Lacyのインタビューの中で、GitHubCEOのTom Preston Wernerが、GitHubを創業するまでの半生を語ってます。かなりガッツな人生です。 1999年にサマーインターンとしてスタートアップでJavaで開発をしていて、そのまま誘われて大学をドロップアウト。 しかし、ほどなくドットコムバブルが弾けて、解雇される。クビになった仲間と3人でウェブ開発の会社を起業したが、ビジネスには素人だったため、まったくうまくいかず、他の2人は諦めてあっさり就職。Tomは一人で受託開発を続けるが、あまり稼げず、8枚のクレジットカードを駆使して、$50K (500万円) ほどの借金生活。それでも、結婚して、ローンで家を買って、さらに2番目のローンも組んで、クレカの借金の支払

    takashabe
    takashabe 2013/11/25
  • Twitter: 大きなトラフィックに耐えうるアーキテクチャーへの変更 - ワザノバ | wazanova.jp

    https://blog.twitter.com/2013/new-tweets-per-second-record-and-how 少し前、8月のTwitterエンジニアブログのエントリーですが、アーキテクチャー変更について触れているポストなので、取り上げてみます。 1) 背景 2010年のワールドカップ時点でのトラフィックがさばききれなかった時点での状況は、 200人のエンジニアが、単一のRailsのコードベースで大量のユーザとトラフィックに対応する構造であった。 MySQLのストレージシステムは、一つのマスタと一時的にシャーディングされるスレーブの構成で、読込み/書込みともにスループットの限界にきている箇所がでていた。 フロントエンドRubyマシンは期待通りのトラフィックをさばけていなかったが、技術的な解決ではなく、サーバの追加でしのいでいた。 コードベースは、可読性とパフォーマン

    takashabe
    takashabe 2013/11/20
  • Githubの組織が成長する過程で変えたことと変えなかったこと - ワザノバ | wazanova

    GithubのZach Holmanが語るGithubの組織戦略です。まず最初に、 Step #1: ロックスターエンジニアを雇う Step #2: ものすごく透明性のある経営をする Step #3: ブログ/ソーシャルメディアなどでテクノノロジーについて発信する Step #4: カンファレンスで会社について話す Step #5: カネに余裕ができる Step #6: 社員を大勢雇う Step #7: 会社のことを話さなくなる Step #8: コミュニティを無視する Step #9: 創業者が株を売って儲ける Step #10: 別の会社をはじめる という事例を挙げて、Githubは組織が成長する中で、このようなパターンに陥らないように、コミュニケーション及び仕事の進め方をどのように進化させてきたかについて紹介してます。 Dunbar's numberとしてよく知られるとおり、人間が良

    takashabe
    takashabe 2013/11/20
  • Airbnb: Chefをどう使いこなしているか - ワザノバ | wazanova.jp

    http://nerds.airbnb.com/making-breakfast-chef-airbnb/ Airbnbが社内でのchefの利用事例について、かなり細かめに紹介してくれてます。 1) 背景 Airbnbは動的なコード環境にある。Amazon EC2のバーチャルマシン上で動くサービスが組み合わさってサイトが構成されている。 昨年、EC2のインスタンスを立上げ & 設定をするCloudMakerをオープンソースで提供し、従前の手動作業からは相当効率化したが、YAMLの設定を全て希望するかたちにはできなかったので、S3に複雑なバージョンのシェルスクリプトツリーができて、メンテナンスが難しくなった。 そこで、2012年2月からChefへの統合を開始。OpscodeのホスティングChefを利用し、数週間で共通設定項目についての移行が完了し、番稼働した。しかし、Chefユーザが増える

  • 1