과제
> 실수 및 미숙했던 부분
- REGEX
- 어려움을 많이 겪었던 부분
[a-z]{3, 10}
띄어쓰기 사용 X
- 최대길이 설정, 최소 길이는
{x,}
형태로 쓰지만 최대 길이는 최소 길이도 지정해야 한다.
- [] escape
> 풀이
- 긍정탐색
REGEXP_LIKE(TARGET,'[A-Z]+')
- DEFAULT
- 사용자로부터 입력받는 항목이 아닌 경우 default로 처리하면 insert sql에서 생략가능하다.
maven
> build
- source file을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 또는 그에 대한 결과물
- 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램
- 빠른기간동안 계속해서 늘어나는 라이브러리 추가, 프로젝트를 진행하며 라이브러리의 버전 동기화의 어려움 해소
- Ant -> Maven -> Gradle
> Maven
- java용 project 관리도구
- project의 전체적인 life cycle을 관리하는 도구
- 프로젝트의 작성, 컴파일, 페트스 등 프로젝트 라이프사이클에 포함되는 각 테스트 지원
- Maven은 중앙 저장소를 통한 자동 의존성 관리를 중앙 저장소(아파치재단에서 운영 관리)는 라이브러리를 공유하는 파일 서버라고 볼 수 있고, 메이븐은 자기 회사만의 중앙 저장소를 구축할수도 있다.
- 간단한 설정을 통한 배포 관리 가능
pom.xml
- 필요한 라이브러리를 pom.xml에 정의해 놓으면 내가 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 작동하는데에 필요한 다른 라이브러리들까지 관리하여 네트워크를 통해서 자동으로 다운
<modelVersion>4.0.0</modelVersion>
<parent></parent>
<groupId>com.kh</groupId>
<artifactId>spring02</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>spring02</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
</dependency>
</dependencies>
life cycle
- framework이기에 동작 방식이 정해져있고, 미리 정의하고 있는 빌드 순서. 이를 라이프사이클(Lifecycle)이라 한다
> build framework
maven project
- 명명 규칙
groupId: 회사(brand) a.b, groupId는 unique 해야 한다.
artiface: 프로젝트(application)
com.google.map
iei.or.kr - test -> kr.or.iei.test
- version 명명 규칙
x.y.z
- x Major(주) 하위 버전과 호환되지 않는 update가 발생하는 경우
- y Minor(부) 하위 버전과 호환되며 기능이 추가된 경우
- z Patch(수) 하위 버전과 호환되며 버그 fix
library 추가, 관리(XML)
-
Tag
-
java 설정
-
library 추가
- maven repository에 검색
- 합리적인 library 선택(짝퉁, 지원여부)
- pom.xml 파일의
spring boot
> spring framework
- 특정 목적을 달성하기 위한 모든 도구의 모음
- spring Legacy / Spring boot
- resources/application.properties
- 주석 사용
# key = value
server.port=8888
- 띄어쓰기 X
- jdk 설정(correto로)
- 실행 Spring Boot Dashboard
문제: 프로젝트 생성
- GroupId: com.kh
- Artifact Id: spring02
- Name: spring02quiz
- dependencies: spring-web, spring-devtools
프로젝트 생성 및 port 변경(8888) 후 실행한 뒤 깃허브에
Controller
주소에 parameter 받는 법
http://localhost:8080/age?key=value&key=value