システム開発で思うところ

Javaで主にシステム開発をしながら思うところをツラツラを綴る。主に自分向けのメモ。EE関連の情報が少なく自分自身がそういう情報があったら良いなぁということで他の人の参考になれば幸い

Application層の検証結果の出力順序を制御する

vermeer.hatenablog.jp 上記ではDomainやFormでの検証結果については、Pageクラスで指定した順序でメッセージ出力する事が出来ました。 ですが、Application層以降の検証不正については、レイヤーを跨った関連付けをする仕組みを持たないと その順序性を管理…

パッケージ構成の考察(2)

最新の考察 vermeer.hatenablog.jp はじめに vermeer.hatenablog.jp で ベースを考えて 以下の参考プロジェクトを コツコツと肉付けしています。 vermeer.hatenablog.jp 新しい機能を実装する中で段々と どのパッケージに どのクラスを配置させるのが良いの…

Application層の検証結果をPageに関連付ける方法を考える

Application層の検証結果をControllerで どうやってPageクラスに関連付けるか。。やり方に加えて 実装表現も含めて どうしたものかなぁ。アノテーションによる情報指定だとマッピング対象が大量にあった場合、どうにも不細工な気もするし。。しっくりくるイ…

Page/Formのvalidateを見直す

vermeer.hatenablog.jp vermeer.hatenablog.jp で考えたことに対して、実際の実装を経て 妥協(?)した vermeer.hatenablog.jp を踏まえて、改めて整理をした方が良さそうに思い 考えてみることしました。 はじめに 考え直してみようと思ったことを呟いたも…

Serviceを実装

vermeer.hatenablog.jp の流れで、Application層のServiceを実装することにしました。 また、Serviceの事前条件不正などをクライアントで どうやって出力するのか という検討の準備でもあります。 Serviceの基本的な あり方については 以下の記事で以前 整理…

レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡 に参加してきました

ddd-alliance.connpass.com に参加してきました。 懇親会にも参加*1。 さて、ブログに勉強会のことを書こうかな、と思ったのですが 私が、いい加減に まとめるよりも 遥かに良く かつ 素早いまとめがありましたので、そちらを紹介。 dev.classmethod.jp 私は…

【雑記】銀行の相談窓口

こういう特殊用件のための支店はまだ必要だし、夜間や土日に開いている意味は大きいと思うけど、そんなの支店、たいした数はいらない。— ちきりん (@InsideCHIKIRIN) 2018年9月26日 という、ちきりんさんのツイートを見ていて思ったこと。 結論 常設の相談窓…

ユースケースじゃなくてサービスとしよう

何となく使っている ユースケースという言葉ですが、自分の中でも あやふやな使い方をしているし、実際 理解もあやふや。 ある種の あやふやさ というか 曖昧さ は残ることは分かっているけれど、ユースケースという表現をつかったシステム実装を採用したい…

画面項目の順序にあわせたメッセージを出力する

vermeer.hatenablog.jp の続き。 メッセージを任意の順番で固定で出力させました。 具体的にはメッセージを画面項目にあわせた出力をしています。 出力結果 FormValidation Form側で行っているValidationは、入力必須検証 だけです。 それ以外の桁や型につい…

画面項目とメッセージ出力順序

vermeer.hatenablog.jp の続き。 メッセージ一覧の出力順序について もう少し具体的にイメージを整理して どのパターンのまで 実装のルール決めで出来そうか考えてみたいと思います。 項目毎にメッセージ出力する というパターンは今回は扱いません。 画面イ…

メッセージ出力順序を整理

vermeer.hatenablog.jp の続き 今更ですが 特に明示はしていませんでしたが メッセージとは エラーメッセージです。 順序はPresentation層で 表示要件はDomainの主たる関心事というよりも 各ページ毎の仕様です*1。 メッセージの出力順序を制御するのであれ…

絵文字のメモ

絵文字関連のメモ これ、まともにやろうとしたらかなりシンドイぞ。。 リンク Unicode 絵文字にまつわるあれこれ (絵文字の標準とプログラム上でのハンドリング) UTF-8時代の環境依存文字チェック ~そこに文字はあるか~ Javaでお手軽に絵文字を使うライブラ…

【考察】Validationと結果出力

vermeer.hatenablog.jp の続き的なところ。 結論としては、メッセージ出力順についての検討を次にやろうかな、に至るまでの経緯というか そのあたりの考察を まとめたものです。 メッセージ表示順序は検証優先度とは別物である 検証要件と検証実施は別物であ…

【雑記】コンテナというかマイクロサービスというか そんなところについて

vermeer.hatenablog.jp あとブログはかけませんでしたが bmxug.connpass.com 当たりの話を聞いて、なんとなく、思ったところがあって、もやもやしたままだったところを、現時点の感想レベルで 自分なりに残しておこうと思います。 結論 現時点で 分散管理が…

Java EE(JSF)でDDDのようなことを考えてみる(2)

vermeer.hatenablog.jp から、多少の肉付けをした版。 やったこと Validation ValidationExceptionの制御 メッセージ(出力まで) ConversationScope制御 Redirectの強制 基本は過去の記事などで取り扱った要素を組み込んだ感じです。 DDD的なところ? あん…

