タグ

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

  • Erlang: WhatsAppを支える技術 (その1) - ワザノバ | wazanova.jp

    [Video] http://vimeo.com/44312354#at=0 [Slide] http://www.erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf WhatsAppは日でいうところのLineにあたるサービスでしょうか。このニュースによると、WhatsApp: 月間UU3億、WeChat: 月間UU2.3億、Skype: 月間UU2.8億、Line: 登録2億 (UUは発表しないんですね。。) ということですから、相当でかいですね。 昨年になりますが、Rick Reed (WhatsApp <- Yahoo! <- SGI)が、同サービスを支える、数百万ユーザの同時接続システムについて、SanFranciscoのErlangのカンファレンスで語ってます。 メッセージのトラフィ

    laiso
    laiso 2015/05/20
  • リスクとコストのバランスを考慮したテストカバレッジ - ワザノバ | wazanova

    https://www.youtube.com/watch?v=rbWUxRNawIw 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 Rocky Mountain Ruby 2014で、Pivotal LabsのArjun Sharmaは、「用意したテストケースで、自信をもってデプロイできるのか?素早く不安なくリファクタリングができるか?」という条件を満たすには、コードのリスク程度に見合ったテストタイプを選択することを勧めています。 まずは、テストカバレッジ分析ツールについて、 良いカバー率というのは要注意。それをどう解釈するか。カバレッジの定義がツールごとに異なる可能性や、書き忘れたコードやアサーションはチェックできないことを考慮すると、単純に目標のカバー率を達成したからこのアプリは大丈夫というこ

    laiso
    laiso 2015/01/05
  • Gilt: iOS7でbackground fetchを利用するとログアウトしてしまうバグへの対応 - ワザノバ | wazanova

    http://tech.gilt.com/post/67708037571/sleuthing-and-solving-the-user-logout-bug-on-ios-7Giltがエンジニアブログで、background fetchを利用するとログアウトしてしまうバグを修正した取り組みを紹介してます。 1) 背景 iOS7の新機能background fetchを利用すれば、裏側で定期的にサーバにリクエストをしてデータを取得できるので、ユーザに最新のコンテンツを提供できる。サーバ駆動型のアプリにありがちな、「読み込み中...」という表示も減らせる。毎日ユーザにセール情報を提供するGiltにとっては待望の機能。以前は、ユーザがアプリを立ち上げた後にサーバとの通信を繰返し、新しいデータを取得していたので、せっかくのフラッシュセールの目玉商品がやっと表示されたときには売り切れとなる事態もあ

    laiso
    laiso 2014/12/04
  • Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova

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

    laiso
    laiso 2014/10/09
  • 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のルールを定義する必要が生じた場合は、一貫性を維持し

    laiso
    laiso 2014/03/20
  • GitHub の ATOM が CoffeeScript で書かれているのはどうなの? - ワザノバ | wazanova

    http://discuss.atom.io/t/why-coffeescript/131 2 comments | 2 points | by noto ■ comment by noto | 約1時間前 先日 GitHub が発表してエディタ ATOM のディスカッション・フォーラムでなぜ CoffeeScript で書かれていて、EcmaScript 6 (ES6) じゃないの? node.js/V8 を利用するデスクトップアプリケーションなら ES6 をすぐに使うほぼ完璧な機会なのに、という問題提起があり、それについて議論があったようです。 前提として、GitHubJavaScript Styleguide に 新たに JS を書く時は CoffeeScript で書くこと 新たに .js ファイルを追加することは避けること と書かれていて、GitHub の中の人としては

    laiso
    laiso 2014/03/05
  • Ember.jsに向いていること - ワザノバ | wazanova

    http://www.infoq.com/presentations/emberjs-url 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約4時間前 ブログプラットフォームのオープンソースプロジェクトGhostのadmin機能の開発フレームワークをどうするかという議論がGitHub上で行われています。これを書いている時点でコメントが98件ありあまりに長いので詳細割愛しますが、Backbone.js / AmgularJS / Ember.jsなどの比較検討をしています。 モデレーターが最初に & 途中で、何が課題で、何を議論するべきで、どのような情報が必要か、そしてどのように議論を進めるのか、このようにしっかり定義しているので、健全にかつ活発に議論が進んでいて、各フレームワークのコア開発者もコメントを寄せていま

    laiso
    laiso 2014/02/26
  • 給与をあげるベストな仕組みの解がない - ワザノバ | wazanova

    https://saastr.quora.com/By-The-Time-You-Give-Them-a-Raise-They%E2%80%99re-Already-Out-The-Door 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 1) 意義のあるチャレンジングな仕事をすること、2) 刺激をもらえる優秀な仲間と仕事ができることは、3) 高い給与をもらえることよりも優先度が高いという意見に100%賛同していますが、今日は1) 2)のことはさておき、3) の給与、特に昇給の話しをしたいと思います。 原文 は、EchoSignのFounderであったJason M. Lemkinが、優秀なメンバに会社に残ってもらうために心がけていたことを紹介しています。 #1. By The Time You Gi

    laiso
    laiso 2014/02/19
  • Zillow: モバイルアプリの自動化テストフレームワーク - ワザノバ | wazanova

    http://engineering.zillow.com/the-search-for-mobile-app-test-automation/不動産価格サイトのZillowが、エンジニアブログで、モバイルアプリのテスト自動化のソリューションを比較検討した経緯を紹介してます。 1) 背景 モバイル向けのテストツールを2年半探したが、Robotiumフレームワーク(Android)は1ヶ月ももたずに使えなくなったので、テストケースを定期的に実行するチャンスがなかった。次にKIF (iOS) は、アプリと直接つながったObjective-Cのコードを書かなくてはいけなかったので断念。XcodeのInstrumentsは、ワークしたものの、メンテしきれなくなった。 2) Robotium Drawbacks テストケースごとにコンパイルする必要があった。ANt, pomファイルのメンテナンス。J

    laiso
    laiso 2013/11/27
  • APIファーストで開発する - ワザノバ | wazanova

    http://blog.pop.co/post/67465239611/why-we-chose-api-first-development POPは、簡単にビジネス/アイデアをかたちにするために、1分でドメイン/スタートページ/メアドを用意できるサービスとのこと。彼らが、「APIファースト」で開発しようとした理由を紹介してます。 1) 将来APIを提供できるように 機能を追加する都度、APIが既に準備できているかたちになるので、将来APIを第三者に提供するときもスムーズ。 2) フロント/バックエンドの分離 バックエンドのテンプレートコードがフロントエンドのクライアントビューとやり取りしない仕様にすることで、将来の開発に負の資産を残さない。 3) スケーラビリティ フロント/バックエンドそれぞれを独立してスケールさせることができるので、将来的にメリットがでるはず。 4) 開発言語のバリア

    laiso
    laiso 2013/11/26
  • Githubの組織が成長する過程で変えたことと変えなかったこと - ワザノバ | wazanova

    GithubのZach Holmanが語るGithubの組織戦略です。まず最初に、 Step #1: ロックスターエンジニアを雇う Step #2: ものすごく透明性のある経営をする Step #3: ブログ/ソーシャルメディアなどでテクノノロジーについて発信する Step #4: カンファレンスで会社について話す Step #5: カネに余裕ができる Step #6: 社員を大勢雇う Step #7: 会社のことを話さなくなる Step #8: コミュニティを無視する Step #9: 創業者が株を売って儲ける Step #10: 別の会社をはじめる という事例を挙げて、Githubは組織が成長する中で、このようなパターンに陥らないように、コミュニケーション及び仕事の進め方をどのように進化させてきたかについて紹介してます。 Dunbar's numberとしてよく知られるとおり、人間が良

    laiso
    laiso 2013/11/20
  • 「Remote: Office Not Required」を読んだ感想 - ワザノバ | wazanova.jp

    http://www.jasonshen.com/2013/my-biggest-takeaway-on-37signalss-new-book-on-remote-work-hint-its-not-technology/ 「リモートワーカーになってみて感じてること」で触れたとおり、37 SignalsのDHHの最新著作「Remote: Office Not Required 」を読んでみたので感想を書こうとしたら、皆同じタイミングだったようです。Jason Shenがブログに感想をまとめてます。(ちなみにこの人の経歴がすごいです。「怪我から復活して体操の全国チャンピオンになった元体操選手、Ycombinatorが投資したRidejoyのFounderを経て、現在はSmithsonian InstituteのPresidential Innovation Fellow。) このが何を言

    laiso
    laiso 2013/11/13
  • 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であった

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

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

    laiso
    laiso 2013/11/07
  • Spotify: iOSのビルド作業時間を短縮する - ワザノバ | wazanova.jp

    http://labs.spotify.com/2013/11/04/shaving-off-time-from-the-ios-edit-build-test-cycle/ Spotifyのブログで、iOSのビルド作業において、XCodeが実行する間の待ち時間を短縮する取組みを紹介しています。 1) 背景 ソースコードをいじった後、XCodeでRunボタンを押してからシミュレータで結果を確認できるまでの時間は、自宅のiMacで平均82秒かかっていた。コマンドラインで確認したところ、linkingで29秒、dSYMファイルの生成で25秒。SpotifyのiOSクライアントのコードベースはかなり大きく、linkerが2,000のオブジェクトファイルをまとめる必要があるので、おそらく取組みがいがあると判断。 2) dSYM file generation dSYMは、OSXの初期、linker

    laiso
    laiso 2013/11/06
  • ワザノバ宣言的なもの - ワザノバ | wazanova.jp

    「どうしてブログを書きはじめたのですか?」という質問をたくさんいただいたので、今回は、ワザノバというサービスがどうなっていくのかをシェアさせてください。 ワザノバは、Web & スマホエンジニアのための、開発ノウハウ / 開発チームづくり / オープンソース /スタートアップのビジネスモデルを語るサイトになります。 きっかけは、エンジニアがまとめて情報をみれるサイトがないなと思ったことがきっかけです。英語圏であれば、エンジニアコミュニティのサポートをうけたクオリティの高い情報が集積している場所があります。日エンジニア英語で文章を読むことができますが、読解スピード = 仕事効率を考えると母国語で最新の情報が集るサイトの価値は高いと思います。 そこで、クオリティの高い選ばれた情報とそれに関する議論が集積する場所をつくれたらなと考えました。Twitterのおかげでエンジニアの発信は増えまし

    laiso
    laiso 2013/10/28
  • 予告ホームランを打とう - ワザノバ | wazanova.jp

    Jeff Atwoodのファンです。 彼のブログCoding Horrorは楽しいですが、それが理由ではなくて、彼が予告ホームランを打つ人だからです。 FacebookやTwitterは創業した時点ではどのようなサービスに成長していくのか想像できなかったと思います。とにかく優秀な人たちに任せておけばうまくいくという、ある意味投資家冥利につきるスタートアップの成功物語です。それはそれで世の中的には素晴らしい話しなのですが、実は自分はそれほど興味がありません。 Stackoverflowは、2008年にローンチしたとき、FounderのJeff AtwoodとJoel Spolskyのエンジニアコミュニティでの人気が既に根強く、開始直後から大きな成功をおさめています。しかし、そのことよりも注目したいのは、Jeffが予告ホームランを打ったことです。サービス開始前から、既存サービスの問題点とそれに

    laiso
    laiso 2013/10/17
  • 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レイヤ、バックエンドエン

    laiso
    laiso 2013/10/11
  • MongoDBの$150M調達で色々考えさせられたこと - ワザノバ | wazanova.jp

    http://www.bloomberg.com/news/2013-10-04/mongodb-becomes-king-of-nyc-startups-with-1-2-billion-valuation.html 10genが社名もMongoDBに変えてたことは知りませんでした。さて、同社が$1.2BのValuation (企業価値)で$150M調達ということですが、昨年、Githubが$750Mのvaluationで$100M調達したのに続き、オープンソースがベースになってる会社で大型資金調達が成功する事例が続いてますね。  MongoDBはHacker Newsで取り上げられる度に驚くほどネガティブコメントを集めてるのですが、今回も例にもれず、この資金調達のニュースには219件のコメントがつき、トップに掲載されてる(おそらく掲載順ロジックはUpvoteの数なので、一番人気のコメン

    laiso
    laiso 2013/10/07
  • Squareもオープンソースで頑張っている - ワザノバ | wazanova.jp

    https://squareup.com/news/releases/2013/open-approach-to-code オープンソースを積極的に提供することでアピールしている会社が増えてます。Google/Facebookのような大手だけでなく、起業してから数年のスタートアップでも人気のある会社は概ねオープンソースに熱心です。10gen (MongoDB), Joyent (Node.js), Canonical (Ubuntu) のようにオープンソースを前提とした事業モデルをもった会社が大きな投資を惹き付けていることもあり、「オープンソース」と「読み応えのあるエンジニアブログ」は優秀なエンジニア採用の二大武器ですね。(まあ、特に西海岸の場合は、給与、ストックオプション、3メシ付き、素敵なオフィス、休暇は好きなときにとる、という他のありとあらゆる条件があがってるので、ちょっとやそっと

    laiso
    laiso 2013/10/03