デザインをスタートアップの成功にうまく取り込む動き

約3年前 | 1 point

著名なグラフィックデザイナーであり、Rhode Island School of Designの学長であったJohn Maedaが昨年末に大手VCのKPCBのデザインパートナーに就任しています。スマホにシフトする中でUIデザインの重要性があがっていることが、大手VCがデザイン分野でも発信力をあげてアピールする & ポートフォリオ企業のためにデザイン強化をサポートするという動きにつながっているようです。500 Startupsが設立当初、マーケティングとデザインを特徴にしたインキュベータとして売り出して以来のデザイン分野での目立った動きでしょうか。ちなみに、500 StartupsのEnrique Allenはその後、FacebookのBen Blumenfeldと組んでDesinger Fundを立ち上げています。

John MaedaはこのWall Street...

Railsのテストを高速にする

約3年前 | 1 point

Airbnbのテスト:巻き込み力のある人がポジティブな変化をもたらす」でLou Kosakが、依存関係のないユニットテストを実現するのに参考にしたというCorey HainesのGoGaRuCo 2011での講演です。

テストの実行時間改善のために依存関係を解消するという意味では、一番読込みに時間のかかる3rd partyエンジン、つまりRailsとの関係を切り離すのが効果が大きい。

1 class ShoppingCart < ActiveRecord::Base2 has_many :shopping_cart_products, dependent: :destroy3 has_many :products, :through = :shopping_cart_products45 def total_price6...

Framer & AngularJS: webアプリにiOSのUI的な動きを追加する

約3年前 | 1 point

PotluckのデザイナーであるCemre Gungorが抱えていた問題は、この画面において、左側のポストされたアイテムをクリックして、画面の右側に内容が大きく表示される際に、クリックしたアイテムが画面左のリストから突然消えてしまうような感覚を与えるUIになっていること。そこで、画面左側でクリックしたものが、自然に右側に移動しながらサイズを変えていくように見える効果をだすために、アニメーションを追加することに取り組みました。

プロトタイプ1

プロトタイプ2

プロトタイプ3

課題は、

  • プロトタイプにKeynote / Effects / Flashを使っても複雑な動きには対応しづらいし、画面での実際の操作と比較するとリアル感に欠ける。HTML + CSSはつくるまではよいが、手動でまとめて、CSS / JavaScript間でコードをコーディネーションするのは手間がかかる。

  • ...

Airbnbのテスト:巻き込み力のある人がポジティブな変化をもたらす

約3年前 | 3 points

Airbnbにテストの文化を浸透させる経緯を紹介したこのエンジニアブログで、Lou Kosakは、1年前の状況を、

テストスイートは遅く、エラーが起きがち。CIサーバはかろうじて動く程度で、ローカルでどのようにテストを実行すればよいかほとんどの人はわかってない。入社の際にテストは重要だと言われるが、既存のメンバが誰もテストを気にかけてないので、皆忘れてしまう。

まずは本番にいきなりアップするのでなくプルリクエストを送る方式に変えていく取り組みをしています。障害が減り、各エンジニアの動きが可視化されるというメリットが見えてくることで、プルリクエストするエンジニアが増えていきます。Giltの"voluntary adoption"のように、イニシアティブを取りたい人がリードするものの、新しいツールや開発手法は強制せず、自主的に広がるかたちで浸透させるというスタイルですね。...

YouTube & Go言語: MySQLをパワーアップするVitess

約3年前 | 3 points

YouTubeのシステムアーキテクトであるSugu SououmaraneのFOSDEM 2014での講演です。スライドはこちらからダウンロードできます。

1) Vitessとは

Vitessは大規模な本番環境でMySQL DBを効率的に利用するためのオープンソースプロジェクトです。概要はプロジェクトゴールのページ にまとまってます。

MySQLは機能が豊富だがスケールさせるときは苦労する。一方、NoSQLはスケーラビリティには問題がないが、アプリケーションが複雑になるとできることに限界があるのがネックになる。セカンダリインデックス、joinsなどがサポートされていない。Vitessはスケーラビリティを確保した上で、トランザクション / joins / インデックスなどの機能も担保する目的で開発された。(スライドの3枚目にPros/Cons比較あり。また4〜...

Ember.jsに向いていること

約3年前 | 3 points

ブログプラットフォームのオープンソースプロジェクトGhostのadmin機能の開発フレームワークをどうするかという議論がGitHub上で行われています。これを書いている時点でコメントが98件ありあまりに長いので詳細割愛しますが、Backbone.js / AmgularJS / Ember.jsなどの比較検討をしています。

モデレーターが最初に & 途中で、何が課題で、何を議論するべきで、どのような情報が必要か、そしてどのように議論を進めるのか、このようにしっかり定義しているので、健全にかつ活発に議論が進んでいて、各フレームワークのコア開発者もコメントを寄せています。リモートワークも含めて非同期に仕事を進める機会が増えていく中で、書くコミュニケーションの大切さは色んなところで言われてますが、このレベルが求められているのだなといういいお手本かと。

さて、話しをタイトルの件に戻すと、...

Michael Abrashの語るバーチャルリアリティ

約3年前 | 3 comments

バーチャルリアルティについてはまったく知見がなかったのですが、Project Tangoもでてきたので、3D空間を活かしたリアル & バーチャルなものがどこまで何ができるのだろうというのを勉強する意味で、メモしてみました。Michael Abrashはこの分野の重鎮で、現在はValveでヘッドマウントディスプレイ(HMD: 大型のゴーグルのような頭部装着ディスプレイ)の開発に携わっています。

HMDでのバーチャルリアルティを実現するポイントは、

1) 正確に位置をトラックする。2) 遅延を抑える。3) 現実と違わないという感覚を与える。

