Google Search iOSのUI

約3年前 | 1 point

Brian Lovinのこのシリーズは個人的にものすごく気にいっているのですが、UIはここまで対応するのが当然という世の中になると、それはそれで作り手側はつらいな。各タイトルをクリックするとデモ画面に遷移します。

1. The Flipping Logo

画面からカードを引き上げると、Olympicのロゴが反転して、カードが下から順にせりあがってきます。

2. Reverse Flip

上記1の反転。ロゴがくるっと回って戻る。回転が終わったタイミングとパーフェクトに合って、トップのステータスバーが隠れます。

3. Daytime

ロゴのサイズ、カラー、及びバックグランドがプルダウンの進捗に合わせて段階的に変化する。

4. Logo Fade

ロゴの色がフェードしていき、ホワイトに変わる瞬間にバックグランドが入れ替わり、ホワイトの文字が読みやすくなる。

5. A Little Bounce

...

フロントエンド自動化ツールをまとめて理解する

約3年前 | 4 points

GoogleのAddy OsmaniによるFuture of Web Appのキーノートスピーチです。49分間 [Video]で下記の話題を全てまとめてます。フロント関連の便利ツールが一通り網羅されてます。おかげで、Yeoman (Yo/Grunt/Bower) の概要もすっきり理解できました。スライド(236枚)で確認されたい方はこちら

  • Codekit
  • Hammer
  • Prepros
  • Koala
  • Mixture
  • compass.app
  • scout-app
  • Yeoman / Grunt
    • grunt-image: JPG/PNG/Gifを最適化して軽量化
    • grunt-concurrent: タスクを並列で実行してスピードアップ
    • grunt-newer: 前回から変更のあったソースファイルに関連するタスクのみ実行
    • grunt-uncss: ビルドのときに使ってないCSSを削除してくれる
  • Yeoman /...

Square: センシティブなデータを安全に & 開発スピードを落とさない仕組み

約3年前 | 4 points

SquareのWiktor Macuraが、センシティブなデータを安全に扱い、かつスムーズな開発の支障にならないようにするための、同社の取り組みを紹介しています。

創業4年経過。取扱高は年換算で$20B(約2兆円)のペース。エンジニア250名。

口座番号 / カード番号 / 氏名などのセンシティブなデータをエンジニアが心配なく扱えるように、key/valueストアのトークンが発行されるAPIを社内向けに用意している。

暗号化は極力早い段階でという方針。スマホに差し込んで使用するSquareのクレカ読取り機 は、バッテリーも搭載していないかなり安価なものだが、この上でカードをスワイプしたらすぐに情報を暗号化している。読取り機ごとにユニークな暗号キーを持っている。不正カードの使用がどの読取り機で使われたかの情報をリスク管理に役立てている。

フレームワーク側でセンシティブデータはハッシュ表示して、...

Gilt: 単一のRailsアプリから複数のScalaアプリへの移行

約3年前 | 1 point

GiltのYoni Goldbergが、同社のアプリが、RailsベースからScalaに移行しスケールしてきた経緯を紹介しています。

Videoがでたら是非紹介したいと思っていたネタですが、1ヶ月待ってもアップされないので、ひとまずあきらめてスライドの紹介だけになります。もしビデオがアップされたら改めて更新します。

2007年の典型的なスタートアップ。サービスをとにかくなるはやでローンチするために、当時盛り上がってきていたRailsを採用。

2009年、フラッシュセール開催時のトラフィックが急増。

技術上の問題点:

  • トラフィックが跳ねる瞬間には、数千のRubyプロセスを立ち上げる必要があった。
  • PostgreSQLはオーバーロード。
  • Rubyプロセス間のルーティングトラフィックはうまくいかなかった。

開発上の問題点:

  • 1000 Models/Controllers、コード20万行、数百件のジョブ
  • ...

400GbpsのNTPベースDDoS攻撃

約3年前 | 1 point

NTPベースのDDoS攻撃を理解するで紹介した手口で、1,298のネットワークの4,529台のNTPサーバが利用され、400Gbpsの規模に及んだ攻撃が2/10にあったことをCloudFlareが発表しています。

攻撃に参加したかたちとなったNTPサーバのIPアドレスは、次の攻撃を助長する懸念があり公にしてませんが、参加したかたちとなったネットワークのオペレータと該当サーバ台数は公表されています

自分のネットワークがBCP38に従ってソースIPとならぬよう対策しているかどうかのチェックはこちら

さくらインターネットからのお知らせ には対応方法の一例がでてます。

また、SNMPはオープンなものがインターネット上になく、セキュリティが脆弱でも認証が必要なものが多いとのことですが、それを利用した650xの攻撃を仕掛けるべく準備している者がいる兆候も察知しているとのことですので、要注意。

...

Netflix: Deep LearningのインフラをAWS上で構築する

約3年前 | 2 comments

脳の神経細胞の仕組みを模したニューラルコンピューティングを利用した機械学習の分野であるDeep Learning (深層学習)は、Googleなども取り組んでいてホットなトピックですが、Netflixはその成果をどのように利用しようとしているかはまだ具体的に公表はしていません。パーソナライゼーション関係のようですが詳細は不明。しかし、そこはNetflixらしく今回は、Deep Learningを活用したい企業のために、AWSを利用したインフラ構築の取り組みを紹介してます。

