ν΄λΉ λ ν¬μ§ν 리λ μλ° μΉ νλ‘κ·Έλλ° Next Step λ° ν΄λΉ λ ν¬μ§ν 리λ₯Ό μ°Έμ‘°ν΄ μ§νν©λλ€.
html/cssλ ν΄λΉ λ ν¬μ§ν 리λ₯Ό μ°Έμ‘°νμ΅λλ€.
app λͺ¨λ application.yml νμΌ/μ€μ μΆκ° ν λ°μ΄ν°λ² μ΄μ€ μ€μ κ° λ±λ‘. test λλ ν 리μλ μΆκ°.
spring:
datasource:
driver-class-name: ${DRIVER_CLASS_NAME}
url: ${URL}
username: ${USERNAME}
password: ${PASSWORD}
λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§ μμ±. app λͺ¨λμ resource ν¨ν€μ§ μ°Έμ‘°.
CREATE TABLE user
(
id BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT 'PK',
username VARCHAR(40) NOT NULL COMMENT 'μ¬μ©μ μ΄λ¦',
password VARCHAR(255) NOT NULL COMMENT 'ν¨μ€μλ',
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'μμ±μΌ',
last_modified_at TIMESTAMP NULL DEFAULT NULL COMMENT 'μ΅μ’
μμ μΌ',
deleted VARCHAR(10) NOT NULL COMMENT 'μμ μ 무'
) engine 'InnoDB';
λΉλ ν νλ‘κ·Έλ¨μ μ€νν©λλ€.
./gradlew build
./gradlew bootJar
-
μ 체 λ―Έμ μ 4λ¨κ³λ‘ λλμ΄μ Έ μμΌλ©°, κ° Stepμλ
νμ/μ ν ꡬν μ¬ν
,νμ΅ λͺ©ν
κ° μ£Όμ΄μ§λλ€.- λ€μ λ¨κ³λ‘ λμ΄κ°κΈ° μν΄μλ μ΅μ 1λͺ μ΄μμ Approveκ° νμν©λλ€.
- νμ ꡬνμ¬νμ λ°λμ ꡬνν΄μΌ νλ©°, μ ν ꡬν μ¬νμ ꡬννμ§ μμλ λ©λλ€.
- μ ν ꡬνμ¬νμλ [μ ν] μ΄ λͺ μ λΌ μμΌλ©°, μλ€λ©΄ νμ ꡬνμ¬νμ λλ€.
- νμ¬ μ§νμ€μΈ Stepμ΄ μλ£λμ§ μμΌλ©΄, λ€μ λ¨κ³λ‘ λμ΄κ° μ μμ΅λλ€.
-
κ° Stepμ΄ λλλ©΄ νμ΅ν λ΄μ©μ λΈλ‘κ·Έμ μ 리νκ³ Jiraμ λ§ν¬λ₯Ό 곡μ ν©λλ€.
-
νλ‘μ νΈμλ μ΅μνμ μμ‘΄μ±λ§ μ£Όμ νλ©°, ORMμ μ¬μ©νμ§ μμ΅λλ€.
-
맀 μ£Ό μ£Όλ§μ μμ μ΄ κ΅¬νν λ΄μ©κ³Ό νμ΅ν μ§μμ λν΄ λ€λ₯Έ μ¬λλ€κ³Ό 곡μ νκ³ μλλ₯Ό μ€λͺ ν©λλ€.
-
κ°μ μ§ννλ μ€ν μ΄ λ¬λΌλ μκ΄μμ΅λλ€. μμ μ΄ ν μ μλ λ§νΌ ꡬννκ³ μ μΆν©λλ€.
λ€νΈμν¬λ‘ λΆν° μ μ‘λ λ°μ΄ν°λ₯Ό νμ±ν΄ μ¬μ©μ μ 보λ₯Ό μ μ₯νλ€.
- μ μ νμ΄μ§λ₯Ό νλ©΄μ λμ΄λ€.
- νλ‘ νΈ μ»¨νΈλ‘€λ¬ ν¨ν΄μ μ μ©νλ€.
- λ°μ΄ν°λ² μ΄μ€λ μ ν리μΌμ΄μ λ΄λΆ μΈλ©λͺ¨λ¦¬ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νλ€.
- μ΄λ€ μ 보λ₯Ό μ μ₯ν μ§λ μμ λ‘κ² μ μνλ€.
- λ€νΈμν¬λ‘ λΆν° μ ν리μΌμ΄μ κΉμ§ λ°μ΄ν°κ° μ΄λ»κ² μ μ‘λλμ§ νμ΅νλ€.
- DispatcherServlet, νλ‘ νΈ μ»¨νΈλ‘€λ¬ ν¨ν΄μ κ°λ κ³Ό λμ μ리λ₯Ό νμ΅νλ€.
μ¬μ©μ μ 보λ₯Ό λ°νμΌλ‘ λ‘κ·ΈμΈ κΈ°λ₯μ ꡬννλ€.
-
λ‘κ·ΈμΈ κΈ°λ₯μ ꡬννλ€.
- μΈμ μ μ΄μ©ν΄ ꡬννλ€.
- μΈμ μ μ ν리μΌμ΄μ λ΄λΆμ μ μ₯/κ΄λ¦¬νλ€.
- μΈμ μ μ§ μκ°μ μ ν νλ€.
- [μ ν] μ΅κ·Ό λ‘κ·ΈμΈ κΈ°λ‘κ³Ό μμ΄νΌλ₯Ό μλ³ν μ μλλ‘ νλ€.
-
κ°μΈ μ 보 μμΈ μ‘°ν κΈ°λ₯μ κ°λ°νλ€.
-
HTTP νΉμ§μ λν΄ νμ΅νλ€.
- μΏ ν€/μΈμ μ λν΄ νμ΅νλ€.
-
μΈμ κ΄λ¦¬ λ°©λ²μ λν΄ νμ΅νλ€.
μ ν리μΌμ΄μ λ΄λΆμ μ μ₯νλ λ°μ΄ν°λ₯Ό μΈλΆ λ°μ΄ν°λ² μ΄μ€μ μ μ₯νλ€.
- λ°μ΄ν°λ² μ΄μ€ μ’
λ₯λ μμ λ‘κ² μ ν νλ€.
- RDB, Redis λ±
- JDBC ν νλ¦Ώμ ꡬννλ€.
- μΆμνμ λν΄ νμ΅νλ€.
- λ°μ΄ν°λ² μ΄μ€ ν΅μ κ³Όμ μ λν΄ μ΄ν΄νλ€.
- κ° λ°μ΄ν°λ² μ΄μ€μ νΉμ§μ λν΄ μ΄ν΄νλ€.
- νΈλμμ μ λν΄ νμ΅νλ€.
맀 λ² μ μ 리μμ€λ₯Ό κ°μ Έμ€λ κ²μ λΉν¨μ¨μ μ΄κΈ° λλ¬Έμ, ν νμ΄μ§μμ μΌλΆ λ°μ΄ν°λ§ λ³κ²½ν μ μλλ‘, λ°μ΄ν° μ μ‘ λ°©μμ λ³κ²½νλ€.
- λͺ¨λ APIμ μ μ©ν νμ μμΌλ©°, κ°μΈμ 보 μμ λ§ μ μ©νλ€.
- [μ ν] μ½λλ₯Ό 리ν©ν λ§νλ€.
- κ° λ°μ΄ν° μ μ‘ λ°©μμ λν΄ νμ΅νλ€.
- μ μ 리μμ€λ₯Ό κ°μ Έμ€λ λΉμ©μ μ΅μ ν νλ λ°©λ²μ λν΄ νμ΅νλ€.