タグ

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

  • Twitter: 14万件/秒のtweetを支えるFinagle - ワザノバ | wazanova

    https://blog.twitter.com/2014/netty-at-twitter-with-finagle 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Twitterの一連のシステムは、バックエンドのユーザプロファイル / tweet / タイムラインから、HTTPリクエストを処理するフロントAPIのエンドポイントに至るまで、Finagle上で構築されてます。同社のエンジニアブログでその概要が紹介されています。 障害耐性があり特定のプロトコルに依存しないRPCフレームワーク for JVM Netty (NIOクライアントサーバフレームワーク) 上に構築。SOA (サービス指向アーキテクチャ)では上流サービスの待ち受けをしている時間が長いので、非同期処理ライブラリが効果的。 Twitt

  • React Nativeがスマホアプリのフロント開発を変えるのか - ワザノバ | wazanova

    Reactは当初、「Huge step backwards(これではメンテできなくて、かえって大きく後退してしまっている。)」「Rethink established best practives(皆が積み上げてきたベストプラクティスを変えようとしている。)」と揶揄されたりもしましたが、最近は他のJavaScriptフレームワークにもその思想の一部が反映されるようになって、メインストリームに近づきつつあるようです。 さて今回Facebookが、React Nativeを発表 & オープンソースとして公開して話題になっていますが、Tom Occhinoは React.js Conf 2015のキーノートスピーチで、「一度書けば、どのプラットフォームでもうまく動作する。」ではなく、「一度覚えれば、どのプラットフォーム向けにも書けるようになる。」ものであることを強調しています。 同社の開発メンバ

    Nyoho
    Nyoho 2015/02/01
  • Goでのゲーム開発 - ワザノバ | wazanova

    http://www.j15r.com/blog/2015/01/25/Game_Development_in_Go 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 Minecraft的なものをGo言語で試してみた経験をまとめたブログのエントリー。専用のツール / ライブラリ / エンジンなどはまだ充実はしてない中で、Goゲームづくりにどこまで使えそうかと考えるうえでの参考になればと思います。 採用のポイントとしては、 アウトプットスピードがCと同じでなくても、近づきつつある。 Cとのインターフェースが簡単。 メモリレイアウトの操作のしやすさ。 ガベッジコレクションにおいて、メモリモデルを利用してガベージを安易に増やさない工夫ができる。 概ね安全に書ける。 コンパイルが早い。 オーバーヘッドがほぼか

  • 分散システム設計のチェックリスト - ワザノバ | wazanova

    http://monkey.org/~marius/checklist.pdf 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 TwitterのMarius Eriksenは分散システムのエキスパートであり、モジュール化され、安全でかつ効率よく機能するサーバソフトの構築のノウハウは、「Your Server as a Function」という論文にまとめられています。 また、分散システム設計における留意点も、下記の内容のチェックリストというかたちで紹介してくれています。 1. 障害耐性 もし依存先が障害を起こしたらどうなるか?その障害がゆっくりと起きたらどうか? システムをどのようにスムーズにデグレードさせることができるか? システムは想定以上の負荷にどう対処するようになっているか? 大きな障害が起き

    Nyoho
    Nyoho 2015/02/01
  • 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シミュレータでしかまだ利用で

  • 生まれ変わるAngularJS - ワザノバ | wazanova

    シングルページアプリ向けの各フレームワークをGoogle Trendで比較したグラフがLars Eidnesのブログに掲載されてますが、AngularJSの伸びが他を圧倒しています。一方で、アーキテクチャ上の課題は、コミュニティの声もあり、かつ当事者である開発チームも認識していたところ。そして、それに対する答えとしては、バージョン2.0で大幅に書き直すという流れになっています。 AngularJS 2.0については、「野心的だが険しい道のり」というタイトルの記事がGuardianに掲載されてますが、 ES6の採用 Web Componentsとの親和性のアップ (双方向バインディングをどうするかまだ決まってないが)Reactの考え方に近づいてきている (1.3のサポートはしばらく平行して続くと発表されたが)当にスムーズな移行を提供できるのか? がポイントだとSeb Ceveyはまとめてい

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

    Nyoho
    Nyoho 2014/10/30
    テストケースまで自動生成するのとか見るとさすがGoogleだなと思うなー
  • 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のコマです。)できるので、そちらを見ていただいてもわかりやすいかと。 「サイトが落ちてしまうのである意味自然に学ぶことができてしまった。

    Nyoho
    Nyoho 2014/10/28
  • エンジニアマネージャー論と学びを抽出する努力を続けること - ワザノバ | wazanova

    https://news.ycombinator.com/item?id=8406507 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約1時間前 真剣にものごとに取組むと、やらなくてはいけないことはそのうち次から次へと気づく and/or 嫌でも湧き出てくるもの。なので、アドバイスを求められれば、やるべきことは最小限、できれば三つ以内に絞って、何をやめることができるかを探す手伝いをするようにしています。やるべきことを毎日洗い直して、絞り込むことが大切。 情報の収集は自動化されてきますが、自分にとって何がポイントなのか、どう活かすべきかという抽出作業は、自らを鍛え続けなくてはいけない人力作業ですね。 RethinkDBのFounderであるSalva Akhmechetが、エンジニア組織のマネージャーのあるべき姿

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

  • サイトパフォーマンス: 1000msを目指す取組み - ワザノバ | wazanova

    Guardian誌のPatrick HamannがLondon Web Performance Meetupで、モバイルサイトのパフォーマンス向上の取組みについて講演しています。 まずは、Web Performance TodayのeCommerceに関する調査で、 ユーザの期待するページ読込み時間は、2000年の8秒から、2012年には2秒を切るレベルまで下がってきている。 ことを挙げ、1秒以下を達成するには、 3Gネットワークでは、DNS Lookup / TCP Connection / HTTP Request & Responseで 600ms (Guardianのある英国ではそれ以上)はかかる。残りの400msで、Server Response TimeとClient-side Renderingを最適化する必要がある。 というGoogleのPageInsightの分析結果を紹

  • Facebook: iOSアプリのアーキテクチャ - ワザノバ | wazanova

    https://www.youtube.com/watch?v=XhXC4SKOGfQ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 39分前 FacebookのiOSチーム、Adam ErnstとAri Grantによる@Sacle 2014での講演。データモデルとビューレイヤの改善の取組みについて紹介してくれてます。 1) データモデル 背景 2年前からHTML5からネイティブに切り替えて一旦大きく改善したが、その後機能を追加するたびにアプリのパフォーマンスが悪化。 ネイティブに移行後、オブジェクトのキャッシュレイヤとしてiOSのCore Dataを使ったのが失敗であった。 Core Dataの役割は「整合性を含むオブジェクトグラフ管理」 Facebook iOSアプリの場合、サーバ側を正のデータとするが、

  • シングルページアプリの初速を上げる取組み - ワザノバ | wazanova

    https://www.youtube.com/watch?v=VkTCL6Nqm6Y 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 OSCON 2014におけるInstagramのWebチーム責任者であるPete Huntの講演。PeteはInstagramに異動する前は、FacebookのPhoto/Video/Product Infraチームに在籍。 今回は、InstagramのwebサイトInstagram.comにおいて、シングルページアプリの課題である最初の読込みスピードを上げるために、どのような工夫をしたかについて紹介してくれてます。 Instagram.comのJavaScriptファイルは、縮小化後で9.5MB & gzip圧縮後で2.5MB。そのサイズだと、一つのファイルにまとめ

  • JavaScriptでvarを並べること - ワザノバ | wazanova

    http://benalman.com/news/2012/05/multiple-var-statements-javascript/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 まあ、好みの問題もあるので、嫌な人にとっては嫌なんでしょうが、、 JavaScriptで、例えば先頭で var をまとめて定義 & 値を代入する際に、 var foo = 1, bar = 2; でなく、 var foo = 1, var bar = 2; と、varを並べたほうが、メンテ性も見た目を揃えるにもよいのではないかという、Ben Almanの2年前のブログが最近いくつかtweetされてたので、チェックしてみました。 そもそも、 複数varを並べるのは無駄だし、初心者っぽい。 単独varの方が見た目がよい。

  • 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での各操作の結果、新しいイメージのレイヤが順次生成されるというこ

    Nyoho
    Nyoho 2014/08/12
  • RailsアプリをDockerにデプロイするときにGemfileを変更してなければBundle Installをスキップする方法 - ワザノバ | wazanova

    http://ilikestuffblog.com/2014/01/06/how-to-skip-bundle-install-when-deploying-a-rails-app-to-docker/1 comment | 0 pointsBrian Moreartyがタイトルの内容についてまとめています。 Dockerでは、Railsアプリを、依存関係(正しいRubyのバージョン、利用するgemなど)を組み込んだまま、コンテナにデプロイできる。アプリをそのコンテナでテストし、番環境のホストにアップできる。事前にメモリを確保する必要がないので、かなり軽い感じのVMのようである。このポストではコンテナ作成の詳細には触れないが、簡単に説明すると、コンテナをセットアップするスクリプトであるDockerfileをつくって、docker buildで実行するというステップ。 Dockerは、最初

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

  • レストランのパフォーマンスを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のつなぎ方の問い合わせやつながりづらいというクレームへの対応、顧客がスマホで

    Nyoho
    Nyoho 2014/07/21
  • イラっとさせないUIの工夫 - ワザノバ | wazanova

    http://uxmovement.com/navigation/why-users-arent-clicking-your-home-page-carousel/ 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約4時間前 カルーセルでスライドを順に見せるサイトがどうしても好きになれないのですが、この記事をみてはっきり自分がそう思う理由がわかりました。コンテンツに価値があるかどうかはっきりしないのに、待たなくてはいけないというシチュエーションにイラっとさせられるのだと思います。隠れているスライドが興味をそそるものであるかどうか判断つかないのに、それが表示されるまで待たなくてはいけない。ですので、ほとんど待たない。あと何枚スライドがあるかのインジケータがあっても、そもそも興味があるものかどうかわからないのでクリック

    Nyoho
    Nyoho 2014/05/12
  • ブロックチェーンをもう一段深く理解する - ワザノバ | wazanova

    http://www.igvita.com/2014/05/05/minimum-viable-block-chain/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 39分前 このブログでGoogleのIlya Grigorikが言及している、 (ビットコインの)デジタル貨幣という側面より、もっと興味深く大きな意味をもつイノベーションは、その土台となっているブロックチェーンのテクノロジー。 という考え方は、いまやベイエリアの中心的な論調。ですので、ビットコインの貨幣的側面の規制を当局が検討したり、それがメディアで報じられても、まったくひるまずに、昨年後半あたりはブロックチェーン周辺のスタートアップにかなり投資がされています。 それらのスタートアップのサービスがこれから世の中に順次でてくるので、ブロックチェーン

    ブロックチェーンをもう一段深く理解する - ワザノバ | wazanova