従来の事例は専用のハードウェアを利用したもので、CPUよりもGPUを利用したアプローチの方が性能において実績がでています

Deep Learningにおいては、複数のデータセットもしくは(地域などの)設定のモデルに対し、ハイパーパラメータのチューニングをし、...

AngularJS + Yeomanでリモートデスクトップクライアントをつくる

約3年前 | 2 points

Minko Gechevが、AngularJSとYeomanを使ってリモートデスクトップクライアントをつくる方法を紹介しています。完成型のデモはこちら。ソースコードはこちら

作業の大まかな流れは、

Architecture

アーキテクチャー図

Proxy

(Node.jsに興味なければコードをコピペして、次の「AngularJS & Yeoman VNC client」へ進む。)

  • angular-vncディレクトリ内にproxyディレクトリをつくり、依存するnpmパッケージをインストール(package.json)。
  • angular-vnc/proxy/libに、proxyの機能をまとめる。
  • proxyサーバの起動はindex.js。
  • ./lib/server.js内でrunメソッドを定義。
  • CreateRfbConnectionのfunctionで、RFB接続を初期化して、event...

iOSアプリSecretのUIの工夫

約3年前 | 2 comments | 3 points

Secretは匿名で写真 & メッセージをシェアするソーシャルネットワーク。昨年ちょっと流行ったwhisper も似たようなコンセプトでしたが、誰にでもシェアできたので、「内緒だけど皆に話す。」的なコンテンツが多くありました。一方で、Secretは基本的には友達の友達の友達という範囲でシェアされるので、「誰かわからないけど、知り合いの知り合いの範囲内」ということで、荒れないで、かつある程度安心して自分の気持ちをシェアできるという線を狙っているのだと思います。自分もダウンロードしてみましたが、コンセプトは理解できても、それなりの数の友達が使い始めないと、面白いのかどうかちょっとまだわかりません。とはいえ、UIはうまく工夫(特にバックグランドの編集機能)してます。

bufferのProduct ManagerのBrian LovinがUIのポイントをまとめています。

1....

Facebook: Paperの美しいUI

約3年前 | 3 points

Paperのデザインについての情報がではじめています。

最初にFacebookのProdcut DesignerのDrew Hamlinが、FastCompanyのインタビューにおいて、インタラクティブなプロトタイプができるQuartz Composer / Origamiが、いかにPaperの開発に役立ったかを語っています。Origamiはマスターするのにかなりラーニングカーブがかかるようですが、ドキュメント / ビデオ / サンプルコンポジションなど、チュートリの充実を約束してくれてます。

また、bufferのProduct ManagerのBrian Lovinが、Paperのデザインで注目すべきポイントをまとめてます。実際に画面を見ないとわからないと思うので、彼のブログを直接チェックしてみてください。取り上げている内容は下記のとおりです。自分も気付いてなかったことが結構あって、...

幸運をつかむこと

約3年前 | 1 point

成功をつかめるかどうかは、運の善し悪しはあるかと思いますが、正しい課題を見つけて強い意志で努力を続けることがそのチャンスを広げるというのは、あまねく意見の一致するポイントだと思います。

ノーベル賞の受賞者を多く抱えたベル研究所のRichard Hammingが講演で、成功する科学者について語っています。

One of the characteristics of successful scientists is having courage. Once you get your courage up and believe that you can do important problems, then you can. If you think you can't, almost surely you are not going to. (成功する人の特徴は勇気があること。...

BitTorrent: ソフトェアのパフォーマンス改善のポイント

約3年前 | 2 comments | 2 points

BitTorrentのChief ArchitectのArvid Norbergが、最近のコンピュータの内部構造を考慮したソフトウェアのパフォーマンス改善のポイントについて語っています。

  • CPUからメモリへのアクセスは、データがDRAMにあると、レジスタの場合と比較して約60倍の時間がかかる。

  • CPUはメモリを待ち受けしているだけでも、プロファイラーは100%使用でビジーと表示してしまう。

  • キャッシュの成否の影響は大きい。CPUは、メモリへのアクセスパターンが一定(予想可能)であれば、メモリをprefetchするのでキャッシュが確実にできる。他のところを参照しにいってパターンがランダムになるとキャッシュをミスする。

  • メモリキャッシュをうまく活用するデータ構造とは?異なる種類のオブジェクトを一つのリストで持つよりも、オブジェクトのタイプごとに一つのリストにする。...

Foursquare: MongoDB -> Hadoopツールのオープンソースでの提供

約3年前 | 2 comments

FoursquareではすべてのデータのプライマリDBとしてMongoを利用している一方、Mongoはいつでも即時read/writeに応えられる状態にしておく必要があるため、コストの高いクエリを実行できないという問題があり、データをHadoopにもdumpして併用しているそうです。Hadoopの規模は100台のサーバに2.5ペタバイトのストレージというもの。データ分析だけかと思ったのですが、リアルタイムnotificationもHadoopを介しているとのことなので、本番サービスにも何らか絡ませているのでしょうか。

今回、MongoDBからHadoopにexportするところと、MapReduceジョブから読み取るコードをオープンソースで提供しています。

Getting the data there

MongoDBの複製 (レプリカ) から。これらのノードはすべて独立したLVM...