タグ

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

  • Java: 本番環境でのデバッグスキルを磨く - ワザノバ | wazanova

    https://www.youtube.com/watch?v=7KS4L-mA_-c 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Takipi のFounderであるTalWeissのSan Francisco Java User Groupミートアップでの講演。番環境で役に立つデバッグテクニックの紹介です。 1. スレッド名の活用 スレッド名はmutable(EJB除く)である。コードのコンテキストにあわせて、Thread.currentThread().setName(Context, TID, Params, Time,...);のようにすれば、トランザクションID、Serveletパラメータ、キューメッセージID、起動時間など、スタックトレースに役に立つ情報を表示できるようになる。 J

    k12u
    k12u 2015/01/19
  • 入会フローを磨くこととモバイルファーストの意味付け - ワザノバ | wazanova

    https://tech.dropbox.com/2014/08/building-dropboxs-new-user-experience-for-mobile-part-1/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 User Onboardingというサイトは、web/スマホアプリの入会フロー、ユーザ登録やチュートリの画面遷移を、ページごとに解説してくれてるサイト。 サイトの文言やボタンの内容 / 配置 / 色選択、スペースの取り方、ページごとの意味付けなど、ビジュアルのデザイン以外についても、何をどのように修正すべきか(たまに褒めてもいますが。)を詳細に説明してくれてます。UIデザイナーだけでなく、サービスづくりに関わる人全ての参考になると思います。 サイトの存在には気づいていたのですが

    k12u
    k12u 2014/12/03
  • Pinterestをスケールさせる中で学んだこと - ワザノバ | wazanova

    https://www.youtube.com/watch?v=jQNCuD_hxdQ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 PinterestのMarty Weinerによる goto; conference 2014の講演。 「webサイトどうやってつくるの?」という創業期から、現在に至るまで、段階的にテクノロジースタックがどう進化したか。 現在のPinterestのシステムアーキテクチャの全貌。 個別のテクノロジーの選択理由。 などを語った45分のビデオですが、goto; conferenceのサイトからスライドのPDFをダウンロード(初日の10:20のコマです。)できるので、そちらを見ていただいてもわかりやすいかと。 「サイトが落ちてしまうのである意味自然に学ぶことができてしまった。

    k12u
    k12u 2014/10/27
  • 仕事の進め方とアーキテクチャの相関関係 - ワザノバ | wazanova

    http://rubyrogues.com/176-rr-rails-as-an-soa-client-with-pete-hodgson/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 「システムの設計は、その組織のコミュニケーション構造を反映したものになる。」というコンウェイの法則について、ThoughtWorksのPete Hodgsonは、それを逆のかたちで、つまり、採用すべきアーキテクチャの特性を活かすために人と人とのコミュニケーションをどう改善するかということに、かなり時間をとっていると語っています。 コンウェイの法則は、重力のように不可避なもの。うまく活かせるように変わるか、対応できずにダメになるかの二者択一だ。 各サービスの担当チームが細分化されている大企業の顧客において、SOA(

    k12u
    k12u 2014/10/26
  • CSSパフォーマンスツールを使いこなす - ワザノバ | wazanova

    https://www.youtube.com/watch?v=FEs2jgZBaQA 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約1時間前 CSSconf EU 2014におけるGoogleのAddy Osmaniの講演です。CSSのパフォーマンス向上に役立つツールを40個+ 紹介してくれてます。 背景 パフォーマンスの最適化において、 ベースラインとしてやること 最小化(minification) 結合(concatenation) 画像の最適化 圧縮(GZip, Zopfli) 非同期スクリプト キャッシュの利用 WOFF2フォント CSSスプライトを使う リダイレクトをしないこと スピードアップ パフォーマンス向上に重要なCSSのインライン化 レンダリングをブロックしないように、急ぎでないアセットの取

    k12u
    k12u 2014/10/15
  • APIの後方互換性を保つ工夫 - ワザノバ | wazanova

    Stripeの決済サービスの成長は、APIが使いやすいというエンジニアの間での評判がかなり寄与したと記憶しています。 同社のAPIは現在、 エンドポイント: 106 バージョン: 65 APIクライアント: 6 ユーザ企業を煩わせることなく後方互換性をしっかり担保したいという方針を守るための工夫を、Amber Fengが紹介してくれています。 1) ユーザが利用するバージョン情報の把握 ユーザ企業が最初にAPIコールをしたときのバージョン情報をStripe側で保管している。それ以降、ユーザ企業はバージョンのことを意識することなく、最初のバージョンのAPIを利用し続けることができるようにしている。ユーザ企業側でバージョンの変更をしたい場合は、ダッシュボードでの設定や、リクエストヘッダーに情報を付加することで可能。 2) バージョンと機能の整合性 YAMLファイルでバージョンとその振舞いの情報

    k12u
    k12u 2014/10/12
  • CDNの挙動を検証する取組み - ワザノバ | wazanova

    https://gdstechnology.blog.gov.uk/2014/10/01/cdn-acceptance-testing/ 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約2時間前 Code for Americaなど、ネットの力で政府機関を改善していく取組みがここ数年増えていますが、中でもGOV.UKは、英国政府のwebサービスのあるべき仕様をサービスデザインマニュアルに詳細にまとめ、政府関連のウェブサイトを取りまとめています。その活動は、3分ほどのビデオにまとめらてますが、技術関連の情報発信にも力を入れてきています。 さて今回のGOV.UKのエンジニアブログは、受け入れテストを充実させてCDNの挙動を検証した取組み。実装の詳細から、バグのケースまで網羅されていて、かなり詳しく紹介されています。合

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

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

    k12u
    k12u 2014/10/09
  • エンジニアの給与レベルがプロスポーツ化する日 - ワザノバ | wazanova

    http://pando.com/2014/03/22/revealed-apple-and-googles-wage-fixing-cartel-involved-dozens-more-companies-over-one-million-employees/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 40分前 先ほど、ワザノバのアクセスランキングをつくっていて、「給与を上げるベストな仕組みの解がない」が意外に上位ランクに入ってました。我ながら振返ってみて、タイトルも内容もネガティブ過ぎたかなとちょっと反省してます。その時は、休日に家族をスキーに連れて行ったのですが、自分は滑らずにスタバで原稿を書いていたので、そのストレスだったかもしれません(笑) お伝えしたかったのは、 業界全体の「平均」給与レベルを

    k12u
    k12u 2014/09/01
    プロスポーツとは構造が違っていてルールも競争環境も圧倒的に多様。金融の方が近いのでは
  • 長期かつ修正頻度の高いPJでのCSSメンテ - ワザノバ | wazanova

    http://benfrain.com/enduring-css-writing-style-sheets-rapidly-changing-long-lived-projects/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 長期的な大規模プロジェクト、かつ修正頻度が高い場合は、DRYよりはメンテ性を最優先にしたCSSを書くべきという、Ben Frainの方法論です。長文ですが、よくまとまってると思います。 1) テクノロジーとツール プレプロセッサ 長期のプロジェクトにおいて重要なのは、テクノロジーではなく、何ができて、どう進めるかというアプローチ。 Sass / LESS / Stylus / Myth などどれでも、しっかり書かれていれば、必要なときにいつでも統合はできる。プレプロセッサは

    k12u
    k12u 2014/08/19
  • Pinterest: ユーザに影響のでないデプロイ方式への改善 - ワザノバ | wazanova

    Pinterestは、サーバの一部を番から外し順次アップデートするという方式でデプロイをしています。それが起因してページ全体を無駄にリロードさせている状況を改善するための取り組みを紹介しています。 背景 Pinterestのサイトでは、JavaScript + XHRにより、ページ内で必要なコンテンツだけが、クリックされた際に適宜更新されるようになっている。 ユーザが最初にPinterestのサイトにアクセスすると、サーバはブラウザに対しJavaScriptのバンドルを読込ませ、そのバンドルがサーバにあるソフトウェアのバージョンとの一致を確認する仕組み。 デプロイする際は、サーバの10%をオフラインにし、アップデート完了後、番に戻すという作業を繰り返している。つまり、新しいバージョンのソフトを載せたサーバと古いものを載せたサーバが混在している状態になる。(Varnishの相対するバージ

    k12u
    k12u 2014/08/18
  • Dockerイメージの最適化 - ワザノバ | wazanova

    http://www.centurylinklabs.com/optimizing-docker-images/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 米国キャリアのリサーチ部門であるCenturyLink Labsが、 Dockerイメージは1Gを超えることがよくあって、ローカルで実験しているうちはよいが、ネットワークを介して頻繁にやり取りしはじめると、サイズが問題になる。 ということで、dockerイメージのサイズを減らす取り組みについて、ブログで紹介しています。 Layers レイヤの構成の詳細については、Dockerのドキュメントを参照されたし。議論のポイントとして理解しておかなくてはいけないのは、Dockerfileでの各操作の結果、新しいイメージのレイヤが順次生成されるというこ

    k12u
    k12u 2014/08/06
  • Dockerのメリットと可能性 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=mVN7aTqr550 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Code ClimateのBryan HelmkampのRedDotRuby 2014での講演です。ビデオの前半の30分は、Docker + Rubyアプリのユースケースの場合の、概要/ツール紹介/デモです。ここでは、後半に語られているDockerのバリューについて、まとめてみます。 デリバリーの単位 Rubyエンジニアとして、デリバリーするときの単位という概念が今まではなかった(が、Dockerで実現できた)。かつて、JRubyでしばらく開発していたときがあって、その際は、jarファイルの中身がなんであれ、テストして問題なければ、DevOpsチームに渡すだけ。ある意

    k12u
    k12u 2014/08/06
  • 大規模分散システムのレスポンスを向上させる工夫 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=1-3Ahy7Fxsc 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約2時間前 GoogleのJeff Dean(Senior Fellow, システム & インフラグループ)による、Velocity Conference 2014のキーノートスピーチです。 Jeffは、オブジェクト指向言語によるプログラムの最適化で博士号を取得。DEC/Compaqの研究所の勤務をへて、1999年にGoogleに入社。以降、BigTable / MapReduce / Spanner / Google Translate / Google Brainなど、同社の大規模分散システムの構築に一貫して携わってきています。 例えば、検索結果のレスポンスを向上させるには、そ

    k12u
    k12u 2014/08/02
  • Gilt: Playフレームワークの活用 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=WliXLG2Yo5k 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 GiltにおいてPlayフレームワークをどのように活用しているのか、Giancarlo Silverstrinが紹介してくれています。 単一のRailsアプリからマイクロサービスに切り替える過程で、JVM + Java -> JVM + Scalaと開発基盤を変遷。現在、番環境には、250+サービス。 マイクロサービスへの展開時には、バックエンドのRailsアプリは残すかたちで既存の資産の有効活用。webレイヤでには75+個のアプリ(コード約7万行)がある。リソースとUIテーストを共有したアプリの組み合わせで、Giltのサイトは構成されている。 フラッシュセール(毎

    k12u
    k12u 2014/07/30
  • CSSの詳細度をうまく操る - ワザノバ | wazanova

    http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Harry Robertsがブログで、CSSプロジェクトをうまくスケールさせるためには、詳細度の影響をうまく抑えて、メンテナンス性を高めることがポイントだと解説しています。 どれだけ思慮深くソースの順や継承関係を整理しても、詳細度がトリガーになった上書き起きると、それまでの努力が台無しになる。詳細度のタチが悪いのはオプトアウトできないこと。 であるが、その悪影響をうまくコントロールする策としては、 CSSにおいてセレクタとしてIDは使わないこと。クラスを使うことを上回るメリットはない。そもそも、IDでできることはクラスで

    k12u
    k12u 2014/07/23
  • 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で開発したが、スタートアップにありがちな大手顧客の対応のためのスケールアップと、平行して資金調達活動を続ける中での時間がないバタバタの状況で、 インスタンスが落ちるとシングルポイント障害点になってしまう。ホストしているサーバの障害やアプリのクラッシュなどが

    k12u
    k12u 2014/07/21
  • Coursera: スマホ版でのHTTPライブストリーミングの取り組み - ワザノバ | wazanova

    https://tech.coursera.org/blog/2014/06/25/http-live-streaming-at-coursera-education-at-your-fingertips/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Courseraは教育コンテンツのプラットフォームで、大学の授業を配信しています。同社のエンジニアブログで、モバイルアプリ版の開発に際して、7万〜10万のビデオをHTTPライブストリーミングに対応した経験を紹介しています。 iOSアプリのガイドには、 携帯ネットワーク経由での10分以上のビデオストリーミングコンテンツは、HTTPライブストリーミングを使い、64kbpsをベースとしたHTTPライブストリーミングを含むこと。 とありますが、 テクニカル

    k12u
    k12u 2014/07/21
  • Rails: SOAアプリの結合テスト - ワザノバ | wazanova

    http://www.bignerdranch.com/blog/testing-rails-service-oriented-architecture/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 Big Nerd RanchのブログでTravis Douceが、remote_factory_girl と remote_database_cleaner を利用したSOAアプリの結合テストについて紹介しています。 まず、DBをもたないクライアントアプリが、user table を持つホームアプリにHTTPリクエストを投げ、JASONリクエストが返ってくるパターンを例としてあげてます。(概念図) よく見かけるのが、 1) クライアントアプリからホームアプリへのHTTPリクエストをスタブする。 2)

    k12u
    k12u 2014/07/21
  • Netflixのオープンソースのまとめ - ワザノバ | wazanova

    http://www.lauradhamilton.com/system-administration-at-netflix 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 メディカル分野のアナリティクスサービスを提供しているAdditiveAnalyticsのFounderのLaura Diane Hamiltonが、先日のNetflixのJeremy Edbergのプレゼン(110枚のスライド)をまとめてくれています。かなりの数になったNetflixのオープンソースのプロジェクトの全容がわかるので助かります。 Application Availability Hystrix: サーキットブレーカーのような役割を果たすことで、障害の雪崩現象をい止め、分散システムの障害耐性を担保。 The Simi

    k12u
    k12u 2014/07/17