タグ

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

  • APIの後方互換性を保つ工夫 - ワザノバ | wazanova

    Stripeの決済サービスの成長は、APIが使いやすいというエンジニアの間での評判がかなり寄与したと記憶しています。 同社のAPIは現在、 エンドポイント: 106 バージョン: 65 APIクライアント: 6 ユーザ企業を煩わせることなく後方互換性をしっかり担保したいという方針を守るための工夫を、Amber Fengが紹介してくれています。 1) ユーザが利用するバージョン情報の把握 ユーザ企業が最初にAPIコールをしたときのバージョン情報をStripe側で保管している。それ以降、ユーザ企業はバージョンのことを意識することなく、最初のバージョンのAPIを利用し続けることができるようにしている。ユーザ企業側でバージョンの変更をしたい場合は、ダッシュボードでの設定や、リクエストヘッダーに情報を付加することで可能。 2) バージョンと機能の整合性 YAMLファイルでバージョンとその振舞いの情報

  • Reactを実際に使ってみた話が増えてきた - ワザノバ | wazanova

    http://youtu.be/uwnjDXtJufs 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 44分前 コンポーネントベースのviewレイヤのライブラリであるReactを、実際に使ってみた感想についての発信が増えてきているので、まとめてみました。(4)はFluxの話も入ってます。) 1) Reactとは? E4E Developer Conf 2014の講演でFacebookのBen Andersonは、Reactを採用しているサービスを挙げています。 Facebook / Instagram / GitHub (Atom) / Khan Academy (with Backbone.js) / Mozilla Firefox (for Paneis) / NY Times / Reddit (stor

  • Deis: DockerベースのHeroku的PaaS - ワザノバ | wazanova

    Deisは、Heroku的なワークフローを実現する Docker/CoreOSベースのPaaSです。オープンソースのプロジェクトですが、既にOpDemandが運営会社になっており、同社はこれまでに約2.5億円の資金調達も完了してます。フルタイムでオープンソース開発を担当する正社員の募集も始まって、最新バージョンは0.9.1という段階のようですので、これから格的に立ち上がっていくのでしょうか。 Deisのクリエーターであり、OpDemandのFounderでもあるGabriel Monroyのが、dockdercon 2014でDeisのこれまでの進捗を紹介しています。 Deisは最初のマルチホストDocker PaaS。最初はPythonで書いていたが、最近はGoが中心。 フルタイム5名 + ~40名のコントリビューター すぐにプロトタイプをだしてコミュニティからのフィードバックをもらお

  • エンジニアチームでブランドを築く - ワザノバ | wazanova

    https://medium.com/on-startups/1feed0155749 2 comments | 1 point | by WazanovaNews ■ comment by Jshiike | 約5時間前 Nis Fromeのこのブログは示唆に富むものでした。 NisのチームがNew Yorkでハッカソンに参加したときのこと。慣れないテクノロジーに苦闘して、進捗が見えなくなってきた深夜3時、メール配信サービスのSendGridのエンジニア達が会場にやってきて、参加者に声をかけながら部屋をまわりはじめる。SendGridのDeveloper EvangelistであるMike Swiftから、「何か手伝える?」と言われた際に、SendGridのAPIを使ってるわけではなかったので、一旦は断る。しかし、彼は矢継ぎ早に質問を重ねてきて、Nisのチームがどのようなテクノロジー

  • Stack Overflow: 技術的負債の必然性 - ワザノバ | wazanova

    http://marcgravell.blogspot.co.uk/2014/04/technical-debt-case-study-tags.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約22時間前 Stack ExchangeのエンジニアであるMarc Gravellがブログで、Stack Overflowのタグ検索のパフォーマンスをあげるために一時的に対応した迂回策を、時間をかけて修正していった経緯を紹介しています。「あまり褒められたやり方ではないけど、その時点ではそうするのがベストだった。」という負債はあるよねという話しです。 Step 0 : 背景 Stack Overflowでは、質問に紐づいたタグを検索(“{a} and {b} and {c}”, “{d} or {e}”, “{f

  • Trelloのパフォーマンス改善 - ワザノバ | wazanova

    http://blog.fogcreek.com/we-spent-a-week-making-trello-boards-load-extremely-fast-heres-how-we-did-it/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Fog Creekがエンジニアブログで、カードを載せたボード画面の読み込み時間を改善させた取組みを紹介しています。1000件程度のカードを読み込もうとすると、レンダリング完了に7秒〜8秒かかって、画面がロックすることがあったのを、サイトのデザイン変更に合わせて、906件のカードを1400x1000 pixel windowで毎日10%レンダリング時間を短縮させる目標に1週間挑戦した記録です。 1) Monday (7.2 seconds down to

  • WebRTC: サーバのない世界でwebをつくり直す [Realtime Conf. 2013Real] - ワザノバ | wazanova.jp

    [Video] http://2013.realtimeconf.com/video/ [Slide] https://speakerdeck.com/feross/webrtc-data-black-magic しかし、23歳にして既にこのレジュメにあるようなアウトプットを連発しているFeross Aboukhadijehはすごいですね。その彼が、Realtime Conf. 2013で、WebRTCの現状と自らの新しいプロジェクトについて語っています。 1) 概要 Video/音声/データをブラウザ間のpeer-to-peerで直接やりとりできる プラグインのインストールは不要 WebSocketスタイルのシンプルなAPI 2) 利用事例 リアルタイムチャット、ファイルシェア、遅延のないマルチプレーヤー対戦型ゲーム、分散DB、ダークweb?(p-to-pコミュニティ)、CDN Mozi

  • Spotify: virtualenvのパワーをDebianパッケージに取り込む - ワザノバ | wazanova.jp

    http://labs.spotify.com/2013/10/10/packaging-in-your-packaging-dh-virtualenv/ Spotifyのエンジニアブログで、virtualenvのサンドボックス生成パワーをDebainパッケージに取り込んだdh-virtualenvを紹介しています。 1) 背景 Spotifyでは、DebianパッケージでPythonのソフトをアップしている。sbuildのあるCIシステムで自動的にアップできるようになっている。puppetを利用して、このシステムは問題なく稼働しているが、面倒なところもあった。まず、Debian Pythonパッケージのバージョンが古かったり、機能が足りない場合があり、内部のDebianレポジトリに新しいパッケージを入れる必要があった。さらに、新しい社員の場合は、Debianパッケージの中でPython

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

  • Etsy: Chef10からChef11へのアップデート - ワザノバ | wazanova.jp

    http://codeascraft.com/2013/10/16/migrating-to-chef-11/ Etsyがエンジニアブログで、Chef11へのバージョンアップの経験をシェアしています。 まず、Version 11.6.0用のサーバ構築。 そして、バックアップと復旧のためのスクリプトがChef11で稼働することを確認。コードの修正作業に支障がなく、Chef10とChef11サーバが問題なくsyncできることで、この移行作業に影響を受けずに、最大70名の開発者がcookbookをいじれる環境を担保することを目指した。 Chef11のknown issueについては、attribute precedenceの問題の修正と、knife-lastrun handlerがnode.run_state()の替わりにrun_context.loaded_recipesを使うように変更しただ

  • Airbnb: サイトパフォーマンスの改善 - ワザノバ | wazanova.jp

    http://nerds.airbnb.com/performance-tuning/ Airbnbがページの読み込み時間を25%改善した事例を、同社のエンジニアブログで紹介しています。 1) 改善結果 ページの読み込み時間の中央値が25%改善。[グラフ] 2) ツール サイトパフォーマンス改善のためには、ページの読み込みが遅い原因を探るツールと、コード変更と読み込み時間の変化を記録するツールの両方が必要。 ウォーターフォールグラフ [Chromeのグラフ]から手をつけるのがよい。既にサイトの読み込みスピードが相当早いわけでなければ、アセットの数、実行順、サイズの変更で効果が見込める。例えばJavaScriptファイルのダウンロードで700msかかるのであれば、そこにまず手をつけることが、サーバ側で何かをいじるよりも改善する可能性がある。 また、ChromeのPageSpeed Insig

  • Flickr: RedisをMySQLのセカンダリインデックスにする - ワザノバ | wazanova.jp

    http://code.flickr.net/2013/03/26/using-redis-as-a-secondary-index-for-mysql/ Flickrエンジニアブログで、Redisを利用したDBクエリ最適化の事例を紹介しています。 1) 背景 Yahoo.comのサイトの右側に、直近でアクティブなFlickrコンタクトの写真が10枚掲載 [例] されます。 Yahoo.comのトップページのサイトパフォーマンスを担保するため、このAPIはかなり厳しめのSLA (Service Leve Agreement) が課せられてます。直近に写真をアップロードしたアクティブなユーザのリスト作成の際、コンタクト数が多いユーザが存在すると、SLAを守るパフォーマンスがだせないため、クエリとMySQLのインデックスを改善する必要がでてきた。 2) 最初の試み 直近のコンタクトデータを非

  • CIについてのおさらい - ワザノバ | wazanova.jp

    CIについては、 CIに興味がある会社は多いが、 バックアップをとってない バックアップをとっていても手順書がない システム監視してない 退職者がでても番用のパスワードを変えてない サーバ設定管理をしてない システムをスケールさせる段取りがついてない サーバ交換の手順が決まってない など、まともなシステム運用環境が用意されてない事例が散見される。最初からHerokuやPaaSに任せている会社であればよいが、そうでなければ基的なことの整備は大切。まずは、Ansible / Puppet / Chef / SaltStackなどでの設定管理から手をつけてみればよいのでは。 という意見もあるようですが、「CIとは何か?」については、やはりThoughtWorksのサイトが一番簡潔によくまとまってるようです。 Integrate at least daily コードを1日数回共有のreposi

  • Flatデザインの入力フォームをデザインする - ワザノバ | wazanova.jp

    http://alistapart.com/article/flat-ui-and-forms フラットデザインは、ユーザのアクションを促す表現がどうにもこうにも難しいですが、その解決策が紹介されはじめたので、助かります。Jessica Endersが、入力フォームのベストプラクティスを解説しています。 フラットデザインは、目立たせることが難しいので、ユーザにとってアクションを決める情報が少なくなることを意味する。 一方、入力フォームのUIは、 ユーザはタスクを完了させなくてはいけない ユーザは入力フィールドにフォーカスして作業する ユーザの導線は、入口と出口は1箇所であり、順路がある場合が多い 入力完了と失敗の区分がはっきりしている 一度しかやらない作業である場合が多い という点で、他のコンテンツのUIとは違うデザインの制約がでる。 解決策としては、 同じ画面において、優先順位の高いアク

  • Erlang: WhatsAppを支える技術 - ワザノバ | 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のカンファレンスで語ってます。 メッセージのトラフィ

  • 1