タグ

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

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

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

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

    t-wada
    t-wada 2014/12/25
    wycats が参加すると全てが整理/再構築され (例 Rails, Bundler, Ember)、整理が終わる頃には周りへの委譲も終わらせて去ってゆく。技術者としての体力/知力が強靱なのだと思う。そんな彼の考える OSS 開発の分散化について。
  • 生まれ変わるAngularJS - ワザノバ | wazanova

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

    t-wada
    t-wada 2014/11/12
    AngularJS 2.0 の方向性について
  • 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) テストクローラーを利用してのモバイル実機テストの

    t-wada
    t-wada 2014/10/30
    "データマイニングと機械学習を利用してテストケースを自動作成" "本番環境でのログを解析することで特定のコンテキストでは常に真になる条件であるインバリアントを探し出し、ステートレスなアサーションを自動生成"
  • 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のコマです。)できるので、そちらを見ていただいてもわかりやすいかと。 「サイトが落ちてしまうのである意味自然に学ぶことができてしまった。

    t-wada
    t-wada 2014/10/27
    “「成熟 = 血と汗が注がれたボリューム ÷ 複雑さ 」である。つまり、開発に世の中の人の多くの時間が費やされたテクノロジーでも、その進化に伴い複雑さが解消していかないと、「成熟した」とは言いがたい”
  • npmとクライアント側でのパッケージ管理の議論 - ワザノバ | wazanova

    npmに登録されているパッケージ数は10万、月間ダウンロード数も5億を超えました。7月の段階で月間3億程度ですから、こちらのグラフで見てもわかるように、かなり成長が加速してきていますね。 EdgeConf4において、パッケージ管理をテーマにしたディスカッションに、npmのCTOであるLaurie Vossと、npmのpeer dependencyをつくったGoogle Chrome TeamのDomenic Denicola(ES6のPromiseの取組みでも知られた人ですね。)が参加しています。この二人と、BowerのJosh Peekを中心に議論が進んでいます。ちなみにJoshはGitHubの社員で、最近では、左右に並べてdiffを比較できる便利な機能をつくった人でもあります。 「サーバサイドのパッケージマネジャとしては、CPANやRubygem、npmのように開発言語ごとにプレーヤー

    t-wada
    t-wada 2014/10/21
    “これからリニューアルするnpmのウェブサイトでは、ブラウザ用とか、Browserify用とか、RequireJS用とか、Web Component用とか、パッケージを利用できるエコシステム毎に検索できるようにする” ほほー
  • 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フォーマットにしてエンコーディングするだけで、意図す

    t-wada
    t-wada 2014/09/08
    “ブラウザやJavaScriptが直接データを利用しないケース、特に内部サービス間のコミュニケーションにはProtocol Buffersの方が向いているのでは” なーるほど
  • エンタープライズ向けに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プロトコルで通信できるものであれば何でもあ

    t-wada
    t-wada 2014/08/05
    Play + AngularJS 固有ではなくもっと汎用の話として読める。大きめのシステムにおけるサーバとクライアントの責務の切り分けと配置(単なる SPA にしない)、サブシステム毎の特性に合わせたアーキテクチャ設計
  • Gilt: Playフレームワークの活用 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=WliXLG2Yo5k 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 GiltにおいてPlayフレームワークをどのように活用しているのか、Giancarlo Silverstrinが紹介してくれています。 単一のRailsアプリからマイクロサービスに切り替える過程で、JVM + Java -> JVM + Scalaと開発基盤を変遷。現在、番環境には、250+サービス。 マイクロサービスへの展開時には、バックエンドのRailsアプリは残すかたちで既存の資産の有効活用。webレイヤでには75+個のアプリ(コード約7万行)がある。リソースとUIテーストを共有したアプリの組み合わせで、Giltのサイトは構成されている。 フラッシュセール(毎

    t-wada
    t-wada 2014/07/31
    "単一のRailsアプリからマイクロサービスに切り替える過程で、JVM + Java -> JVM + Scalaと開発基盤を変遷。現在、本番環境には、250+サービス" 250!?
  • Propono: AWSと連動したRubyのPub/Subソリューション - ワザノバ | wazanova

    http://www.sitepoint.com/propono-pubsub-ruby/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 1日前 医療関連の学びをシェアするMeducationのCTOであるJeremy Walkerが、Proponoを利用して、肥大化した単一のRailsアプリをSOAに変更した経験をシェアしてくれています。 SOAを採用する際は、Railsアプリでも他の言語のソリューションに頼る事例も多いが、ProponoはAWS上で稼働するRubyのpub/sub gem。これを使って、1年かけて21個のアプリに分割した 完璧に機能するアプリをつくってデプロイするのに1時間で完了した実績あり。ポイントとしては信頼できるツールを揃えることにより、どう結合させるかに手間をとらず、ビジネスロジック

    t-wada
    t-wada 2014/07/28
    AWS 上で稼働する Ruby の pub/sub gem である Proponoを利用して、肥大化した単一の Rails アプリを 21 個のマイクロサービスに分割した話
  • Ruby RoguesメンバとiOSエンジニアのAPI議論 - ワザノバ | wazanova

    http://rubyrogues.com/147-rr-apis-that-dont-suck-with-michele-titolo/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 iOSエンジニアのMichele Titoloは、Objective-Cのディペンデンシーを管理するCocoaPodsのプロジェクトで知られてますが、モバイルエンジニアの立場からAPIを利用して開発するポイントについても、自らのブログでまとめています。 1) Follow Conventions はじめてのことにトライするときは先駆者の知恵に従うほうが、クオリティの高いものをつくれるので、conventionに従うのがよい。そのほうがデバッグもしやすい。自分でAPIのルールを定義する必要が生じた場合は、一貫性を維持し

    t-wada
    t-wada 2014/03/20
    API 設計についての議論。特に Michele Titolo が挙げている四つのポイントは素晴らしい。
  • RailsでInteractorをうまく利用する - ワザノバ | wazanova

    http://eng.joingrouper.com/blog/2014/03/03/rails-the-missing-parts-interactors 3 comments | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 飲み会アレンジサイトGrouperが、同社のエンジニアブログで、規模の大きなRailsアプリをパフォーマンスよくつくるときの工夫を提案をしてますが、それに対してRailsのクリエーターのDHH (Basecamp / 37 Signals) が厳しいコメントを残しています。 1) Grouperの提案 問題意識 Railsは、コードベースが千行を超えると、テストスイートが遅くなりがちで、フレームワークのロードタイムが増える。 よくあるのは、ビジネスロジックのほとんどがActiveRecord /m

    t-wada
    t-wada 2014/03/08
    "アプリのコントロールが効かなくなる典型的な事例は、不必要な抽象化にある。それを「上級者テク」とは言わない" さすが DHHッ!俺たちに (ry
  • Trelloのアーキテクチャ - ワザノバ | wazanova

    http://nodeup.com/fiftyfour 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Trelloのアーキテクチャについてのアップデートです。2012年1月にブログで紹介されたものと、昨年11月の最新状況をまとめてみます。 まずは、当初のアーキテクチャ: UIをクライアントサイドで生成し、プッシュでの更新を受け入れるシングルページアプリ。Client/ServerともにJavaScript、2011年5月以降はCoffeeScriptで書いている。 1) The Client TrelloのサーバはHTML、クライアント側のコードをほぼ扱っていない。Trelloのページは2Kのシェルで、一つの圧縮されたJavaScriptファイル(サードパーティのライブラリと圧縮したCoffeeSc

    t-wada
    t-wada 2014/01/28
    クライアントは Backbone.js で WebSocket を扱い、サーバは Node.js (Express) + HAProxy + Redis + MongoDB. 本番リリースの頻度は週3-5回程度。解析系は logstash+ Elasticsearch + kibana.
  • [その2] Groupon: 単一のRailsアプリから複数のNode.jsアプリへの移行 - ワザノバ | wazanova

    http://nodeup.com/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約6時間前 「[その1] Groupon: 単一のRailsアプリから複数のNode.jsアプリへの移行」で紹介した取組みについて、Grouponの開発チームがその詳細と最新のテクノロジースタックについて語っています。 Grouponのビジネスは店舗での割引のデイリーディールだけでなく、他の形態のサービス提供(物販、コンサートチケット、体験販売など)にも早めに乗り出していて、トラッフィク的にはそれに対応していたので、Railsでスケーラビリティに関しては実現できていた。Railsからの移行は、どちらかと言うとアーキテクチャ的に、単一の大きなアプリであったことが、機能を追加する際にボトルネックとなっていったから。例えば、サイトのビ

    t-wada
    t-wada 2014/01/23
    Groupon のアーキテクチャ変更の話の続き "急成長するスタートアップの人に参考にしてほしいのは、データセットとフロントエンドを切り離し、HTTPでやり取りするようにすること"
  • Groupon: Node.js向け結合テストツールtestiumをオープンソースで提供 - ワザノバ | wazanova

    https://engineering.groupon.com/2014/misc/i-tier-testium/1 comment | 0 pointsGrouponが、Node.js向けの結合テストツールtediumをオープンソースとして提供しました。 What is testium BDD (振舞駆動開発) 構文で書ける。 CoffeeScript/JavaSacriptで書かれている。 同期APIがある。 Seleniumを利用できる。 Why Create a New Tool RailsではCucumberをセットして、実際のブラウザでSeleniumを使ってテストができたが、Node.jsではフィットするものが見つからなかった。 Exploring WebDriver 既存のSeleniumのインフラを利用するために、JavaScriptとMochaで書けて、同期APIのある

    t-wada
    t-wada 2014/01/14
    Groupon が OSS にしたテストツール "既存のSeleniumのインフラを利用" "JavaScriptとMochaで書けて同期APIのあるもの" "結合テストにおいては順番にアクションを実行するものが必要" "同期APIがもっともぴったり"
  • Stack Overflowのアーキテクチャ - ワザノバ | wazanova

    http://www.youtube.com/watch?v=OGi8FT2j8hE1 comment | 0 pointsドイツのハンブルグで開催されたDeveloper Conference 2013で、Stack Overflowのアーキテクチャが紹介されてます。 Stack Overflowのネットワークは、110 Q&Aサイト、430万ユーザ、質問760万件、回答1360万件、月間5億6千万ページビュー サーバ25台: ウェブサーバ11台(内9台でほぼトラフィックさばく)、ロードバランサ1台 (+ 予備1台)、DBノード4台、アプリサーバ3台、検索サーバ3台(Elasticsearch)、Redisサーバ2台(キャッシュ、メッセージング) 毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタ

    t-wada
    t-wada 2014/01/14
    StackOverflow はテストを書くことよりも、五人の "とにかくベストなGeekを雇うこと" を選んだのかな
  • Node.jsをサーバサイドのUIレイヤに限定するのか? - ワザノバ | wazanova.jp

    http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/ Nicholas ZakasはYahoo出身で現在Boxに勤めるフロントエンジニアで、JavaScriptに関する複数のオライリーの著者でもあります。彼が自身のブログで、Node.jsをサーバサイドUIレイヤのみで活用することを提言してます。 JavaScriptエンジニアフロントエンドのコントロールはできるが、サーバサイドのUIレイヤはバックエンドエンジニアの領域で、それがフロント(JavaScriptエンジニアとバックエンドエンジニア双方のストレスであった。(参照図1) Node.jsの登場で、サーバサイドのUIレイヤをサーバサイドのビジネスロジックから分離し、フロントエンジニアはブラウザ & サーバのUIレイヤ、バックエンドエン

    t-wada
    t-wada 2013/10/08
    Node.js を "サーバサイドの UI レイヤ" にするという Nicholas Zakas のエントリに対する賛成/反対コメントの抄訳
  • 1