タグ

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

  • Netflixのオープンソースのまとめ - ワザノバ | wazanova

    http://www.lauradhamilton.com/system-administration-at-netflix 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 メディカル分野のアナリティクスサービスを提供しているAdditiveAnalyticsのFounderのLaura Diane Hamiltonが、先日のNetflixのJeremy Edbergのプレゼン(110枚のスライド)をまとめてくれています。かなりの数になったNetflixのオープンソースのプロジェクトの全容がわかるので助かります。 Application Availability Hystrix: サーキットブレーカーのような役割を果たすことで、障害の雪崩現象をい止め、分散システムの障害耐性を担保。 The Simi

    yojik
    yojik 2016/06/27
  • Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova

    https://www.youtube.com/watch?v=ySW6Yk_DerY Rustについては「Rustのあれこれ」で少し触れましたが、Yehuda Katzが、Skylightの一連のブログとGoGaRuCo2014の講演で、「ハイレベル言語のプログラマーがシステムレベルの言語を学ぶチャンス」という観点で紹介しています。 主なポイントとしては、 プログラミング言語の特性は変わることがないとか、プログラミング言語のパフォーマンスと生産性は常にトレードオフであるという考え方は、JavaScriptにおいて、生産性が少し改善されつつ同時にパフォーマンスが大きく向上してきたという事実から、必ずしも正しくはない。 Rustは、セグメンテーション違反が起きないという意味での安全性と、どこにメモリを置くか直接コントロールできる仕様を両方兼ね備える。 Rustを学ぶということは、ハイレベル言

    yojik
    yojik 2015/05/25
  • マネージャのいない組織に進化する現実と幻想 - ワザノバ | wazanova

    マネージャのいない組織へのチャレンジについては、一昨年から話題になっていますが、ここにきてかなり論点が絞られてきていると思います。 1) 非同期 & 可視化が進む GitHubなどのツールに親しむエンジニアが、進捗が可視化され、非同期で仕事を進めることに先に慣れてきたが、SlackのようなコミュニケーションツールやTrelloなどのタスク管理ツールの浸透で、非エンジニアにもじわじわその理解が進んでいく。 2) マネージャの役割が変わる 上記1) が進むことで、進捗を報告させて情報を集約、また逆に、全社 / 業界の情報をフィルタリングして伝えるという、情報操作ハブとしてのマネージャの役割はかなり減る。情報の透明性があがることで、情報を握っていることがマネージャのパワーの源泉である時代が終わる。 プロジェクトの進捗 / 開発のクオリティ / 売上 / 評価とフィードバック / メンバの士気の向

    yojik
    yojik 2015/02/23
  • Java: 本番環境でのデバッグスキルを磨く - ワザノバ | wazanova

    https://www.youtube.com/watch?v=7KS4L-mA_-c 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Takipi のFounderであるTalWeissのSan Francisco Java User Groupミートアップでの講演。番環境で役に立つデバッグテクニックの紹介です。 1. スレッド名の活用 スレッド名はmutable(EJB除く)である。コードのコンテキストにあわせて、Thread.currentThread().setName(Context, TID, Params, Time,...);のようにすれば、トランザクションID、Serveletパラメータ、キューメッセージID、起動時間など、スタックトレースに役に立つ情報を表示できるようになる。 J

    yojik
    yojik 2015/02/18
  • Stack Overflowのアルゴリズム: ユーザ属性編 - ワザノバ | wazanova

    http://kevinmontrose.com/2015/01/27/providence-machine-learning-at-stack-exchange/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 Stack Oveflowではサイトの各機能の精度をあげるために、「webエンジニア」「Javaテクノロジー」など、ユーザごとの属性ラベルを付与しています。ユーザは、そのデータをダウンロード、もしくはクエリされないように無効化することも可能です。この仕組みを構築したProvidenceプロジェクトを、同社のエンジニアであるKevin MontroseとJason Punyonが紹介しています。 1) 機械学習における最適なモデルの模索 まず把握したかったポイントは、 エンジニアのタイプにはど

    yojik
    yojik 2015/02/18
  • React CanvasによるモバイルブラウザのUI改善とそれが起きる必然 - ワザノバ | wazanova

    http://engineering.flipboard.com/2015/02/mobile-web/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 ものごとが進化すると、利用するユーザの満足度はあがるので、それを用意する作業量はツールの改善に従って最終的には減っていくのか? スマホが登場して、アプリ上でのスワイプなどの直感的にできる操作や表現の幅が広がり、またディスプレイも改善。では、プロダクトをつくる側がそれに慣れてくると、作業量が減るのか?いや、現実は逆。同じことを実現する作業量は減っても、トータルでは減らない。ブラウザとアプリにまたがって、双方のメリットを取り込もうと、もっとレベルの高いUIを目指した競争が続いています。 David BellonaがTwitter Universityでの

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

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

    yojik
    yojik 2015/02/09
    “FlexBox”
  • Javaのせいではなく使い方の問題だという意見 - ワザノバ | wazanova

    http://www.jamesward.com/2014/12/03/java-doesnt-suck-youre-just-using-it-wrong 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Salesforce.comのJames Wardが、エンタープライズ向けのJava webアプリに長く携わってきた経験からまとめた、「Javaが悪いんじゃなくて、使い方が間違ってる。」というブログのエントリー。 開発環境のセットアップのWikiが10ページもある JDKインストール、SCMレポをクローン/チェックアウト、ビルドを実行/アプリ起動の3ステップであるべき。 一貫してないデプロイ環境 ビルドを、開発 -> ステージング -> 番と進めるにあたりリスクを最小化するために、各環境で変わるの

    yojik
    yojik 2014/12/23
    本当そういうかんじ!
  • モバイルとソフトウェアが世の中を変える様を数字で実感する - ワザノバ | wazanova

    http://www.businessweek.com/videos/2014-11-14/andreessen-horowitzs-evans-on-mobile-technology 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 ワザノバでは市場環境的な話はほとんど取り上げたことはありませんが、モバイル市場を語らせるとA16ZのBenedict Evansが一番だと思うので、今回はお薦めさせてください。エンジニアの方にとっても、そうでない方にとっても、これからの世の中がどうなっていくのかを考える基礎を与えてくれます。 下記のポイント以外にも示唆に富む話が満載なので是非、BloombergBusinessweekのこの18分57秒の短いビデオを見てみてください。 メインフレームをはじめ、これまでの

    yojik
    yojik 2014/11/17
  • シングルページアプリの初速を上げる取組み - ワザノバ | 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。そのサイズだと、一つのファイルにまとめ

    yojik
    yojik 2014/09/22
  • Pants: 大規模コードベースを単一のレポジトリで管理するビルドシステム - ワザノバ | wazanova

    https://blog.twitter.com/2014/hello-pants-build 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 Pantsは、Foursquare / Twitter / Squareなどで利用されているオープンソースのビルドシステム。大きくなったコードベースを、一つのレポジトリでまとめて効率よく、依存関係も考慮のうえビルドできることを目指したプロジェクトです。 紹介ビデオ 現状は、Java /Scala / Pythonをサポート。他言語の追加も問題なし。 Googleのビルドシステムを参考にしている。 変更された部分だけをコンパイルするインクリメンタルビルド コード生成をサポート: thrift、プロトコルバッファー 外部のJVM / Pythonの依存関係に対応。

    yojik
    yojik 2014/09/17
    名前が良い
  • 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フォーマットにしてエンコーディングするだけで、意図す

    yojik
    yojik 2014/09/08
  • コードを引継いでどこから手をつけるか - ワザノバ | wazanova

    http://www.se-radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 他人から引継いだコードを把握するのにどこから着手するかというテーマで、たまたまいくつかのエントリーを見かけました。「コードを読み切れないほど膨大にある。」「前任者、経緯のわかる人がいる/いない。」「ドキュメントがある/ない。」など様々な事情が想定されますが、全部まとめて主な声を拾ってみました。 謙虚な姿勢で臨むこと。そのコードベースがわかりづらいのは、書き方が悪いコードだからかもしれないが、自分がその専門領域の知識がなかったり、ベースにあるアルゴリズムが当に複雑な場合もありうる。それを、全

    yojik
    yojik 2014/09/05
  • Lineman.jsの立ち位置 - ワザノバ | wazanova

    http://thechangelog.com/128/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約7時間前 Test Double社のJustin Searlsが、the changelogpodcastで、Lineman.jsについてのインタビューに応えています。 Linemanは、JavaScriptフロントエンドアプリ開発におけるコマンドラインツール。AngularJS / Ember.js / Backbone.js などがフレームワーク、Grunt / Gulp がビルドタスクの自動化ツールとすると、Linemanは慣習 & 設定(convention & configuration)ツールという位置づけのようです。各フレームワークにおいて、アセットの構築、サーバのmock、ファイル変更時

    yojik
    yojik 2014/08/31
  • Carousel by Dropbox: スマホのメモリを利用した遅延の軽減 - ワザノバ | wazanova

    https://tech.dropbox.com/2014/08/building-carousel-part-ii-speeding-up-the-data-model/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 4月に紹介した「Carousel by Dropbox: 遅延のない動きを実現する工夫」の続編として、今回は、写真のメタデータをメモリにキャッシュして遅延を減らす取り組みが紹介されています。 背景 写真閲覧アプリCarouselは、アプリを開いたら即座に写真をスクリーンに表示し、ユーザが履歴をたどって一番古い写真までスクロールバックしたとしてもスムーズな閲覧ができるように、写真のメタデータを利用している。 写真を10万枚以上保持するユーザもいて、ユーザのスクロールにあわせてディスクか

    yojik
    yojik 2014/08/22
  • Cloudera: 機械学習が広がる中でのデータモデル - ワザノバ | wazanova

    Josh Willsは、Googleで広告オークションシステムとデータ分析インフラの開発を担当し、現在は、ClouderaのSenior Director of Data Scienceを勤めています。 機械学習によるデータ分析が、Googleなどに限らず、AirbnbやEtsyなどその他のネット企業にも広がっていく中、今後必要とされるデータモデルについて 、Midwest.io と GraphLab Conference で講演しています。 複数の機械学習分析を操るGoogleのチャレンジ 機械学習分析のベースとなる各サービスの仕様が頻繁に変更になる。 機械学習分析はそれぞれ単体でも複雑なのに、Googleの場合、それらが相互に関連があるケースが多かった。一つの機械学習分析の変更が、他の機械学習にどう影響がでるかが把握しきれない。その結果、広告配信システムを理解できない(= コントロール

    yojik
    yojik 2014/08/22
  • Pinterest: ユーザに影響のでないデプロイ方式への改善 - ワザノバ | wazanova

    Pinterestは、サーバの一部を番から外し順次アップデートするという方式でデプロイをしています。それが起因してページ全体を無駄にリロードさせている状況を改善するための取り組みを紹介しています。 背景 Pinterestのサイトでは、JavaScript + XHRにより、ページ内で必要なコンテンツだけが、クリックされた際に適宜更新されるようになっている。 ユーザが最初にPinterestのサイトにアクセスすると、サーバはブラウザに対しJavaScriptのバンドルを読込ませ、そのバンドルがサーバにあるソフトウェアのバージョンとの一致を確認する仕組み。 デプロイする際は、サーバの10%をオフラインにし、アップデート完了後、番に戻すという作業を繰り返している。つまり、新しいバージョンのソフトを載せたサーバと古いものを載せたサーバが混在している状態になる。(Varnishの相対するバージ

    yojik
    yojik 2014/08/18
  • エンタープライズ向けにPlay + Scalaを活用する - ワザノバ | wazanova

    ウォルマートカナダの開発を担当したKevin Webberが、エンタープライズ向けの開発を前提としたPlayフレームワーク + Scalaの利用について、講演しています。 まずUIまわりのアーキテクチャについて、PlayをAPIとして利用するパターンと、Playを複数のSPA (Single Page Web Application)のホストとするパターンの二つを紹介。 1) UIを物理的に分ける 構成図例(ビデオ 6分40秒時点) PlayフレームワークをRESTful APIとして使う。Playにはフロント側のコードを置かない。各UIは、Play APIのクライアントという位置づけになる。 この場合のUIの選択肢は、 JavaScriptフレームワーク、HTML5/CSS/Javascript etc. ネイティブモバイルアプリ 標準的なwebプロトコルで通信できるものであれば何でもあ

    yojik
    yojik 2014/08/06
  • Dockerのメリットと可能性 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=mVN7aTqr550 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Code ClimateのBryan HelmkampのRedDotRuby 2014での講演です。ビデオの前半の30分は、Docker + Rubyアプリのユースケースの場合の、概要/ツール紹介/デモです。ここでは、後半に語られているDockerのバリューについて、まとめてみます。 デリバリーの単位 Rubyエンジニアとして、デリバリーするときの単位という概念が今まではなかった(が、Dockerで実現できた)。かつて、JRubyでしばらく開発していたときがあって、その際は、jarファイルの中身がなんであれ、テストして問題なければ、DevOpsチームに渡すだけ。ある意

    yojik
    yojik 2014/08/06
  • Screenhero: WebRTCをペアプロのツールに応用するときの工夫 - ワザノバ | wazanova

    http://pivotallabs.com/faraz-khan-don-goodman-wilson-screenhero/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Screenheroの評判がよさそうなtweetを見かけたのでちょっと調べてみました。画面を共有しての作業、複数のカーソルでの操作、ボイスチャットができるリモートワーク向けツール。PivotalLabsなどで実際にペアプログラミングで使われているようです。 WebRTCを採用してますが、WebRTCは、ビデオ通話、一方通行の画面共有が前提。遅延なくスクリーンを共有して作業する双方向の通信であるScreenheroとは、ユースケースが違うため、いくつかの工夫をしています。 ハイクオリティなサービスにするために、10fps以上を実

    yojik
    yojik 2014/07/31