タグ

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

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

  • AngularJSのチューニング - ワザノバ | wazanova.jp

    http://blog.scalyr.com/2013/10/31/angularjs-1200ms-to-35ms/ モニタリング/ログ分析ツールのScalyrがそのブログで、AngularJSをチューニングしてページの更新時間を短縮した事例を紹介してます。成果は近日中にオープンソースとして提供される予定です。 1) 背景 Scalyr Logsアプリにおいて、DBクエリは数十 msで処理できるが、ページの読み込み時間で数秒かかってしまう状況であった。シングルページアプリを実現するためのフレームワークとしてAngularJSを採用。”fail fast” (失敗するなら早めに)の方針のもと、難易度の高いログビューからつくることにした。 Scalyr Logsのページに表示されたログデータのどの単語をクリックしても、その検索結果を表示。(サンプル画面 / デモ画面)次ページのログデータも事

  • リモートワーカーになってみて感じてること - ワザノバ | wazanova.jp

    https://weworkremotely.com/ 37 Singnals のDHHの最新の著書「Remote: Office Not Required」がKindleにダウンロードされてきたので読んでみようと思ったら、同じタイミングでリモートワーカー専用のリクルーティングサイトが立ち上がっていました。 ワザノバの場合はメンバが太平洋の両側にいるので、必然的にリモトワーカーになったわけですが、6ヶ月経過してみて感じてることは、 通勤時間がなくなったので、時間効率はかなりよくなった。 アメリカのオフィスは飲み物/スナックがべ放題で、それほど好きでもないコーヒーを水替わりに飲む習慣がついていたので、明らかに体調はよくなった。 オフィスでのストレスがなくなったのかもしれないが、元来ストレスはそれほど感じないので大きな変化はない。 事業戦略とか深く考えなくてはいけないときは一人で静かなところ

  • 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であった

  • Quora: 新しい社員の迎え方について - ワザノバ | wazanova.jp

    http://www.quora.com/Quora-company/What-is-the-on-boarding-process-for-new-engineers-at-Quora スタートアップだと新しい社員を採用したときに、面接までで手一杯で、受け入れ態勢を当日までに用意するのが大変だったりします。「xxさんは今週から入社じゃない?」と気づき、大慌てでPCやソフトの準備をすることもままありました。そして間に合わないという失態もしました。。 数年前の話しですが、Quoraはまだ創業間もないのに、新しい社員を迎え入れる体制がしっかりしていて、エンジニアは、ロゴ入りグッズもらって、hardware/softwareは当然揃っていて、ウェルカムランチをへて、必ず初日に番アップまで経験できるような仕組みになってたと記憶してます。事業の成功を担保するためのせっかくの新戦力なので、優先順位は

  • Meteorの盛り上がりの背景について - ワザノバ | wazanova.jp

    http://differential.io/blog/meteor-killin-rails 原文のタイトルはちょっと挑戦的ではありますが、プロトタイプが早くできると評価が高いMeteorと、企業のサービスに使われる比率があがって成熟してきたRuby/Railsでは、比較するにはステージが違うのではないかと思います。Metorで開発された事例がもっと増えてきてからの議論がよいかと。 それよりも、新しい開発言語が盛り上がって、受け入れられていく過程の方に興味があります。 That’s what makes these frameworks popular with HN: startup founders are not in the business of executing on a known business model…….; rather, we’re in the busin

  • Rails: Concurrencyで遭遇する問題と解決策 [RMR 2013] - ワザノバ | wazanova.jp

    [Video] http://www.youtube.com/watch?v=TV5LEjN6d1U [Slide] http://203.softover.com/concur/rency/#/ Eugene KalenkovichがRocky Mountain Ruby 2013で、Concurrencyをテーマに講演しています。ユーモアがある楽しいプレゼンなので是非ビデオ(36分)を見てください。英語はなまりがきつくて聞き取りづらいですが、以下のメモ & スライドをざっと確認してから見ると内容はわかりやすいかと。 シングルスレッドでも、トラフィックが少なくても、Concurrencyを正しく理解していないとRailsではシアトルのモノレール事故のようになる可能性はある。 Concurrencyの問題がでるのは、開発中ではなくて、番環境でサービスを開始した後。複数のプロセスが同じデー

    bojovs
    bojovs 2013/11/02
  • レスポンシブデザインが画面サイズだけでは語れない時代がくる - ワザノバ | wazanova.jp

    http://www.lukew.com/ff/entry.asp?1816 レスポンシブデザインが浸透し、スマホ/タブレット/PCのサイズ(横幅)を基にメディアクエリで出し分けするサイトが主流になってきましたが、コンテンツをどう見せるかをサイズだけでは決められなくなる時代が近づいていることをLuke Wroblewskiが紹介しています。 1) 同じサイズでも距離/入力デバイスが違う場合 例えば、同じ幅320pxのサイズでも、スマホに表示するのとTVの横枠に表示する [参考画面] のでは、入力デバイスと距離(タッチ/30センチ vs リモコン/300センチ)が違ってきますので、同じデザインのものを表示して問題ないかは考慮しなくてはいけません。Windows8のプラットフォームには、スマホ幅のコンテンツをタブレット/PC/TVの横枠に組み込む仕様があり、Windowsカレンダーはスマホとそ

  • Groupon: 単一のRailsアプリから複数のNode.jsアプリへの移行 - ワザノバ | wazanova.jp

    https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/ Grouponのビジネス自体はかつての盛り上がりはないですが、シンプルなRailsアプリが、事業の成長 & グローバル化に従って、アーキテクチャを変えていった過程をエンジニアブログで紹介してるので、参考になればと。 1) まとめ Grouponは、Railsのシングルコードベースを独立した20個のNode.jsアプリにアーキテクチャを変更した。 ページの読み込み時間が概ね50%改善。これはテクノロジーの効果とコードの書き直しでwebページが軽くなったのとの相乗効果。 同じトラッフィクに対してハードウェアが削減できた。 チーム間の依存関係が少なくなったので、新機能リリースのペースが早くなった 同じ機能を複数の国にそれぞれ導入するような冗長さが

  • Go言語で苦労したポイントの事例 - ワザノバ | wazanova.jp

    http://da-data.blogspot.jp/2013/10/experience-with-epaxos-systems-research.html Go言語についての記事をまとめていて困るのが、特にHacker Newsでは熱狂的な賛成派と執拗な反対派が感情的に戦っていて、Go言語の何がいいのかはわかるが、まだ改善すべき余地のあることが実際どれほどの支障になるのかについては、議論からは判別しづらいことです。 カーネギーメロン大のDavid Andersonが、分散アルゴリズムEPaxosをGo言語でインプリしたときの経験について”Huge Positive” “It proved a huge win” としていながら、苦労したポイントを挙げています。このような具体的な事例がもった蓄積していくと参考になるのではないかと思います。 Go言語による開発で苦労したのは、Zookeep

    bojovs
    bojovs 2013/11/01
  • Facebook: 1兆インデックスの投稿検索 - ワザノバ | wazanova.jp

    https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-posts-search/10151755593228920 Facebookがエンジニアブログで、2年間に渡って開発した投稿検索機能について紹介しています。投稿10億件/日、投稿インデックス1兆件で数百テラバイトのデータをリアルタイム処理する機能とはすごいですね。 1) データの収集 一番の大きなチャレンジは、データスキーマの変更に都度対応しながら、時間/場所/タグ(ウォール投稿、写真、チェックインで仕様がバラバラ)でソートできる検索システムを構築しなければいけなかったこと。Facebookのカルチャーとして、必要なものはどんどん変更されていくのだが、投稿検索で利用しているデータは約70種。その多くは、特定のタイプの投稿に紐づいている。か

  • GittipにCo-founderは必要なのか - ワザノバ | wazanova.jp

    http://blog.gittip.com/post/64410217673/the-community-is-my-cofounder Gittipについては以前、「話題のGittipがY-combinatorにアプライしたこと。」で取り上げましたが、Githubでの活動に寄付をするマーケットプレースを、給与ゼロ&全てを公開する「オープンカンパニー」として運営してます。極端すぎる手法で自分は真似できませんが、どこまでオープンであることが競争力になるのかを計るうえで、注目してます。 このブログによると、Y-combinatorに申込んだら「共同創業者を探すように。」と言われたとのこと。 一般論として、スタートアップにCo-dounder (共同創業者)が必要だというのは賛成です。2人から3人(それ以上だと逆にまとまらない。)で全員もしくは1人以外が開発者であるべきというのも理にかなってま

  • 話題のGittipがY-combinatorにアプライしたこと - ワザノバ | wazanova.jp

    Gittipは、Githubで活躍しているエンジニアに対して、毎週継続的に寄付をするサービスです。まだこの寄付額で生活できるレベルのエンジニアはいませんが、少しづつ取引件数は伸びてきています。(ちなみに「ギットティップ」と発音する人もいますが、FounderのChad Whitacreは「ギッティップ」と呼んでます。) このChad Whitacreの方針はかなり風変わりで、同社のことを「open company」と称し、売上は運営経費(サードパーティへの決済手数料など)をまかなう最低限のレベルに設定し、一切給与をもらわないと宣言してます。 Y-combinatorが出資したことで話題になったWatsiは非営利団体で、ユーザからの寄付は100%同社が運営する途上国援助のクラウドファンディング取引に充当され(明細をGoogle Docsで公開してます。)、会社の運営資金は別途寄付を集めて経営

  • Discourse : パフォーマンス向上に注力したRubyアプリづくり [GoGaRuCo 2013] - ワザノバ | wazanova.jp

    [Video] http://www.youtube.com/watch?v=LWyEWUD-ztQ Discourseは、StackoverflowのFounderであり、ブログCoding Horrorで知られるJeff Atwoodの新しいプロジェクトです。.NETベースのStackoverflowをつくったJeffがはじめてRubyのカンファレンスに登場です。冒頭の5分だけ出演していて、相変わらず面白い内容ですが、ちょっと文字にするのがはばかられる内容もあるので、Videoの方をご覧ください。 Jeffに続いて、Sam Saffron (同じくStackoverflow -> Discourse) が、RubyベースのディスカッションフォーラムのオープンソースプロジェクトであるDiscourseでの実例をもとに、エンジニアはアプリのパフォーマンスチューニングにもっと注力しようと語っ

  • ダブルMVCの意味するところ [GoGaRuCo 2013] - ワザノバ | wazanova.jp

    [Video] http://www.youtube.com/watch?v=s1dhXamEAKQ TildのYehuda KatzのGolden Gate Ruby Conference 2013での講演。 Ruby on RailsのクリエーターであるDavid Heinemeier Hanssonが、「JavaScript勢はダブルMVCで苦しんでいる。サーバとクライアント両方にMVCが必要で複雑すぎる。」とTwitterで発言したのに対して、Yehudaは、それでは誤解を与えると危惧し、GUIプログラミングが歴史的にどのようにMVCに発展してきたかを紹介することで、ダブルMVCが当に意味するところを解説しています。 DHHの発言は、盛り上がってきたMeteor / Node.js勢に対する単なる批判っぽいですが、それに対してYehudaはロジカルに話をまとめてます。 スライドを

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

  • D言語とGo言語 - ワザノバ | wazanova.jp

    http://forum.dlang.org/thread/l37h5s$2gd8$1@digitalmars.com FacebookでD言語が採用されたというニュースですが、この内容では番サービスに投入されたのか、社内ツールで採用されたのかよくわかりません。「AppleがObjective C、GoogleGo、MozillaがRustを担いでいるのに対抗して、FacebookもDを採用することで、C/C++後継争いに参戦。」というコメントもありましたが、単に元のC++のコードがヒドすぎたから替えただけという可能性もあります。Facebookのエンジニアブログで正式に発表されるのを待ちたいと思います。 D言語 [参考: D言語基礎文法最速マスター] のクリエーターのWalter Brightは、5月のdconfで方針を語ってます。 1) 簡単に読み理解できるコード 正しいコードが正

  • 猿が暴れてクラウドの障害に強くなるNetflixのシステム - ワザノバ | wazanova.jp

    http://techblog.netflix.com/2013/10/introducing-chaos-to-c.html歴史上の有名な開発プロジェクトからまなぶべきこと」をまとめていたときに、Videoの中で、ある大型ロケットエンジンの開発において、信頼性テストのために小型爆弾をエンジンの噴射口辺りで爆発させて耐性を調べた云々のエピソードが紹介されていて、更に続いて「ネット業界で同じようなことをやってるのはNetflixぐらいだ。」という説明がありました。その時は何のことだかよくわからなかったのでブログでは取り上げなかったのですが、今回見つけました。 以前紹介したように、北米のインターネットトラフィックの30%以上を占めるNeflixはインフラをAmazonに全面的に移行しています。クラウドに移行した後の学びとして、 自社データセンターの時は、個別のハードウェアインスタンスが障害

  • オープンカンパニー宣言したBalancedで働くエンジニア [The Changelog] - ワザノバ | wazanova.jp

    [Podcast] http://thechangelog.com/107/ BalancedはY Combinator出身で、マーケットプレース向けの課金 & エスクローなどを提供してます。今年の4月にCEOのMartin Tamiziがブログ “Why I Made My Payments Startup An Open Company"で、ユーザのフィードバックをもらいながらオープンに開発することを宣言し話題になりました。実際に課金ダッシュボードはGithubのpublic repository上で開発されてます。 同社のMarshall Jones ( mjallday ) は、オーストラリア出身。シンガポールに4年。Balancedの前身であるTown Payに入り、リモート勤務した後に米国に移ってきたという経歴。 オープンであることと透明性を宣言しているが、社内的には売上情報は

  • 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レイヤ、バックエンドエン