Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

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

  • 規模の大きい本番システムをGo言語で書き直した感想 - ワザノバ | wazanova.jp

    http://matt-welsh.blogspot.com.au/2013/08/rewriting-large-production-system-in-go.html Go言語の4周年をテーマにしたgolang.orgのブログで紹介されていた、GoogleのMobile Web Performanceチームに所属するMatt Welshのブログです。大規模な番システムの作り直しにGo言語を採用した経験を語っています。 1) 背景 C++のオリジナルのコードベースは問題なく作動していたが、何年も複数の目的の違うプロジェクトで共有されていたため、スピーディーに改修するのが難しくなっていた。(何のシステムなのか具体的に書いてないのは残念。。) イメージフォーマットをトランスコードするライブラリはC++で完璧に動作していたので、そのまま残し、それ以外を全てGo言語で書き直した。 元のコード

    miguchi
    miguchi 2016/11/10
  • Prometheus: Go言語で書かれたモニタリングシステム - ワザノバ | wazanova

    https://developers.soundcloud.com/blog/prometheus-monitoring-at-soundcloud 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Prometheusは、SoundCloudが中心となって開発を進めているオープンソースのプロジェクトDockerの社内でもメインのモニタリングシステムとして利用されているようです。 各社のブログのエントリーから、その特徴をまとめると。 多元データモデルとそれを活かす柔軟なクエリ言語 全てのデータにタイムスタンプのある、OpenTSDBに準じたデータモデル。 http_response_500_totalやhttp_response_403_totalなどHTTPレスポンスのステータスごとに用意しなくても

  • iOSのデバッグを極める - ワザノバ | wazanova

    http://www.objc.io/issue-19/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 objc.ioはベルリンのメンバを中心に、月替りでiOS関連技術の特定のテーマに絞って発信しているブログ。もう既に知名度はかなり高いかと思いますが、毎月ものすごく力の入った特集ゆえに、その分ボリュームも相当で、読むのも大変というか、時間がないから読めてない人もいるかと。今月は#19としてデバッグの話題です。 Peter Steinbergerの「デバッグ : ケーススタディ」では、UIKit上のバグをLLDBで対処した話を紹介。 「デバッガーでのダンス - LLDBのワルツ」において、Ari GrantはLLDBの使い方を詳説してくれています。 「DTrace」はiOSシミュレータでしかまだ利用で

  • スケールするサービスでの最新オペレーション事例 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=B1Wt8s4LEfk 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 10/29に開催されたSecurity@Scaleのカンファレンスで、興味深いと思った話題を拾ってみました。 SquareのDiogo Monicaの講演は、障害/脆弱性に対応する社内システムをどのように自動化 / 最適化させてきたかというテーマ。 脆弱性の種別(XSS等) x セキュリティゾーン(システムのどの箇所にとって脅威になるかを3段階に分類。DBに近い方が危険性が高い。)でスコア化することで、対応のために発行されるチケットは自動的に優先付けされる。 SLA(サービスレベルアグリーメント)において、例えば、P0は24時間以内、P1は7日以内、P2は30日以内と

  • 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) テストクローラーを利用してのモバイル実機テストの

  • CDNの挙動を検証する取組み - ワザノバ | wazanova

    https://gdstechnology.blog.gov.uk/2014/10/01/cdn-acceptance-testing/ 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約2時間前 Code for Americaなど、ネットの力で政府機関を改善していく取組みがここ数年増えていますが、中でもGOV.UKは、英国政府のwebサービスのあるべき仕様をサービスデザインマニュアルに詳細にまとめ、政府関連のウェブサイトを取りまとめています。その活動は、3分ほどのビデオにまとめらてますが、技術関連の情報発信にも力を入れてきています。 さて今回のGOV.UKのエンジニアブログは、受け入れテストを充実させてCDNの挙動を検証した取組み。実装の詳細から、バグのケースまで網羅されていて、かなり詳しく紹介されています。合

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

  • シングルページアプリづくりのJavaScriptフレームワーク比較 - ワザノバ | wazanova

    http://blog.andyet.com/2014/08/13/opinionated-rundown-of-js-frameworks 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 開発言語やフレームワークの比較は、参考になるところはありつつも、その結果、不愉快な気分になる人がいるわけですが、それを懸念して、「(これを読んだ人は、他人の)意見を読んでいるだけだと思い返してほしい。貴方にどうすべきだと言ってるのではなく、自分にもしくはチームのために何がよいかは自分で判断すべきこと。」と前置きして、Henrik Joretegが、JavaScriptフレームワークについて私見をシェアしています。 反対意見も併記しようと思ったのですが、TwitterやHNでの反応がまだないようなので、注目すべきコメ

  • Sourcegraph: Goアプリのテスト - ワザノバ | wazanova

    http://pivotallabs.com/tech-talk-sourcegraph/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Sourcegraphは、Goで書かれたオープンソースのソースコードサーチエンジン。GitHubGoogle Code等を検索し、表示されたコード上でfunction名などをクリックすると、そのドキュメントと他の利用事例のコードが確認できます。現在は、Go / Python / JavaScript / Rubyをサポートしていて、近々Javaもカバーするようになるようです。APIの公開は準備中とのこと。 同社のQuinn Slackが、Goアプリのテストをテーマに講演しています。 最初の構成 データストア: DBへのSQLクエリを構築し、データに対するアルゴリ

  • AdRoll: 420億件/日の取引をさばくRTBプラットフォームの計測 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=qURhXHbxbDU&list=UUKrD_GYN3iDpG_uMmADPzJQ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 RTB (Real-time Bidding) のテクノロジーを利用した広告リターゲッティングのプラットフォームを提供するAdRollのエンジニア、Brian TroutwineのErlang Factory 2014での講演。InfoQで紹介されてました。 前提条件 1日最大420億件のトランザクション。(スライドの数値は誤りとのこと。)相当な並列処理が必要。 遅延(= 取引の完了期限)は100ms以下 Firm real-time system(遅延すると計算結果の価値はなくなるが、システム全体にとっては

  • 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): ツールのセッ

  • サイトパフォーマンスを上げるJavaScriptとCSSの使い方 - ワザノバ | wazanova

    リアルタイムアナリティクスのサービスを提供しているGoSquaredがエンジニアブログで紹介しているのは、サイトパフォーマンス向上の工夫。今回は、アセットのダウンロードやパースのところでなく、遅延をおこさずにスムーズに描画するかというポイントに絞っています。 典型的なスクリーンの描画フローでは、フレームごとにブラウザがJavaScriptを評価する。もしJavaScriptによって修正されていれば、エレメントのためのスタイルやレイアウトを再計算する。次に、ページをいくつかのレイヤに描いていき、レイヤをスクリーンにあてはめるのにGPUを使う。各ステージごとに、ウェブページやアプリが行うことが違い、それぞれにコストがかかる。スムーズな60fpsを目指したければ、ブラウザは全てを16msで完了させる必要がある。 JavaScriptがレイアウトを変更(margin, padding, width

  • bitly: 監視ポイントに追加して役に立ったもの - ワザノバ | wazanova

    http://word.bitly.com/post/74839060954/ten-things-to-monitor 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 bitlyはしばらくぶりに名前を聞いたのですが、まだ頑張ってるのですね。(失礼) 同社のHead of EngineeringのJehiah Czebotarが、サイトの運営の現場で学んで追加してきた監視ポイントについて紹介しています。 1. Fork Rate かつて、IPv6を意図的に無効(/etc/modprobe.confにおけるoptions ipv6 disable=1とalias ipv6 off)にしていた箇所があったため、新しいcurlオブジェクトが生成されるたびに、IPv6のステータスを確認するためにnet-pf-

  • Amazonの社風とSOA - ワザノバ | wazanova

    https://plus.google.com/app/basic/stream/z12ld3fwhlnexv5b004cjv0oapmuflzrezc0k 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 Steve Yegge (Amazon -> Google)が、Googleのプラットフォーム戦略が遅れていることを指摘した、2年前のかなり長いエントリーですが、その中で触れているAmazon時代のエピソードが興味深かったです。 Jeff Bezosは2002年の当時からプラットフォーム戦略の重要性をよく理解していたが、とにかくマイクロマネッジメントで強制力のある経営者だったとして、サービス指向アーキテクチャ(SOA)の採用を指示したときのエピソードを取り上げてます。 そこでJeffは命令をだした。

  • BitTorrent: ソフトェアのパフォーマンス改善のポイント - ワザノバ | wazanova

    http://www.youtube.com/watch?v=fwgJNJJalL4 2 comments | 1 point | by WazanovaNews ■ comment by Jshiike | 約4時間前 BitTorrentのChief ArchitectのArvid Norbergが、最近のコンピュータの内部構造を考慮したソフトウェアのパフォーマンス改善のポイントについて語っています。 CPUからメモリへのアクセスは、データがDRAMにあると、レジスタの場合と比較して約60倍の時間がかかる。 CPUはメモリを待ち受けしているだけでも、プロファイラーは100%使用でビジーと表示してしまう。 キャッシュの成否の影響は大きい。CPUは、メモリへのアクセスパターンが一定(予想可能)であれば、メモリをprefetchするのでキャッシュが確実にできる。他のところを参照しにいってパ

  • NTPベースのDDoS攻撃を理解する - ワザノバ | wazanova

    http://blog.cloudflare.com/understanding-and-mitigating-ntp-based-ddos-attacks1 comment | 0 points年初にLeague of Legends、EA.comのサーバがダウンする原因となったNTPベースのDDoS攻撃について、CoudFalreがエンジニアブログでまとめています。 DNS Reflection is so 2013 DNSベースのDDoS攻撃とNTPベースの攻撃は似ている。プロトコルの違いだけ。攻撃者が、被害者となる相手のIPアドレスを偽ってパケットを送付。事情を知らないサーバは、リクエストに応えて、被害者のIPアドレスにデータを返すという仕組み。実際の攻撃者のソースは隠されていて、トレースするのが難しい。もし大量のサーバが利用されると、相当のボリュームのパケットが、世界中から被害者

    miguchi
    miguchi 2014/01/13
  • WebRTC: サーバのない世界でwebをつくり直す [Realtime Conf. 2013Real] - ワザノバ | wazanova.jp

    [Video] http://2013.realtimeconf.com/video/ [Slide] https://speakerdeck.com/feross/webrtc-data-black-magic しかし、23歳にして既にこのレジュメにあるようなアウトプットを連発しているFeross Aboukhadijehはすごいですね。その彼が、Realtime Conf. 2013で、WebRTCの現状と自らの新しいプロジェクトについて語っています。 1) 概要 Video/音声/データをブラウザ間のpeer-to-peerで直接やりとりできる プラグインのインストールは不要 WebSocketスタイルのシンプルなAPI 2) 利用事例 リアルタイムチャット、ファイルシェア、遅延のないマルチプレーヤー対戦型ゲーム、分散DB、ダークweb?(p-to-pコミュニティ)、CDN Mozi

    miguchi
    miguchi 2013/11/03
    WebRTC使った何かおもちゃを作ってみたい
  • CIについてのおさらい - ワザノバ | wazanova.jp

    CIについては、 CIに興味がある会社は多いが、 バックアップをとってない バックアップをとっていても手順書がない システム監視してない 退職者がでても番用のパスワードを変えてない サーバ設定管理をしてない システムをスケールさせる段取りがついてない サーバ交換の手順が決まってない など、まともなシステム運用環境が用意されてない事例が散見される。最初からHerokuやPaaSに任せている会社であればよいが、そうでなければ基的なことの整備は大切。まずは、Ansible / Puppet / Chef / SaltStackなどでの設定管理から手をつけてみればよいのでは。 という意見もあるようですが、「CIとは何か?」については、やはりThoughtWorksのサイトが一番簡潔によくまとまってるようです。 Integrate at least daily コードを1日数回共有のreposi

  • AngularJSの設計思想 [Google I/O 2013] - ワザノバ | wazanova.jp

    [Video] https://www.youtube.com/watch?v=HCR7i5F5L8c AngularJSのHype (盛り上がり感)があるようなので、GoogleのMisko HeveryとBrad GreenがGoogle I/O 2013でAngularJSの設計思想について語っているのを紹介します。 アプリ開発は、雛形構文(ボイラープレート)を利用しながらデータをブラウザとDBの間でやりとりさせるのが中心で、気づいてみると同じ雛形構文を書く作業をかなり繰り返している。コードを書いてる時間よりもコードを読んでいる方に時間がとられることも多い。この雛形構文を使った作業を極力減らして、アプリに付加価値をもたらすコーディング作業だけを抽出したいと思った。 コーディング作業が効率的になる構造が欲しかった。 フレームワークにテストを組み込むが、フレームワーク自身をきっちりテスト

  • Erlang: WhatsAppを支える技術 - ワザノバ | wazanova.jp

    [Video] http://vimeo.com/44312354#at=0 [Slide] http://www.erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf WhatsAppは日でいうところのLineにあたるサービスでしょうか。このニュースによると、WhatsApp: 月間UU3億、WeChat: 月間UU2.3億、Skype: 月間UU2.8億、Line: 登録2億 (UUは発表しないんですね。。) ということですから、相当でかいですね。 昨年になりますが、Rick Reed (WhatsApp <- Yahoo! <- SGI)が、同サービスを支える、数百万ユーザの同時接続システムについて、SanFranciscoのErlangのカンファレンスで語ってます。 メッセージのトラフィ