タグ

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

  • Strutsの常識を知り、EclipseとTomcatの環境構築 (1/4) - @IT

    Strutsの常識を知り、EclipseとTomcatの環境構築:Webアプリの常識をJSPとStrutsで身につける(2)(1/4 ページ) 連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPASP.NETRuby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です いまさら聞けないStrutsの常識 今回は、「Strutsの常識」と題し、Webアプリケーションフレームワークの1つであるStrutsについての概要を説明したうえで、JDKやEclipse、TomcatなどのWebアプリケーション作成の環境構築を行い、サンプルプログラムを実際に作成してみましょう。 連載第1回の「いまさら聞けない、Webアプリケーションの常識」で、「連載ではStrutsを取り上げていきます」

    Strutsの常識を知り、EclipseとTomcatの環境構築 (1/4) - @IT
  • Javaの例外処理で知らないと損する7つのテクニック

    Javaの例外処理で知らないと損する7つのテクニック:【改訂版】Eclipseではじめるプログラミング(24)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります(この回と前回のみ、別連載「EclipseでJavaに強くなる」の改訂版です。今回は第4回Javaの例外のテクニックを知る」の改訂版です) 前回の「プログラマの宿命! 例外とエラー処理を理解する」では、Javaにおける例外の用途と基的なコードの書き方、例外が発生するさまざまなケースについて理解しました。 今回は、独自に例外を定義する方法や、ちょっとした例外のテクニックを紹介します。 【1】Eclipseで独自の

    Javaの例外処理で知らないと損する7つのテクニック
  • Subversionで簡単・確実にファイルを構成管理

    Subversionで簡単・確実にファイルを構成管理:エンジニアがお薦めする 現場で使えるツール10選(4)(1/5 ページ) 普段無意識にやっているファイルの整理を、「Subversion」を使ってバージョン管理、構成管理します。このツールを使えば、開発チームの効率がアップすること間違いなしです! 構成管理≒バージョン管理 バージョン管理というと、ソフトウェア構成管理のことを示す文章を見掛けますが、「CMMI」(Capability Maturity Model Integration:ソフトウェア開発におけるプロセスの成熟度評価やプロセス改善を行うためのガイドライン)のソフトウェア構成管理によると、「変更管理を含むソフトウェアの構成を制御・管理できていること」と定義されています。 今回は、ソフトウェアのソースコード管理だけでなく構成管理(ドキュメント管理)におけるSubversionの

    Subversionで簡単・確実にファイルを構成管理
    elenoi
    elenoi 2011/12/13
    ファイルの迷宮おそろしい
  • Windowsでファイルの拡張子をまとめて変更する(コマンドプロンプト編)

    解説 例えば「~.jpeg」という名前のファイルの拡張子だけを「~.jpg」に変更する場合、ファイルの数が少なければエクスプローラで選択してから[F2]キーを押して(もしくはマウスでクリックしてからしばらく待つか、ポップアップ・メニューから[名前の変更]を選択する)、新しい名前に変更すればよいだろう。 だがファイルの数が非常に多かったり、複数のフォルダ中に分散して存在したりしている場合、いちいちエクスプローラで操作するのは非常に面倒である(関連記事参照)。 こんな場合は、スクリプトやコマンド・プロンプトを使えば、素早く簡単に済ませることができる。TIPSでは、コマンド・プロンプト上のrenコマンドを使って、ファイルの拡張子をまとめて変更する方法を紹介する。 操作方法 ●renコマンドの基的な使い方 コマンド・プロンプト上でファイル名を変更するには、「ren」もしくは「rename」コマ

    Windowsでファイルの拡張子をまとめて変更する(コマンドプロンプト編)
  • Androidアプリ開発でテストを始めるための基礎知識

    Androidアプリのテストに関する課題 Android端末の普及は世界規模で増加の一途をたどっています。2011年秋冬モデルが発表され、発売予定のものを含むと日で発売中のAndroidの携帯端末は100機種に迫ろうとしています。読者の皆さんの周囲を見渡しても、電車や街角でAndroidを採用したスマートフォンなど携帯端末を使用する人をよく見かけるのではないでしょうか。 そして、スマートフォンに留まらずタブレットやミュージックプレイヤー、電子ブックリーダー、POSレジ、テレビなど、さまざまなデバイスがAndroidを搭載し始めています。Androidの採用が増えるにつれ、Androidアプリの種類が増えるので、アプリの開発案件も増えることになります。実際、稿を読んでいる開発者の方の中にも、すでにAndroidアプリの開発に取り組んでいる方も多いのではないでしょうか。 筆者も普段の業務の

    Androidアプリ開発でテストを始めるための基礎知識
  • 知るだけで天地の差が出る、テスト仕様書の必須項目&表現方法

    テスト仕様書で絶対に必要な項目リスト テスト仕様書に記述すべきものとして、以下の事項があります。 テストを実施した環境 実施するテストの内容 テストを実施するためのシステムの操作手順 テストの実行結果 個々のテスト項目を識別するための番号や記号(通し番号など) テストを実施した年月日 テストを実行した担当者 障害報告票番号(発生した障害の詳細を開発グループに報告する帳票の識別番号) まずはテスト環境について明記する テスト仕様書の先頭には、「テストを実施した環境」を記述します。ここでは、ハードウェア環境やソフトウェア環境、ネットワーク環境など、「どのような環境でテストを行ったか」を説明します。 ただし、テストを実施した環境を記述するだけでは十分ではありません。「顧客にとって必要な情報は何か」を考えるのです。ここで必要なのは、「要件定義書で規定した環境」との関係が分かることです。 なぜなら、

    知るだけで天地の差が出る、テスト仕様書の必須項目&表現方法
  • 調査の難しい「OutOfMemoryError」事例、5選

    メモリ不足の問題の切り分け方の基 まずは、メモリ不足がJavaヒープとCヒープのどちらで発生したかを切り分けておこう。 Javaヒープ OutOfMemoryErrorがスローされ、JavaVMの実行が継続している場合には、Javaヒープが不足している可能性が高い。Javaヒープ不足かどうかを確定させるために、スローされたOutOfMemoryErrorのトレースを確認しよう。 java.lang.OutOfMemoryError: Java heap space <=======【*1】 at java.nio.CharBuffer.wrap(CharBuffer.java:350) <=======【*2】 at java.nio.CharBuffer.wrap(CharBuffer.java:373) at java.lang.StringCoding$StringDecoder.

    調査の難しい「OutOfMemoryError」事例、5選
  • 究極の問題解析ツール、逆コンパイラJD-Eclipseとは

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは:ユカイ、ツーカイ、カイハツ環境!(13)(1/2 ページ) ソースコードがなくても大丈夫? 開発を行っている際に、利用しているミドルウェアやライブラリの内部で例外が発生して、そのクラスのソースコードを調べたくなることはありませんか? 例えば、以下のような場合です。 ほかのチームが開発したモジュールのメソッドが仕様通りの動作をしない仕様通りの動作をしない 処理に時間がかかっているが、何の処理に時間がかかっているのか分からない何の処理に時間がかかっているのか分からない アプリケーションが応答しなくなり、どこかで停止しているのだが、どこで停止しているか分からないどこで停止しているか分からない ソースコードがないため、“やきもき”していませんか? 開発者であれば、誰しもこのような経験をしたことがあると思います。ソースコードがあれば、コード

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは
  • ThreadとHashMapに潜む無限回廊は実に面白い?

    USER PID LWP %CPU NLWP %MEM VSZ RSS TTY STAT START TIME COMMAND ……(中略)…… tomcat 13701 13779 13.9 114 1.7 745108 37344 pts/0 Rl+ 14:11 0:04 java …… ……(中略)…… tomcat 13701 13799 10.8 114 1.7 745108 37344 pts/0 Rl+ 14:11 0:03 java …… ……(中略)…… tomcat 13701 13815 10.1 114 1.7 745108 37344 pts/0 Rl+ 14:11 0:03 java …… ……(以下略)…… CPU使用率が高いプロセスのLWPIDを上から3つ抜き出すと、「13779」「13799」「13815」となった。スレッドダンプでのnidは、16進数にな

    ThreadとHashMapに潜む無限回廊は実に面白い?
    elenoi
    elenoi 2011/09/27
  • 【真夏の夜のミステリー】Tomcatを殺したのは誰だ? (1/3) - @IT

    【真夏の夜のミステリー】Tomcatを殺したのは誰だ?:現場から学ぶWebアプリ開発のトラブルハック(6)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) 【第1章】Tomcatが無応答!? トラフィックの多い大規模サイトでは、その負荷のためにさまざまな問題が発生する。それらの問題を回避するには、性能を考慮して作られたアプリケーションや、ノウハウに基づいたミドルウェアのチューニングが必要となる。 TomcatはServletコンテナとしての長い歴史を持ち、多くの採用実績を持つオープンソースのアプリケーションサーバ(以下、APサーバ)だ。大規模なサイトで採用される事例も出てきており、To

    【真夏の夜のミステリー】Tomcatを殺したのは誰だ? (1/3) - @IT
    elenoi
    elenoi 2011/09/27
    いつかつかうかねえ
  • アプリケーションサーバ/コンテナ活用編・クラスローダの仕組みを知る

    Java仮想マシンの配下では、多くのクラスが複雑に(かつ密接に)絡み合い、Javaアプリケーションの動作を支えています。しかし、複数のアプリケーションを利用しているうちに、相互のアプリケーション間で、同名でバージョンだけが異なるクラス(ライブラリ)が必要になったとしたらどうなるでしょう? しかも、そのクラスライブラリには、バージョン間の上位/下位互換性がないとしたら、どうしたらよいでしょうか。 このように、バージョンアップしなければアプリケーションBが動かない、バージョンアップすればアプリケーションAが正常に動かなくなってしまうというケースは、多くのアプリケーションが並存するサーバ上においては、大いにあり得ることです。 そこで、Tomcatのようなコンテナでは、複数のクラスローダに階層関係を持たせることで、個々のクラス(ライブラリ)の独立性を保証しています。クラスローダとは、その名のとおり

    アプリケーションサーバ/コンテナ活用編・クラスローダの仕組みを知る
    elenoi
    elenoi 2011/09/27
    くっそー
  • 「サーバのIPアドレス取得」(1) Java Solution - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    elenoi
    elenoi 2011/09/12
  • スレッドダンプの森で覚えた死のロックへの違和感

    スレッドダンプの森で覚えた死のロックへの違和感:現場から学ぶWebアプリ開発のトラブルハック(11)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) スレッドダンプはトラブルハックに非常に有効 Javaを用いたシステムで発生したトラブルを解析する際、スレッドダンプは非常に有効な手掛かりを指し示してくれる。 例えば、連載第3回の「【実録ドキュメント】そのログ当に必要ですか?」ではログ出力がボトルネックとなったトラブルを、解析ツールを用いたスレッドダンプ解析により発見している。また、連載第10回の「ThreadとHashMapに潜む無限回廊は実に面白い?」では、レースコンディション(競合

    スレッドダンプの森で覚えた死のロックへの違和感
  • javapコマンドでクラスファイルを読む

    Sun Microsystems社より公開されているJVMの公式仕様『Java仮想マシン仕様(The Java Virtual Machine Specification)』(以下、JVM仕様)には、JVMで利用可能なバイトコードの仕様が説明されています。 JVM仕様では、バイトコードの命令列は、人間が読み取ることができるアルファベットの命令名(ニーモニック)と、その数値表現である1byteのオペコードで構成されています。クラスファイルはオペコードのみで構成されており、単なるバイナリデータです。試しにクラスファイルをテキストエディタで開いてみても、画像などのバイナリデータと同様に、文字にならないデータが表示されるだけです(クラスやフィールド、メソッドの名前は、バイトコード内にそのまま文字列として保存されているので、そこだけは何とか読み取ることができます)。 それでは、生成されたクラスファイ

    javapコマンドでクラスファイルを読む
    elenoi
    elenoi 2011/08/25
  • @IT:yumコマンドでよく利用するコマンド

    Fedora Coreが標準で採用しているyumコマンドは、RPMパッケージのインストールやアンインストール、アップデートなどを行うためのプログラムだ。 Fedora Core 1を自動更新するには(yum編)で説明したように、システムを更新するだけであれば、

  • @IT:Windows TIPS -- Tips:巨大なサイズのファイルを簡単に作る方法

    巨大なファイルを使ってディスクやネットワークの速度を測定する ディスクやネットワークなどの性能(速度)がどのくらい出ているかを手っ取り早く調べるには、ある程度大きなデータファイルを用意しておいて、その読み書き速度や送受信速度を調べると簡単だ。 厳密なベンチマークツールがなくても、ファイルをコピーさせながら、その速度をタスクマネージャーやパフォーマンスモニターで見たり、完了するまでの時間を測定したりするだけでも大まかな速度は計測できる。 これを行うには、数十~数百GB以上のサイズのテストファイルが必要になる。Tech TIPSでは、「fsutil.exe」というコマンドを利用して、こうした巨大なファイルを簡単かつ素早く作成する方法を紹介する。 fsutilコマンドで巨大なファイルを作成する Windows OSで巨大なファイルを作成するには「fsutil.exe」というコマンドがとても便利

    @IT:Windows TIPS -- Tips:巨大なサイズのファイルを簡単に作る方法
    elenoi
    elenoi 2011/07/22
    例外チェックなどに。
  • JavaでCSV形式のファイルを読み書きする

    表形式のデータを簡単に扱いたいときに、CSV(Comma Separated Values)形式を用いる方法があります。CSVでは、データの各要素をカンマ(「,」)で区切り、改行がそのままデータ行の区切りを表します。CSVデータは、一般に「.csv」という拡張子の付いたテキストファイルとして保存されます。テキストエディタだけでなく、Microsoft Excelなどの表計算ソフトでも読み込むことができ、閲覧や編集が簡単なため、よく利用されます。 稿では、CSV形式のデータをJavaで扱うときの基的な手順を紹介します。サンプルとして、以下のCSVデータを扱います。このデータは、日の作家の生年/没年を表しています。 解説 CSVデータの読み込みには、コアAPIjava.io.BufferedReaderクラスと、java.util.StringTokenizerクラスを併用します(J2

    JavaでCSV形式のファイルを読み書きする
    elenoi
    elenoi 2011/06/22
  • 「計画的にやれ」が悲しいほどメンバーに通じない理由

    自分の記憶力なんて信じちゃダメです アポイントメントはすでに時間が決まっているので簡単ですが、問題はタスクです。タスクを書き込むには、ちょっとしたルールがあります。 1.仕事は“すべて”書き込む 「やるべき」だと判断した仕事は、以前から予定していた仕事であれ、予定外に降ってきた仕事であれ、基的にすべて書き込みます(降ってきたその場で対応して片付けた仕事は、ここに書き込まなくても構いません)。自分の記憶力を信用してはいけません。仕事が発生した段階で書く! これを徹底しましょう。 2.実行日を決めて書き込む もう1つは、タスクは「実行日」に書き込むこと。つまり、タスクをどの日にやるか決めます。実行日を決めると、その日に当にやれるかどうか、時間が足りるかどうかを真剣に考えるようになります。 逆に、お勧めしないのが「ToDoリスト」のように、ただタスクを書き出すだけというやり方。これでは、時間

    「計画的にやれ」が悲しいほどメンバーに通じない理由
  • 1