Going my way

いいなと思ったことをメモしていきます。

2012-01-01から1年間の記事一覧

Javaサーブレット dispatchの方法と仕組み

ディスパッチとは、サーブレットから他のリソースにリクエストを転送すること。 javax.servlet.RequestDispathcerインターフェースを利用する。ここでは、ForwardServletに向けたリクエストをForwardServletBに転送する処理のサンプルを記載する。 package d…

Eclipse上でTomcatを利用する方法

■はじめに ウィンドウ→設定 左側のツリーから「Tomcat」を選択する。以下の項目を設定する。Tomcatバージョン:使用するTomcatのバージョン Tomcatホーム:Tomcatをインストールしたディレクトリ コンテキスト宣言モード:Tomcatのコンテキストファイルの場…

JavaEE サーブレットのフィルターの使い方。

■サーブレットのフィルタフィルタとは、サーブレットのリクエストやサーブレットからのレスポンスに対して、フィルタリングをかけるオブジェクトのこと。 フィルタを通すことで、リクエストが本来ターゲットとしているリソースを実行するまえにリクエストを…

ディレクティブの説明。例外が発生したら例外ページにリダイレクトするJSPサンプルなど。

ディレクティブタブとは、JSPのページ全体に作用するような定義を行うタグのこと。pageディレクティブタブ JSPファイル全体に関する属性を定義する。 ページ内の文字コードの設定やMIMEタイプ、セッションの有無など。例 <%@ page 属性="値" %> <%@ page pag…

JSP超基礎。ライフサイクルの説明など。

JSP(JavaServer Pages)はHTMLファイルにJavaプログラムを埋め込むことにより、サーバー側で動的なWebページを生成する技術です。埋め込んだJavaプログラムコードはWebコンテナ内で動的に処理され、HTML形式のデータを作成しクライアントに返信されます。JSP…

tomcatの基本設定のまとめ。

■web.xmlについてweb.xmlのルートはタグである。web.xmlにサーブレットを登録する <servlet> <servlet-name>サーブレット名</servlet-name> <servlet-class>サーブレットクラス名</servlet-class> </servlet> <servlet-mapping> <servlet-name>サーブレット名</servlet-name> <url-pattern>マッピングするURLパターン</url-pattern> </servlet-mapping>サーブレットの呼び出し http://://コンテキストルートとは、t…

tomcatの設定と、jsp/サーブレットの基礎知識まとめ

tomcatのHTTP受信ポートの設定は以下のファイルの設定をいじる。 C:\Program Files (x86)\Apache Software Foundation\apache-tomcat-6.0.35\conf\server.xml <Connector port="8082" protocol="HTTP/1.1" useBodyEncodingForURI="true" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" /> デフォルト8080で何かのポートと競合したため、ポート番号を8082変更…</connector>

SAXとDOMの使い分けのメモ

パーサーとは、XMLドキュメントの解析が可能なクラスのこと。 XMLパーサーを開発するための指標に・SAX(Simple API for XML) ・DOM(Document Object Model)がある。■DOM ・W3Cにおいて定義されている仕様。 ・XMLドキュメントの解析、検証、そして変更まで行…

XML基礎知識メモ(2)

XMLの文法を定義するにはDTD(Document Type Difinition)を作成する必要がある。 XMLドキュメントとDTDを関連付けるにはDOCTYPE宣言を使う。DOCTYPE宣言には次の値を指定する。・DTDを適用させるルート要素の名前 ・SYSTEMかPUBLICかを指定する ・ロードするD…

XMLの基礎知識メモ(1)

XMLはeXtensible Markup Langageの略。オブジェクトとして管理できるようにデータが記述、定義される。 XMLの目的は、プラットフォームに依存せず、拡張可能で、自己記述的および自己包含的なやり方でデータを表現する方法を提供することである。 XML自体は…

恋するデザインパターン(Iterator編)

デザインパターンのIteratorパターンを、彼女がたくさんいるプレイボーイに例えて説明します。 明日のプレイボーイオブジェクトになるために頑張りましょう。Iteratorとは、何かを1つ1つ数え上げるための機能です。 例えば、あなたがプレイボーイだったと…

Javaのマルチスレッド、sleep,notify,waitのサンプル

