並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 324件

新着順 人気順

jettyの検索結果1 - 40 件 / 324件

  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

      ID生成大全 - Qiita
    • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

      こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

        恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
      • 開発チームが明かす、Google Waveの実装概要 - @IT

        2009/06/01 グーグルが発表した新しいコミュニケーションプラットフォームの「Google Wave」が大きな反響を呼んでいる。技術的な詳細がかなり明らかにされているので、何が可能かはだいたい予想ができそうだが(だからこそ発表時に会場を埋めていた4000人あまりの聴衆は興奮のあまり立ち上がって喝采を送ったのだが)、誰も想像できなかったようなキラーアプリケーションが登場するのかどうか、あるいはWave自体がキラーアプリケーションなのか、それはまだ誰にも分からない。 レポート記事(【詳報】Google Waveとは何なのか?)への反響を見ると、さまざまな疑問を感じている人がいる。そこでここでは、直接Waveのプロジェクトリーダーに話を聞いたり、別セッションで開発チームが行った説明、およびオンラインドキュメントから読み取れたことなど、いくつか追加情報をまとめたい。ちなみに、Google I

        • 1000人同時プレイのMMOボンバーマン『Bombermine』ベータテスト中 - Engadget Japanese

          Hands-on with the new iPad Pro M4: Absurdly thin and light, but the screen steals the show

            1000人同時プレイのMMOボンバーマン『Bombermine』ベータテスト中 - Engadget Japanese
          • 第1回 WebSocket登場までの歴史 | gihyo.jp

            はじめに 初めまして。NTTアドバンステクノロジの金城と申します。幸運にも記事を執筆させていただけることになりました。WebSocketという新しいウェブの規格についての連載を、全4回の予定でお届けします。 用語統一について WebSocketは「WebSocket」「⁠WebSockets⁠」⁠、単語を切り離した「Web Socket」等、表記に揺れがあります。2009年12月22日のワーキングドラフトのタイトルは「The Web Sockets API」となっていますが、2010年4月26日のエディターズドラフトでは「The WebSocket API」となっています。この連載では、最新の仕様書に則り、用語を「WebSocket」で統一します。 HTML5とWebSocketの関係 WebSocketは、もともとHTML5の一機能として仕様の策定が進められていました。しかし、Web S

              第1回 WebSocket登場までの歴史 | gihyo.jp
            • Lineにおけるspring frameworkの活用

              より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)NTT DATA Technology & Innovation

                Lineにおけるspring frameworkの活用
              • CNET Japan Blog - 江島健太郎 / Kenn's Clairvoyance:Lingr and Comet - 技術解説編

                さて、お待たせしました。いよいよCometとLingrについての技術解説です。 ■Comet解説 さて、まずはCometとは何で、どういう背景によって生まれたのか、についての解説から始めます。 まず前提として、Webアプリケーションにおいては、通信開始のトリガーは常にクライアント側が握っています。つまりURLを入力したりボタンをクリックしたときなどに通信が発生することになるわけですが、このようなアーキテクチャは、サーバ側で発生した変化をリアルタイムにクライアント側に通知することが原理的にできないことを意味します。 チャット・アプリケーションでは、複数のユーザから不定期にメッセージが送信され、それが他の参加者に一斉に配信されなければなりません。しかし、メッセージを受け取ったサーバ側では、それをクライアントに即座にプッシュで通知する方法がないのです。 そのため、一定期間ごとにブラウザがサーバに

                • ScalaによるWebアプリケーションフレームワーク「Lift」とは

                  Java仮想マシン上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 本連載ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 はじめに Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 本稿ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な

                    ScalaによるWebアプリケーションフレームワーク「Lift」とは
                  • Rolling with Ruby on Rails

                    Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology AI/ML Few technologies have the potential to change the nature of work and how we live as artificial intelligence (AI) and machine learning (ML). Future of the Firm Everything from new organizational structures and payment schemes to new expectations, skills, and tools will shape the future of the fi

                      Rolling with Ruby on Rails
                    • 2014ブレイク確実!JavaベースのポータブルなWebフレームワーク Dropwizard - yojikのlog

                      最近Dropwizardというフレームワークが海外のJavaおよびJVMベース言語界隈で流行り始めている感しがします。 Thought Works Technology Reader でも Traialに入ってきています。 http://dropwizard.codahale.com/ このフレームワークはYammerのバックエンドWebサービスを提供するために作られたフレームワークで、アプリケーション開発者からみると、 JaxRSベースのREST提供フレームワーク ORM Jettyベースの組み込みWebサーバ Metricsを収集するためのライブラリ、管理ツール等 といった機能があります。 ここらへんまでは普通のフレームワークと基本的には違いが無く、むしろWebサービスに特化しているため物足りなく感じるのですが、特筆すべきは、このフレームワークが推奨するデプロイ・運用方法にあります。

                        2014ブレイク確実!JavaベースのポータブルなWebフレームワーク Dropwizard - yojikのlog
                      • 2010年代には Apache の mpm_prefork とか流行らない (もしくは HTTP keep-alive のメリットとデメリット) - kazuhoのメモ置き場

                        HTTP の持続的接続の功罪について はじめに、HTTP の持続的接続 (keep-alive) のメリットについて。持続的接続を使うメリットは、以下の2点。 TCP 接続の確立にかかる時間の節約*1 TCP の接続と切断に必要な資源 (CPUとネットワーク) の節約 ウェブブラウザ〜データセンタ間の通信で、持続的接続を使う理由は、このうちの前者。特に太平洋を超えるようなケースだと、TCP 接続に0.2秒とかかかるので、メリットが大きい。 一方、持続的接続のデメリットは、 接続が切断されるまでの間、その接続を維持するためにコストがかかる (主としてメモリが無駄になる) という点になる。特に、1プロセス1コネクションを前提とするアーキテクチャ (例: mod_perl) だと、メモリの無駄使いが、とてもひどいことになる。 そこで、ブラウザからの接続を受ける HTTP サーバとアプリケーション

                          2010年代には Apache の mpm_prefork とか流行らない (もしくは HTTP keep-alive のメリットとデメリット) - kazuhoのメモ置き場
                        • JavaでさくさくWebアプリ開発 - しんさんの出張所 はてなブログ編

                          かなり久々の技術エントリ。 運用はお堅い重いサーバーを使ったとしても開発は軽いほうがいい。当たり前ですね。 というわけでさくさく開発する方法を書いてみる。DIコンテナはCDIやGuice、Springなど好きなものでよいが、今回は省く。軽いこともあって開発中はGuiceを使うことをお勧めしたい。注入は@Injectを使うため、開発中と運用中でコードが変わるってのは少ないはずだ。 まずはJAX-RS まず、アクションベースのWebアプリはJAX-RSを使うこと。これが基本。サーブレットAPIを使わずに開発することについては今までも書いてきた。サーブレットAPIを触らないことにより開発効率とテストのしやすさを両立できる。 こんな感じ。 @Path("/") public class Hoge { @GET @Path("add/{a}/{b}") public Response add(@Pa

                            JavaでさくさくWebアプリ開発 - しんさんの出張所 はてなブログ編
                          • JavaでノンブロッキングIOを使ったネットワークアプリを学ぶのに最適なNetty 3.5系のGetting Startedを日本語訳しました - sifue's blog

                            Nettyと言えばJavaのノンブロッキングIOのAPIであるNIOをラップしたフレームワークとして、TwitterのFinagleなどで分散ネットワークアプリケーションシステムで使わていて高速で実績のあるライブラリとして有名ですが、ノンブロッキングIOでイベント駆動のサーバークライアントのネットワークアプリケーションを知るのに非常に良い題材ですので、素人翻訳ですがその日本語訳を公開することにしました。 ちなみにNettyがどれぐらいパフォーマンスに優れているのかというと、Herokuの仮想インスタンスを利用した実験の結果が参考になります。Scala(Finagle)がNettyの実装を利用したものになりますが、秒間6000リクエスト時の1dyno(APサーバー)の応答が秒間4000レスポンスで、C(Accept)、Java(Jetty)、Java(Tomcat)、Js(Node)、Pyt

                              JavaでノンブロッキングIOを使ったネットワークアプリを学ぶのに最適なNetty 3.5系のGetting Startedを日本語訳しました - sifue's blog
                            • WebSocketが一番速いアプリケーションサーバはどれだ?

                              WebSocketが一番速いアプリケーションサーバはどれだ?:Tomcat、Jetty、Socket.IO/Node.js性能比較(1/3 ページ) はじめに 2012年の10月にWindows 8が発売され、そこに搭載されたInternet Explorer(以下、IE) 10ではHTML5の機能が利用できるようになりました。また、2013年の2月にWindows 7版のIE 10もリリースされ多くのユーザーがHTML5の恩恵を受けられるようになりました。 HTML5の機能の多くは、Webブラウザ側で実装されれば、HTMLやCSSを適切に記述することで利用が可能です。しかし、今回取り上げるWebSocketはサーバ側でも機能の実装が必要です。このため、WebSocketを利用する場合はWebブラウザだけではなくサーバを選ぶ必要があります。 WebSocketそのものの技術的な解説は、以下

                                WebSocketが一番速いアプリケーションサーバはどれだ?
                              • Cometに代表されるサーバ・プッシュ技術の復権

                                「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) サーバ・プッシュの歴史 Webアプリケーションが広まるにつれて、レスポンスやリアルタイム性を重視することが多くなってきました。Webアプリケーションの形式によっては、ユーザーが主体的に操作してデータを取得するよりも、サーバ側が必要と思われるデータを送り付けることが主体の場合もあります。 例えば、Webブラウザを利用したチャットであれば、通常ページが更新されるのはリロードされたタイミングですが、サーバ・プッシュ型の実装がなされている場合は、新しいメッセージが追加された瞬間に、参加ユーザー全員に伝搬されなければいけません。 Webブラウザを活用したサーバ・プッシュの手法は、古くはNets

                                  Cometに代表されるサーバ・プッシュ技術の復権
                                • Jettyで始めるWebSocket超入門 記事一覧 | gihyo.jp

                                  運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

                                    Jettyで始めるWebSocket超入門 記事一覧 | gihyo.jp
                                  • Lingr and Comet - 技術解説編:Kenn's Clairvoyance

                                    さて、お待たせしました。いよいよCometとLingrについての技術解説です。 ■Comet解説 さて、まずはCometとは何で、どういう背景によって生まれたのか、についての解説から始めます。 まず前提として、Webアプリケーションにおいては、通信開始のトリガーは常にクライアント側が握っています。つまりURLを入力したりボタンをクリックしたときなどに通信が発生することになるわけですが、このようなアーキテクチャは、サーバ側で発生した変化をリアルタイムにクライアント側に通知することが原理的にできないことを意味します。 チャット・アプリケーションでは、複数のユーザから不定期にメッセージが送信され、それが他の参加者に一斉に配信されなければなりません。しかし、メッセージを受け取ったサーバ側では、それをクライアントに即座にプッシュで通知する方法がないのです。 そのため、一定期間ごとにブラウザがサーバに

                                      Lingr and Comet - 技術解説編:Kenn's Clairvoyance
                                    • Spring Boot 使い方メモ - Qiita

                                      Spring Boot とは Spring プロジェクトが提供する様々なライブラリやフレームワークを、手っ取り早く使えるようにしたフレームワーク。 Dropwizard の Spring 版みたいなの。 ビルドすると単独の jar ファイルができあがる。 Web アプリの場合は、組み込みの Tomcat が起動する(Jetty や Undertow に切り替え可)。 Web アプリでなく、普通の Java プログラムとしても動かせる。 Maven や Gradle などのビルドツールを利用する(Ant でもできなくはない)。 使用したいコンポーネントを依存関係に追加するだけで、結合に必要な設定などが自動で行われる。 環境 Java 1.8.0_45 Gradle 2.3 Spring Boot 1.2.3 Hello World 実装 buildscript { repositories

                                        Spring Boot 使い方メモ - Qiita
                                      • 【ハウツー】JavaだってRubyに負けちゃいない - JavaでもRails クイックスタートGrails | エンタープライズ | マイコミジャーナル

                                        Javaの世界においてホットな話題といえばスクリプト言語。このなかでもJava言語と近い文法をもつGroovyはJavaデベロッパにとって親しみやすいだろう。このGroovyを使い、Ruby on Rails(以降、RoR)に触発されたフレームワークとしてGrailsが開発された。JavaOneにおいてOracleがサポートを表明するなど、エンタープライズでの利用も進みそうだ。本稿ではGrailsを使って小さなアプリケーションを作ってみる。 Grails 0.2 登場 The Grails teamは14日(米国時間)、Grailsの最新版となるGrails 0.2を公開している。Grailsは、Groovyを使ってRoRとよく似たWebアプリケーションシステムの開発環境を提供するツール。GroovyはJavaで実装され、Javaに近い文法を持つスクリプト言語で、JSR-241として標準化

                                        • パイプドビッツ、「AKB48 22nd シングル 選抜総選挙」支援の特設ページ開設〜 もうひとつの戦い 総選挙の舞台裏 〜 | SPIRAL® サービスサイト

                                          パイプドビッツ、「AKB48 22nd シングル 選抜総選挙」支援の特設ページ開設〜 もうひとつの戦い 総選挙の舞台裏 〜 2011年6月10日 パイプドビッツ、「AKB48 22nd シングル 選抜総選挙」支援の特設ページ開設 〜 もうひとつの戦い 総選挙の舞台裏 〜 国内最大規模の情報資産プラットフォーム企業である株式会社パイプドビッツ(本社:東京都港区 代表取締役社長 CEO:佐谷宣昭 証券コード 3831、以下パイプドビッツ)は、第三者機関として「AKB48 22nd シングル 選抜総選挙(以下、「総選挙」)」投票システムの納品や運用、QRコードやシリアルナンバーの発行、各チャネルからの投票集計などにより、公正な選挙を支援いたしました。総選挙を滞りなく終結した舞台裏をお伝えする特設ページを開設いたしましたのでお知らせいたします。 総選挙舞台裏 〜こうして愛は届けられた〜 http:

                                            パイプドビッツ、「AKB48 22nd シングル 選抜総選挙」支援の特設ページ開設〜 もうひとつの戦い 総選挙の舞台裏 〜 | SPIRAL® サービスサイト
                                          • Netty: Home

                                            Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty is an NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server. 'Quick and ea

                                            • Eclipse Jetty | The Eclipse Foundation

                                              Projects The Eclipse Foundation is home to the Eclipse IDE, Jakarta EE, and hundreds of open source projects, including runtimes, tools, specifications, and frameworks for cloud and edge applications, IoT, AI, automotive, systems engineering, open processor designs, and many others.

                                                Eclipse Jetty | The Eclipse Foundation
                                              • Eclipse 3.4.2とm2eclipseでMavenを使ったJavaのライブラリ管理 - public static void main

                                                先日、後輩向けにJavaの事始からWicketのあたりまでざっと話をしたのですが、その中で触れたm2eclipseのインストールと使い方についてまとめておきます。 今回の記事ではライブラリ管理についてのみ言及しています。 Eclipseのバージョンは3.4.2でWTPが最初から入っている「Eclipse IDE for Java EE Developers」を使っていますが、3.4.x系なら同じようにできると思います。Pleiadesを使って日本語化していますので、デフォルトの英語のままの方は適当に読み替えてください。 全体的にWebからダウンロードする作業が多いので結構時間がかかりますが、2回目以降はもっと早くなります。 まだ使い始めたばかりの拙い知識で書いているので、間違いやもっとよい方法がある場合はぜひぜひご指摘ください。 1. Mavenとは MavenとはApache Softw

                                                • 人類最大の謎。JenkinsのCSS壊れる問題が解明された - laiso

                                                  CSSというか静的ファイル全般の配信が止まる。 (※我々の目の前で突如フラットUI化したJenkins氏の様子) Jenkins で、 css 等が適用されなくてスタイル崩れを起こす事があるんだけどあれなんなんだろう…— そらは (@sora_h) 2013, 4月 4 JenkinsさんちょいちょいCSSが反映されなくなるんだけどどうしてなん?— 口玉(西の緊縛[ゴールデンボンバー]) (@Kuchitama) 2013, 7月 12 jenkinsのcssが崩れる時間と、私の顔のcssが崩れる時間の相関関係を考えている— しまざきしょうこ♀しょっぴー (@shokos) 2013, 6月 28 (みんな困っている) 今日また起きてなんとなく https://issues.jenkins-ci.org/browse/JENKINS-17526 を読んでみたらGreg Albrechtが書

                                                    人類最大の謎。JenkinsのCSS壊れる問題が解明された - laiso
                                                  • WebSocketを使ってリモートデスクっぽいVNCっぽいWebSocketRemoteというものを作ってみました (Kanasansoft Web Lab.)

                                                    (2010/04/09 追記:タイトル内のVNCをSVNと間違えていたのを修正しました。) 次世代のWebの規格としてWebSocketというものがあります。WebSocketは、AjaxでもCometでもないサーバ-クライアント間の新しい通信方法です。通常のWebアクセスや、Ajax・CometはHTTPを使用していますが、WebSocketはHTTPではありません。接続のたびに接続のリクエストが発生するHTTPと違い、WebSocketはとても高速で、同時に複数の接続も可能となっています。遅延も小さく比較的容量の大きいデータも高速に転送できるため、リモートデスクトップのようなものが作成できないかと思い、WebSocketRemoteというものを作ってみました。ブラウザには、プラグインやFlash、Javaアプレット等は一切不要となっています。 一応動作するのですが、XMLHttpReq

                                                    • civic site : Jettyサーバを使ってみる

                                                      「 civic.xrea.jp 」のページは、ドメインが無効な状態です。 ウェブサイト管理者の方はこちらから変更・更新を行ってください。 「 civic.xrea.jp 」is Expired or Suspended. The WHOIS is here.

                                                      • gitblit 入門 - udagawa’s blog

                                                        gitblit とは gitblit はオープンソースな git server。今は ticket も管理できるようになっている。 http://gitblit.com/ 1.4.0 から ticketが追加。 1.5.0 から java7で動くようになった。 1.6.1 現在(そろそろ1.7.0がでそうだ) gitblit を使うきっかけ 最初 gitlab(https://about.gitlab.com/) をつかっていたが遅い(gitのプロセス起動してパースしているので。https://gist.github.com/catatsuy/8827731 が詳しい)ので gitblit に乗り換えた。 gitblit はプラグインが groovy でかけるので気に入っている。 gitblit 自体は Java で Wicket をつかって書かれている。git 操作は JGit、検索には

                                                          gitblit 入門 - udagawa’s blog
                                                        • Cometd - The Scalable Comet Framework

                                                          Maximum flexibility with Publish-Subscribe, Peer-to-Peer and Remote-Call choices.

                                                          • Jetty 6.0 Continuations、まとめ - FAX

                                                            Jetty 6.0 Continuations、まとめ 技術 Jetty 6 Continuations(継続) - Ajax対応! このエントリは、上記エントリのまとめだ。私の思う要点は、以下2点。 クライアントのリアルタイムの更新を行う、大規模アプリケーションの作成には工夫がいる。 Gregさんの問題定義と解決が正しいとすると、Javaだけでなく、他の言語にも応用ができる。 JettyはAjaxアプリケーション向けに、JSP抜きの構成を提供している。 これは、先日の「エンタープライズAjaxアーキテクチャ」に対応する。EJBも、JSPも捨て、J2EEはサーブレットのみの時代まで戻るということだ。 問題とJettyの解決策 従来のモデル 1ユーザー(コネクション)あたり、1スレッド。 非常に活動的なコネクションを使うアプリケーションなら効率的。 実際は、そのようなアプリケーションは少ない

                                                            • 年末でJetty(絶対)にできる Android携帯サーバ活用

                                                              年末でJetty(絶対)にできる Android携帯サーバ活用:小山博史のJavaを楽しむ(15)(1/4 ページ) スマートデバイス使ってますか? 今年はiPadが注目を浴びてタブレットマシンの人気が急上昇中した年でした。スマートフォンでも、Android・iPhoneともに大きな話題になって、これまでの携帯端末とは違った盛り上がりを見せています。スマートデバイス躍進の年として歴史に残りそうな勢いです。 そんな中、筆者はAndroid OSを搭載したタブレットマシン「Galaxy Tab」を使える機会があったので、いろいろと遊んでみました。スマートフォンだと、やはり性能が低いためにクライアント端末として利用することを前提としたアプリケーションが多いのですが、Galaxy Tabのような製品が市場に出てくると、サーバ機能を持った持ち運べるコンピュータとして利用したくなる人も多いはずです。

                                                                年末でJetty(絶対)にできる Android携帯サーバ活用
                                                              • Servlet3.0でcometチャットを作ってみる - きしだのはてな

                                                                Cometとは? ブラウザベースのチャットをつくろうとする場合、以前は定期的にクライアントからリクエストを送信して更新を確認するという手法がとられました。そうすると、平均して更新間隔の1/2の遅延が発生し、更新がないときの問い合わせが無駄になるなど、ユーザーにもサーバーにもうれしい手法ではありませんでした。 そこで使われるようになったのがCometです。 Cometは、HTTPでクライアントからの接続への返答を保留して、サーバーからデータを送信する必要がでたときに返答を返すことで、サーバーからのリアルタイムデータ送信を行う手法の総称です。 Servlet3.0でのComet対応 Cometでは、クライアントからの接続を保持しつづけるので、これまでのServletの仕組みをつかって実現しようとすると、各接続にスレッドを割り当てることになり、スレッド数が多くなりすぎるため、多くのユーザーには対

                                                                  Servlet3.0でcometチャットを作ってみる - きしだのはてな
                                                                • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                  こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

                                                                    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                  • Gitblit

                                                                    • InfoQ: Google App EngineにJettyを採用

                                                                      原文(投稿日:2009/8/5)へのリンク Google App Engineが当初使っていたウェブサーバ/サーブレットコンテナはApache Tomcatだった。しかし最終的にJettyへと変更された。開発コミュニティではこの決定により、なぜ変えたのか、Tomcatでなにか問題があったのか、と多くの人が問いを投げかけた。InfoQはJettyの開発元企業であるWebtideのチームにインタビューをする機会を得て、今回の決定の事情について詳細を聞いた。 InfoQ:GoogleがTomcatや他の選択肢でなくJettyをApp Engineに選んだのはなぜでしょうか。 GoogleがJettyを選んだ理由と思われる特質はサイズと柔軟性です。クラウドではサイズが重要です。Jettyのインスタンスを(Googleがしているように)数万動かすとすると、各サーバが1MB小さければ全体で数十GBのメ

                                                                        InfoQ: Google App EngineにJettyを採用
                                                                      • Jetty 6 Continuations - Ajax対応! - FAX

                                                                        Jetty 6 Continuations - Ajax対応! 翻訳 (via こんな毎日・・・) 原文:Jetty 6.0 Continuations - AJAX Ready! 著者:Greg Wilkins Jetty 6.0.0 alpha 3がリリースされました! サーブレット2.4のサーバが400kのjarと、たった140kの依存ライブラリに収まっています。(さらにJSPが必要な場合でも、たった2.6Mです!!)。 小さくて、速くて、簡潔で魅力的な点は全く損なわずに、スケーラブルなAJAXアプリケーションを構築するための、Continuationsと言う新機能をJetty6はサポートしました。Continuationsは、スレッドを使わずに非同期イベントの待機を実現します。 コネクション単位スレッド スケーラブルなサーブレットサーバを構築する上で、主要な課題の1つにスレッドとコ

                                                                        • おとこのCometアプリケーション! 非モテのためのJetty 6 Continuation入門まとめ(前編) (recompile.net)

                                                                          « 突然、有名サイトに自分の写真が掲載されていたら | メイン | おとこのCometアプリケーション! 非モテのためのJetty 6 Continuation入門まとめ(後編:その1) » おとこのCometアプリケーション! 非モテのためのJetty 6 Continuation入門まとめ(前編) はじめに Jetty 6には、継続(continuation)という機構が用意されました。この記事では、その応用例であるCometによるウェブアプリケーションの実装を取り上げ、解説をします。 Cometでは、サーバプッシュ型アプリケーションを実現するために、サーバに対してHTTPコネクションを張り続ける必要があります。こうした接続の手法は、従来のHTTPサーバでは想定されているものではありません。 また、Cometが提供するイベントドリブン型のウェブアプリケーションでは、サーバ側や、クライア

                                                                          • The Airbnb Tech Blog – Medium

                                                                            The Airbnb Tech BlogA deeper look into how our Engineers and Data Scientists build a world of belonging

                                                                              The Airbnb Tech Blog – Medium
                                                                            • ウノウラボ Unoh Labs: JavaScriptだけでWebサイトが構築できるHelma

                                                                              初めまして。今月、ウノウに入社しましたNAKAMURAです。今後ともよろしくお願いします。 最近のWebサイトでは、DHTMLの操作やAjaxなど、JavaScriptが欠かせない存在となってきていますが、そんなJavaScriptでサーバーサイドも構築できるHelmaについて取り上げてみたいと思います。 Helmaとは? Helma本家サイト(http://dev.helma.org/) HelmaはJetty上で動くJavaで実装されたフレームワークです。サイト構築にはJavaScriptを利用します。Apacheで例えるならmod_javascriptといったところでしょうか(Apacheモジュールとして動くJavaの実装にはmod_gcjというものもあります)。JavaScriptの実装には、Java6に組み込まれているRhinoが利用されています。 サーバーサイドでJavaScr

                                                                              • Home | Dropwizard

                                                                                Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services. Developed by Yammer to power their JVM-based backend services, Dropwizard pulls together stable, mature libraries from the Java ecosystem into a simple, light-weight package that lets you focus on getting things done. Dropwizard has out-of-the-box support for sophisticated configuration, application

                                                                                • 第1回 クラウドとリアルタイムWeb | gihyo.jp

                                                                                  近年、HTML5やJavaScriptを活用したWebアプリケーションが増えるのと同時に、今まではネイティブなアプリケーションが常識であったデスクトップアプリケーションにもHTML5の波がやってきました。 具体的な例としてはWindows 8で追加されたWindowsストア アプリでは、HTML5とJavaScriptを利用したアプリケーションの開発がサポートされています。 HTML5で開発できる領域は広がっていますが、切っても切れない関係なのがサーバとの通信です。そして、その通信を見ていくと、最近ではユーザが能動的に情報を取りに行くスタイルではなく、FacebookやTwitterに見られるようなサービス提供側から情報がリアルタイムで配信されるスタイルが増えつつあります。 図1 Facebookメッセンジャーの入力中表示 これらのリアルタイム通信はサーバとの接続を常時行っておく必要がある

                                                                                    第1回 クラウドとリアルタイムWeb | gihyo.jp