struts.xml interceptor-stack 要素とは何か

interceptor-stack 要素とは何か interceptors.interceptor をひとまとまり に定義したもの 利用により、汎用的に interceptor を interceptor-ref で参照できる 具体的に 下記 struts.xml より interceptor が ロギング DB コネクション処理 の 2 つで定義…

struts2 の interceptor とは何か(構築方法含む)

struts2 v2.3.28 実行環境: Mac OSX EI Capitan 10.11.4 interceptor とは何か action ごと(リクエストごと)に、共通化された前処理を実行したい時がある (主な例: action 実行前の logging) この「actionごとの、前処理実行」を実現する手段が interceptor …

struts.xml の struts.action と struts.action.result 要素

struts.action について (属性値の入力) name class - 必須(パッケージ内で一意) 任意(入力の場合は存在する Java クラスをpackage 名付きで割当) (X) <struts> <package name="top" namespace="/" extends="struts-default"> <action name="actionName" class="jp.co.pckg.to.ActionCallerClass"> </action> </package> </struts> Struts2 には "action mappings" という機能が…

struts.xml の struts.package 要素

struts2.3.28 struts.package とは 要素 actions, results, reult types, interceptors, interceptor-stacks を一論理グループにまとめる要素 「拡張ができて、サブパッケージで個々のパーツをオーバーライドができるオブジェクト」 と思えば良い Packages a…

struts.xml の struts.constant 要素

struts.constant とは Struts2 がデフォルトで設定している要素を上書きする要素 Constants provide a simple way to customize a Struts application by defining key settings that modify framework and plugin behavior. 抜粋元 デフォルトの要素とその…

Dependency Injection

「DI パターン」と これを利用した「DI コンテナ」ってのがある 「DI コンテナ」使いたいけど「DI パターン」って何?状態 > 荒いけどまとめる ここにあることが全部ではないので、正確なことは最下記リンクへ DI パターンとは何か 「インスタンス変数にオブ…

転載(他):Why Use Stored Procedure

DB

Pro added layer of security that can be placed on the database from the data functionality making it easier to manage, document, and maintain improved performance multiple client applications to have consistent database routines Con to man…

自己結合はいつ使うか

