タグ

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

  • サイト更新終了のお知らせ - ワザノバ | wazanova

    読者のみなさまへ Wazanova News の運営を行ってきた米国法人 Wazanova, Inc. を清算することにともない、当サイトの更新を終了いたします。1 年半にわたりご応援いただき、まことにありがとうございました。 特に、Gittip (Gratipay) を通じて継続的にご寄付いただいた方々に御礼申し上げます。2015年 3月上旬より寄付の受付を終了し、お預かりしたお金は全額 Gittip サイトの運営者に寄付するよう設定してあります。 既存コンテンツは当面の間、従来の URL でも閲覧できます。Jshiike からのご挨拶にもある通り、一部を個人ブログサイトにも移行しており更新も予定されていますので、こちらについてもご愛顧いただければ幸いです。 今後もメンバそれぞれ、IT / ソフトウェアエンジニアの世界に貢献していければと考えております。引き続きどうぞよろしくお願いします

    ryshinoz
    ryshinoz 2015/03/25
  • 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) 機械学習における最適なモデルの模索 まず把握したかったポイントは、 エンジニアのタイプにはど

    ryshinoz
    ryshinoz 2015/02/15
  • よく考慮したコーディングとパフォーマンスの関係 - ワザノバ | wazanova

    http://hacksoflife.blogspot.com.au/2015/01/the-four-horsemen-of-performance.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Benjamin Supnik曰く、高いパフォーマンスをだせるソフトウェアは、高いパフォーマンスを目指したデザインプロセスが大切。「当にひどい状態になったら、プロファイラで調べて直すから。」といっても色々積み重なると簡単には直せなくなると指摘しています。そして、ゲーム開発において遅いコードを生み出すパターンを挙げてくれてます。 1. 無駄なことをする テーブルを再描画する際、ユーザが見える部分だけでなく、テーブル全体のデータを取得していないか? 同じ値が計算されて何度も使われるケースで、都度計

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

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

    ryshinoz
    ryshinoz 2015/02/01
  • 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

    ryshinoz
    ryshinoz 2015/01/19
  • 分散システム設計のチェックリスト - ワザノバ | 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. 障害耐性 もし依存先が障害を起こしたらどうなるか?その障害がゆっくりと起きたらどうか? システムをどのようにスムーズにデグレードさせることができるか? システムは想定以上の負荷にどう対処するようになっているか? 大きな障害が起き

    ryshinoz
    ryshinoz 2015/01/16
  • 成長する開発チームでの施策 - ワザノバ | wazanova

    https://www.kickstarter.com/backing-and-hacking/engineering-year-in-review-2014 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Kickstarterの開発チームは昨年14名から20名に。成長しているサービスでチーム規模が大きくなる中、どのようにエンジニアをまとめ、モチベーションをあげ、優秀な人材を採用できるようアピールしているのか?開発チームの1年間の振り返りのブログエントリーからその施策の一部が垣間見えます。 ミートアップ、Functional Swiftのカンファレンスを主催。 各Engineering leadをアサインし、クロスファンクションのチーム構成とし、VP of Engineeringを採用。 エンジニア

    ryshinoz
    ryshinoz 2015/01/09
  • Luaが支えるCloudFlareのWebアプリファイアウォール - ワザノバ | wazanova

    https://www.youtube.com/watch?v=nlt4XKhucS4 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 CloudFlareのWAF (Web Application Firewall)は、HTTPリクエストをフィルタリングし、 SQLインジェクション コメントスパム XSS DDoSアタック WordPressなど特定のアプリを狙った攻撃 などの攻撃をネットワークのエッジで、つまりサーバに到達する前に守ってくれます。 適用するフィルタリングルールは、オープンソースのOWASPなどの共通ルール 5,682件 + CloudFlare内製のルール 102件 + 顧客企業がカスタムメイドしたルールの総計で、それが全てのリクエストに当てはめられます。その処理速度は平均1ms以

    ryshinoz
    ryshinoz 2015/01/04
  • 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の仕事振りやプロジェクト運営における考えは、オープンソースという視点での発言ですが、企業におけるプロジェクトの進め方や今後の働き方のスタイルがどう変わるか、変

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

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

    ryshinoz
    ryshinoz 2014/11/24
  • 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のコマです。)できるので、そちらを見ていただいてもわかりやすいかと。 「サイトが落ちてしまうのである意味自然に学ぶことができてしまった。

    ryshinoz
    ryshinoz 2014/10/27
  • CSSパフォーマンスツールを使いこなす - ワザノバ | wazanova

    https://www.youtube.com/watch?v=FEs2jgZBaQA 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約1時間前 CSSconf EU 2014におけるGoogleのAddy Osmaniの講演です。CSSのパフォーマンス向上に役立つツールを40個+ 紹介してくれてます。 背景 パフォーマンスの最適化において、 ベースラインとしてやること 最小化(minification) 結合(concatenation) 画像の最適化 圧縮(GZip, Zopfli) 非同期スクリプト キャッシュの利用 WOFF2フォント CSSスプライトを使う リダイレクトをしないこと スピードアップ パフォーマンス向上に重要なCSSのインライン化 レンダリングをブロックしないように、急ぎでないアセットの取

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

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

    ryshinoz
    ryshinoz 2014/10/07
  • 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の依存関係に対応。

    ryshinoz
    ryshinoz 2014/10/07
  • 努力とセンスの関係と優秀なプログラマー - ワザノバ | wazanova

    http://www.quora.com/What-are-the-best-kept-secrets-of-great-programmers/answer/Jeff-Darcy? 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 スポーツにしろ、勉強にしろ、仕事にしろ、何をやるにもその特定の分野でトップ1%人は尊敬するほどすごいのですが、人が長く続けつつ努力をしてきたことが垣間見えるので、なぜ優秀なのかというのが理解できる範囲。ただし、そのさらにトップ10%、いわゆる世の中でその分野のトップ0.1%の人というのは、すごすぎて、どうしてそうなれるのかが分からないと実感することがあります。議論している時に、数歩先の真理を理路整然と突然読み取って指摘されるような、驚くようなセンスを見せつけられる経験を数

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

    ryshinoz
    ryshinoz 2014/09/20
  • 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アプリの場合、サーバ側を正のデータとするが、

    ryshinoz
    ryshinoz 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フォーマットにしてエンコーディングするだけで、意図す

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

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

    ryshinoz
    ryshinoz 2014/08/16
  • 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(遅延すると計算結果の価値はなくなるが、システム全体にとっては

    ryshinoz
    ryshinoz 2014/08/05