반응형
Greensky0026
삽질러의 대환장 공사판
Greensky0026
전체 방문자
오늘
어제
  • 분류 전체보기 (241)
    • Language (56)
      • JAVA (13)
      • Swift (38)
      • Kotlin (4)
      • Dart (0)
      • PHP (0)
      • JavaScript (1)
    • IDE & Framework (92)
      • Spring (10)
      • Android (48)
      • iOS (8)
      • NodeJS (1)
      • CodeIgniter (3)
      • Flutter (1)
      • 분류중 (18)
    • Infra (8)
    • Database (12)
    • VCS (4)
    • Debug Log (34)
      • java (7)
      • swift (3)
      • Android (9)
      • Web (7)
      • 삽질기 (7)
    • Others (19)
      • 코딩테스트 풀이 (0)
      • IT 이야기 (18)
    • 쉼터 (2)
    • 개발공부 (14)
      • Network (1)
      • 자료구조와 알고리즘 (2)
      • Code design (8)
      • ETC (1)
      • 아카이브 (1)

블로그 메뉴

    공지사항

    • 프로그래머스 코딩 테스트 관련글 비공개 처리

    인기 글

    태그

    • swift
    • Java
    • level1
    • JSP
    • kotlin
    • 구축
    • reduce
    • 타입
    • Android
    • 코딩테스트
    • map
    • swfit
    • 프로그래밍
    • ios
    • 공부
    • 예제
    • IT
    • xcode
    • 프로그래머스
    • 개발

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Greensky0026

    삽질러의 대환장 공사판

    [단축 URL 프로젝트 URLumberjack] - 기술 스택 정의
    IDE & Framework/Spring

    [단축 URL 프로젝트 URLumberjack] - 기술 스택 정의

    2023. 4. 28. 22:30
    반응형

    0. 개요

     

    1. 기술 스택 Overview

    tech stack 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저장소뿐만 아니라 다른 저장소까지 사용할 수 있어 유연합니다.

    https://docs.gradle.org/current/userguide/dependency_management.html#sec:module_substitution

    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
      'IDE & Framework/Spring' 카테고리의 다른 글
      • Spring - MyBatis 설정하기
      • [단축 URL 프로젝트 URLumberjack] - 기타 규칙 정의
      • [단축 URL 프로젝트 URLumberjack] - devOps 정의
      • Spring boot 서버를 Gradle로 build해 jar로 직접 배포하기
      Greensky0026
      Greensky0026
      점이 모여 선이 된다. 내 삽질도 언젠간 거대한 지하 도시가 되겠지!

      티스토리툴바