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

仕様と設計の違い

SE

将来どこかで誰かに 「仕様と設計を混同した時はこれ見といてね」と 言えることを念頭において書いた記事 「仕様」 と 「設計」 は別物 私なりの言葉で定義すると 仕様 = 作るものについて、満たされているべきことが定義されたもの 満たされているべきこと…

Java の interface method に public や abstract を宣言してもよいか

interface MyInterface { public abstract void myMethod(); // public と abstract の宣言 } Oracle の Docs より 「してもよいが、冗長なので奨められない」 意訳(一部) interface のメソッドは暗黙のうちに public である interface のメソッドは暗黙のう…

struts.xml の global-exception-mappings とは何か

struts2-core v2.3.28 global-exception-mappings とは はじめに、Struts2 には Exception mappings という機能がある これは Action 内で throw された例外を自動的に catch し あらかじめ用意された result へマッピングする機能である この Exception map…

struts.xml global-results 要素とは何か

struts2-core v2.3.24.1 struts.xml global-results 要素とは何か action 間で共有したい result がある時、これを定義する為の要素 package ごとに global-results を定義できる Struts2 は先ず ローカルの result(package.action.result)を走査する ローカ…

struts.xml default-interceptor-ref 要素とは何か

default-interceptor-stack 要素とは何か package 内で定義した interceptor-stack の内 package の各アクションにてデフォルトで参照させたい interceptor を定義する 具体的に 下記 struts.xml より interceptor-stack に ロギングが定義されている (actio…

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) グループに存在する特定行の性質を示すもので…