タグ

ブックマーク / atmarkit.itmedia.co.jp (112)

  • ここが大変だよ、JavaのGC/メモリ管理

    Webシステムを安定稼働させるには、考慮しなければならないことは数々存在する。システムの適切なサイジングを行うことも、その1つだ。 今回は、その中でもJavaVMのメモリのサイジング(見積もり)とGC(ガベージ・コレクション)に着目して説明する。 現象の見え方 今回は、以下の問題についての話だ。 メモリサイジングをミスした場合、業務ピーク時のGCの多発や長期化からこの現象に陥る場合がある。CPU利用率が100%に張り付いて性能が出ない場合は、GCが原因かを疑う必要がある。その場合、まずはGCログを参照し、GCの処理時間や発生頻度から1分ごとのGC処理の占有率を確認してみるとよい。 占有率が大きい場合、アプリケーションの処理やメモリのサイジングを見直す必要がある。以降では、GCを考慮したメモリのサイジングについて説明する。 JavaVMのメモリ空間はどうなっているのか 初めに、Cosmine

    ここが大変だよ、JavaのGC/メモリ管理
    s5ot
    s5ot 2010/05/13
  • AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築

    AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築:ユカイ、ツーカイ、カイハツ環境!(12)(1/3 ページ) 「AWS Toolkit for Eclipse」でツーカイAmazon EC2操作 クラウドプラットフォームの代表格であるAmazon EC2(Elastic Compute Cloud、以下、「EC2」)をEclipseから利用するプラグインとして、「AWSAmazon Web Service) Toolkit for Eclipse」(以下、「AWS Toolkit」)がAmazonから提供されているのをご存じでしょうか(参照:Eclipse中でAmazon EC2向けJava開発が完結)。 AWS Toolkitを利用すると、Eclipse上で作成したWebアプリケーションを簡単にEC2上にデプロイできます。また、これにより複数のWebサーバ

    AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築
    s5ot
    s5ot 2010/05/13
  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

    s5ot
    s5ot 2010/04/20
  • 【インタビュー】グーグルが考えるクラウドとは ウルス・ヘルツル上級副社長兼フェローに聞く − @IT

    2010/03/25 “クラウド・コンピューティング”の定義は人によって異なる。グーグルにとってクラウドとは何なのか。同社で運営上級副社長兼フェローを務めるウルス・ヘルツル氏に話を聞いた。 ウルス・ヘルツル(Urs Holzle)氏。運営上級副社長兼Googleフェロー。同社初の技術担当副社長としてインフラ開発を指揮。現在もインフラ全般の設計、運営の責任者を務めている。JavaVMで使われるJIT関連技術のパイオニアとして知られる。 「デバイス+クラウド」の世界で両者の区別はなくなる 今後コンピューティングの世界で、複数のデータセンターで構築されたクラウドと呼ばれる巨大な“コンピュータ”と、携帯可能な小さなコンピュータとだけに集約されていくというのは自然なことに思えます。 ソフトウェア開発者は、アプリケーションのどの機能がどこで実行されるか選ぶことができます。ある処理はローカルで起こるでし

    s5ot
    s5ot 2010/03/26
  • 「われわれは100倍、速く書ける」――PFI 西川徹

    「天才」と呼ばれるプログラマたちが自ら会社を立ち上げるとどうなるか。その答えが知りたければ、あるベンチャー企業に注目すればいい。IT業界で注目を集めるテクノロジーベンチャー「プリファードインフラストラクチャー」の社長に話を聞いた。 特集「学生起業家たちの肖像」、最終回は現在、最も注目を集めているテクノロジーベンチャーの1つ、プリファードインフラストラクチャー(PFI)の代表取締役社長 西川徹氏に登場してもらった。東京大学大学院に在学中、ACM国際大学対抗プログラミングコンテスト(ACM/ICPC)の世界大会に出場したメンバーと設立した会社は、自然言語処理の分野で日増しにその存在感を大きくしている。 今回は特別に、連載「天才プログラマに聞く10の質問」でおなじみ、Lispハッカーの竹内郁雄氏にインタビュアーをお願いした。2人の濃密な対談の様子を余すところなくお届けする(以下、敬称略)。 出会

    「われわれは100倍、速く書ける」――PFI 西川徹
    s5ot
    s5ot 2010/03/20
  • 急成長中のデータグリッド製品“Coherence”が日本に上陸 - @IT

    2007/02/06 日インサイトテクノロジーは2月6日、米Tangosol(タンゴソル)とデータグリッド製品「Coherence」(コヒーレンス)の国内独占販売代理店契約を締結し、2月1日から販売を開始したと発表した。 Coherenceは、Tangosolが“データグリッドソリューション”と呼ぶJavaアプリケーション向けミドルウェアパッケージ。プラットフォームとして、BEA WebLogic、IBM WebSphere、IBM Grid Computing、Solaris、Linux、IBM AIX、Windows、HP-UXなどをサポートする。日インサイトテクノロジーは、直販、SIベンダへのOEM提供で、初年度2億円の売り上げを見込む。 P2Pグリッドによる分散とキャッシュで高速アクセス Coherenceでは、独自のピア・トゥー・ピア・クラスタリングプロトコルを用い、多数のサ

    s5ot
    s5ot 2010/03/19
  • SassでCSSの弱点を克服しよう (1/2)- @IT

    maedana SonicGarden SUG(SKIP User Group)/日Hamlの会 2009/5/22 Railsを使ったWebアプリケーション開発で、プログラマやデザイナを悩ませるものの1つがスタイルシートの記述だろう。Sassを使って、“クールで構造化された”スタイルシートを記述してみよう(編集部) Sassとは、Syntactically Awesome StyleSheetsの頭文字を取ったものです。あえて日語に訳すと、「かっこいい構文のスタイルシート」といった感じでしょうか。 もう少しシンプルに表現すると「クールなCSS(Cascading Style Sheets)」でもいいかもしれません。Sassはスタイルシートを簡潔に表現するためのメタ言語であり、同時にSassからCSSを生成するための便利なライブラリやコマンドラインツールを提供します。 Sassを使うと

    s5ot
    s5ot 2010/03/15
  • Flashを閃光のごとく高速化するための基礎知識

    Flashを閃光のごとく高速化するための基礎知識:速いFlash/ActionScriptチューニング入門(1)(1/2 ページ) Flash/ActionScriptチューニングの基礎知識から実践的テクニックまでを紹介する連載。読みながら試せるオンライン・サンプルもあります。Adobe AIR/Flexにも応用可能です Flashを徹底的に軽く作るための3カ条 連載では、これから数回にわたり、Flash/ActionScript 3.0(以下、AS3)のチューニングの考え方や方法について解説します。 筆者が初めてFlash/AS3のチューニングと格的に向き合ったのは、2007年の冬の「サグールテレビ」の開発においてでした。当時、開発チームでは「徹底的に軽く作る」という鉄の目標を掲げており、チューニングのためのさまざまな調査を積み重ねていました。結果、2000年に発売された古いPCなど

    Flashを閃光のごとく高速化するための基礎知識
    s5ot
    s5ot 2010/03/10
  • EclipseやSpringで使われている基盤技術OSGiとは (1/3) - @IT

    読者の皆さんは、「OSGi」という技術を耳にしたことはありますか? ソフトウェア統合開発環境の1つ「Eclipse」のコア技術というとピンと来る方も多いと思います。稿では、ここ数年さまざまなアプリケーションの(SpringやJBoss、GlassFishでも)基盤技術として採用されているOSGiについて解説します。 日企業も多数参加している「OSGi Alliance」 OSGiを一言でいうと、「Javaモジュールの動的追加や実行を管理するための基盤システム」です。この基盤システムの仕様をOSGi Service Platform仕様として、非営利団体であるOSGi Allianceが規定しています。 このOSGiの仕様を規定するOSGi Allianceは、1999年に「Open Service Gateway Initiative」という名称で設立されました。「Gateway」とい

    s5ot
    s5ot 2010/03/03
  • 日本の家電メーカーはGPL v3を受け入れられるのか - @IT

    2007/08/27 Free Software Foundation(FSF)は6月末、GPL(GNU General Public License)のバージョン3を正式決定した。GPLはLinuxが採用するライセンス形態で、LinuxがGPL v3に移行した場合、Linuxをデジタル家電などに使うことが多い日の家電メーカーには影響が大きい。家電メーカーはGPL v3にどう向き合うべきなのだろうか。 2006年1月に公開されたv3のドラフト1版は、著作権保護(DRM)対抗条項や、ソフトウェア特許への対抗条項があり、「非常に過激だった」と、情報処理推進機構(IPA)のオープンソースソフトウェア・センター長の田代秀一氏は振り返る。DRM機能を備える機器でのソフトウェアの使用を制限するなど、特に組み込み機器への影響は「非常に深刻で、危険な部分が多かった」という。 GPL v3のドラフト1版に

    s5ot
    s5ot 2010/02/16
  • @IT Special PR:Oracleのことならトムに聞け! 濃密体験必至のDBAサミットを見のがすな

    あのトム・カイトが初めて来日する――といっても、その名前を知っている読者の方はごくごく少数であろう。記事では技術者の疑問に答える「Ask Tom」主宰者、そしてOracle Databaseの仕様をデザインする「アーキテクト」である彼を通じて、実践的なテクニックを学ぶためのセミナーを紹介しよう。 あのトム・カイトが緊急来日! でも……誰? トム・カイト。オラクルのエンジニアにして、データベーススペシャリストのためのQ&Aサイト「Ask Tom」の主宰者。Oracle OpenWorldではエンジニア向け基調講演を務め、全世界でOracle Databaseスペシャリストに向けたセッションを数多く開催する男。オラクル技術者の最高峰に立つ男として、海外でオラクルにかかわる技術者なら誰もが知っている。しかし、正直にいおう――日での知名度はほとんどないに等しい。 しかし、このトムを知る数少ない

    s5ot
    s5ot 2010/02/08
    見逃した
  • Google App Engine上でLL+RDBアプリを作ろう (1/2)- @IT

    第1回 Google App Engine上でLL+RDBアプリを作ろう 萩原 巧 リトルソフト株式会社 中越 智哉 株式会社ナレッジエックス 2010/2/3 Web アプリケーション開発者にとって、魅力的な環境に映るGoogle App Engineだが、データの永続化などで落とし穴が存在する。これまでの開発手法を変えずに使えないだろうか(編集部) この連載では、Google App Engine(GAE)上でPHPRubyという2つのLL言語(Lightweight Language)によって書かれたWebアプリケーションを、できる限りいままでと同じスタイル(データの永続化にリレーショナルデータベースを用いる)で動作させる方法について解説していきます。 GAEについて少しご存じの方は、「おっ?」と思われるかもしれません。GAEになじみのない方は、「それが何か?」と感じられるかもしれ

    s5ot
    s5ot 2010/02/07
  • ゼロから理解する「Oracle RAC」

    関連記事 SQLの基礎 「SELECT」文を覚えよう SQLとはどういう言語か 「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) RDBMS製品のビッグ3、それぞれの“癖”をつかもう 連載はOracleを使ったデータベースシステムの開発・運用管理にある程度の知識を持つ読者を対象に、Oracle以外の商用RDBMSであるMicrosoft SQL ServerとIBM DB2とのアーキテクチャの違いを明らかにし、マルチベンダに対応できるデータベースシステムの設計・開発・運用ノウハウを紹介していく。(編集局) NoSQLはRD

    ゼロから理解する「Oracle RAC」
    s5ot
    s5ot 2010/01/31
    oracle rac
  • 新世代の並列処理言語Google Goをひもとく - @IT

    プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る VBAにおけるFileDial

    s5ot
    s5ot 2010/01/26
  • DB設計の神ツール「ERMaster」なら、ここまでできる

    DB設計の神ツール「ERMaster」なら、ここまでできる:ユカイ、ツーカイ、カイハツ環境!(11)(1/3 ページ) 無料のEclipseプラグイン「ERMaster」とは データベースのテーブル設計を行うときに皆さんは、どのようにしているでしょうか? いくつかの無料で利用できるツールが提供されているので、筆者はそれらを利用していましたが、最近「ERMaster」と呼ばれるEclipseプラグインの存在を知りました。 ERMasterは、ほかのツールに比べ、直感的で分かりやすいUI(ユーザーインターフェイス)に、カスタマイズ可能な、Excelで出力できるテーブル定義書、辞書機能など痒いところに手が届くERモデリングのツールです。稿では、このERMasterについてご紹介します。 ERMasterの主な特徴、8つ ERMasterには、主に次のような特徴があります。 【1】直感的で使いや

    DB設計の神ツール「ERMaster」なら、ここまでできる
    s5ot
    s5ot 2010/01/22
  • JNIより簡単にJavaとC/C++をつなぐ「JNA」とは(1/4)-@IT

    インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、

    s5ot
    s5ot 2010/01/21
  • W3Cは賞味期限切れ組織? - @IT

    「W3Cの賞味期限はあと何年ぐらいだと思いますか?」。先日、あるパーティーでこう聞かれた。私は虚を衝かれたように、思わず真意を聞き返した。なぜなら、私にこの質問をしたのは、日人として唯一、W3CのXMLワーキンググループで1997~98年のXML 1.0の標準化プロセスに携わった村田真氏だったからだ。村田氏は現在、Office Open XML(主にMicrosoft Officeで用いられる文書形式)の標準化についても情報処理学会 情報規格調査会の専門委員として国際標準化に携わっているなど、この道のエキスパートだ。 驚きはしたが、やはりとも思った。W3Cはもう標準化組織としての黄金期を過ぎ、権威が失われつつある。もしかすると標準化プロセスにしても、もっと良い別のやり方があるのではないか。このところずっとそう感じていたからだ。 W3Cのウィジェット標準を知っていますか? 村田氏の見立てで

    s5ot
    s5ot 2010/01/21
  • テキストファイルの行末に^Mが表示される

    Windowsで作成したファイルの改行コードはCR+LFだ。これに対して、Linuxの改行コードはLFだけなので、ファイルの転送方法によってはWindowsで作成したテキストファイルをviで開くと、すべての行末に「^M」が表示される場合がある。 1つずつ検索して削除することも可能だが、数が多いと面倒だ。エディタで一括置換するのが簡単でいい。viで一括置換するには、[:]キーを押してコマンドモードに入り、一括置換のコマンド

    s5ot
    s5ot 2009/12/22
  • もっとApacheを知ろう いまさら聞けない!? Web系開発者のためのサーバ知識 第2回 - @IT

    もっとApacheを知ろう:いまさら聞けない!? Web系開発者のためのサーバ知識(2)(1/3 ページ) 自動起動の設定 第1回「Webサーバから始めよう」で手順を追って設置した/etc/rc.d/init.d/httpdというApacheの制御スクリプトは、システム起動時におけるApacheの自動起動に利用できます。 今回は、Linuxのシステム起動時に各種のサーバプログラムを自動的に起動させる方法を、Apacheを例に紹介しておきましょう。 まず、/etc/rc.d/init.d/配下に、サーバ制御スクリプトを設置します。制御スクリプトの内容はサーバプログラムにより異なりますが、多くのパッケージではインストール時に自動で設置されるか、またはサンプルが提供されます。今回の例では、すでに紹介した手順で/etc/rc.d/init.d/httpdを設置済みです。 次に、/etc/rc.d/

    もっとApacheを知ろう いまさら聞けない!? Web系開発者のためのサーバ知識 第2回 - @IT
    s5ot
    s5ot 2009/12/02
  • 特集 「テスト駆動開発」はプログラマのストレスを軽減するか?(2/4) - @IT

    レッド/グリーン/リファクタリングの三拍子 レッド/グリーン/リファクタリングというのは、それぞれ特に新しい用語というわけではない。レッドとグリーンは、それぞれ、NUnitのようなテスト・ツールで表示される結果を意味する。これらのツールでは、テストが進行するにつれてバーが伸びていくように表示することが多いのだが、その際、エラーがなければ緑色(グリーン)、エラーが起きると赤色(レッド)になる。つまり、レッドとはテストがパスしない状況、グリーンとはテストをパスしている状況を意味する。リファクタリングはすでに説明したが、ソース・コードをきれいな形に修正する作業である。 これらを踏まえてレッド/グリーン/リファクタリングという言葉を解釈し直せば、 テスト失敗/テスト成功/コードをきれいにする と読み替えることができる。とはいえ、 レッド/グリーン/リファクタリング といった方が格好よいし、リズム感

    s5ot
    s5ot 2009/11/20
    テスト駆動 JUnit 単体テスト