home

iMemo

text

Spring Framework beanのスコープ

  1. singleton
    1つのコンテナ内で1つのインスタンス(デフォルトはこれになる)
  2. prototype
    コンテナからbeanを取得するたびにインスタンスを生成する
  3. request
    Webアプリ専用。HTTPのRequest単位でインスタンスを生成する。
  4. session
    Webアプリ専用。HTTPのSession単位でインスタンスを生成する。
  5. global session
    ポートレット専用。詳しくないのでよくわからない。グローバルセッションというものがあるらしい。

2 years ago

September 24, 2009
text

DAO

Data Access Object

データアクセスをビジネスロジックから排除し、データアクセスオブジェクト(DAO)としてカプセル化

2 years ago

September 24, 2009
text

DTO

Data Transfer Object

データ転送オブジェクト。データベースに格納されているレコードを表します。

単純に、テーブルに対してクラスを定義、列に対してフィールドを定義します。

Entityと比べると、EntityはDB項目そのまま表現するに対し、DTOは画面に合わせた項目に整形することになる。

2 years ago

September 24, 2009
text

MySQLコマンド

Shellから

データベース一覧表示
$ ./mysqlshow -u dongrikin -pdongrikin

テーブル一覧表示
$ ./mysqlshow dongrikin_db -u dongrikin -pdongrikin

2 years ago

September 22, 2009
text

SVN バージョンアップ(Mac OS X)

1. 現行バージョン確認

$ svn —version
svn, version 1.4.4 (r25188)
compiled Sep 23 2007, 22:32:34

2. セットアップファイルダウロード

http://www.collab.net/downloads/community/ から Subversion 1.6.5 Universal.dmg をダウンロード

3. インストール

Subversion-1.6.5.pkg をクリックしてインストール

4. パスの変更

$ cd /usr/bin/
$ sudo mkdir backup
$ sudo mv svn* backup/
$ sudo ln -s /opt/subversion/bin/svn svn
$ sudo ln -s /opt/subversion/bin/svnadmin svnadmin
$ sudo ln -s /opt/subversion/bin/svndumpfilter svndumpfilter
$ sudo ln -s /opt/subversion/bin/svnlook svnlook
$ sudo ln -s /opt/subversion/bin/svnserve svnserve
$ sudo ln -s /opt/subversion/bin/svnsync svnsync
$ sudo ln -s /opt/subversion/bin/svnversion svnversion

2 years ago

September 18, 2009
text

Tomcat コネクションプーリング

データベースへの接続に関しては、コネクションプーリングというコネクションをトランザクション毎に作成、解放するのではなく、一度作成したコネクション を解放せずに使い回す事で、データベースアクセスの負荷を減らす手法を使いたい。そこで、Tomcatに実装されている org.apache.tomcat.dbcp.dbcp.BasicDataSourceというクラスを使うことにする。このクラスはJakarta Commons DBCPが提供しているものがベースになっているようだ。Springには org.springframework.jdbc.datasource.DriverManagerDataSourceというクラスも存在するが、 これは常に新しいコネクションを使う。

2 years ago

September 18, 2009
text

Java in Oracle

1.Javaソースを作成するためにはユーザに権限付与が必要

//SYSユーザでログインして権限付与
GRANT CREATE PROCEDURE TO TEST01


2.Javaソース作成

CREATE OR REPLACE JAVA SOURCE NAMED TEST01.JAVA_TEST_SRC AS
public class Test {
public static void sum(int a,int b,int[] ret){
ret[0]=a+b;
}
public static String printout(){
return "Hello Java!";
}
}
/



3.プロシージャ作成(プロシージャから呼び出し)


CREATE OR REPLACE PROCEDURE kasan(a in number,b in number,ret out number)
AS LANGUAGE java
NAME ‘Test.sum(int,int,int[])’
;
/


4.プロシージャからJavaを実行

DECLARE
a INTEGER;
BEGIN
kasan(10,2,a);
DBMS_OUTPUT.PUT_LINE(a);
END;
/


5.ファンクション作成(ファンクションから呼び出し)

CREATE OR REPLACE FUNCTION TEST01.print
RETURN STRING
IS LANGUAGE java
NAME ‘Test.printout() return string’;
/


6.ファンクションからJava実行

SELECT print FROM DUAL;

2 years ago

September 18, 2009
text

Eclipse Plugin Update URL

プロパティエディタ
http://propedit.sourceforge.jp/eclipse/updates/

SVNプラグイン
http://subclipse.tigris.org/update_1.6.x

2 years ago

September 18, 2009
text

Eclipse no onamae

Eclipse3.3 : Europa
Eclipse3.4 : Ganymede
Eclipse3.5 : Galileo

2 years ago

September 18, 2009
text

Django Template for, if

for:

{% for post in posts %}
<p>{{ post.body }}</p>
{% endfor %}

——————————————————
forloop.first:最初のループならTrue
forloop.last:最後のループならTrue
forloop.counter:初期値1のループ回数
forloop.counter0:初期値0のループ回数
——————————————————

if:

{% if x and not y %}
<p>{{x}}</p>
{% endif %}

{% if y and not x %}
<p>{{y}}</p>
{% endif %}

ifchanged:

{% for x in xs %}
{% ifchanged x %}
<p>{{x}}</p>
{% endifchanged %}
{% endfor %}

ifequal, ifnotequal:

{% ifequal x y %}
<p>{{x}}, {{y}}</p>
{% endifequal %}

2 years ago

September 18, 2009