2022-04-04 TIL
프로그래머스 백엔드 데브코스 15일차
새로운팀
- 👍
SpringBoot Part 1
Build
- 필요한 라이브러리를 classpath에 받는다.
- 소스 코드를 컴파일하고 테스트를 실행 그리고 packing한다.
- packing(jar/war/zip etc)된 파일을 주로 artifacts라 부르고 서버나 레파지토리에 배포한다.
Maven
- 프로젝트 빌드 도구 중 하나로 XML을 사용한다.
- archetypes라는 프로젝트 템플릿 도구를 사용하여 설정을 불러올 수 있다.
- dependency로 외부라이브러리를 관리할 수 있다.
- xml로 프로젝트에 대한 decription을 한다.
Maven Coordinates
- 아래 3가지로 프로젝트를 식별한다.
- groupId(ex. org.prgms)
- artifactId(ex. dev-kdt-maven)
- version(ex. 0.0.1-SNAPSHOT)
Maven Multi Module
<modules>
<module>test-a</modlue>
<module>test-b</modlue>
<modeuls>
- 위 명령어를 통해 프로젝트 내부에 개별 모듈을 만들 수 있다.
- 각 모듈은 pom.xml을 가지고 있고 <parent>를 사용하여 부모 프로젝트를 추가할 수 있다.
Maven Dependency Scope
- dependency 별 영역을 지정할 수 있다.
- compile -> 기본영역
- provided -> compile, test에는 저장되지만 runtime에는 제외된다.
- runtime -> runtime에만 포함된다.
- system -> 특정 jar를 사용할 수 있게 지정할 수 있다.
- test -> test에만 포함된다.
Maven 꿀팁
- mvn dependency:tree -> maven dependency를 트리구조로 보여준다.
- dependency에 <scope>을 추가하면 특정 라이프 사이클에만 사용 할 수 있게 해준다.
Gradle
- Groovy를 이용한 빌드 도구 중 하나다.
Gradle Setting
- setting.gradle 파일을 통해 멀티 프로젝트를 설정 할 수 있다.
SpringBoot CLI
- 커맨드 라인 입력만으로도 스프링부트 프로젝트를 설치 할 수 있게 한다.
// 윈도우 powershell에서 springboot cli 설치하기
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex
scoop install curl
scoop bucket add extras
scoop install springboot
// spring shell 써보기
spring shell
// 버전 출력
version
// demo 프로젝트 만들기
init
// 종료
exit
// 각종 명령어
// 데모 프로젝트 만들기
spring init
// 버전확인
spring version
- 빌드툴(--build), 자바버전(j), 그룹아이디(g), artifactId(a), 프로젝트이름(n), 압축을 풀어서 저장할 폴더명(x)을 지정하여 프로젝트를 만들 수 있다.
spring init --build maven -j 16 -g org.prgms -a kdt-spring-demo -n kdt-spring-demo -x kddt-spring-demo
SpringBoot - 용어정리
- Entitiy -> 다른 Entitiy와 구분 할 수 있는 식별자(ID)를 가지고 있고 시간의 흐름에 따라 지속적으로 변경되는 객체
- Value Object(VO) -> VO 객체는 각 속성(필드)이 개별적으로 변하지 않는 불변 객체
- 의존성 -> 코드 작성하는 시점에서 발생하는 컴파일타임 의존성, App이 실행되는 시점의 런타임 의존성이 있다.
궁금증
- 왜 식별자의 데이터타입은 UUID일까
- method 내부의 var 변수는 뭘까
- java14부터 추가된 record는 뭘까
- Assert와 MessageFormat의 사용처
Author And Source
이 문제에 관하여(2022-04-04 TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@nnagman/2022-04-04-TIL
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<modules>
<module>test-a</modlue>
<module>test-b</modlue>
<modeuls>
// 윈도우 powershell에서 springboot cli 설치하기
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex
scoop install curl
scoop bucket add extras
scoop install springboot
// spring shell 써보기
spring shell
// 버전 출력
version
// demo 프로젝트 만들기
init
// 종료
exit
// 각종 명령어
// 데모 프로젝트 만들기
spring init
// 버전확인
spring version
spring init --build maven -j 16 -g org.prgms -a kdt-spring-demo -n kdt-spring-demo -x kddt-spring-demo
Author And Source
이 문제에 관하여(2022-04-04 TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nnagman/2022-04-04-TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)