LoginSignup
3
3

More than 5 years have passed since last update.

今の開発環境について(Java8)

Last updated at Posted at 2019-03-12

今年から現場が変わって
開発環境がいろいろ変わりました。

特に主張したい何かがあるわけじゃないけど
所感メモを残しておきます。

昨年に比べればだいぶ現代に近づけたかな・・・。

Java6 → Java8

ZonedDateTimeとか
ラムダ式とか、Listのforeachとか
便利そうな機能が加わった。

が、まだ現場では使えてない。
クソみたいなfor文ぐるぐる書いちゃうので
早く慣れたい。

SpringMVC→SpringBoot

旧Spring時代と比べ、大分良いです。
Java特有のお作法の厳しさがだいぶ軽くなります。

DIにふつーに@Autowiredしてもらえば
割と細かいことは意識しなくても動いてくれる感じステキ。

@Scope とか @SessionAttributes とか @Validated とか
便利なアノテーションもありがたいです。

Lombok

アノテーションといえばコイツ。

getter/setterを自動で書いてくれるヤツ。
他にも便利なアノテーション揃ってる優れたヤツ。

なぜ前の現場でこれを使わせてくれなかったのか。
小一時間問い詰めたい。

Eclipse

文字色がうまく治せない、
起動が遅いこと以外はそれほど不便を感じていないです。

Gradle

ずっとantで苦しんできたので、
だいぶ楽ちんになりました。

一番ありがたいのは、新しい何か採用するとき。

みんなMavenかGradleは使っているので
新しいライブラリとか導入したいとき、
一行書くだけでOK!なパターンが頻出。

antは依存関係を自分で調べて、自分でbuildして
自分で落とし穴にハマっていかないとわからなかったのです。

落とし穴にハマった話(https://qiita.com/kugyu10/items/ab2df77c187b23bf6670)

Thymeleaf

HTMLとJavaを分離できる!
これでみんな幸せ!

・・・とはならなかった!!

別に、Thymeleafでも、Viewに
ゴリゴリ書いちゃう人はいるのだ。

JSPよりはマシだけど。

CSSちゃんと書きません?さすがにもう読みにくいです。
Layout目的でiframe使うのもやめませんか?

PostgreSQL

OracleのNullと''(空文字)をごっちゃに
する感じは苦手だったので、
ぼくはこっちのが好きです。

運用よりの人の話を聞いてみたい。

MyBatis

O/R Mapper

うーん・・・悪くないんだけど・・・

Java現場あるあるなんだけど、
職場の制約や、いまいちなマッパーのため、
結局ゴリゴリやるしかない、ってなってしまう。

このserviceの醜いコード、
全部formからEntityに入れるだけだよね?
みたいな。

Mapper使うより、SQLゴリゴリ書いちゃう方が早い!って時に、
(テーブル設計が微妙だとよくある)ちゃんとその道が
用意されてるだけ良心的。

足りないもの

JUnit5/assertJ

テスト書かせて

Spring AOP(spring-boot-starter-aop)

アスペクト指向プログラミング。

あ、アスペ???

例えば、「全コントローラのstartとendのloggingしたい!」
みたいなふるまいを
コントローラクラスをいじることなく
外から定義、実装できる仕組み。

@Aspectアノテーションで定義する。

DB設計で全テーブル「作成日付」「更新日付」「削除フラグ」
を持っている設計なんだけど、
Mapperでその実装とかなくて
アプリでそれを全部書くことになっている。
(そして、あっちこっちでそこそこ間違えている)

ここらへんもAOPで補完できるかもしれない。

既存のフレームワークやライブラリではちょっと不足してる箇所を
コレで補えたりすると幸せになれるかもしれない。

まとめ

RailsのActiveRecordは神すぎた。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3