ぺーぺーSEのブログ

備忘録・メモ用サイト。

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

SQLまとめ

SQL

SQLについてちょっとまとめる。MySQL5.5にて動確。 SQL【Structured Query Language】 DDL【Data Definition Language】 SQLの一部で、リレーショナルデータベースのテーブルを制御する言語。 テーブル全体の作成・変更・削除などを行う際に使用する。 CREAT…

Springによるトランザクション管理

Springによるトランザクション管理には以下の種類がある。 宣言的トランザクション管理 Bean定義ベース アノテーションベース プログラミングによるトランザクション管理 Bean定義ベース を使用して下記のようにBean定義する。 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${db.driver}" /> </property></bean>

Spring AOP

AOPの簡易理解は「元のソースコードに変更を加えずに新たな処理を追加する(挟み込む)こと」でよいか。 ここではSpring2.0以降のことを書いている(つもり)。 言葉の定義 Aspect 横断的な関心事が持つ振る舞い(処理のこと)と、いつ振る舞いを適用するか…

Javaで文字コードを扱ってみる

自分なりの簡単な解釈とまとめ。 文字コードは以下の2つにわけて理解するとよい気がする。 文字集合 文字には集合がある。例えば、英語はアルファベット、日本語はひらがな・カタカナ・漢字、ドイツ語はなんだろう。。。など。 バイト表現とか関係なく、文…

SimpleDateFormatではなくFastDateFormatを使う

java.text.SimpleDateFormatには下記の問題がある。 スレッドアンセーフ SimpleDateFormat#parse、SimpleDateFormat#formatにてフィールドの値を変更している処理がある 遅い らしい 代替のクラスとして「Commons Lang」に「FastDateFormat」があり、これは…

ImageMagickをLinux、Tomcat上のJavaアプリケーションから使用するためには

ImageMagickとはよくわからないが画像編集をしてくれるソフトウェア、ライブラリ。 環境構築にはまりまくったのでメモ。 Linuxに「libjpeg-devel」をインストール これを入れておかないとImageMagickからJPEG画像を扱うことができない 赤帽系なら「yum insta…

JavaアプリHotトレーサー「BTrace」

BTraceは起動中のJavaアプリケーションのトレース情報を取得できる便利なツール。公式: http://kenai.com/projects/btrace/Developer's Guide: http://kenai.com/projects/btrace/pages/DeveloperGuide 使い方 上記から入手したbin内にbtraceというシェル…

JMXによる動的なlog4j設定の変更

log4jの設定をアプリケーションを停止せずにJMXによって変更する。 ポイントはlog4jの「org.apache.log4j.jmx」パッケージ。 独自実装しなくてもlog4jで予め用意されている。例のごとくMavenベースでサンプルプロジェクトを作る。 mvn archetype:generate -D…

JMXの使い方

下記のオプションを追記してJavaアプリケーションを実行する。 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=[ポート番号] -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmx.authenticate=false意味はだい…

Javaでシグナルを捕まえる方法

Linuxのkillコマンドなどで投げるシグナルをJavaで捕まえる方法について。 下記、シグナルを捕まえたらlog4jのログレベルを変更するコードを書いてみた。 package jp.sample.signal.log4j.main; import org.apache.commons.logging.Log; import org.apache.c…

MySQLの使い方めも

