タグ

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

  • 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レスポンスのステータスごとに用意しなくても

    dann
    dann 2015/01/30
  • Yehuda Katzという生き方とインディーWeb - ワザノバ | wazanova

    https://frontsidethepodcast.simplecast.fm/16 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 41分前 昨日のエントリーでも名前のでてきたYehuda Katzですが、Rails / Ember.js / jQuery / W3C Technical Architecture Group (TAG) / TC39-ECMAScriptなどで活躍し、今回はRustのコアチームに参加することが発表されてます。Tom Dale曰く「インターネットの半分くらい書いてる感じだから。[1] 」という勢いがあります。Yehudaの仕事振りやプロジェクト運営における考えは、オープンソースという視点での発言ですが、企業におけるプロジェクトの進め方や今後の働き方のスタイルがどう変わるか、変

    dann
    dann 2014/12/25
  • Goと大規模分散システムの相性 - ワザノバ | wazanova

    Googleで分散システムの開発をてがけ、現在はソーシャルメディア mttr.toを立上げ中のBen Sigelmanが、Goを分散システムの開発に利用する場合の、メリットおよびチャレンジについて講演しています。 分散システムのあるべき姿 分散システムの勘所は、最上位ビットをパフォーマンス的にも構造的にもうまく扱うことができるかというのがポイント。その効果が一番大きい。スループットの改善のような詳細は、自分もGoogleでそれに取組んだけれども、9ヶ月くらいたつとハードウェアの性能で解決される可能性が高い。また、構造的にというのは、なるべく小さなコンポーネントを組み合わせたシステムにできるかという意味。 Goのよいところは、 両方、とくに後者によい。Railsだとアプリを複数個用意して並列処理するのは大変だったけど、Goだとシンプルにできて、標準ライブラリも読みやすいとかなどなど。パフォー

    dann
    dann 2014/11/24
  • 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の挙動を検証した取組み。実装の詳細から、バグのケースまで網羅されていて、かなり詳しく紹介されています。合

    dann
    dann 2014/10/10
  • Instagram: Android/Java向けのJSONパース - ワザノバ | wazanova

    http://instagram-engineering.tumblr.com/post/97147584853/json-parsing 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約8時間前 Instagramが、ig-json-parserをオープンソースで提供しています。 背景 Androidにおける、JSONのエンコーディング/デコーディングは、dalvik特有の問題やメモリ消費が課題となる。 Jackson ObjectMapperで上記の問題は概ね解決できるが、 シリアライズ/デシリアライズしたことのないオブジェクトを処理する際のペナルティが大きい。モバイルの起動時間に影響するケースもあるので、頭が痛い。メモリが大きく割り当てられるので、ガベージコレクタとの絡みを考慮する必要がある。作業が完了し

    dann
    dann 2014/09/13
  • 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

    dann
    dann 2014/07/26
  • 手をつくしたと本当に言えるのかと自問すべき - ワザノバ | wazanova

    http://www.amazon.com/Hard-Thing-About-Things-Building/dp/0062273205/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 A16ZのFounderであるBen Horowitzの "The Hard Thing About Hard Things" を読みました。 今週頭に米国で発売されて、そのうち読もうかと最初は思ってたのですが、発売翌日から大絶賛するレビュー記事がどんどんでているのに気づき、書を読む前にレビュー記事に目を通してしまうともったいないと思って、すぐにkindleにダウンロードしました。一気に読もうかと考えて朝4時まで頑張ったのですが、思いのほかボリュームがあって挫折して、3晩に分けて完読。 Marc Andreesse

    dann
    dann 2014/03/13
  • 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マシンでの

    dann
    dann 2014/03/13
  • 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

    dann
    dann 2014/03/11
  • 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などがサポートされていない。

    dann
    dann 2014/02/26
  • フロントエンド自動化ツールをまとめて理解する - ワザノバ | wazanova

    http://www.youtube.com/watch?v=1OAfGm_cI6Y 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 GoogleのAddy OsmaniによるFuture of Web Appのキーノートスピーチです。 49分間 [Video]で下記の話題を全てまとめてます。フロント関連の便利ツールが一通り網羅されてます。おかげで、Yeoman (Yo/Grunt/Bower) の概要もすっきり理解できました。スライド(236枚)で確認されたい方はこちら。 Codekit Hammer Prepros Koala Mixture compass.app scout-app Yeoman / Grunt grunt-image: JPG/PNG/Gifを最適化して軽量化 grunt-

    dann
    dann 2014/02/16
  • 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するのでキャッシュが確実にできる。他のところを参照しにいってパ

  • Facebookの継続的デプロイメント - ワザノバ | wazanova

    https://www.facebook.com/publications/514128035341603/ 1日500件、3,000ファイルに及ぶ番アップ フロントエンドのコードは1050万行、内850万行がPHP 開発エンジニア1,000名とリリースエンジニア3名 QAやテスターは存在しない 自分でプロジェクトを選ぶ & 自己責任のカルチャーが強い。 1/3のファイルが一人のエンジニア、1/4が二人のエンジニアでメンテされている。 フロントエンド番コードベースは一つのものを共有 日常業務ではローカルのgitを利用。番アップ可能になれば、中央のレポジトリにマージして、それからSubversion(過去の経緯で使っている。)にコミットする 同じエンジニアがコードをコミットする間隔は中央値で10時間 番にプッシュする前に、担当エンジニア自身でのユニットテストを終え、同僚によるコード

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

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

    dann
    dann 2013/11/15
  • 規模の大きい本番システムを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言語で書き直した。 元のコード

    dann
    dann 2013/11/11
  • Pinterest: geventでコードベースをマルチスレッドに - ワザノバ | wazanova.jp

    http://engineering.pinterest.com/post/65713073803/how-we-use-gevent-to-go-fast Pinterestエンジニアブログで、Pythonの数十万行のシングルスレッドのコードベースをgeventを利用してマルチスレッドにした経験を紹介しています。 1) Lessons from the early days シングルスレッドのコードベースでサイトの急成長に対処していくうちに、 機能が増えるにつれてサーバが増えた。 バックエンドのサーバが増えたら、障害や遅延のリスクが増した。 コードにロジックが増えたので、network IOなど並列処理をしたかったが、シングルスレッドサーバが足かせになった。 2) Building high performance servers 並列処理サーバを実現するための解がgeventであった

    dann
    dann 2013/11/06
    pymysql, python-memcached, kazoo
  • Flickr: クッキーを利用して写真ストリームの表示スピード改善 - ワザノバ | wazanova.jp

    http://code.flickr.net/2013/06/14/pre-generating-justified-views/ Flickrエンジニアブログで、クッキーを利用して、写真ストリームの表示アルゴリズムを改善した事例を紹介しています。 1) 写真ストリーム表示のアルゴリズム ブラウザのviewportの幅と写真のリストの取得 最大可能な高さとそれに呼応して変更される幅に従って、写真を行方向に順に並べていく 横幅がviewportよりも長くなれば、横幅がサイズ内に納まるまで高さを下げる 2) 以前の問題点 viewportの横幅を知るために、このアルゴリズムをブラウザ全体で実行する必要があった。 各写真データがどのようなサイズであるべきなのかが、アルゴリズムを走らせてからでないとわからないため、写真データのダウンロードがプロセスの終わりにならないと開始できなかった。 3) 改

  • 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の間でやりとりさせるのが中心で、気づいてみると同じ雛形構文を書く作業をかなり繰り返している。コードを書いてる時間よりもコードを読んでいる方に時間がとられることも多い。この雛形構文を使った作業を極力減らして、アプリに付加価値をもたらすコーディング作業だけを抽出したいと思った。 コーディング作業が効率的になる構造が欲しかった。 フレームワークにテストを組み込むが、フレームワーク自身をきっちりテスト

  • ワザノバ宣言的なもの - ワザノバ | wazanova.jp

    「どうしてブログを書きはじめたのですか?」という質問をたくさんいただいたので、今回は、ワザノバというサービスがどうなっていくのかをシェアさせてください。 ワザノバは、Web & スマホエンジニアのための、開発ノウハウ / 開発チームづくり / オープンソース /スタートアップのビジネスモデルを語るサイトになります。 きっかけは、エンジニアがまとめて情報をみれるサイトがないなと思ったことがきっかけです。英語圏であれば、エンジニアコミュニティのサポートをうけたクオリティの高い情報が集積している場所があります。日エンジニア英語で文章を読むことができますが、読解スピード = 仕事効率を考えると母国語で最新の情報が集るサイトの価値は高いと思います。 そこで、クオリティの高い選ばれた情報とそれに関する議論が集積する場所をつくれたらなと考えました。Twitterのおかげでエンジニアの発信は増えまし

    dann
    dann 2013/10/12
  • 1