タグ

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

  • 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にとっては待望の機能。以前は、ユーザがアプリを立ち上げた後にサーバとの通信を繰返し、新しいデータを取得していたので、せっかくのフラッシュセールの目玉商品がやっと表示されたときには売り切れとなる事態もあ

    kazuph1986
    kazuph1986 2015/06/18
    こういうのってもっと共有されるべき内容な気がする
  • Gilt: 単一のRailsアプリから複数のScalaアプリへの移行 - ワザノバ | wazanova

    http://tech.gilt.com/post/73434506726/scaling-gilt-at-gilt-nyc-tech-talks-comes-to-2-park 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 GiltのYoni Goldbergが、同社のアプリが、RailsベースからScalaに移行しスケールしてきた経緯を紹介しています。 Videoがでたら是非紹介したいと思っていたネタですが、1ヶ月待ってもアップされないので、ひとまずあきらめてスライドの紹介だけになります。もしビデオがアップされたら改めて更新します。 2007年の典型的なスタートアップ。サービスをとにかくなるはやでローンチするために、当時盛り上がってきていたRailsを採用。 2009年、フラッシュセール開催時の

    kazuph1986
    kazuph1986 2014/12/05
    冒頭の「数千のRubyプロセス」で死んだ。
  • Cloudera: 機械学習が広がる中でのデータモデル - ワザノバ | wazanova

    Josh Willsは、Googleで広告オークションシステムとデータ分析インフラの開発を担当し、現在は、ClouderaのSenior Director of Data Scienceを勤めています。 機械学習によるデータ分析が、Googleなどに限らず、AirbnbやEtsyなどその他のネット企業にも広がっていく中、今後必要とされるデータモデルについて 、Midwest.io と GraphLab Conference で講演しています。 複数の機械学習分析を操るGoogleのチャレンジ 機械学習分析のベースとなる各サービスの仕様が頻繁に変更になる。 機械学習分析はそれぞれ単体でも複雑なのに、Googleの場合、それらが相互に関連があるケースが多かった。一つの機械学習分析の変更が、他の機械学習にどう影響がでるかが把握しきれない。その結果、広告配信システムを理解できない(= コントロール

  • Node.js & Go: スタートアップのテクノロジーの選択 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=Iebb5dXaScE 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 GopherCon 2014における、PoptipのCEOであるKelsey Falterの講演。同社はCNN、ESPN、L’Orealなどメディア & コンシューマグッズ大手に、ソーシャルメディアコンテンツの分析やアンケートのプラットフォームを提供しているNew Yorkのスタートアップです。 最初はNode.jsで開発したが、スタートアップにありがちな大手顧客の対応のためのスケールアップと、平行して資金調達活動を続ける中での時間がないバタバタの状況で、 インスタンスが落ちるとシングルポイント障害点になってしまう。ホストしているサーバの障害やアプリのクラッシュなどが

    kazuph1986
    kazuph1986 2014/07/22
    「一般論として スタートアップが、深く理解できてない & version 1.0になっていない最新のテクノロジーへの依存度を極端に高くなるつくりかたをするのはリスクが大きいということ」
  • 何でもデバッグできるようになるスキル - ワザノバ | wazanova

    https://www.youtube.com/watch?v=VV7b7fs4VI8 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 パッケージ(apt, yum, gem等)レポジトリのホスティングサービスであるPackageCloudを開発している、James Golickの講演です。 パフォーマンスの高いハイクオリティなソフトウェアをデプロイしたければ、あらゆるレベルでバグ修正ができるようになること。 まず、エピソードとして紹介しているのが、友人の会社のサイトが落ちて、あいにく、その会社のエンジニアが出払ってしまっていて、どうにかしてほしいと助けを求められたときのこと。 ソースコードを見たことない。 システムの構成を知らない。 phpは詳しくない。 SSHでアクセスできる情報だけはある。 とい

  • Airbnb: Brian Cheskyが語る顧客の声を聞くということ - ワザノバ | wazanova

    PandoDailyが著名なスタートアップのCEOをインタビューしているこのPandoMonthlyという番組ですが、各インタビューが2時間(このBrianのインタビューは3時間!!)あります。さすがにこの長さがあると、かなり人となりがわかりますね。長いインタビューを編集せずにそのまま放映するというアプローチはすごくいい取組みだと思うので、長く続く番組になってほしいです。 Airbnbの創業時のエピソードは過去にニュースの記事で何度か目にしたことがあるので、話しとしては知ってたのですが、いくつか興味深い背景を知ることができました。 CEOのBrian Cheskyは、そのがっしりした体つきのとおり、かなりアグレッシブで壮絶な創業期を乗り越えています。生活費は、クレカで借金。1枚では足りないので、たくさんのクレカをつくってノート型のバインダに入れて使い回し。また、サービスがまだ軌道に乗らない

  • 前任者が悪いのかもしれないけれど - ワザノバ | wazanova

    https://medium.com/p/506a06ae35ea 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 自分は最初に手がける立上げ仕事がほとんどだったので、他人のタスクを引継ぐよりは、次の方にバトンタッチすることが多かったと思います。右も左もわからない状況から始める立上げ仕事は、楽しいけれど、前に進めるだけでそれはそれで大変。なので、引継ぐときは「頑張ったね。」と自分に言ってあげたいというのが音。とはいえ、引継いだ人が後から見れば、相当アラい仕事ぶりに思えたでしょう。大成功してないプロジェクトについては全て、批判は甘んじて受け入れるべきなのかもしれません。 Shamoon Siddiquiはブログで、安易に前任者の責任にする危険性について語っています。 新しく採用した後任のエンジニアが入

    kazuph1986
    kazuph1986 2014/04/05
    これはホントそうで、気がつくと文句を言い続けて1年とか経って前任者って言うか俺ら、みたいなことになる。欠席裁判は簡単。
  • RailsとGoのアプリでセッションを共有する - ワザノバ | wazanova

    http://matt.aimonetti.net/posts/2013/11/30/sharing-rails-sessions-with-non-ruby-apps/1 comment | 0 pointsSpliceのFounderのMatt Aimonettiが、Railsアプリとセッションが共有できる仕組みをGoアプリ用に提供しています。他の言語への移植にも利用できるようです。 RailsGoのアプリでセッションを共有、具体的には、認証されたRailsのユーザがGoで書かれたエンドポイントにJavaScript APIでコールすることを試してみた。まとめると、 実現可能。こちらのGoパッケージを参照されたし。 Rails 4.0以降にアップグレードすべし。 Railsセキュリティには批判があるが、最近のソリューションではエキスパートが工夫をこらしている。 RailsはRub

  • DHHとのピンポン - ワザノバ | wazanova

    http://www.dhh-ping-pong.com/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 「RailsでInteractorをうまく利用する」において、Grouperがブログで紹介したサンプルコードをDHHが批判して、「今回はサンプルコードが悪いだけだと言うなら、良いと思うサンプルコードを送ってほしい。」という発言をしていましたが、実際に原文では、 "Anyway, the invitation stands. Present any piece of real code and we can ping pong on it." 「ピンポンのようにやり取りする。」と表現しています。このコメントに呼応して、 http://www.dhh-ping-pong.com/ というサイトが立ち

  • 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

  • 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 の中の人としては

  • YouTube & Go言語: MySQLをパワーアップするVitess - ワザノバ | wazanova

    http://www.youtube.com/watch?v=qATTTSg6zXk 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約3時間前 YouTubeのシステムアーキテクトであるSugu SououmaraneのFOSDEM 2014での講演です。スライドはこちらからダウンロードできます。 1) Vitessとは Vitessは大規模な番環境でMySQL DBを効率的に利用するためのオープンソースプロジェクトです。概要はプロジェクトゴールのページ にまとまってます。 MySQLは機能が豊富だがスケールさせるときは苦労する。一方、NoSQLはスケーラビリティには問題がないが、アプリケーションが複雑になるとできることに限界があるのがネックになる。セカンダリインデックス、joinsなどがサポートされていない。

    kazuph1986
    kazuph1986 2014/02/26
    すごそう。
  • Go 1.2 パフォーマンス改善のまとめ - ワザノバ | wazanova

    http://blog.gopheracademy.com/day-02-go-1.2-performance-improvements Gopher Academyがブログで、Go 1.2 のパフォーマンス改善点をまとめています。 1) 8kb stack segments goroutineはデフォルトで4,096 bytesのstack segmentsが割り当てられているが、繰り返しのある、もしくは長いcall chain(ほとんどのencoding/*パッケージはこれに当てはまる。)のstack splittingやstack straddlingのある内部ループを含むコードは、パフォーマンスが落ちることで知られていた。10月がRuss Coxが、この値を倍の8kにすることを提案。前提となるJsonEncoderのベンチマークが安定しないという問題があったが、Go 1のベンチマー

  • APIファーストで開発する - ワザノバ | wazanova

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

    kazuph1986
    kazuph1986 2013/11/26
    これは一理あるなと。APIを洗練させるとサービスもスッキリしそう。
  • 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としてよく知られるとおり、人間が良

    kazuph1986
    kazuph1986 2013/11/20
    人と一緒に働くのが人間の定めなので、組織に対する考察は一生つきまとうなぁ。
  • 規模の大きい本番システムをGo言語で書き直した感想 - ワザノバ | wazanova.jp

    http://matt-welsh.blogspot.com.au/2013/08/rewriting-large-production-system-in-go.html Go言語の4周年をテーマにしたgolang.orgのブログで紹介されていた、GoogleのMobile Web Performanceチームに所属するMatt Welshのブログです。大規模な番システムの作り直しにGo言語を採用した経験を語っています。 1) 背景 C++のオリジナルのコードベースは問題なく作動していたが、何年も複数の目的の違うプロジェクトで共有されていたため、スピーディーに改修するのが難しくなっていた。(何のシステムなのか具体的に書いてないのは残念。。) イメージフォーマットをトランスコードするライブラリはC++で完璧に動作していたので、そのまま残し、それ以外を全てGo言語で書き直した。 元のコード

  • Go言語で苦労したポイントの事例 - ワザノバ | wazanova.jp

    http://da-data.blogspot.jp/2013/10/experience-with-epaxos-systems-research.html Go言語についての記事をまとめていて困るのが、特にHacker Newsでは熱狂的な賛成派と執拗な反対派が感情的に戦っていて、Go言語の何がいいのかはわかるが、まだ改善すべき余地のあることが実際どれほどの支障になるのかについては、議論からは判別しづらいことです。 カーネギーメロン大のDavid Andersonが、分散アルゴリズムEPaxosをGo言語でインプリしたときの経験について”Huge Positive” “It proved a huge win” としていながら、苦労したポイントを挙げています。このような具体的な事例がもった蓄積していくと参考になるのではないかと思います。 Go言語による開発で苦労したのは、Zookeep

  • 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

  • 関数型プログラミング言語のまとめ - ワザノバ | wazanova.jp

    http://funceng.com/2013/11/03/review-of-functional-languages/ Kevin Buellがブログの一連のエントリーで関数型プログラミング言語の概要をまとめています。 1) Haskell ラテン語がわかる人には親しみやすい。 [Background] 遅延評価の研究成果をとりまとめる委員会が1990年にHaskell 1.0の仕様をつくった。コンパイラはGlasgow Haskell Compiler (GHC)が最も有名。Haskellに関する研究はMicrosoft Researchで盛ん。.NETのための関数型言語であるF#もMicrosoft Researchの成果であるが、別の研究者グループの手により後年世にでてきた。 その他の項目は原文参照ください。 [Comparative Description] [Syntax H

    kazuph1986
    kazuph1986 2013/11/05
    “2)Scala : 複雑で一貫性がなく、誰も満足させられなくなるかもしれない。”
  • ローディング画面でスピナーはなるべく使わないほうがいい - ワザノバ | wazanova.jp

    http://www.lukew.com/ff/entry.asp?1797&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+FunctioningForm+%28LukeW+Ideation+%2B+Design%29 スマホでwebビューを使いローディング時にスピナーを表示したら、ダウンロードをしていることが明示的にわかるため、「ローディングが遅いアプリ」とのフィードバックが増えた話。 Google Searchアプリでは検索結果画面が、表示が終わってなくても横からすぐにスライドインしてくるので、リクエストしたページがかなり素早くでてくる印象を与えている。Polarでもスケルトン画面をまずだして同じ効果をだし、スピナーを表示する画面を減らしているとのこと。

    kazuph1986
    kazuph1986 2013/10/19
    確かに。