タグ

2011年12月25日のブックマーク (12件)

  • WebSocketのバージョンとproxyの現状

    WebSocketとproxy周りの話について簡単に。 ちょっと追いきれない所もあるので、もし知っている方がいらっしゃいましたら、コメント等で教えていただけると幸いです。 以下、hixie-76とかietf-00とか言うのは、WebSocketのバージョンを表します。(なお、正式な名称ではありません。hybiのバージョンに基づいて、便宜的に私がそう呼んでいるだけです) hixie-76(≒ietf-00)のみ、繋がらない場合がある handshakeに於いて、content-length無しでbodyに8byte文字列が付加される。 (また、bodyの8byteは別packetで送付される。下図) browser — (handshakeのheader部分) –> server browser — (handshakeのbody部分) –> server browser prox

    tvsk
    tvsk 2011/12/25
    プロキシ超えできないWebsocketのパケット。いくつか原因があるらしい。
  • December 2011 Web Server Survey | Netcraft

    tvsk
    tvsk 2011/12/25
    webサーバに関する動向調査。
  • 【絵でわかるキーワード】DOM Level 2(どむ・れべる・つー)

    2003年1月9日、W3C(World Wide Web Consortium)から「Document Object Model(DOM) Level 2 HTML Specification」の勧告が発表された。これでようやくDOM Level 2のすべての仕様が勧告となった。このDOMというのは、簡単に言うと各種プログラム言語からXMLやHTMLを操作するための方法を規定したもの。例えばプログラム上から、「<td>タグの内容を読み取りたい」「『2000円』という内容を持つ<価格>タグをXML文書に追加したい」などといったときに、それを実現するための方法を定めている。また、動的にWebページの内容を変化させる「Dynamic HTML」を実現するための技術としても広く使われている。 このDOMの最初のバージョンが「Document Object Model Lev

    tvsk
    tvsk 2011/12/25
    DOMのアイデア図。コード(js, C++,Ruby,Perl)がDOMを介して表示やHTML文書、入力装置、ストレージにアクセスしている、という図
  • node.js アプリの負荷分散構成を考える - KrdLab's blog

    node.js の負荷分散について考えてみました (フェイルオーバは考慮できていません).個人レベルなので 1 台のハード上に仮想マシンを 5〜6 個立ち上げて実験しています. 見出し はじめに cluster で負荷分散 寄り道:cluster の仕組み 例えばこんな全体構成 おわりに はじめに node.js は設計上,大量のコネクションを省リソース (プロセス・スレッドをバカスカ生成しない) でさばきます.おそらく想定されているのは I/O バウンドな処理であり,この場合は基的に非同期で処理されるため,I/O 待ちで他のリクエスト処理がブロックすることはまずありません. node.js は「サービスをつなぎ・組み合わせるためのハブ」的な位置づけが一番しっくりくるように感じます *1. ただ, 大量のリクエストをさばかなければならない ロジックが重くてコールバック処理に負荷がかかって

    node.js アプリの負荷分散構成を考える - KrdLab's blog
    tvsk
    tvsk 2011/12/25
    負荷分散事例。サーバ構成図
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    tvsk
    tvsk 2011/12/25
  • GAEのサーバー構成とリクエストの流れ - スティルハウスの書庫の書庫

    Google App Engine Stackの構成(引用元)> GAE Stackの特徴 現在の利用状況 8万以上のアプリを収容 140M PV/day 20万人以上の開発者が利用 統合環境を提供 サーバーの構築や管理が不要。デプロイが容易 ログ管理、管理コンソールや各種ツールを提供 スケーラブルなWebアプリ構築のためのベストプラクティス利用を促す環境 個々のリクエストの処理時間やリソース消費を制限 ステートレス設計と内蔵APIの利用 Datastoreによるパーティション化されたデータモデルの利用 非常に高いスケーラビリティと可用性を備えるGoogleのクラスタ環境を簡単に利用できる 自動クラスタリングによる負荷分散と高可用性を提供 アプリの負荷状況に応じてApp Serverを動的に増減 アプリ間の隔離性を維持、個々のアプリの安全性とパフォーマンスを確保 既存のGoogleテクノ

    GAEのサーバー構成とリクエストの流れ - スティルハウスの書庫の書庫
    tvsk
    tvsk 2011/12/25
    GAEの仕組み。サーバ構成。AutoScalingの挙動についてのメモ
  • 今度はServletContext+UUIDで負荷分散状況を調べてみた #appengine - スティルハウスの書庫の書庫

    @higayasuoさんのつぶやき: #appengine でリクエストを処理するスレッドは1インスタンスあたり1つという仮定は正しい。ただし、インスタンスの特定にRuntimeのhashCodeを使うのは間違いでFilterなどで起動時にServletContextにUUIDなどを突っ込んで調べるのが正しい#appengine でJavaのRuntimeは多くのアプリケーションで共有されていて同じアプリケーションの複数インスタンスで共有されることもあるなるほど、、そこで今度は、Runtime.getRuntime().hashCode()の代わりに、ServletContextにUUIDを入れて識別する方法でTask Queueのコンテナインスタンス単位の負荷分散状況を調べてみました。こんなコードをサーブレットに書いて、ランダムIDを取得します。 final ServletContext

    今度はServletContext+UUIDで負荷分散状況を調べてみた #appengine - スティルハウスの書庫の書庫
    tvsk
    tvsk 2011/12/25
    アプリのスケール時の負荷分散状況のテスト、結果考察
  • 第三回 Google App Engine/Javaで簡易Blogを作ってみる|技術情報 | 株式会社アイプランニング〜プログラム開発請負

    第三回 Google App Engine/Javaで簡易Blogを作ってみるGoogle App Engine連載記事です。Google App Engine/JavaでServletとJSPを使用し、簡易Blogを作成します。 目次 第一回 Google App Engine/Javaの特徴・Eclipseプラグインのインストール 第二回 Google App Engine/Javaデータストアの特徴 第三回 Google App Engine/Javaで簡易Blogを作ってみる CRUDアプリを作るGAE/Jのデータストアを理解するために、簡易ブログを作りました。 データストアには、記事エンティティと、コメントエンティティがあり、 それぞれに対してCreate, Insert, Update, Deleteが行えるような設計にします。 Webアプリ配備までの大まかな手順コーディングの

    tvsk
    tvsk 2011/12/25
    GAEでJSP/Servletプログラミングする手順。Eclipseのキャプチャ、作成するサイトのキャプチャなど図解も豊富。
  • Google App Engineを辞めた - saito’s blog

    約1年前にGAEを使って立ち上げたこのサイトですが、今回のGAEの料金体系の変更によって無料クオータの限界を超える日が存在することが分かったため、GAEを辞めて既に契約しているVPSに移動することにしました。 最初に無料クオータの限界に達していたリソースは、Frontend Instance HoursとDatastore Readsの2つでした。 この2つのリソースの多く消費していたのが、全ポケモンのJSONデータを生成していた箇所だったのですが、生成したJSONをmemcacheだけでなくデータストアにもキャッシュするようにコードを修正したところ、多数のデータストアの読み込みが1回に集約されたためDatastore Readsが減り、かつ遅延も小さくなったため余計なインスタンスが立ち上がることが少なくなりFrontend Instance Hoursも無料クオータに収めることができまし

    Google App Engineを辞めた - saito’s blog
    tvsk
    tvsk 2011/12/25
    GoogleAppEngineを辞めるにいたった状況など
  • Google App Engineを使って無料でサイトを立ち上げる方法 - EC studio 技術ブログ

    Googleが提供する、Google App Engineというサービスを知っていますか? Amazon EC2などと同じで、Googleが用意するクラウドサーバー環境で アプリケーション開発ができるというサービスです。 (レンタルサーバーのようなもの) その大きな特徴は、なんといっても月間500万PV相当まで"無料"ということです。 ※有料で制限を拡張することも可能 ※2011/09/07 注 Google App Engineの新料金体系が発表されました。 新料金体系では無料で使える枠が大幅に削減されています。 この記事の無料での使用制限に関する記述は、新料金体系では 正しくありませんのでご注意ください。 「App Engine は無料で始めることができます。最大 500 MB の永続性ストレージに加え、月間約 500 万ページ ビューに対応できる十分な CPU と帯域幅を、すべてのア

    tvsk
    tvsk 2011/12/25
    GoogleAppEngine、標準はアプリを動かす環境だが、設定次第でWEBサーバ、ホームページを配置して使うこともできる。ここではその手順を紹介してる
  • Google AppEngine uses Jetty! : gregw

    Hot on the heels of Google Widget Toolkit(GWT) switching to Jetty, the little server that can has received some more Google luv'n!   Google's new App Engine Java service is powered by Jetty! With App Engine, you can build web applications using standard Java technologies and run them on Google's scalable infrastructure.Initially it is a little difficult to see Jetty in use, but you can see the jet

    tvsk
    tvsk 2011/12/25
    Jetty利用でGoogleAppEngineサービスを提供している。2009年4月の記事。いくつかの状況証拠から推測されるポイントを列挙している。
  • Tomcat5めも

    tvsk
    tvsk 2011/12/25
    セッションクラスタリング。tomcat5から追加。設定,動作確認手順。「セッションレプリケーションは、PersistenceManager、JDBCManager、SimpleTcpClusterを使う3つの方法がありますが、ここではSimpleTcpClusterを使用(インメモリ転送)」