タグ

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

  • シングルページアプリの初速を上げる取組み - ワザノバ | wazanova

    https://www.youtube.com/watch?v=VkTCL6Nqm6Y 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 OSCON 2014におけるInstagramのWebチーム責任者であるPete Huntの講演。PeteはInstagramに異動する前は、FacebookのPhoto/Video/Product Infraチームに在籍。 今回は、InstagramのwebサイトInstagram.comにおいて、シングルページアプリの課題である最初の読込みスピードを上げるために、どのような工夫をしたかについて紹介してくれてます。 Instagram.comのJavaScriptファイルは、縮小化後で9.5MB & gzip圧縮後で2.5MB。そのサイズだと、一つのファイルにまとめ

    aereal
    aereal 2014/09/17
  • Airbnb: 最も利用されている機能がベストだとは限らない - ワザノバ | wazanova

    A/Bテストを繰り返したり、検索機能を磨いたりというのは、どのようなウェブ/アプリサービスでも注力するところではあると思いますが、Airbnbの取り組みを学んでいると、「自分のサービスにとってはどのような機能を選択肢に入れて、どのように選択するべきか。」については、当たり前に聞こえるかもしれませんが、よくよく考えて決めなくてはいけないポイントだと改めて認識させられます。 A/Bテストで、コンバージョン率の改善がすぐに見られた機能をサクっと選択してしまい、実は中期的にはコンバージョン率が変わらない(もしくは悪化する)可能性を確認しない。「ほとんどのユーザが価格帯順のソートを選択するから、検索機能は価格帯順の検索結果をデフォルト表示にすればよいだろう。」という意思決定をしてしまし(もちろんこれが正解なときもあります。)、他にベストな選択肢/検索ロジックがある可能性を追求しない。というような失敗

    Airbnb: 最も利用されている機能がベストだとは限らない - ワザノバ | wazanova
    aereal
    aereal 2014/05/08
  • Rails wayにどこまで従うべきかという議論 - ワザノバ | wazanova

    http://andrzejonsoftware.blogspot.com/2014/04/be-careful-with-rails-way.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 「RailsでInteractorをうまく利用する」と「DHHとのピンポン」で紹介した議論をうけて立ち上がったサイト( http://www.dhh-ping-pong.com/ )で、DHHに挑戦するコードのピンポンが行われてます。 最初に取り上げられたAndrzej Krzywdaとのやりとりは、こちら。Andrzejのリファクタリングについてのオリジナルのブログはこちら。 また、Andrzejは最新のブログの投稿で、その比較について解説しています。 自分はコードとRailフレームワークとの関係をな

    aereal
    aereal 2014/05/01
  • Carousel by Dropbox: 遅延のない動きを実現する工夫 - ワザノバ | wazanova

    Dropboxは先週iOS、Android向けに発表した写真管理アプリCarouselを発表しました。Carouselの開発にあたり、がまずチャレンジすべき目標は、デバイスのローカルに保存された写真を閲覧するギャラリーアプリにパフォーマンスが劣らないようにすること。その取り組みを同社のエンジニアブログで紹介しています。ポイントとしては、ユーザのアクションを邪魔しないこと。 1) 解決すべき問題点 クラウドに保存された写真を閲覧するCarouselにおいて、まず問題になったのは、 写真タブにおいて、ユーザのアクションをサーバと同期させる際に、HTTPSリクエストが待機した状態が起きる。例えば、写真をシェアする場合、このような画面になる。写真を削除する場合も同様。ネットワークの接続がよくなければ、後でユーザは再トライする必要がでる。 Dropboxにアップしてない写真、つまりデバイスのローカル

    aereal
    aereal 2014/04/19
  • 責任であることと、そうでないことの境界線 - ワザノバ | wazanova

    http://www.webstock.org.nz/talks/how-designers-destroyed-the-world/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 1日前 net awards 2014のConference Talk of the YearにノミネートされているMike Monteiro (Mule Design Studio) のWebstock 2013での講演 "How designers destroyed the world." です。デザイナーの責任というテーマなのですが、どの仕事をする上にも共通するちょっと重たい話しです。 まず取り上げているのは、2012年10月にWall Street Journalに掲載された記事。 ある大学生が、Facebookのプライバ

    aereal
    aereal 2014/04/10
  • エンジニアのベストプラクティスを非エンジニアチームで活かす - ワザノバ | wazanova

    http://www.developingsales.com/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約6時間前 Jeff SzczepanskiはStack Overflowのマネタイゼーションの責任者。エンジニア転じて、営業の組織の長になった人物。 「営業というのは科学というよりは芸術。コンピュータ相手じゃなくて、人間を相手にしているからね。」 「営業が結果を重視するのは、計測しやすく公平な指標だから。どうなるか予想したりプロセスをうまく管理するのは難しいんだよ。」 という話しに違和感を抱き、「誰かが決めた営業戦略に従って営業マンは盲目的に数字の達成だけを求めてひたすら実行する。」という従来の営業手法は、 自分で手を汚してコーディングしない「アーキテクト」と呼ばれる人が仕様書をまとめ、下々のエンジニ

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

    aereal
    aereal 2014/03/20
  • Angular 2.0 - ワザノバ | wazanova

    http://blog.angularjs.org/2014/03/angular-20.html 1 comment | 0 points | by noto ■ comment by noto | 約1時間前 クライアントサイドの JavaScript フレームワークである AngularJS の公式ブログで Angular 2.0 の実装が始まったことがアナウンスされ、設計に関しての考え方、なぜ変更しようとしているか、詳細な変更点などについて述べてられています。Angular のもともと持っている特徴もおさえつつ説明されているので、Angular の復習にも良さそうです。 Angular 2 は mobile apps のためのフレームワーク (デスクトップにも利用できる)。data-binding、extensible (拡張可能な) HTML、テストのしやすさの重視については変

    aereal
    aereal 2014/03/19
    “モダンブラウザ: いつも自動的に最新バージョンにアップデートされるブラウザのこと。”
  • 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 の中の人としては

    aereal
    aereal 2014/03/07
  • 給与をあげるベストな仕組みの解がない - ワザノバ | 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

    aereal
    aereal 2014/02/19
  • 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台(キャッシュ、メッセージング) 毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタ

    aereal
    aereal 2014/01/13
  • npmにおけるCouchDBのコンフリクトの解説 - ワザノバ | wazanova

    http://writing.jan.io/2013/12/19/understanding-couchdb-conflicts.html1 comment | 0 pointsHoodieとCouchDBを兼務しているJan Lehnardtが、npmがマルチマスターに移行してから起きている障害を受けて、CouchDBを利用する際のコンフリクトの正しい回避の仕方について解説しています。 現状npmはCouchDBの推奨の方法でドキュメントのアップデートをしていない。 How to store data in CouchDB CouchDBの標準のデータの保存は、JSONオブジェクトをDBにputする。 PUT /database/document {"a":1} ドキュメントから取り出すときは、 GET /database/document {"_id":"document","_rev

  • DiscourseのEvil Troutがコードベースを長く使えるように気をつけていること - ワザノバ | wazanova

    http://eviltrout.com/2013/10/05/enemy-of-the-state.html1 comment | 0 pointsDiscourseの開発者であるEvil Troutが、長く使えるコードベースにするための工夫について自らのブログで紹介しています。 Discourseのような大規模プロジェクトに取組んでみて重要だと感じたのは壊れないコードを書くこと。まずは、テストでしっかりカバーすることだが、簡単に使えてかつバグの原因となりづらいfunctionを使うことも大切。 An Example: ActiveRecord Product.all.each do |p| puts p.name end ActiveRecordはデフォルトでテーブルのカラムを全て含むので、アウトプットする前にnameカラムをわざわざ明示しなくても問題にはならない。しかし、時間がた

    aereal
    aereal 2013/12/27
  • 参考にすべきはNetflixのポリシーのロジカルさ - ワザノバ | wazanova

    Netflix Culture: Freedom & Responsibility」がこれだけ話題になり、シリコンバレーで評価されてます(パワポは500万回閲覧されたそうです。)が、その資料だけでは、「実際どうやって運営しているの?」「どういう経緯でこのルールを決めたの?」「社員の反応はどうだったの?」などまだ知りたいことはかなりありました。そう言う意味で、Netflixから独立してコンサルになったPatty McCordがHarvard Business Reviewに寄稿している記事では、そのあたりの背景がカバーされています。是非原文を読んでいただきたいですが、その中からいくつか紹介させください。 会社の方向性を理解し、高い生産性を指向する人を雇えば、97%のメンバは正しい(大人として常識ある)行動をとる。相当なコストのかかる人事ポリシーづくり & 運営は残りの3%のために費やされる

    aereal
    aereal 2013/12/26
  • Mastercoin: オープンソース開発のインセンティブを変える以上の可能性 - ワザノバ | wazanova

    https://github.com/DavidJohnstonCEO/DecentralizedApplications/blob/master/README.md1 comment | 0 pointsBitcoinの規制やら相場の乱高下が話題になってますが、 Chris Dixonが言っているように、 The press tends to portray Bitcoin as either a speculative bubble or a scheme for supporting criminal activity. In Silicon Valley, by contrast, Bitcoin is generally viewed as a profound technological breakthrough. (メディアはBitcoinを、投機的バブルか、犯罪行為をサポー

    aereal
    aereal 2013/12/25
  • Foursquare: モバイルデータを利用してレコメンドを磨く - ワザノバ | wazanova

    http://engineering.foursquare.com/2013/12/18/foursquares-new-notifications-and-the-future-of-contextual-mobile-experiences/1 comment | 0 points8月にリリースしたFoursquareの新しいモバイルのnotificationは、ユーザがチェックインしなくてもその居場所を検知し、はじめてのレストランであればお勧めメニューを、普段行かない都市に飛行機が到着するとお勧めの場所を通知してくれたりする機能です。同社のMatt Turkが、その機能のデータの正確性と相関性を向上させた取組みを紹介しています。 新機能構築の際の留意点 位置データの正確性 ユーザに伝える情報の相関性 モバイルのバッテリーの消費を極力抑えること 位置データの正確性 GPSのシグナルは取

    aereal
    aereal 2013/12/22
  • Twitter: SPDYでiOSアプリのHTTPリクエストが早くなるポイント - ワザノバ | wazanova

    https://blog.twitter.com/2013/cocoaspdy-spdy-for-ios-os-x1 comment | 0 pointsChromeとFirefoxで利用できるSPDYプロトコルは、HTTP/2.0のベースになりますが、今回TwitterをそれをiOSアプリに提供できるCocoaSPDYをオープンソースで提供しています。こちらとこちらのグラフにあるように、概ね30%スピードアップできるようです。 HTTPをスピードアップするために、SPDYが改善しているポイントは、 TCPコネクションを介して一度に一つのリクエストを送るのではなくて、SPDYは一つのTCPセッションで複数のリクエストを送信し、レスポンスを任意の順番で扱うことができる。 SPDYはリクエストヘッダーおよびレスポンスヘッダーを圧縮できる。ヘッダー同士は、重複するテキストデータがあり、かなり似た

    aereal
    aereal 2013/12/21
  • Evernote: 会社の規模にあわせてのセキュリティ対策の考え方 - ワザノバ | wazanova

    http://firstround.com/article/Evernotes-CTO-on-Your-Biggest-Security-Worries-From-Three-Employees-to-300 セキュリティ当に大事だけど、会社が小さいうちにものすごいコストをかけた対策はできないので、段階的にやっていくことになるのが典型的なパターンだと思いますが、「では、具体的にどの段階で何をやるのか?」について、EvernoteのCTOであるDave EngbergがFirst Round CTO Summitで自らの考えを紹介しています。 まず、原則として、「導入しようとしてるセキュリティの対策が、守ろうとしていることのリスクよりも低いときだけ、実行する。」こと。会社が小さいときは失うもののリスクも小さいので、対策もおおげさなものでなくということになるが、Tech Crunchに最初

    aereal
    aereal 2013/12/15
  • [その2] エンジニアが起業する環境が整っていくこと - ワザノバ | wazanova

    http://www.kimaventures.com/1 comment | 0 points その1はこちら。 「サービスを磨く」時間を最大化するために、資金調達のプロセスにおいて交渉や仕組みを理解する時間は減らしたいものです。softwareの開発においてバックエンドがどんどん自動化され進化しているように、避けては通れないビジネスプロセスも、自動化/見える化で進化する必要があるかと。 Kima Venturesの件は、 「15日で$150,000 (約1500万円)が調達できる!」というトーンでの報道がされましたが、一番評価すべきなのは、Service Level Agreement (SLA) を開示したことだと思います。$150,000で15%の持ち分を渡すということは、起業家にとって有利な条件だとは言えません(まあ、二人のパートナーで運営しているファンドで、年間50件投資すると

    aereal
    aereal 2013/12/14
  • [その2] Square: TUFでRubyGemsの安全性を高める - ワザノバ | wazanova

    http://corner.squareup.com/2013/12/securing-rubygems-with-tuf-part-3.html1 comment | 0 points その1はこちら。 6) Timeliness RubyGemsのサーバのアクセス権を得た悪意の侵入者は、クライアントからのアップデートができないようにするのは簡単にできるが、クライアント側もエラーを受け取るのですぐにわかる。 もっと気づきづらい攻撃は、セキュリティの脆弱性のあるgemを参照しているtargetsのファイル(targets.txtやverified.txtなど)のバージョンを配ること。tragetsファイルはオフラインキーでサインされてるため、任意のコンテンツに変えることはできないが、古いものを再利用することはできる。クライアント側では受取る情報が古いかどうかは知る由もない。 TUFはこの攻