タグ

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

  • 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

  • Prometheus: Go言語で書かれたモニタリングシステム - ワザノバ | wazanova

    https://developers.soundcloud.com/blog/prometheus-monitoring-at-soundcloud 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Prometheusは、SoundCloudが中心となって開発を進めているオープンソースのプロジェクトDockerの社内でもメインのモニタリングシステムとして利用されているようです。 各社のブログのエントリーから、その特徴をまとめると。 多元データモデルとそれを活かす柔軟なクエリ言語 全てのデータにタイムスタンプのある、OpenTSDBに準じたデータモデル。 http_response_500_totalやhttp_response_403_totalなどHTTPレスポンスのステータスごとに用意しなくても

  • React CanvasによるモバイルブラウザのUI改善とそれが起きる必然 - ワザノバ | wazanova

    http://engineering.flipboard.com/2015/02/mobile-web/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 ものごとが進化すると、利用するユーザの満足度はあがるので、それを用意する作業量はツールの改善に従って最終的には減っていくのか? スマホが登場して、アプリ上でのスワイプなどの直感的にできる操作や表現の幅が広がり、またディスプレイも改善。では、プロダクトをつくる側がそれに慣れてくると、作業量が減るのか?いや、現実は逆。同じことを実現する作業量は減っても、トータルでは減らない。ブラウザとアプリにまたがって、双方のメリットを取り込もうと、もっとレベルの高いUIを目指した競争が続いています。 David BellonaがTwitter Universityでの

    komlow
    komlow 2015/02/12
  • よく考慮したコーディングとパフォーマンスの関係 - ワザノバ | wazanova

    http://hacksoflife.blogspot.com.au/2015/01/the-four-horsemen-of-performance.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Benjamin Supnik曰く、高いパフォーマンスをだせるソフトウェアは、高いパフォーマンスを目指したデザインプロセスが大切。「当にひどい状態になったら、プロファイラで調べて直すから。」といっても色々積み重なると簡単には直せなくなると指摘しています。そして、ゲーム開発において遅いコードを生み出すパターンを挙げてくれてます。 1. 無駄なことをする テーブルを再描画する際、ユーザが見える部分だけでなく、テーブル全体のデータを取得していないか? 同じ値が計算されて何度も使われるケースで、都度計

  • React Nativeがスマホアプリのフロント開発を変えるのか - ワザノバ | wazanova

    Reactは当初、「Huge step backwards(これではメンテできなくて、かえって大きく後退してしまっている。)」「Rethink established best practives(皆が積み上げてきたベストプラクティスを変えようとしている。)」と揶揄されたりもしましたが、最近は他のJavaScriptフレームワークにもその思想の一部が反映されるようになって、メインストリームに近づきつつあるようです。 さて今回Facebookが、React Nativeを発表 & オープンソースとして公開して話題になっていますが、Tom Occhinoは React.js Conf 2015のキーノートスピーチで、「一度書けば、どのプラットフォームでもうまく動作する。」ではなく、「一度覚えれば、どのプラットフォーム向けにも書けるようになる。」ものであることを強調しています。 同社の開発メンバ

  • Goでのゲーム開発 - ワザノバ | wazanova

    http://www.j15r.com/blog/2015/01/25/Game_Development_in_Go 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 Minecraft的なものをGo言語で試してみた経験をまとめたブログのエントリー。専用のツール / ライブラリ / エンジンなどはまだ充実はしてない中で、Goゲームづくりにどこまで使えそうかと考えるうえでの参考になればと思います。 採用のポイントとしては、 アウトプットスピードがCと同じでなくても、近づきつつある。 Cとのインターフェースが簡単。 メモリレイアウトの操作のしやすさ。 ガベッジコレクションにおいて、メモリモデルを利用してガベージを安易に増やさない工夫ができる。 概ね安全に書ける。 コンパイルが早い。 オーバーヘッドがほぼか

  • (続)Facebook: iOSアプリのアーキテクチャ - ワザノバ | wazanova

    http://www.infoq.com/presentations/facebook-ios-architecture 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 「Facebook: iOSアプリのアーキテクチャ」でご紹介した、Reactの仕組みをiOSアプリのニュースフィードに応用した取組みについて、同社のAri Grantが今回は、実際にFacebookのiOSアプリで使われているコードを使って紹介してくれてます。InfoQのサイトでビデオを是非ご確認ください。 iOSのUIづくりの複雑さに、表示内容が常に変化するニュースフィードの仕様が拍車をかけて、 60 fpsを実現したい。=> レンダリングにフレームあたり17msしかとれない。 テキストレイアウトは時間がかかる。=> バックグランド

    komlow
    komlow 2015/01/19
  • 開発現場における並行処理の留意点 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=RR62KqHEVfM 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Squareが主催した並行処理システムに関するパネルディスカッション。 まずは、並行処理理論で博士号を取得し、Sqaureで分析システムを担当するGian Perroneがハイレベルでの留意点を挙げています。 システム全体で起きていることを自分の頭で完璧に把握しようという姿勢は、正確な並行処理システムをつくる妨げになる。テクノロジーやツールをうまく利用すべき。 並行処理システムを漏れなくテストするというのは相当難しい。 自分で考えて、注意深く対処するというのでは不十分。うまく抽象化に頼るべき。 続いて同社のTamir Dubersteinが、以前データセンタを移行させ

  • 分散システム設計のチェックリスト - ワザノバ | wazanova

    http://monkey.org/~marius/checklist.pdf 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 TwitterのMarius Eriksenは分散システムのエキスパートであり、モジュール化され、安全でかつ効率よく機能するサーバソフトの構築のノウハウは、「Your Server as a Function」という論文にまとめられています。 また、分散システム設計における留意点も、下記の内容のチェックリストというかたちで紹介してくれています。 1. 障害耐性 もし依存先が障害を起こしたらどうなるか?その障害がゆっくりと起きたらどうか? システムをどのようにスムーズにデグレードさせることができるか? システムは想定以上の負荷にどう対処するようになっているか? 大きな障害が起き

  • GPUを活かせるCSSの工夫 - ワザノバ | wazanova

    http://calendar.perfplanet.com/2014/hardware-accelerated-css-the-nice-vs-the-naughty/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Ariya Hidayatが、サイトパフォーマンスの改善のためにGPUをうまく活用するポイントについて紹介してくれています。 まず、期待できるGPUの効果は、ページのレンダリングを加速してくれること。 アニメーションのフレームごとにピクセルを描くのではなく、ブラウザはDOMエレメントのスナップショットを撮って、それをGPUテクスチャ(レイヤ)として保存。後で、GPUにそのテクスチャを変換させ、DOMエレメントをアニメーションしているように見せることができる。 渋滞している高速道路ではス

  • iOSのデバッグを極める - ワザノバ | wazanova

    http://www.objc.io/issue-19/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 objc.ioはベルリンのメンバを中心に、月替りでiOS関連技術の特定のテーマに絞って発信しているブログ。もう既に知名度はかなり高いかと思いますが、毎月ものすごく力の入った特集ゆえに、その分ボリュームも相当で、読むのも大変というか、時間がないから読めてない人もいるかと。今月は#19としてデバッグの話題です。 Peter Steinbergerの「デバッグ : ケーススタディ」では、UIKit上のバグをLLDBで対処した話を紹介。 「デバッガーでのダンス - LLDBのワルツ」において、Ari GrantはLLDBの使い方を詳説してくれています。 「DTrace」はiOSシミュレータでしかまだ利用で

    komlow
    komlow 2014/12/28
  • Yehuda Katzという生き方とインディーWeb - ワザノバ | wazanova

    https://frontsidethepodcast.simplecast.fm/16 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 41分前 昨日のエントリーでも名前のでてきたYehuda Katzですが、Rails / Ember.js / jQuery / W3C Technical Architecture Group (TAG) / TC39-ECMAScriptなどで活躍し、今回はRustのコアチームに参加することが発表されてます。Tom Dale曰く「インターネットの半分くらい書いてる感じだから。[1] 」という勢いがあります。Yehudaの仕事振りやプロジェクト運営における考えは、オープンソースという視点での発言ですが、企業におけるプロジェクトの進め方や今後の働き方のスタイルがどう変わるか、変

    komlow
    komlow 2014/12/25
  • Androidの開発現場での学び - ワザノバ | wazanova

    https://www.youtube.com/watch?v=pg6klp-ZntU 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 日に12月の頭から2ヶ月間滞在してますが、いくらなんでも寒すぎます。とはいえ、その合間に深刻な水不足に陥ってるカリフォルニアに唐突に嵐がやってきたりして、世界中異常気象ですね。。 さて、NewCircle / SF Android / AnDevConが主催したAndroid開発のメジャープレーヤー8名による座談会です。2時間近くの長丁場ですが、興味深いコメントだけをピックアップしてみると、ほぼSquareのJake Whartonの独演会のような構成になってしまいました。 Square 皆もよく知ってるように、初期のAndroidの基設計は、Javaで書かれたも

  • Goと大規模分散システムの相性 - ワザノバ | wazanova

    Googleで分散システムの開発をてがけ、現在はソーシャルメディア mttr.toを立上げ中のBen Sigelmanが、Goを分散システムの開発に利用する場合の、メリットおよびチャレンジについて講演しています。 分散システムのあるべき姿 分散システムの勘所は、最上位ビットをパフォーマンス的にも構造的にもうまく扱うことができるかというのがポイント。その効果が一番大きい。スループットの改善のような詳細は、自分もGoogleでそれに取組んだけれども、9ヶ月くらいたつとハードウェアの性能で解決される可能性が高い。また、構造的にというのは、なるべく小さなコンポーネントを組み合わせたシステムにできるかという意味。 Goのよいところは、 両方、とくに後者によい。Railsだとアプリを複数個用意して並列処理するのは大変だったけど、Goだとシンプルにできて、標準ライブラリも読みやすいとかなどなど。パフォー

  • UIは画面サイズと解像度だけで解決できなくなる - ワザノバ | wazanova

    http://wordpress.tv/2014/11/05/luke-wroblewski-from-the-front-lines-of-multi-device-web-design/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 WordCamp San Francisco 2014におけるLuke Wronblewskiの講演です。UIデザインで考慮すべきは、画面サイズと解像度だけでなく、視聴距離、ポスチャー(詳細後述)、周囲の明るさという要素も必要になってくるという話。 スマホ端末を両手もしくは片手で持つ場合を合わせて、75%のユーザは親指を使って操作している。 タブレットのランドスケープモードとポートレートモードの利用比率は、6:4とか7:3とか言われるが、要は両方に対応する必要がある

    komlow
    komlow 2014/11/17
  • スケールするサービスでの最新オペレーション事例 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=B1Wt8s4LEfk 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 10/29に開催されたSecurity@Scaleのカンファレンスで、興味深いと思った話題を拾ってみました。 SquareのDiogo Monicaの講演は、障害/脆弱性に対応する社内システムをどのように自動化 / 最適化させてきたかというテーマ。 脆弱性の種別(XSS等) x セキュリティゾーン(システムのどの箇所にとって脅威になるかを3段階に分類。DBに近い方が危険性が高い。)でスコア化することで、対応のために発行されるチケットは自動的に優先付けされる。 SLA(サービスレベルアグリーメント)において、例えば、P0は24時間以内、P1は7日以内、P2は30日以内と

  • iOSアプリ開発にチームで取組むチャレンジ - ワザノバ | wazanova

    http://vimeo.com/109624121 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Michele Titoloについて取り上げるのは、 「モバイルAPIデザインのまとめ」 「Ruby RoguesメンバとiOSエンジニアAPI議論」 に続いて三回目ですが、今回はiOSアプリづくりにおけるチーム内の連携がテーマ。 彼女は現在、redditのiOSチームのリーダーをしながら、Objective-Cプロジェクトの依存関係の管理をしてくれるCocoaPodsの開発と、非営利団体 Women Who CodeのCEOを兼務しています。 redditはwebで大量のトラフィックとユーザを抱えてますが、スマホのアプリに注力しはじめ、切り口を変えた複数のreddit閲覧アプリづくりにチームで取組

    komlow
    komlow 2014/10/28
  • 急成長するサービスのサーバインフラ - ワザノバ | wazanova

    サービスを一から立ち上げる場合も、成功したサービスが更に拡大する場合も、いずれもスケールさせるのは一苦労ですが、今回は、Dropboxの初期の取組みと、Facebookの最近の動きを取り上げてみます。 まずは、DropboxのKevin Modzelewskiが、創業当初のサーバインフラの進化を時系列で紹介している講演から。 Dropboxのデータの特徴 書込みボリューム大: 通常のサービスはコンテンツをつくるより消費するボリュームが圧倒的に多いので、read/write比率が、100:1とか1000:1であるのが典型だが、Dropboxはユーザの全端末がコピーを持つ構造なので、その比率が約1:1になる。つまり、同じサーバに対して、他社よりも100倍、1000倍書込みの役割が大きくなる構造。 ACID特性の要件をしっかり守る必要がある。ユーザの情報を預かるのだから、原子性について、「大きな

  • Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova

    https://www.youtube.com/watch?v=ySW6Yk_DerY Rustについては「Rustのあれこれ」で少し触れましたが、Yehuda Katzが、Skylightの一連のブログとGoGaRuCo2014の講演で、「ハイレベル言語のプログラマーがシステムレベルの言語を学ぶチャンス」という観点で紹介しています。 主なポイントとしては、 プログラミング言語の特性は変わることがないとか、プログラミング言語のパフォーマンスと生産性は常にトレードオフであるという考え方は、JavaScriptにおいて、生産性が少し改善されつつ同時にパフォーマンスが大きく向上してきたという事実から、必ずしも正しくはない。 Rustは、セグメンテーション違反が起きないという意味での安全性と、どこにメモリを置くか直接コントロールできる仕様を両方兼ね備える。 Rustを学ぶということは、ハイレベル言

    komlow
    komlow 2014/10/09
  • Twitterのキャッシュを支えるRedis - ワザノバ | wazanova

    https://www.youtube.com/watch?v=rP9EKvWt0zo 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 TwitterのYao Yuが、大規模サービスのキャッシュにおいてRedisを活用する取組みについて紹介しています。 1) Redisを採用している理由 キャッシュだけで、ストレージとしては利用していない。 主なところでは、Twitterのタイムラインで利用している。ホーム画面であれ、ユーザ画面であれ、タイムラインはTweetのインデックスなので、key/valueストア型のRedisを利用するケースとして最適。 以前はmemcachedを使っていたが、問題になったのは、タイムラインでおきるread/writeは、(ユーザが閲覧している範囲に追加反映するということなの

    komlow
    komlow 2014/09/20