親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

Spring BootでBean Validation (2) エラーメッセージの多言語化

まずはti-tomo-knowledge.hatenablog.comを参考にしてmessage.propertiesを使って多言語化する流れを見てほしいです。 これを使えばバリデーション時のエラーメッセージの対応もすぐできます。Bean Validation のアノテーションは、通常messageというパラメ…

Spring Boot Thymeleafで多言語化

多言語対応でサイトを作ることが多い現代だからなのか、 最近のフレームワークは多言語対応がとても簡単です。ここではThymeleafに表示される文字を多言語対応する方法を共有します。 基本的にはmessages_ja.propertiesや、messages_en.propertiesというよう…

Spring BootでBean Validation (1) @GroupSequenceで順番にチェック

Spring Bootでは(Spring Boot以外にもBean Validation使ってるやつ全部ですが)、Serializableクラスに対して 「org.hibernate.validator.constraints」や「javax.validation.constraints」を使って、 @NotEmptyや@Sizeといったようにアノテーションを使うだ…

コンポーネントってなんだ?

近年Webの界隈ではコンポーネントというフレーズを良く聞きます。 フロントエンドで言えばReact.jsやAngular.js、サーバサイドで言えばJavaのフレームワークであるJSFなんかがそうですね。 また、コーディング関係だけではなく、デザインでもこれからはコン…

PHPとJavaのthis事情

プログラムを始めたばかりの人は、 ある程度の規模のソースを書くまでthisの意味を理解するのが大変ですよね。 PHPもJavaもthisの使い方は基本的には同じで、 あるクラスのメンバ変数やメソッドを指定する時に使います。 ちょっと違う点としては、Javaの方は…

Intellijで既存のプロジェクトをMaven管理に変換する

例えばti-tomo-knowledge.hatenablog.comで作ったような、Maven以外の形式で作成したプロジェクトに対して、 後からMaven管理にするように変換する手順を共有します。 正直手順ていうほど難しいこともないのですがwまずはプロジェクトを右クリックすると、 …

Thymeleafでth:valueが空になる!?

HTMLタグの中でJavaの変数を使う Spring BootでThymeleafを使う時、HTMLのタグの中に「th:〜」という書き方でJavaの変数を使うことができます。例えば以下のようにすれば、 <input type="text" th:field="*{フィールド名}" /> inputタグのid、name、valueの全てを管理することができ、以下のHTMLタグが発行さ…

JavaEE7でHello, World

ti-tomo-knowledge.hatenablog.comでJFSを使ったFaceletsについて書きましたが、ここからは具体的にFaceletsを使った動作確認をしてみたいと思います。 まずは簡単に「Hello, World」の出力からです。 どこをググってもEclipseを使ったものの説明が多いので…

JSPはもう古い?Faceletsとは

8年くらい長い間JavaEEに触れてこなかったのですが、 最近触れてみるとかなり技術が変化していて驚きました。特に昔はJSPでビュー側を書いていたのに、最近ではFaceletsというものが出てきて いわゆるxhtml形式で書くのが主流になってきているんですね。 自…

NginxのサブディレクトリでphpMyAdminを起動

NginxのサブディレクトリでphpMyAdminにつなげたい Nginxで、「ドメイン名/phpMyAdmin」でphpMyAdminにつなげるようにした時の設定です。 ドメインを入力すれば普通にアプリケーションに接続され、サブディクトリを指定すればphpMyAdminに接続できるようにす…

NginxでPHPを動かす

Nginxとは何じゃらほいというところからですが、ここは他のサイトを見た方が細かくわかりやすく説明されていると思うので説明は割愛させていただきますが、NginxとPHPの説明について軽く触れたいと思います。最初にPHPについてですが、モジュール版とCGI版が…

Vagrantにssh 192.168.33.10でパスワードなしログイン

vagrantログインでパスワードを求められる vagrantの起動をした後、 vagrant sshではパスワードなしでログインできるのに、 ssh 192.168.33.10だとパスワード入力を求められます。 これが上手くいかないと、chefとかansibleといったサーバ構成管理ツールを実…

VagrantでAnsibleを使う(provision版)

vagrant provisionでPlaybookを実行 AnsibleはサーバにSSH接続をして記述されたPlaybookの通りに実行されますが、Vagrantで実行する場合は必ずしもSSH接続は必要ありません。 「vagrant provision」コマンドでもPlaybookを実行できるのです。※ちなみに今回は…

HomebrewでMacにAnsibleをインストール

構成管理ツールといえば、ChefやAnsibleなど色々ありますが、今回はAnsibleを使ってみた時のメモです。 Homebrewでインストール Macはyumではなく、Homebrewでインストールを行います。 まずは以下コマンドで、インストールするAnsibleのバージョンを確認し…

Spring Securityで複数のログイン機能を作る時、鍵を握るのは@Order

ti-tomo-knowledge.hatenablog.comまでで基本的なログイン機能のご紹介まで行いましたが、 実際Webアプリを作り出すと、「ユーザ用のログイン画面」、「管理者用のログイン画面」といったように、 ログイン画面を複数用意しなければいけない場面があるのでは…