SelenideでcheckedなRadioButtonの情報を取得する

ぱっと調べて、意外とヒットしなかったので記録しておこうと思います。 Selenideで、RadioButtonに値を設定するという実装例はネットで すぐに見つかったけど、逆が無かったので。 public SelenideElement selectedGenderValue() { ElementsCollection items…

ExceptionHandlerWrapperでInjectできないけど、ExceptionHandlerFactoryにはInjectできる

JSF

BeanValidationの結果をExceptionHandlerでメッセージ出力させようと思って色々やっていた足跡みたいなものです。 とりあえず、あとから振り返りが出来るようにするためのメモ。 (独自の実装クラスとか ありますが そのあたりの説明は省略します) 事象 ryo…

JSFとCDIとBeanValidationで想定外だったこと

そもそも「いや、それJSFだと亜流ですので」って終わりそうな話だと思いますが、誰かの何かに役立つかもしれないので。 環境 Payara5 Java EE7 Java8 事象 コンテナ(CDI)で生成したインスタンスのフィールドってnullなんだ。。アクセッサ経由じゃないと値…

FormのプロパティをStringに

vermeer.hatenablog.jp 以前の記事では、どちらかというと Presenter パターンに近いイメージで実装しています。*1 集合の部品となるForm その主たる関心事であるドメイン(ValueObject)を包含します。 インスタンス化およびgetterの際の型は基本的にString…

【考察】何を自動生成すると良いのかな?

自動生成というと エクセルなどのドキュメントから 超高速開発のようにコードを自動生成したり、雛型コードを生成して 後から詳細の実装を追記したり 雛型コードを継承して差分実装をしたり という*1感じだと思います。 そして、私自身、自動生成できるんだ…

越境する基幹システム 〜SoR 2.0 アプローチ〜 に行ってきました

SoR 2.0 って何だろうというのと RDRAに興味があるというのと 増田さんの お話を聞ける というところで いくつも興味があって tagile.doorkeeper.jp に行ってきました。 基幹システムと向き合いながら、SoEを構築する 以前はスタートアップからの問い合わせ…

E2Eテストのメモ

Selenide Selenide: concise UI tests in Java Selenideを試行錯誤しながら実践するブラウザ自動テスト Selenide~Javaで超簡単・簡潔にUIテストを書く~ #Java - Qiita Selenide入門 #Java - Qiita Seleniumで擬似要素を扱うためのTips #Java - Qiita speak…

Java EE(JSF)でDDDのようなことを考えてみるための土台

Formに関して色々と考えている中で、部分的に考えるのも良いけれど、一度、ベタで自分なりにJava EE(JSF)で、DDDっぽい感じの実装サンプルをつくってみて もうちょっと全体を見渡せるようなものを作ってみた方が、もう少し具体的に考察出来るのかなぁと思…

JSFのラジオボタン

JSF

ラジオボタン(SelectOneRadio)を使うことを個人的に あまり使うことがなくて 特に調べていなかったのですが、今 ちょっと やっていることで たまたま出てきて いざJSFで やろうとしたときに 色々と気になったので まとめてみることにしました。 あくまで、…

【考察】FormとEntityの類似点

Formに関して、アレコレ考えていると、Entityとの類似点が多いように思えてきた。 つらつらと思いついたことをメモ。 Identification 画面のどこの何、という意味で「ここのこのフィールド」という一意な場所が必要。 姓と名が同じ値だった場合(そんな名前…

環境変数で設定したい情報のメモ

環境変数で設定したい情報 開発とプロダクトで異なる値になるものは環境変数(もしくは それに準ずる仕組み)で設定したいところです。 まずは、何を対象にするのか整理。 JSF javax.faces.PROJECT_STAGE javax.faces.FACELETS_SKIP_COMMENTS javax.faces.FA…

JSFのIDあれこれ

JSF

JSFで生成されるidあれこれ - Challenge Java EE ! に加えて pass throughを実際に使ってみた実装サンプル 目的は JSFが生成するidとnameについて確認する事。 定義

プレゼンテーション層で例外を扱う(私の例)

ですよねw2の場合って、プレゼンテーション層ではどう処理しますか?APIのcontrollerだったら共通の例外処理で例外Response返せば良いと思いますが、HTML返す場合で一律のエラーページに飛ばさずに画面の表示をエラー文言にしたい、とかの場合はtry-catchす…

プログラムから文字列指定を無くす

メッセージをEnumにすることでタイプセーフにする仕組みを以前作りました。 vermeer.hatenablog.jp これと同じように、色々な要素から「文字列で直接指定している」というところを、ちょっとずつ無くしていきたいと思っていて そのためのネタを整理です。 で…

JSFで2重Submit対策(続)

前回やっていないこととした「入力画面まで戻ったFormの更新抑止」について対応をしてみました。 vermeer.hatenablog.jp やっていないことで2つ目に挙げた案である immediate を使うやり方です。 出来れば xhtmlに手を加えないやり方の方が良いかなぁ、と思…