タグ

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

  • OutOfMemoryError発生! その解決への近道とは

    これらの情報を基に、OutOfMemoryErrorの障害発生原因を探ることとなる。 障害調査~メモリ領域を切り分ける~ まずは、GCログやOutOfMemoryErrorのエラー情報から、「Javaのどのヒープ領域(Javaヒープ、Permanentヒープ、Cヒープ)でOutOfMemoryErrorになっているか」「どれだけのメモリを確保しようとして失敗したか」を確認する。 前回記事で、OutOfMemoryのエラー情報からどの領域でメモリ不足が発生しているかを見分けるポイントについては紹介した。例えば、以下のような場合には(*1)からJavaヒープでメモリが不足していることが分かる。 java.lang.OutOfMemoryError: Java heap space <=======【*1】 at java.nio.CharBuffer.wrap(CharBuffer.java:

    OutOfMemoryError発生! その解決への近道とは
  • NoSQLにXML、意外に面白いRDBMS“以外” (1/2)- @IT

    先月は商用とオープンソースのRDBMSを紹介しました。企業システムでなじみのある製品群です。しかしまだ関連製品もあります。今回はRDBMS以外のデータベースについて紹介します。 さよなら、ディスクI/O?! インメモリDBの登場 まずはインメモリデータベース。一般的にデータベースシステムはデータをディスクに記録します。必要なデータをディスクからメモリに読み込み、処理を終えたらまたディスクに書き込むということを繰り返します。そのため、ディスクのI/Oが発生します。どんなに高速のディスクでも、ここで多少の負荷や時間がかかってしまいます。 これをメモリ上ですべて処理しまおうというのが、「インメモリデータベース」です。ディスクのI/Oが発生しないので、高速な処理が期待できます。組み込み系やRDBMSのキャッシュとして使われます。 ●Oracle TimesTen In-Memory Databas

    ytotoy
    ytotoy 2010/11/05
  • 転居のお知らせ、「仮想サーバへ引っ越しました」

    転居のお知らせ、「仮想サーバへ引っ越しました」:セキュリティ、そろそろ音で語らないか(17)(1/3 ページ) 金曜日の夜に発生した障害を機に、これまで使ってきたホスティングサービスからVPSに乗り換えることに。その経緯から得られた教訓とは……?(編集部) 異変は金曜の夜にやってきた 異変に気付いたのは金曜日の夜でした。 当社で運用しているあるサーバは、ホスティングサービスを利用しています。サービス内容は、独自ドメインとWebサーバ、メールサーバです。ディスク容量には一定の制限(数GB)があり、月額980円です。大手プロバイダの提供するサービスなので、安心して利用していました。 しかし、どうもそのドメインあてのメールが届いていないことに気付きました。困ったことに、そこで提供されているメールサーバからメールも送信できません。慌てて管理画面にブラウザからログインしたところ、容量オーバーが原因

    転居のお知らせ、「仮想サーバへ引っ越しました」
  • WebSocketの現状と技術的課題

    WebSocketの現状と技術的課題:WebSocketで目指せ! リアルタイムWeb(2)(1/2 ページ) 今回はWebSocketを取り巻く技術的課題や、実装状況についてご紹介します。また私たちが開発したサービス「Pusher」についても取り上げます。 WebSocketに関連した技術的課題 前回のWebSocketの紹介を読んでくださった読者のみなさんはWebSocketを試してみたくてたまらないのではないでしょうか。でも少し待ってください。皆さんを脅かす訳ではありませんが、以下の点についても考えなければいけません。 変化し続けるドラフト IETFのドラフトを見てみると、最初のバージョン(00)は2009年の1月に策定されたのが分かります。Chromiumが最初にWebSocketの実装を発表したころのバージョンは66の辺りです。 それからしばらくの間はマイナーチェンジばかりだった

    WebSocketの現状と技術的課題
  • 安全なセッション管理を実現するために

    任意のセッションIDを付加したリクエスト発行のわな http://example.com/Top.do;jsessionid=135383EED2F6BDFB50329A67DB1F4542 のように「;jsessionid=XXX」という文字列が付加されたURLを見たことはあるだろうか。 jsessionidとはJ2EEを使用したWebアプリケーションにおいてデフォルトで使用されるセッションIDを表すパラメータ名である。Servlet仕様では、セッションIDの格納先にCookieが利用できないクライアントが存在することを想定してURLへの文字列付加によるセッションIDの送信もサポートすることが推奨されている。 この仕様はURLリライティングと呼ばれ、

    安全なセッション管理を実現するために
    ytotoy
    ytotoy 2010/10/28
    あとで勉強する
  • RAID基礎辞典 − @IT

    [基礎解説] RAID基礎辞典 1.RAID 0とRAID 1とは デジタルアドバンテージ 小林 章彦 2010/10/21 インターネットの普及などによってサーバやクライアントPCで取り扱うデータの容量は増え、種類は多様化している。毎日やり取りされる電子メールの数はうなぎのぼりに増えているし、以前は文章とグラフ程度であった営業用資料に、いまではデジタル・カメラで撮影した製品写真などを貼り込むことも珍しくなくなってきた。また、プレゼンテーションで動画が使われるといった例も増えてきており、こうした流れはさらに広がっていくことが予想される。 当然、それらのデータを保存するディスク・システムも大容量化している。特にここ数年、ハードディスクの大容量化が進んでおり、クライアントPCでも1Tbytesや2Tbytesといった、一昔前ならば大規模なサーバでしか搭載されていなかったような容量のハードディス

  • マニュアル執筆が怖くなくなる、12の執筆ポイント

    前回「『目次』の良し悪しが、すべてのマニュアルの良し悪しを決める」に引き続き、分かりやすいユーザーマニュアルの作成ポイントを説明します。前回は「構成」について説明しました。今回は「表現方法」についてです。 「操作マニュアル」「業務マニュアル」「障害対応マニュアル」 について、全部で12のポイントを解説します。 操作マニュアルを記述する 1.読み手に分かりやすい流れを考える ユーザーが操作マニュアルから知りたいことは「操作手順」と「操作の結果」です。 操作マニュアルでは、これらの情報を、「画面のイメージ」と「説明文」の組み合わせで表現します。 + 操作の結果 操作の結果を表示する画面 処理内容や操作結果を説明する文章 ただし、一般的にシステムの操作は、次のような流れになります。 表示されている画面で操作を行う ↓ 結果の画面に遷移し、新たな画面が表示される≫ ↓ 表示されている画面で次の操作

    マニュアル執筆が怖くなくなる、12の執筆ポイント
  • 「戦略眼」に不可欠な4つの思考法

    ユーザー企業がシステムの設計・開発を依頼するとき、そこには経営的な判断が存在する。顧客の「経営戦略」をとらえたうえでシステムを設計・開発できるITエンジニアになろう。 第2回では、戦略的思考に必要な道具の1つである「フレームワーク」について解説した。 フレームワークとは、すなわち「分け方」のことであった。事象を一塊で見るのではなく、分けることで分析ができる。しかし、分け方は増やせば増やすほどいいというものではなく、およそ5から7以下の部分に分けることが人間の脳の限界から考えても適している、という内容であった。 今回は道具の2つ目、「思考法」について解説する。フレームワークは便利な道具だが、やみくもに使えばよいというものではない。分けたはいいが、分けられたものに対して適切な考察ができなければ、良い戦略を立てられないからだ。フレームワークを使う際の使い方に当たるのが思考法である。 思考法の中で

    「戦略眼」に不可欠な4つの思考法
  • キュー構造をJavaで実装してジェネリック型を理解する

    キュー構造をJavaで実装してジェネリック型を理解する:【改訂版】Eclipseではじめるプログラミング(19)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 安全なままコレクションフレームワークを利用するために 今回は、「ジェネリックス(Generics)」について説明します。 Javaでは、すべてのクラスはjava.lang.Object型から派生しているので、どのオブジェクトもObject型として扱えば、ある処理をさまざまなデータ型に対して適用できます。 ただし、この場合は型について安全であることを保証するために、自分でチェックコードを記述したりキャス

    キュー構造をJavaで実装してジェネリック型を理解する
  • アウトプット、8つのメリットと6つのポイント

    アウトプット、8つのメリットと6つのポイント:仕事を楽しめ! エンジニアの不死身力(2)(1/2 ページ) 前回の『エンジニアの不死身力』は、「環境のせいにしない。できることから始める」というお話でした。外部要因に振り回されず、エンジニア仕事を楽しむために、「目の前で起きていることに向き合うこと」「自分自身に問い掛け、自分の頭で考えること」「いまの自分にできる小さな行動を起こすこと」。そして、小さな行動の例として、「自分の気持ちや、身に付けた技術をブログにアウトプットしてみるのもいい」というお話をしました。 これまで「よし、ブログを書いてみよう! 長く継続するぞ!」とお考えになったことがある人は多いと思います。けれども、いざブログを書こうと思ったとき、 何を書いたらいいのか分からない 毎日書き続ける自信がない こんな内容では誰も読んでくれないんじゃないか 山ほどあるブログの中で、読んでも

    アウトプット、8つのメリットと6つのポイント
  • プログラマとリーダーの「すれ違い」を解決しよう

    9月は玄米茶氏の『気難しいプログラマ』が1位から3位までを独占しました。プログラマとリーダーの間に起きる、よくある「すれ違い」が共感を呼んだようです。プログラマからITコンサルタントまで、いろいろな立場の視点から「プログラマのコミュニケーション」についてコメントが寄せられました。 それに関連して、5位には、ひでみ氏による「反応の悪いプログラマのいいわけ」がランクイン。「コーディングは脳内リソースをい散らかすので、反応が鈍くなってしまう」というひでみ氏の解説に、共感できるプログラマは多いのではないでしょうか。 編集部では、こうした「プログラマとリーダーのすれ違い」についてまとめてみました。いずれの立場の人も、参考にしていただければと思います。 「プログラマとリーダーのすれ違い」は、職場では少なくないと思います。リーダーの方は、「プログラマはコミュニケーション力不足だから」などと思わないで、

    プログラマとリーダーの「すれ違い」を解決しよう
  • 使うほどに良さが分かる正規表現

    初歩的なパターン指定 では簡単そうなところから順番に紹介していきましょう。 任意の1文字「.」 まずは任意の1文字と一致する「.」です。数字やアルファベット、記号など、文字種は問いません。DOS/Windowsのワイルドカードの「?」に相当すると考えればいいでしょう。 ちなみに、「.」自体に一致してほしいときはどうすればよいのでしょうか? その場合は「\.」と書きます。これに限らず、\を直前に置かれた文字は特別な意味を失い、そのままの文字を意味することになります。正規表現でファイル名を指定するときに「main.c」と書くと、目的の「main.c」にもマッチしますが、「main2c」などといったファイル名にもマッチしてしまいます。正確を期すためには「main\.c」と書かなければなりません。 0回以上の繰り返し「*」 次はワイルドカードの「*」に相当するパターンを紹介しましょう。実は、正規表

    使うほどに良さが分かる正規表現
  • @IT:連載 Strutsを使うWebアプリケーション構築術(1)

    アプリケーション・フレームワーク「Struts」 昨今、とみに「フレームワーク・プログラミング」という言葉が取りざたされることが多くなってきました。そして、稿のテーマでもあるStrutsもまた、「サーバサイドJava」――サーブレットベースで動作する「アプリケーション・フレームワーク」の一種です。 Strutsプログラミングの具体的な手続きを紹介していくに先立って、まずはこのアプリケーション・フレームワークとしてのStrutsについて、簡単に解説しておくことにしましょう。 ■アプリケーションの枠組み フレームワーク、それはアプリケーションを構築するうえでの「枠組み」であり、「ルール」であり、(語弊を恐れずにいえば)「制限」です。 昨今、アプリケーション構築におけるチーム開発の重要性がますますクローズアップされています。アプリケーションがますます大規模化し、また、基幹システムの一角をも担う

    @IT:連載 Strutsを使うWebアプリケーション構築術(1)
  • ボックスモデルを極めるためのCSSプロパティ、10選

    borderプロパティ borderプロパティは、ボックスのmargin(マージン)とpadding(パディング)の間にある“けい線”のいろいろなプロパティを表すプロパティです。 borderプロパティを使えば、上下左右のボーダーを一括で指定できます。また、border-top、border-bottom、border-left、border-rightといったプロパティのショートハンドプロパティとして使用されます。 詳しくはコチラ→ border “けい線”のいろいろなプロパティを表すborderプロパティ border-topプロパティ border-topプロパティは、ボックスのmargin-top(マージントップ)とpadding-top(パディングトップ)の間にある上側“けい線”のいろいろなプロパティを表すプロパティです。 border-top-width、border-top-

    ボックスモデルを極めるためのCSSプロパティ、10選
  • App EngineをjQueryでAjax化しBigtableをCRUD操作

    App EngineをjQueryでAjax化しBigtableをCRUD操作:Google App Engineで手軽に試すJavaクラウド(3)(1/4 ページ) BigtableはCRUD処理ができるんです! 連載第1回の「EclipseでJava版App Engineを始めるための基礎知識」では環境設定が中心でしたが、連載第3回となる今回は、「Google App Engine for Java(以下、GAEj)」上で動作するJSPのユーザーインターフェイス(以下、UI)をAjax/JavaScriptでリッチにし、「Bigtable」でCRUD(登録・参照・更新・削除)処理を行ってみます。 今回の解説では、Ajax/JavaScriptライブラリのjQueryのバージョン1.3.2を使用したCRUD処理画面の操作内容と、そのJavaScriptでのプログラム処理を最初に見ていき、

    App EngineをjQueryでAjax化しBigtableをCRUD操作
    ytotoy
    ytotoy 2010/09/24
  • ざっくり覚えて始められる jQueryセレクタ入門

    【おさらい】「jQuery」って何だっけ? jQueryとは、John Resig氏を中心として開発されている、オープンソースのJavaScriptライブラリです。DOM操作を中心としたプログラミングに向いており、エンジニアはもちろんのことマークアップエンジニアやデザイナの間で広く普及しています。 jQueryについての詳細は、下記記事をご参照ください。 jQuery、プラグイン、jQuery UI、Web経由のCDNとは CSSの書き方も分かるjQueryプラグイン実践活用法(1) 基/おさらいとしてプラグインやjQuery UIについて簡単に触れ、Web経由でjQueryを使うCDNについて解説 デザインハック < リッチクライアント 2009/12/8

    ざっくり覚えて始められる jQueryセレクタ入門
  • 「目次」の良し悪しが、すべてのマニュアルの良し悪しを決める

    「目次」の良し悪しが、すべてのマニュアルの良し悪しを決める:誰にでも分かるSEのための文章術(13)(1/2 ページ) 「提案書」や「要件定義書」は書くのが難しい。読む人がITの専門家ではないからだ。専門用語を使わず、高度な内容を的確に伝えるにはどうすればいいか。「提案書」「要件定義書」の書き方を通じて、「誰にでも伝わる」文章術を伝授する。 「マニュアル」は、システムの概要や使い方を顧客に理解してもらうために必要な文書です。SEにとって、マニュアルは非常に重要な文書です。分かりやすいマニュアルを顧客に提供しておかないと、顧客に不便をかけるだけでなく、開発側もさまざまな問題に巻き込まれる恐れがあります。 そこで、今回から2回にわたって「分かりやすいマニュアル」を記述するポイントを説明します。今回は、下記の項目について説明します。 マニュアルを作成する際に必要な考え マニュアルの種類 マニュア

    「目次」の良し悪しが、すべてのマニュアルの良し悪しを決める
  • DB管理者がいますぐ確認すべき3つの設定

    DB管理者がいますぐ確認すべき3つの設定:真・Dr. K's SQL Serverチューニング研修(4)(1/3 ページ) 管理者の力量があらわれる3つの設定 前回、設定された値を見るだけでDB管理者の力量が見える、ということに触れました。今回も必ず押さえておきたいパラメータを、なぜそのように設定すべきかという理由と併せて解説していきます。 設定すべきポイントは大変シンプルです。 tempdbの数をCPUコア数にあわせよ x64環境なら「メモリ内のページロック指定」を変えよ OLTP環境では、並列処理の最大限度(Max DOP)はCPUコア数の「4分の1」に設定せよ もちろん、これだけ変更すれば、その部分における最低限のチューニングは完了します。しかし1つ上のエンジニアを目指すなら、その理由まできっちり知っておくべきでしょう。その理由を知ることで、監視ツールや動的管理オブジェクトが発する「

    DB管理者がいますぐ確認すべき3つの設定
  • 無料のオンラインOfficeアプリ「Office Web Apps」は使えるのか?

    無料のオンラインOfficeアプリ「Office Web Apps」は使えるのか?:運用(1/3 ページ) マイクロソフトが提供を開始した無料のオンラインOfficeアプリ「Office Web Apps」を評価。何ができて、何ができないのか。Web Appsの使い勝手は? 連載目次 会社の業務でも、あるいはプライベートでも、さまざまな用途に用いられているMicrosoft Office製品だが、意外と高価なアプリケーションのため、複数台のPCを持っていても、経済的な理由などからすべてにインストールできないこともあるだろう。OpenOfficeなどの安価な代替品は存在するが、操作性の違いやデータの互換性といった懸念が残る。 また、近年になってノートPCの紛失・盗難に起因する情報漏えい事件が相次いだことから、ノートPCに業務用データを保存して持ち歩くことを禁止する会社も増えているという。禁止

    無料のオンラインOfficeアプリ「Office Web Apps」は使えるのか?
  • 強く型付けされているJavaの理解に必修の“型変換”

    強く型付けされているJavaの理解に必修の“型変換”:【改訂版】Eclipseではじめるプログラミング(18)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります プログラマは特に知っておきたい型変換の常識 今回は、さまざまな「型変換」について説明します。また、型変換に関連する基データ型の「ラッパークラス」や文法事項についても解説します。型変換には「暗黙の変換」「明示的な変換」があるので、注意が必要です。 特に暗黙の変換について理解していないと、誤って自動変換された値を使ってしまい、プログラムの結果が思ったとおりにならず大変なことになってしまうことがあるからです

    強く型付けされているJavaの理解に必修の“型変換”