2022-03-17-TIL

Today I Learned

Database Case-Insensitive

  • https://blogs.oracle.com/sql/post/how-to-do-case-insensitive-and-accent-insensitive-search-in-oracle-database

Spring Boot Test with JUnit

  • https://meetup.toast.com/posts/124

Java 17 and Spring 6

JDK 11은 상용 지원 기간이 JDK 8보다 짧으며 2023년 말에 단계적으로 중단될 예정이다. 차세대 LTS인 JDK 17은 최소 2026년까지 지원할 예정이다. 또한 Spring Framework 6.x 버전 내에서 LTS(2027년)까지 JDK 릴리즈가 지속적으로 지원된다.

  • https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6

코드리뷰 문화를 정착시키기 위한 방법

  • https://brunch.co.kr/@cleancode/43

테스트 코드

Unit Test with Mockito

  • https://stackoverflow.com/questions/51247796/how-to-mock-jpa-repositorys-save-method-in-unit-tests
  • https://juneyr.dev/2019-02-08/mockito-repo-save
  • https://mkyong.com/spring-boot/spring-mockito-unable-to-mock-save-method/
  • https://stackoverflow.com/questions/43880816/mockito-and-java-spring-repository-in-tests
  • https://cornswrold.tistory.com/369
  • https://stackoverflow.com/questions/15156857/mockito-test-a-void-method-throws-an-exception
  • https://cobbybb.tistory.com/16
  • https://www.baeldung.com/java-spring-mockito-mock-mockbean
  • https://blog.naver.com/whdgml1996/221826586051

Fixture

  • https://stackoverflow.com/questions/12071344/what-are-fixtures-in-programming
  • https://zorba91.tistory.com/304

Testing Web in Spring Boot

  • https://dzone.com/articles/mockito-pros-cons-and-best
  • https://spring.io/guides/gs/testing-web/
  • https://velog.io/@swchoi0329/Spring-Boot-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1
  • https://blog.npcode.com/2020/02/29/%ec%bb%a4%eb%b2%84-%eb%b6%88%ea%b0%80%eb%8a%a5%ed%95%9c-%ec%bd%94%eb%93%9c/
  • https://github.com/google/googletest/blob/main/docs/primer.md#test-fixtures-using-the-same-data-configuration-for-multiple-tests-same-data-multiple-tests

테스팅 환경 분리

application.yml에서 프로퍼티를 test로 하나 만들어서 테스팅을 진행해도 될 것 같다.

  • https://www.baeldung.com/spring-boot-testing-configurationproperties
  • https://www.baeldung.com/spring-yaml
  • https://stackoverflow.com/questions/38711871/load-different-application-yml-in-springboot-test
  • https://myclude.tistory.com/entry/applicationyml-%ED%85%8C%EC%8A%A4%ED%8C%85-%ED%99%98%EA%B2%BD-%EB%B6%84%EB%A6%AC

@SpringBootTest vs @WebMvcTest vs @DataJpaTest

  • https://stackoverflow.com/questions/59097035/springboottest-vs-webmvctest-datajpatest-service-unit-tests-what-is-the-b
  • https://velog.io/@jwkim/spring-boot-datajpatest-springboottest

스프링 컨테이너

  • https://velog.io/@ehdrms2034/Spring-MVC-Application-Context.xml

스프링 빈 라이프 사이클

  • https://howtodoinjava.com/spring-core/spring-bean-life-cycle/#:~:text=Spring%20framework%20provides%20the%20following,methods%20in%20bean%20configuration%20file

자바 콜백 메서드

  • https://stackoverflow.com/questions/19405421/what-is-a-callback-method-in-java-term-seems-to-be-used-loosely#:~:text=A%20callback%20method%20in%20java%20is%20a%20method%20that%20gets,E%20(see%20example%201).

Maven vs Gradle

기능도 차이가 없고, XML보다 훨씬 보기 깔끔하게 자바코드로 구성이 되어있고, 성능도 훨씬 빠르다고 하니 Gradle로 바꾸지 않을 이유가 별로 없는 것 같다.

  • https://hyojun123.github.io/2019/04/18/gradleAndMaven/
  • https://www.geeksforgeeks.org/difference-between-gradle-and-maven/#:~:text=Gradle%20is%20based%20on%20developing,pure%20Java%20language%2Dbased%20software.&text=It%20uses%20a%20Groovy%2Dbased,XML)%20for%20creating%20project%20structure.
  • https://gradle.org/maven-vs-gradle/
  • https://bkim.tistory.com/13
  • https://stackify.com/gradle-vs-maven/

fork한 레파지토리 잔디 심기

  • https://soranhan.tistory.com/11