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

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

NekoHTMLを用いて、Thymeleafの厳しい文法チェックを回避

ti-tomo-knowledge.hatenablog.comの記事にも書きましたが、Thymeleafは文法チェックが厳しく、通常のHTMLでは問題ないはずの書き方をしてもエラー扱いされてしまいコンパイルが通りません。 特に閉じタグに関してはmetaタグやinputタグなど、普段閉じタグを…

Centos6.7でRailsを動かす環境をVagrantとAnsibleで作成

タイトルの通りですが、ansibleでrailsの環境をvagrant上に作った時の設定を記します。 データベース(MySQL等)の設定は省いています。 バージョン情報は以下になります。 ruby : 2.2.3 Rails : 5.0.1 passenger : 5.1.2vagrantのディレクトリ下にhostsファイ…

便利な$.contains

個人的にjQueryを書く時に便利だと思うがあまり使われているように見えないのが$.containsです。 使い方としては、$.contains(第一引数, 第二引数)のように書き、 第一引数が第二引数に含まれいてるかどうかの判定をします。どんな時に便利と感じるかといえ…

@PathVariableを必須にしない

Spring BootのGETリクエストでパラメータを設定した時、 パラメータを取得するには@PathVariableを使います。例えば以下のような@RequestMappingがあった場合、idは必須になります。 @RequestMapping(value="top/{id}", method = RequestMethod.GET) String …

rbenvを使ったRubyのインストールとバージョン変更

そもそもrbenvとは?というところですが、 rbenvは開発で使うRubyをインストールしたり、Rubyのバージョンを簡単に切り替えることができるツールです。 プロジェクトごとに別なバージョンに切り替えることも可能にする、大変便利なツールなのです。Linuxで使…

Node.jsとnpmの最新化

React.jsをgulpで起動させる設定をしていた時、 Node.jsとnpmのバージョンが低いためにモジュールのインストール時にエラーが発生しました。 ここではその時に両者をバージョンアップさせた方法を共有します。まずはNode.jsのバージョン確認です。 node -v v…

Spring BootでBean Validation (3) バリデーション処理を自作

ti-tomo-knowledge.hatenablog.com ti-tomo-knowledge.hatenablog.com上記2つのような流れで、BeanValidationにおける基本的なバリデーションの流れを見ていきましたが、 これらはあくまでBeanValidationやHibernateで事前に用意されたものです。 実際にサー…

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を使ったものの説明が多いので…