自テーブル各レコードの特性を 単純な射影や選択では比較できない場合に使う ここでは CASE, 相関サブクエリ, 内部/外部結合などに言及しないとする (Web 記事や書籍を眺めてみたのだが、なかなか扱いがよくわからん構文 勉強しきれてないが、これ使うのであ…

相関サブクエリはいつ(一番)使われるか

(一番)使われるのは「レコードの存在チェック」 Web 記事を色々眺めて、私なりの答え (業務システムの SQL を見ていると「このオペレーションは、いつ、何のために使うのか」 を見失うので一回整理したい) 例 利用者が存在し、各属性を持つ 利用者 ID 年齢(0…

RDBMS の view はいつ使われるか

DB

StackOverflow より引用及び翻訳(意訳 加筆) より正確な内容は本記事下段のリンク先参照 view はいくつか良いものを提供してくれる 1. View は複雑さを隠すことができる 何個かテーブルを結合したり、複雑な計算したり、 複雑ロジックを組んだクエリが必要な…

SQL の GROUP BY 句 演算目的と SELECT 句に含められる属性

プログラマのための SQL 第4版 より 自分用のまとめ GROUP BY 演算の目的 複数行を集約キーでグループごとにまとめ各グループの特性を示す行を返すこと 返ってきた行は そのグループの特性を示すものであり(*1) グループに存在する特定行の性質を示すもので…

配列よりもリストを

コンパイル時に警告を拾うこと (データ構造は C like でなく Java としてあれ) 配列型 コンパイル時に un-typesafe 実行時に typesafe リスト型 コンパイル時に typesafe 実行時に un-typesafe package jp.ymatsukawa; import java.util.ArrayList; import j…

非境界ワイルドカード型 (unbounded wildcard type)

outline ジェネリックスの型パラメータを汎用化する ジェネリックスの型を使用したいが、実際の型パラメータが 何であるかわからない 何であるか気にしない この時、型パラメーターに ? を用いる ex jp.ymatsukawa | + -- ubwildtype | | | + -- MyUtil.java…

SQL の CASE 使い方

(PostgreSQL 9.4) background reports (レポート提出管理)テーブルが次の通り定義されている CREATE TABLE reports( reportid INTEGER -- レポート番号 NOT NULL, submitter CHAR(16) -- 提出者名 NOT NULL, acceptflag CHAR(1) -- 承認フラグ '0':無効 '1':…

骨格実装 (Skeletal Implementation)

骨格実装 (Skeletal Implementation) とは何か 抽象クラスのうち、interface を implements し、このメソッド内容を定義したもの 目的は何か 骨格実装継承クラスの interface メソッド実装定義を手助けすること 骨格実装の構築方法, 利用方法 骨格実装 提供…

COALESCE

コウアレス (if objects or ideas coalesce, they combine to form one single group ( quoted from longman )) 引数を走査していき、NULL ではない初めの値を返す 引数が全て NULL の場合は NULL を返す CREATE TABLE staffs( id INTEGER NOT NULL, name CH…

SQL ALL

CREATE TABLE cardpoints ( id INTEGER NOT NULL, pointedlocation CHAR(32) NOT NULL, point INTEGER NOT NULL CONSTRAINT points_point_range CHECK(point BETWEEN 0 AND 15000), PRIMARY KEY(id, pointedlocation) ); INSERT INTO cardpoints (id, pointe…

Read View 作成

CREATE TABLE trial_table ( trial_id INTEGER NOT NULL, name CHAR(20) NOT NULL, age INTEGER NOT NULL CONSTRAINT trial_age_range CHECK(age BETWEEN 0 AND 200), PRIMARY KEY(trial_id) ); INSERT INTO trial_table ( trial_id, name, age ) VALUES ( 1…

interval, timestamp, date, time の違い

interval timestamp, date, time の時間を変動させる時に利用する関数 以下の sql と結果を参照 (RDBMS ごとに文法が違うので注意) timestamp 日付と時刻 SELECT (timestamp'2014-10-17 22:00:00') AS timestamp_col; timestamp_col --------------------- 2…

static field initiate optimize

src | + -- jp.ymatsukawa | + -- constructor | | | + -- InstanceAble.java + -- Main.java jp.ymatsukawa/Main.java package jp.ymatsukawa; import jp.ymatsukawa.constructor.InstantiateAble; import java.util.Calendar; public class Main { public …

Java constructor

src | + -- jp.ymatsukawa | + -- constructor | | | + -- Super.java | + -- Sub.java + -- Main.java サブクラスをインスタンス化 > 親クラスのコンストラクタが呼ばれる Main.java package jp.ymatsukawa; import jp.ymatsukawa.constructor.Sub; public …

update or delete on table "foreigns" violates foreign key constraint "to_foreigns_to_foreigns_id_fkey" on table "to_foreigns"

CREATE TABLE foreigns ( foreigns_id INTEGER NOT NULL, PRIMARY KEY(foreigns_id) ); CREATE TABLE to_foreigns ( to_foreigns_id INTEGER NOT NULL REFERENCES foreigns(foreigns_id), PRIMARY KEY(to_foreigns_id) ); INSERT INTO foreigns (foreigns_id…

INTERVAL 型

型の一種(査読中) PostgreSQL で以下の動作確認 SELECT current_date; date ------------ 2015-10-15 (1 row) CREATE TABLE times ( test_date DATE NOT NULL ); INSERT INTO times VALUES ('2015-10-15'); INSERT INTO times VALUES ('2015-10-16'); INSERT…

Builder Pattern (Java)

Effective Java より 数多くのコンストラクタパラメータに直面した時の対処法 src | +-- jp.ymatsukawa | +-- builder | | | +---- SignupUser.java | +-- Main.java jp.ymatsukawa/Main.java package jp.ymatsukawa; import jp.ymatsukawa.builder.SignupUs…

static factory method (Java)

jlordiales.me stackoverflow.com 2 記事の書留め コンストラクタの検討と同様、static factory method を検討しよう コンストラクタと対照的に、名前を持てる(また、シグニチャを気にしなくて良い) 不要なインスタンス生成を避けられる 初回のメソッド実行…

Proxy パターン

良いパターンなのに良い例が思い浮かばない

動的クラス読み込み Java

Quoted from Oracle tutorial ClassLoader Applications written in statically compiled programming languages, such as C and C++, are compiled into native, machine-specific instructions and saved as an executable file. The process of combining…

Singleton pattern

(Java の深み) インスタンス生成は一回だけ src | +-- jp.ymatsukawa +-- Main.java | +-- single | + -- Single.java jp.ymatsukawa/Main.java package jp.ymatsukawa; import jp.ymatsukawa.single.Single; public class Main { public static void main(S…

委譲されるクラスは委譲したクラスが隠蔽する

(一番進捗が出ているタスク, 一番進捗が出ていないタスク void → int) 設計 顧客 | マネージャー、エンジニア1、 エンジニア2 が居るとする 顧客は知りたい エンジニア1、エンジニア2 が進めるタスクの内 一番進捗が出ているタスク 一番進捗が出ていないタス…

状態を表現管理する State パターン

(有限オートマトン) Singleton は未考慮 ↓ classify src | +-- jp.ymatsukawa +-- Main.java | +-- state | + -- Worker.java + -- WeekdayState.java + -- MorningState.java + -- AfternoonState.java + -- EveningState.java + -- NightState.java jp.yma…