반응형
0. 개요
1. 기술 스택 Overview
1. Java 17버전 선택 이유
- IT업계의 흐름을 따라가려면 높은 버전을 사용해야 한다
버전이 높아진 다는것은 코드 작성 더 간편하게, 안정성과 성능을 향상시킬 수 있도록 변화하는 것입니다.
굳이 잘 쓰고 있는데 바꿀 필요가 있나? 가 아니라, 적극적으로 학습하기 위해서 선택하였습니다. - Java17은 LTS버전으로, 지원기간이 상당히 길다
java11은 26년까지 지원하며, java8은 30년까지 지원합니다.
java17은 29년까지 지원으로 java8 급으로 안정적으로 사용할 수 있습니다. - JAVA 출시 주기가 고정되어 명확해졌다
이제 JAVA의 출시 주기가 고정화 되어서 업데이트 지원이 필요한 시기를 안정적으로 예측할 수 있게 되었습니다.
또한 안정적으로 최신 버전을 학습하고 유지할 수 있게 되었습니다. - OpenJDK는 무료로 재공된다
JAVA8의 악몽은 다시 재현되지 않을 것입니다.
OpenJDK는 계속 무료로 제공되므로 갑작스런 마이그레이션이나 비용지출은 없습니다.
2. Maven? Gradle?
- 익숙함
Gradle이 DSL을 사용하는 만큼 복잡해질수록 학습커브가 가팔라지지만,
Android개발을 하면서 오래 사용해봤기 떄문에 충분히 학습이 가능할거라 생각했습니다. - 뛰어난 가독성과 유연성
DSL은 POM파일보다 간결하고 가독성이 뛰어납니다.
또한 Groovy를 사용해 조건문, 반복문, 변수선언 등을 간결하게 구현할 수 있어서 매우 유연합니다. - 빠른 빌드 속도
일반적으로는 gradle의 빌드속도가 우수합니다.
물론 빌드파일의 크기나 의존성의 복잡도, 빌드 환경에 따라 느릴 수도 있습니다. - 다양한 저장소 사용
Gradle는 maven저장소뿐만 아니라 다른 저장소까지 사용할 수 있어 유연합니다.
3. JPA vs MyBatis
- 직접 query를 작성할 수 있다
직접 query를 작성한다는것은 쿼리 최적화가 가능하다는 것입니다.
또한, 간단한 쿼리는 어노테이션으로 선언해 repo interface에 작성할수도 있어서 매우 유연합니다. - JDBC 트랙잭션 관리 지원
트랜젝션을 쉽게 컨트롤 할 수 있습니다, - JPA의 학습 커브
JPA를 충분히 학습하지 않았기 떄문에 비즈니스로직에 집중하는 1차 개발단계에서는 부담이 될 것으로 판단했습니다.
떄문에, 2차 개발 단계에서는 mybatis -> JPA 마이그레이션을 시도해보려고 합니다.
4. 테스트 툴 선택 이유
테스트코드를 작성해 본 적이 없기에 많은 개발자들이 사용하고 있는 대표적인 프레임워크를 선택했습니다.
많은 문서와 개발기들을 통해서 빠르게 학습할 수 있을거라 기대합니다!
참고 문서
https://blogs.oracle.com/javakr/post/jdk-17
https://techblog.gccompany.co.kr/우리팀이-jdk-17을-도입한-이유-ced2b754cd7
https://velog.io/@riwonkim/Java-17로-전환을-고려해야-하는-이유
https://gradle.org/maven-vs-gradle/
https://dev-coco.tistory.com/65
반응형
'IDE & Framework > Spring' 카테고리의 다른 글
Spring - MyBatis 설정하기 (0) | 2023.06.05 |
---|---|
[단축 URL 프로젝트 URLumberjack] - 기타 규칙 정의 (0) | 2023.04.28 |
[단축 URL 프로젝트 URLumberjack] - devOps 정의 (0) | 2023.04.24 |
Spring boot 서버를 Gradle로 build해 jar로 직접 배포하기 (0) | 2022.06.29 |
[Spring] MyBaits Insert 후 ID 받기 (짧) (0) | 2022.05.23 |