MySQLの基本的な使い方MySQLへ接続。 mysql -h [ホスト名、FQDN] -u [ユーザ名] -p上記コマンドの後パスワードを要求される。 晴れて接続完了すると下記が表示される。 mysql>パスワードを要求されるのが嫌な場合は下記のように記述する。 mysql -h [ホスト…

Linuxにおける性能と監視系コマンドまとめ

性能とは? 「レスポンスタイム」と「スループット」。なんとたったこれだけ。 じゃあ性能って何で決まるの?→システムリソース(後述)です。 システムリソースのどれかがネックになってレスポンスが遅かったり、いっぱい処理してくれなかったりする。 レス…

Apache、TomcatのHTTPエラーページの設定

ApacheのHTTPエラーページ httpd.confにて下記のように設定可能。 ErrorDocument 400 /error/400.html ErrorDocument 401 /error/401.html ErrorDocument 403 /error/403.html ErrorDocument 404 /error/404.html ErrorDocument 405 /error/405.html ErrorDo…

文字列の結合(StringBuilder、StringBuffer)

String文字列の結合する際、下記のような書き方をするといちいちStringオブジェクトを作成してしまいリソースを食ってしまう。 String conbStr= ""; for (String str: strArray) { conbStr += str + " "; } Stringは不変のオブジェクトなので3行目で「" "」…

Hibernateを使ってみる(JPAを使って)

データベース製品の多様性を隠ぺいするためにJDBCが考えられたように、あるいはMOM製品の多様性を隠ぺいするためにJMSというAPIが考えらた。 JPAはO/Rマッパーの違いを隠ぺいするためのAPIである。プロジェクト作成に下記を実行。 mvn archetype:generate -D…

見えないメモ

Hibernateを使ってみる(Annotationを使って)

プロジェクト作成に下記を実行。 mvn archetype:generate -DgroupId=study -DartifactId=HibernateAnnotationSample -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0.0POMを修正

Apacheの.htaccessファイルはなんなんだ

http://e-words.jp/w/2Ehtaccess.html http://www.hizlab.net/app/apache.html

Hibernateを使ってみる

プロジェクト作成に下記を実行。 mvn archetype:generate -DgroupId=study -DartifactId=HibernateBasicSample -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0.0POMを修正

TomcatへHTTPS(SSL)で接続する設定

server.xmlのコネクタ要素にて設定する。 ※Tomcat7.0.27で動確済み

Eclipseの使えるプラグインめも

checkstyle fundbugs emma Eclipse Metrics Plugin

Java、Springのアノテーションめも

SpringアノテーションをJavaと並べてまとめ クラス対象のアノテーション Springアノテーション @Component SpringDIコンテナにbeanとして登録したいクラスへ付与する bean定義ファイル(.xml)のタグと同じ働き bean名をつけたいときは下記のようにする @Com…

Jenkinsで使えそうなプラグイン

ant Apache Antをサポートするプラグイン。 Checkstyle Plug-in 静的解析ツール。 maven siteコマンド実施後確認可能。 Dashboard View Jenkinsインスタンスに提供されるダッシュボードやポータルのような新しいビューの挿入を提供するプラグイン。 cobertur…

Javaのデフォルト起動オプション(_JAVA_OPTIONS)の設定

知らなかったのだが、システム環境変数に「_JAVA_OPTIONS」で登録しておくとJavaが勝手に起動オプションに追加してくれるようだ。 WindowsでもLinuxでも。 例えばLinuxだと下記のようにシェルか何かに書いておけばいい。 export _JAVA_OPTIONS="-Dsun.net.in…

XML Schema(スキーマ)作成

XML

XML Schemaの基本構造 XML Schemaはxsdファイルで作成する。 【XML例1】のスキーマをXML Schemaで表すと【XMLスキーマ1】のようになる。【XML例1】 <greet>Hello World</greet> 【XMLスキーマ1】 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="greet" type="xsd:string"/> </xsd:schema> 1行目はXML宣言。 2行目は名前空間「xsd」で「"ht…

XMLにおける名前空間

XML

「名前空間」は複数のスキーマ間で「要素」名が衝突しないように使用される。 「要素」とか「属性」とかが混乱しそうなので整理。 下記の例では要素名が「bean」、属性名が「id」や「class」となる。 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" /> 「xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan</bean>…

log4jメモ

log4jcommons-loggingとlog4jを使用する場合は下記の設定ファイルをクラスパス配下に置いておく。 ■commons-logging.properties org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLoggerlog4jの設定は「log4j.properties」に行う。 ※も…

Javaの入出力ストリーム

入出力ストリームに関するjava.ioパッケージについて。 詳細は下記のAPI仕様書。 http://java.sun.com/javase/ja/6/docs/ja/api/java/io/package-summary.html バイトストリーム バイト入力ストリーム(抽象クラスjava.io.InputStreamのサブクラス) FileInp…

JavaやSpringのプロパティファイルの読み込み

Java標準のプロパティファイルの読み込み 参考 http://www.mlab.im.dendai.ac.jp/~yamada/java/properties/ Springのプロパティファイルの読み込み ■bean定義ファイル内の「${key}」個所をプロパティファイルから参照する方法 「key=value」形式で書かれたプ…

Javaのマルチスレッドプログラミング(java.util.concurrent)

java.util.concurrentを使用したマルチスレッドプログラミング ExecutorServiceインタフェース ExecutorServiceインタフェースはExecutorインタフェースを拡張し、状態追跡やタスク処理の中断などを可能にしたインタフェース。 ※ExecutorServiceインタフェー…