[* Java *] I went to JJUG CCC 2017 Fall

Introduction

We participated in JJUG CCC 2017 Fall. I was drinking the day before, so I started participating in the afternoon. It is a memo at that time.

Session list

DDD x CQRS-The story of using ORM properly for commands and queries

Dramatic improvement CI from 4 hours to 5 minutes ~ 10 things I did ~

What i did

  1. In principle, we did not perform tests that cross layers of Controller ⇛ Service ⇛ Repository ⇛ RDB…
  2. Annotation change: @SpringBootTest is heavy because all beans are registered and it starts up to the web server, @WebMvcTest is fast because only the necessary beans are registered.
  3. Since the Service layer does not interact with the outside of the application, do a simple JUnit test and do not use DI
  4. Bean selection by Filter in Repository (I didn't do it) ... The actual degreasing is scary, and the wheels will be redeveloped even if it operates
  5. Improving debt-based tests: More tests for development of a certain scale, crushing one by one, reviewing, crushing if late, etc.
  6. Delete test: The test itself has the advantage of running it many times, and leaving a test that is difficult to maintain is a disadvantage, so decide to delete it.
  7. CI reconstruction & parallel test environment construction: CI was not so important, so I was doing it on my personal PC ⇛ Moved to AWS, what can be solved with money should be solved with money
  8. Introducing test size: Introducing test size advocated by Google, test execution timing JUnit @Category, maven-surefire-plugin groups
  9. FeedBack of pull request: Feedback to the developer is made faster for each pull request. Various things that can be done on the pull request can be fed back (improvement of CI fulfillment).

It's faster and easier to give feedback!

Question:

I think there is a more complicated system, but this time the layers were properly separated, so it seems that this kind of improvement was possible.

Answer:

It's a recently made product, and it's relatively clean, so it's divided into layers. If the code itself is messed up, you first need to refactor the code itself.

Java EE application development starting with Docker

I tried to develop using Eclipse Collections instead of Java 8 Stream API

A lot of samples of Eclipse Collections were introduced and I was looking at it

Struggle to improve the operation of services that have been operated since joining the company

in conclusion

I can't just introduce something useful, but I thought it was important to improve it in a positive direction, even little by little.

Recommended Posts

[* Java *] I went to JJUG CCC 2017 Fall
I went to JJUG CCC 2019 Spring
JJUG CCC 2017 Fall Report Java
I participated in JJUG CCC 2019 fall
I participated in JJUG CCC 2019 Fall.
An engineer who doesn't understand Java went to JJUG CCC.
I went to the Java Women's Club # 1
[* Java *] I participated in JJUG CCC 2019 Spring
JJUG CCC 2018 Fall Repo
JJUG CCC Fall 2018 document summary
I went to Scala Fukuoka 2019!
JJUG CCC 2019 Fall slide list
Participated in JJUG CCC 2019 FALL
I participated in JJUG CCC 2019 Spring
I tried to interact with Java
I tried to summarize Java learning (1)
I tried to summarize Java 8 now
I tried to summarize Java lambda expressions
Summary of going to JJUG CCC 2019 Spring
Run R from Java I want to run rJava
I tried to make Basic authentication with Java
I want to send an email in Java.
I did Java to make (a == 1 && a == 2 && a == 3) always true
I tried to implement deep learning in Java
I wanted to make (a == 1 && a == 2 && a == 3) true in Java
rsync4j --I want to touch rsync in Java.
[Java] Introduction to Java
I tried to output multiplication table in Java
What I did when I converted java to Kotlin
Convert Java nested beans to aaa.bbb [0] .ccc format
I want to write quickly from java to sqlite
Introduction to java
I tried to create Alexa skill in Java
A new engineer went to JJUG ~ "Java SE 10 / JDK 10 release special feature" (2018/03/26 (Monday)) ~
I tried to break a block with java (1)
JJUG CCC 2018 Fall Repo
JJUG CCC Fall 2018 document summary
JJUG CCC 2019 Fall slide list
JJUG CCC 2017 Fall Report Java
Participated in JJUG CCC 2019 FALL
I participated in JJUG CCC 2019 fall
I participated in JJUG CCC 2019 Fall.
[* Java *] I went to JJUG CCC 2017 Fall
JJUG CCC Spring 2018 memo
JJUG CCC 2018 Spring Repo
JJUG CCC 2018 Spring participation memo
I went to JJUG CCC 2019 Spring
I participated in JJUG CCC 2019 Spring
I want to do something like "cls" in Java
[Java] I want to calculate the difference from the date
I tried to implement TCP / IP + BIO with JAVA
[Java 11] I tried to execute Java without compiling with javac
[Java] I tried to solve Paiza's B rank problem
I want to use ES2015 in Java too! → (´ ・ ω ・ `)
# 2 [Note] I tried to calculate multiplication tables in Java.
I tried to create a Clova skill in Java
6 features I missed after returning to Java from Scala
I tried to make a login function in Java
I tried to implement Stalin sort with Java Collector
I want to transition screens with kotlin and java!
firewalld went wrong, so I managed to fix it.
[Java] I tried to implement Yahoo API product search
I tried to implement the Euclidean algorithm in Java
~ I tried to learn functional programming in Java now ~
I want to get along with Map [Java beginner]
I used to make nc (netcat) with JAVA normally
I tried to find out what changed in Java 9
JJUG CCC Spring 2018 memo
Changes from Java 8 to Java 11
Sum from Java_1 to 100
I first touched Java ②
I first touched Java ③
[Java] Connect to MySQL