タグ

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

  • Facebook: 1兆インデックスの投稿検索 - ワザノバ | wazanova.jp

    https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-posts-search/10151755593228920 Facebookがエンジニアブログで、2年間に渡って開発した投稿検索機能について紹介しています。投稿10億件/日、投稿インデックス1兆件で数百テラバイトのデータをリアルタイム処理する機能とはすごいですね。 1) データの収集 一番の大きなチャレンジは、データスキーマの変更に都度対応しながら、時間/場所/タグ(ウォール投稿、写真、チェックインで仕様がバラバラ)でソートできる検索システムを構築しなければいけなかったこと。Facebookのカルチャーとして、必要なものはどんどん変更されていくのだが、投稿検索で利用しているデータは約70種。その多くは、特定のタイプの投稿に紐づいている。か

  • Pinterestをスケールさせる中で学んだこと - ワザノバ | wazanova

    https://www.youtube.com/watch?v=jQNCuD_hxdQ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 PinterestのMarty Weinerによる goto; conference 2014の講演。 「webサイトどうやってつくるの?」という創業期から、現在に至るまで、段階的にテクノロジースタックがどう進化したか。 現在のPinterestのシステムアーキテクチャの全貌。 個別のテクノロジーの選択理由。 などを語った45分のビデオですが、goto; conferenceのサイトからスライドのPDFをダウンロード(初日の10:20のコマです。)できるので、そちらを見ていただいてもわかりやすいかと。 「サイトが落ちてしまうのである意味自然に学ぶことができてしまった。

  • npmとクライアント側でのパッケージ管理の議論 - ワザノバ | wazanova

    npmに登録されているパッケージ数は10万、月間ダウンロード数も5億を超えました。7月の段階で月間3億程度ですから、こちらのグラフで見てもわかるように、かなり成長が加速してきていますね。 EdgeConf4において、パッケージ管理をテーマにしたディスカッションに、npmのCTOであるLaurie Vossと、npmのpeer dependencyをつくったGoogle Chrome TeamのDomenic Denicola(ES6のPromiseの取組みでも知られた人ですね。)が参加しています。この二人と、BowerのJosh Peekを中心に議論が進んでいます。ちなみにJoshはGitHubの社員で、最近では、左右に並べてdiffを比較できる便利な機能をつくった人でもあります。 「サーバサイドのパッケージマネジャとしては、CPANやRubygem、npmのように開発言語ごとにプレーヤー

  • 大規模分散システムのレスポンスを向上させる工夫 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=1-3Ahy7Fxsc 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約2時間前 GoogleのJeff Dean(Senior Fellow, システム & インフラグループ)による、Velocity Conference 2014のキーノートスピーチです。 Jeffは、オブジェクト指向言語によるプログラムの最適化で博士号を取得。DEC/Compaqの研究所の勤務をへて、1999年にGoogleに入社。以降、BigTable / MapReduce / Spanner / Google Translate / Google Brainなど、同社の大規模分散システムの構築に一貫して携わってきています。 例えば、検索結果のレスポンスを向上させるには、そ

  • FLEX: FlipboardがiOSデバッグツールをオープンソースで提供 - ワザノバ | wazanova

    http://engineering.flipboard.com/2014/07/flex/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 FlipboardがiOSのデバッグツールであるFLEXをオープンソースで提供しています。 アプリにかぶさるかたちでツールが表示。それを使って、実行中のアプリのほとんど全てのステートを閲覧および修正可能。 アプリの中で動くツールなので、LLDB/Xcodeや他のリモートデバッグサーバへの接続不要。 シミュレータでも実機でも動く。 その他特徴としては、 階層でviewを確認/修正できる。 どのオブジェクトのプロパティとivarsを確認できる。 多くのプロパティとivarsを動的に修正可能。 インスタンス/クラスメソッドを動的に呼び出せる。 ヒープをスキャンしてアク

  • PinterestのHadoopインフラ - ワザノバ | wazanova

    http://engineering.pinterest.com/post/92742371919/powering-big-data-at-pinterest 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Pinterestもものすごい規模になってきましたね。 1日当たり20TBの新しいデータ。Amazon S3には約10PBが保存されている。 同社ではこのデータの処理にHadoopを利用していますが、 毎日100人以上が、Quoboleが提供するダッシュボードを使って、2,000件以上のジョブを実行。 3,000個のノードで構成される6つのHadoopクラスタを利用。エンジニアは数分で専用のクラスタが立上げ可能。 毎日のログデータは、200億件。約1TBに達する。 このグラフによると、Pinte

  • Rubyのパフォーマンス計測ツール - ワザノバ | wazanova

    https://www.youtube.com/watch?v=cOaVIeX6qGg 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 42分前 Aaron Quintは、オンライン/オフラインで招待状やお祝いのカードを送るサービスであるPaperless PostのCTOです。GoRuCo 2014で、お薦めのRubyアプリのパフォーマンス計測ツールを紹介してくれてます。 評価の基準としては、 Specificity (Sp): アウトプットの内容がどれだけ詳細か。 Impact (Im): Probe Effectのレベル。計測が意図しないシステムの振る舞いにつながる可能性のある影響度合い。この数値が大きいと番環境では使えない。 Difficulty of Operator Use (Op): ツールのセッ

  • レストランのパフォーマンスをRで解析する - ワザノバ | wazanova

    http://perfdynamics.blogspot.com/2014/07/restaurant-performance-sunk-by-selfies.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 Performance Dynamicsのブログで、PDQ(Pretty Damn Quick)モデルを利用して、Rでレストランのパフォーマンスを試算した話を紹介しています。 データの元はこちらの記事。NYの老舗レストランが、10年前と比較して、1日当たり同じ数の顧客を対応しているのに、サービスが遅いとのクレームが増えているため、店内の監視カメラで録画したスタッフの動きを比較して分析。その結果、店内の無料Wifiのつなぎ方の問い合わせやつながりづらいというクレームへの対応、顧客がスマホで

  • 何でもデバッグできるようになるスキル - ワザノバ | 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でアクセスできる情報だけはある。 とい

  • Iconfinder: 画像データの重複チェックのアルゴリズム - ワザノバ | wazanova

    http://blog.iconfinder.com/detecting-duplicate-images-using-python/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 Iconfinderは以前、500 Startup Fundのデモdayでプレゼンするのを見た記憶があります。それから資金調達もできたようで、無事生き残ってますね。 アイコン等の画像ファイルの検索 & 販売をするサイトですが、悪いユーザがIconfinderから画像をダウンロードした後に、そのまま、もしくは多少改変して、Iconfinderにアップして販売しようとする不正行為があるようです。その対策のための検知アルゴリズムについてブログで紹介しています。 一般的な画像データをハッシュ化するアルゴリズムでは、画像のごく一部

  • GitHub: ストレスをうまく減らしているのがキモなんだと思った - ワザノバ | wazanova

    http://zachholman.com/posts/github-communication/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 ほうれんそう(報告/相談/連絡)って正直面倒ですよね? もちろん自分も大人ですから、仕事におけるタイミングよい細かなコミュニケーションの大切さは理解してます。だから職場では頑張ってやりました。折をみてメンバ全員を集めて話しもしました。1 on 1のミーティングもやりました。そしてメンバにもまわりとのコミュニケーションを積極的にとるように期待しました。 けど、子供のときに朝8時半に学校に行かなくてはいけなかったときと音では変わってないと思います。やらざるを得ないからやるということ。やはりストレスです。 GitHubのコミュニケーション伝導師のZach Ho

  • Etsy: モバイルアプリの継続的インテグレーション - ワザノバ | wazanova

    http://codeascraft.com/2014/02/28/etsys-journey-to-continuous-integration-for-mobile-apps/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約7時間前 EtsyのNassim Kammahが同社のモバイルアプリのCIシステムを紹介しています。 Build CIマシンはMac Mini + Chef 例えばiOSアプリのビルドはコマンドラインで、xcodebuild -scheme "Etsy" archive パッケージのインストールはhomebrew cookbook ruby環境の管理はrbenv cookbook Xcode(一部手動のテップあり。)/ Git / Androidのパッケージの95%をCIマシンでの

  • YouTube & Go言語: MySQLをパワーアップするVitess - ワザノバ | wazanova

    http://www.youtube.com/watch?v=qATTTSg6zXk 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約3時間前 YouTubeのシステムアーキテクトであるSugu SououmaraneのFOSDEM 2014での講演です。スライドはこちらからダウンロードできます。 1) Vitessとは Vitessは大規模な番環境でMySQL DBを効率的に利用するためのオープンソースプロジェクトです。概要はプロジェクトゴールのページ にまとまってます。 MySQLは機能が豊富だがスケールさせるときは苦労する。一方、NoSQLはスケーラビリティには問題がないが、アプリケーションが複雑になるとできることに限界があるのがネックになる。セカンダリインデックス、joinsなどがサポートされていない。

  • Square: センシティブなデータを安全に & 開発スピードを落とさない仕組み - ワザノバ | wazanova

    http://www.youtube.com/watch?v=c43_jfKNTZw 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 SquareのWiktor Macuraが、センシティブなデータを安全に扱い、かつスムーズな開発の支障にならないようにするための、同社の取り組みを紹介しています。 創業4年経過。取扱高は年換算で$20B(約2兆円)のペース。エンジニア250名。 口座番号 / カード番号 / 氏名などのセンシティブなデータをエンジニアが心配なく扱えるように、key/valueストアのトークンが発行されるAPIを社内向けに用意している。 暗号化は極力早い段階でという方針。スマホに差し込んで使用するSquareのクレカ読取り機 は、バッテリーも搭載していないかなり安価なものだが、この上でカー

  • データプロダクトをつくるときに気をつけること - ワザノバ | wazanova

    http://blog.relateiq.com/the-data-revolution/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 LinkedIn / Greylockを経て、CRMツールのRelatelIQのVP of ProductをしているDJ Patilの "Building Great Data Products"をまとめたものです。データの絡むプロダクトづくりをするときにハイレベルで気をつけるべきことが挙げられてます。 1. あまり凝りすぎないこと。 シンプルで素直なかたちの方が、凝ったアプローチよりも、10回のうち9回は正しい。 2. シンプルなものからはじめて、必要あらば、複雑にしていけばよい。 複雑なものからはじめて、それからシンプルしようなんて思わないこと。 3. データ

  • Evernote: 会社の規模にあわせてのセキュリティ対策の考え方 - ワザノバ | wazanova

    http://firstround.com/article/Evernotes-CTO-on-Your-Biggest-Security-Worries-From-Three-Employees-to-300 セキュリティ当に大事だけど、会社が小さいうちにものすごいコストをかけた対策はできないので、段階的にやっていくことになるのが典型的なパターンだと思いますが、「では、具体的にどの段階で何をやるのか?」について、EvernoteのCTOであるDave EngbergがFirst Round CTO Summitで自らの考えを紹介しています。 まず、原則として、「導入しようとしてるセキュリティの対策が、守ろうとしていることのリスクよりも低いときだけ、実行する。」こと。会社が小さいときは失うもののリスクも小さいので、対策もおおげさなものでなくということになるが、Tech Crunchに最初

  • [その1] Ruby 2.0のガベージコレクタを使いこなす - ワザノバ | wazanova

    http://samsaffron.com/archive/2013/11/22/demystifying-the-ruby-gc Ruby 2.1のガベージコレクタ (GC) については、「RubyPythonの違いからガベージコレクタを理解する [その1] [その2] 」で取り上げましたが、今回は、DiscourseのSam SaffronがまとめているRuby 2.0のGCを利用するにあたっての学びを紹介します。 1) Heaps of heaps MRIはヒープにRVALUEとして知られているオブジェクトをもつ。各ヒープは約16KB。RVALUE構造体は、マシンのアーキテクチャによって異なる量のメモリを消費する。x64マシンでは40 byte、x32マシンではサブアーキテクチャー次第で20 byteから24 byte。RVALUEはマジカルなC構造体で、Rubyの様々なローレベル

  • 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番目のローンも組んで、クレカの借金の支払

  • Evernote: Phil Libinが語る自分のためのプロダクトをつくるということ - ワザノバ | wazanova

    http://www.youtube.com/watch?v=XHed2NGhg2g EvernoteCEOのPhil Libinは、ロシア生まれのボストン育ち。Evernoteで初めてシリコンバレーに移ってきたという経歴。シリコンバレーの経営者というガツガツしたアグレッシブさはなくて、人の良いおじさんという表現がぴったりです。音楽家/チェスチャンピオン/博士号を複数もつ秀才などを排出した一族の中で、人曰く特別な才能がある分野がなくて、スポーツも苦手だったが、コンピュータだけには熱中できたという子供時代。 大学時代に友人と創業したEngine5を、運良くネットバブル崩壊の直前の2000年頭に売却。その後創業したCoreStreetでの政府向けのセキュリティビジネスという分野は、実際にやってみたら、あまり面白くなかったと語ってます。その経験から、他の誰かのためのプロダクトでなく、自分のた

  • 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としてよく知られるとおり、人間が良