人間は、頭と目がすばやく動く。目だけが動くこともある。広い視野(90度程度)を提供すること。

頭 & 画面を動かしたときのピクセルの集積度、移動角度1度あたり一定以下のピクセル数になると、広い視界 + トラッキング能力 +...

Facebook社内への2段階認証プロセスの導入

約3年前 | 3 points

FacebookのJohn Flynnが、社内に2段階認証プロセスを導入した取り組みを紹介しています。

背景

6000人の社員が1日数百万回認証

ssh経由で開発サーバにアクセスするスタイル

セキュリティを担保しつつ、開発スピードをスローダウンさせない仕組みが必要。

他社事例の研究

特定のデバイスに表示する形式のワンタイムパスワードは、コンシューマ向けにはよいが、使用頻度が多い開発者にはストレスになる。

バイオメトリックスについては、どこからログインするかわからない開発者に追加のデバイスを持ち歩かせるのは非現実的と判断。

スマートカードも追加のデバイスになることと、APT攻撃の起点に使われる事例もあった。

採用の条件

  • 高使用頻度に耐えられる
  • 様々な利用シーン、技術仕様、デバイスにフレキシブルに対応できること
  • セッション毎の認証が必須
  • 短期間で社内にデプロイできる
  • サポートの手間があまりかからない

ソリューション

...

Dropbox: ビデオ起動時間短縮の取り組み

約3年前 | 1 point

Dropboxが、ビデオコンテンツ再生の起動時間短縮とクオリティのバランスをとる取り組みについて紹介しています。

課題

1) ビデオ処理方式のフラグメンテーション: 最近のモバイルは、コーデックにH.264/AVC、フォーマットはMPEG-4がほぼデフォルトになったが、webでは、.mp4 / .avi / .flvなどの拡張子であっても各社独自の仕様でエンコードされている可能性がある。

2) ユーザのネットワーク環境がもの足りない。 (うちはComcastですが、平均1.5Mbpsしかスピードでてない。。

3) デバイスに搭載されているチップセットのメモリ帯域とCPUパワーで、対応できるビデオ処理方式が限られる。

対策

HTTP Live Streaming (HLS)の利用: 仕様に基づき、iOSだけでなく一部のAndoroidでも利用可能(Androidの挙動はいまひとつで、...

Facebook for Androidのセキュリティ対策

約3年前 | 2 points

FacebookのSubodh Lyengarが、Security@Scale 2014で、モバイルのセキュリティについて語ってます。

モバイルエンジニア: 数百人、ファイル15万件、コミット10万件、セキュリティエンジニア: 3人

モバイルのセキュリティ対策は、悪意のあるアプリ & サイトとネットワーク攻撃

ネットワーク攻撃では特にアプリが要注意。アプリは、SSLの実装 / コネクションプール & HTTPの管理など考慮すべきポイントが多い。

悪意のあるアプリのintentハイジャックによるユーザデータ盗難: ActivityのstartActivityではなく、SecureContextHelperのstartActivityを利用することで防ぐ。

XSSホール: 古いバージョンでは、file...

給与を上げるベストな仕組みの解がない

約3年前 | 2 comments | 3 points

1) 意義のあるチャレンジングな仕事をすること、2) 刺激をもらえる優秀な仲間と仕事ができることは、3) 高い給与をもらえることよりも優先度が高いという意見に100%賛同していますが、今日は1) 2)のことはさておき、3) の給与、特に昇給の話しをしたいと思います。

原文 は、EchoSignのFounderであったJason M. Lemkinが、優秀なメンバに会社に残ってもらうために心がけていたことを紹介しています。

#1. By The Time You Give Them a Raise, It’s Too Late. They’re Already Out the Door. (昇給をしようと思ったときはもう遅い。優秀なメンバは別の会社のオファーをもう受けている。)

#4. Find a Growth Path for Everyone, Especially the Great...