본문으로 건너뛰기

프로젝트 기본사항

백엔드 프로젝트 개발을 위한 기본사항을 안내합니다.

사전 준비 사항

  • 깃랩 계정
  • 선호하는 IDE 또는 텍스트 에디터
  • 안내되는 화면 캡쳐는 주로 IDEA(IntelliJ)가 활용 되지만 상황에 따라서 VSCode 또는 Eclipse 도 제공 합니다.
  • 본문을 확인하는 데 5분 가량 소요될 것 같습니다.

JDK 설치

https://www.azul.com/downloads/?version=java-17-lts#zulu 에서 OS 환경에 맞는 버전을 다운로드 합니다.

  • JDK 17은 ZGC(Z Garbage Collector)로 메모리 관리 성능이 향상 되었고, 향상된 Lambda 의 타입 추론으로 개발 편의성이 개선된 부분이 있습니다.
  • LTS 로 안정적인 버전 사용 합니다.

빌드 자동화 도구

Maven을 사용합니다. 기본적으로 Wrapper Script 를 필수 구성 하도록 했기 때문에 mvnw 를 활용 하시면 됩니다. 로컬 Maven 을 사용 하셔도 되지만, Maven 3.x 버전에서만 확인된 구성 입니다.
예시와 같이 Wrapper Script 를 실행 할 수 있습니다.

./mvnw clean --debug

추가적인 기능에 의해서 새로운 의존성이 필요할 경우, 메이븐 중앙 저장소에서 확인된 공식 라이브러리를 활용 하시기 바랍니다.

Project Object Model (pom.xml)

프로젝트 기본 구조를 위해서 아래에 명시된 Maven plugin 이 필수 되어야 합니다.

dependencies

의존성 관리는 Spring Initializr 기준으로 사용하고, 이외의 부가적인 외부 의존성 라이브러리가 필요한 경우 공식적인 Maven Central Repository에서 확인된 의존성만 적용하도록 합니다.

위험

외부적으로 classpath에 jar를 등록하는 방식은 불가 합니다.

plugin

pom.xml
<build>
<plugins>
<plugin>
<groupId>ai.langsa</groupId>
<artifectId>start-with-langa-plugin</artifectId>
<version>0.3</version>
<configuration>
<goals>
<goal>initialize</goal>
</goals>
</configuration>
</plugin>
...
</plugins>
</build>
플러그인 버전

최신화를 위해서 버전 정보는 최상위 버전을 사용할 것을 강력히 권장 드립니다. 개발 진행 과정에서 다양한 상황에 대응하면서 버전이 계속 올라갈 것으로 예상됩니다.
버전 변경 시, 가능한 협업 채널로 안내를 드리도록 하겠습니다.

프레임워크

  • Spring Framework 를 활용 합니다.
  • Spring Boot Starter 들로 전반적인 프로젝트가 구성 됩니다.
  • 위에서도 언급했지만 기타 프레임워크 또는 라이브러리에 대한 의존성은 Maven Central Repository 에 등록된 내용만 권장 합니다.