sleepは引数に指定した数値ミリ秒でスレッドを停止します。 package thread; public class SleepThreadTest { public static void main(String[] args){ for(int i = 0; i < 10; i++){ System.out.println("Good!"); //sleepメソッドはチェックされる例外な…

あなたの生産性を劇的に向上させる25個の方法を紹介します!

MITの石井裕先生がツイッターで下記のURLの記事を昨日から紹介してます。原文のURLは下記です。http://www.redlemonclub.com/brand-you/25-no-nonsense-ways-to-power-up-your-productivity/ Hiroshi Ishii 石井裕 ‏@ishii_mit 【生産性向上】Power up you p…

システム障害を減らすためにできること。やるべきこと。

システム開発に障害は付き物だ。 障害が発生したら現場のエンジニアは夜間だろうと休暇中だろうと、呼び出され、対応を余儀なくされる。 手術台に向かう外科医さながらに、システムの手術をしなければならない。この障害対応はSEにとって最も不幸なイベント…

Javaのマルチスレッドでオブジェクトをロックする方法(オブジェクトをロックするパターン)

前回はメソッドをロックしましたが、今回はオブジェクトをロックしてみましょう。やっていることは、スレッド①で彼女の名前をセットして、スレッド②で彼女の名前を取得して表示する、という処理です。スレッド①で彼女のロックを取得しているので、名前をセッ…

Javaのマルチスレッドでオブジェクトをロックする方法

マルチスレッドアプリケーションでは、同時にアクセスされるのを防ぎ、一連の処理を保証するため、ロックをします。 同時にアクセスされることを防ぐことを同期化といいます。あるインスタンスに関するsynchronizedメソッドは、一度に1つのスレッドしか実行…

Javaでマルチスレッドの基本のまとめ

スレッドとはアプリケーションプログラムには、アプリケーションの命令を最初から1つずつ順番に実行するための実行制御があります。 このような実行制御の流れを実行スレッドと呼びます。 すべてのアプリケーションには少なくとも1つの実行スレッドが存在…

「なるほど!」と納得した変数名の付け方のルール

CODE COMPLETEを読んで、今まで何気なくつけていた変数名にもきちんと意味があることがわかりました。 印象的だったものを紹介したいと思います。■変数に名前を付けるときに最も重要なことは、変数が表すものを完全かつ性格に説明するような名前を付けること…

【Java】ジェネリックスを使ったサンプルと周辺知識のまとめ

ジェネリックスは何のためにあるの? コレクション操作において、データ型の不一致をコンパイラに検出させるためです。 コレクションから要素を取得するときは適切なデータ型にキャストする必要があります。 しかし、キャストを指定する際にタイプミスがあっ…

System.out.printlnはなぜインスタンス化せずに使えるのか。

Javaプログラマーなら例外なく誰もが使うのがSystem.out.println("hoge");です。呼吸をするように、ごく自然に使ってきたから、普段は疑問に思うこともなかったのですが、 小便をしているときにふと、こんな疑問が浮かびました。 なんで、System.out.println…

StringBuilderクラス、エスケープなどまとめ

エスケープ処理とは 特別な文字を使い、後続する文字に別の意味を持たせる処理のこと。エスケープシーケンスとは エスケープ処理で表記した文字のこと。改行文字を含む文字列がほしい場合String str = "hoge/nfuga";と書く。すると hoge fuga と出力される。…

Stringクラスの中の人はけっこう面白かった。

JavaのコンパイラはJVMという仮想マシン用のマシン語を出力する。仮想マシンの実行速度は、本物のハードウェアが直接マシン語を実行する場合と比較すると遅くなる(と言われていた)その後、ホットスポットコンパイルなどの改善を行った。 ※ただし、ホットスポ…

MySQLの文字化けがどうしても直らないときは、my.cnfだけいじってもダメだとわかった。

・my.cnfでいじっても文字化けが直らない。 ・INSERTすると文字が化けて見える。 ・linux自体の文字コードもちゃんとutf-8にした。 どうしてもMySQLの文字化けが直らないから、念のため以下を実行してみた。 すると・・・ mysql> show variables like 'chara…

さくらVPSにmysqlをインストールしてみた

linuxにmysqlをインストール MySQLがインストールされていないことを確認。 # rpm -qa mysql*MySQLをインストールする。 # yum install mysql*MySQLのサービスを開始する。 # /etc/init.d/mysqld startrootのパスワードを設定する。 # mysqladmin -u root PA…

マルチスレッドことはじめ

スレッドとは 実行制御の流れのこと。 マルチスレッドとは、実行制御を複数並行で持つこと。 実際は同時に行なっているというよりは、CPUが短い時間で処理を切り替えて実行を切り替えている。 スレッドクラスの実装は2パターンある。 ・java.lang.Threadク…

さっそくテンプレートメソッドパターン使ってみたよ!

テンプレートメソッド(TempleteMethod)とは、読んで字のごとく、 テンプレート(型)を作って、テンプレに沿って実装するパターンである。 interfaceで型を決めて、実装はサブクラスに任せる。 クラスを使う側は、型だけ知っていれば良い。せっかくテンプレー…

Javaの実行コマンドとクラスパスの指定、jarにパスを通して実行する方法など

■Javaアプリケーションの実行外部jarの参照など、eclipseで設定するのは簡単だ。 しかし、linuxでバッチ処理として動かしたいときなどはjavaコマンドを使い、 その際は-classpathの設定をしなければならない。Javaアプリケーションの実行の際は、依存関係の…

Javaでファイル操作まとめ(FileInputStream編)

JavaではFileクラスを使ってローカルシステムにあるファイルをオブジェクトとして表現できる。 では、そのファイルを読み書きするにはどうしたらいいだろうか。そこで使うのは、「ストリーム」である。ストリームとは、データを読み書きできる性質のみを取り…

Javaでファイル操作まとめ(Fileクラス編)

Fileクラスを理解することが最も基本となる。 Fileクラスのオブジェクトは「不変」なので、一度パス名を指定してFileオブジェクトを作成すると、 そのオブジェクトによって表される抽象パス名は決して変わらない。システム依存の抽象パス名を取得する。 pack…

超簡単!Javaでツイートbotを作る手順まとめ

Javaでbotを作成しようと思い色々と調べてみたのだが、思ったよりずっと簡単であった。 しかし、やってみると簡単でも外から見ると難しそうに見えるかもしれない。 そんな誤解を解くために、手順を解説する。あなたがツイートするまで1時間もかからないだろ…