[์ผ์ •๊ด€๋ฆฌ์•ฑ Develop-3] ์ผ์ •๊ด€๋ฆฌ์•ฑ Develop ๊ณผ์ œ ํšŒ๊ณ 

2025. 4. 4. 17:49ยท๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/๋ณธ์บ ํ”„ ๊ณผ์ œ

1๏ธโƒฃ ๊ฐœ์š”

๐Ÿ“ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ

Java: JDK 17.0.1

Framework: Spring Boot 3.4.4

Build Tool: Gradle

IDE: IntelliJ IDEA

 

๐Ÿ“ GitHub ๋งํฌ & Read ME

https://github.com/222eunji/scheduleDevelop


2๏ธโƒฃ ๊ณผ์ œ ์„ค๋ช…

๐Ÿ“ ์š”๊ตฌ์‚ฌํ•ญ

๋ชฉํ‘œ1: JPA๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๋ฆฌ

๋ชฉํ‘œ2: Cookie/Session์„ ํ™œ์šฉํ•œ ์ธ์ฆ/์ธ๊ฐ€

๋ชฉํ‘œ3: ๊ธฐ๋ณธ์ ์ธ ๋ณด์•ˆ ๊ฐœ๋…๊ณผ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๊ธฐ

๋”๋ณด๊ธฐ

โœ… ๊ณตํ†ต ์กฐ๊ฑด
0. ๋ชจ๋“  ํ…Œ์ด๋ธ”์€ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง

1. 3 Layer Architecture์— ๋”ฐ๋ผ ๊ฐ Layer์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ๊ฐœ๋ฐœ

2. CRUD ํ•„์ˆ˜ ๊ธฐ๋Šฅ์€ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ฐ JPA๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐœ๋ฐœ

3. ์ธ์ฆ/์ธ๊ฐ€ ์ ˆ์ฐจ๋Š” Cookie/Session์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ

4. JPA ์—ฐ๊ด€๊ด€๊ณ„๋Š” ๋‹จ๋ฐฉํ–ฅ

โœ… Lv0. API ๋ช…์„ธ ๋ฐ ERD ์ž‘์„ฑ
1. API๋ช…์„ธ์„œ ํ”„๋กœ์ ํŠธ root(์ตœ์ƒ์œ„)๊ฒฝ๋กœ์˜ README.md์— ์ž‘์„ฑ
2. ERD ์ž‘์„ฑ ํ›„ ํ”„๋กœ์ ํŠธ root(์ตœ์ƒ์œ„)๊ฒฝ๋กœ์˜ README.md์— ์ฒจ๋ถ€
3. ์„ค์น˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(MYSQL)์— ERD๋ฅผ ๋”ฐ๋ผ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

โœ… Lv1. ์ผ์ • CRUD [ํ•„์ˆ˜]
1. ์ผ์ •์„ ์ƒ์„ฑ, ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ ํ•œ๋‹ค.

2. ์ผ์ •์€ ์•„๋ž˜ ํ•„๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค.
ใ€€- ์ž‘์„ฑ ์œ ์ €๋ช…, ํ• ์ผ ์ œ๋ชฉ, ํ• ์ผ ๋‚ด์šฉ, ์ž‘์„ฑ์ผ, ์ˆ˜์ •์ผ ํ•„๋“œ

ใ€€- ์ž‘์„ฑ์ผ, ์ˆ˜์ •์ผ ํ•„๋“œ๋Š” JPA Auditing์„ ํ™œ์šฉ

โœ… Lv2. ์œ ์ € CRUD [ํ•„์ˆ˜]

1. ์œ ์ €๋ฅผ ์ƒ์„ฑ, ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œํ•œ๋‹ค.

2. ์ผ์ •์€ ์•„๋ž˜ ํ•„๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค.
ใ€€- ์œ ์ €๋ช…, ์ด๋ฉ”์ผ, ์ž‘์„ฑ์ผ, ์ˆ˜์ •์ผ ํ•„๋“œ

ใ€€- ์ž‘์„ฑ์ผ, ์ˆ˜์ •์ผ ํ•„๋“œ๋Š” JPA Auditing์„ ํ™œ์šฉ

3. ์—ฐ์ธ๊ด€๊ณ„๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.
ใ€€- ์ผ์ •์€ ์ด์ œ ์ž‘์„ฑ ์œ ์ €๋ช… ํ•„๋“œ ๋Œ€์‹  ์œ ์ € ๊ณ ์œ  ์‹๋ณ„์ž ํ•„๋“œ๋ฅผ ๊ฐ€์ง

 

โœ… Lv3. ํšŒ์›๊ฐ€์ž… [ํ•„์ˆ˜]

1. ์œ ์ €์— ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

ใ€€- ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”๋Š” ๋„์ „ ๊ธฐ๋Šฅ์—์„œ ์ˆ˜ํ–‰

 

โœ… Lv4. ๋กœ๊ทธ์ธ(์ธ์ฆ) [ํ•„์ˆ˜]

0. ์ธํ„ฐํŽ˜์ด์Šค

ใ€€- HttpServletRequest / HttpServletResponse : ๊ฐ HTTP ์š”์ฒญ์—์„œ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ฐ’๋“ค์„ ๋‹ด๊ณ  ์žˆ๋‹ค.

1. ์„ค๋ช…

ใ€€- Cookie/Session์„ ํ™œ์šฉํ•ด ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„

ใ€€- ํ•„ํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ์ธ์ฆ ์ฒ˜๋ฆฌ

ใ€€- @Configuration์„ ํ™œ์šฉํ•ด ํ•„ํ„ฐ ๋“ฑ๋ก

2. ์กฐ๊ฑด

ใ€€- ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ™œ์šฉํ•ด ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

ใ€€- ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ์š”์ฒญ์€ ์ธ์ฆ ์ฒ˜๋ฆฌ์—์„œ ์ œ์™ธ

3. ์˜ˆ์™ธ์ฒ˜๋ฆฌ

ใ€€- ๋กœ๊ทธ์ธ ์‹œ ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ HTTP Status code 401์„ ๋ฐ˜ํ™˜ (๐Ÿค•๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.๐Ÿ’ฌ)


โœ… ์—ฌ์ „ํžˆ ๋„์ „ ๊ธฐ๋Šฅ ์€ ์‹œ๋„ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.ใ… ใ… 


 

๐Ÿ“ ์ฝ”๋“œ ์ž‘์„ฑ ํ๋ฆ„

๋”๋ณด๊ธฐ

๊ณผ์ œ ๊ฐ€์ด๋“œ์—์„œ๋Š” ์ผ์ •, ์œ ์ € CRUD๋ฅผ ๊ตฌํ˜„ ํ›„ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ.. ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์ด ์˜ค๋ž˜๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™์€ ๋‘๋ ค์›€์— ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ์ง„ํ–‰ํ•ด๋ฒ„๋ ธ๋‹ค. (0 → 3 → 2 → 1 → 4 ์ˆœ์„œ)

// Lv.0,3 ์‹œ์ž‘
1. ๊ณผ์ œ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ API ๋ช…์„ธ์„œ์™€ ERD ์ž‘์„ฑ
- ๋งํฌ ์ฐธ๊ณ : [์ผ์ •๊ด€๋ฆฌ์•ฑ Develop-1] ERD ๋ฐ API ๋ช…์„ธ์„œ ์ž‘์„ฑ (https://aggeeeee.tistory.com/255)

2. ์œ ์ €์— ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ๋„ ํฌํ•จํ•ด์„œ ERD ์ž‘์„ฑ

//Lv2,1 ์‹œ์ž‘
3. JPA Auditing์„ ํ™œ์šฉํ•˜์—ฌ BseeEntity ์ž‘์„ฑ (์ž‘์„ฑ์ผ, ์ˆ˜์ •์ผ)

4. Schedule๊ณผ User entity ๋ฐ”๋กœ ์ž‘์„ฑ ํ›„ ์—ฐ์ธ๊ด€๊ณ„ ๊ตฌํ˜„

5. Schedule Entity์— @ManyToOne์„ ์ด์šฉํ•˜๊ณ , UserId๋กœ Join

6. User CRUD ๊ตฌํ˜„ (Controller → DTO → Service → Repository ์ˆœ์„œ๋กœ ์ž‘์„ฑํ•ด๋‚˜๊ฐ)

7. Schedule CRUD ๊ตฌํ˜„ (์œ„์™€ ๋™์ผ)

8. dtoํŒจํ‚ค์ง€์— ํด๋ž˜์Šค๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ๊ฒƒ ๊ฐ™์•„์„œ ๋„๋ฉ”์ธ ๋ณ„๋กœ ๋ถ„๋ฆฌ

 

//Lv4 ์‹œ์ž‘
9. 2์ฃผ์ฐจ Servlet Filter ์‹ค์Šต์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ์ž‘

10. @Configuration์œผ๋กœ Filter Bean ์ˆ˜๋™ ๋“ฑ๋ก

11. LoginFilter ํด๋ž˜์Šค ์ž‘์„ฑ (์‹ค์Šต ๋”ฐ๋ผ ์”€ ใ… ใ… )

12. User Controller์— ๋กœ๊ทธ์ธ ๋‚ด์šฉ ์ถ”๊ฐ€ํ•จ

13. WHITE_LIST๋ฅผ ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ์š”์ฒญ๋งŒ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

14. ์—ฌ๊ธฐ๊นŒ์ง€....  ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋Š” ๋ชปํ–ˆ๋‹ค. ๐Ÿ˜ญ



3๏ธโƒฃ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •

๐Ÿ“ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… (๋ณ„๋„ ์ž‘์„ฑ, ๐Ÿ’ฅํด๋ฆญ ์‹œ ๊ฒŒ์‹œ๊ธ€ ์—ฐ๊ฒฐ)

๐Ÿ’ฅ ๋ฌธ์ œ1. ์ƒ์„ฑ์ž์— final ํ•„๋“œ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์Œ
๐Ÿ’ฅ ๋ฌธ์ œ2. findByEmail()์‚ฌ์šฉ ์‹œ ์„ ์–ธํ•˜์ง€ ์•Š์•„ ์ƒ๊ธด ์˜ค๋ฅ˜
๐Ÿ’ฅ ๋ฌธ์ œ3. ์„ธ์…˜์—์„œ ์‚ฌ์šฉํ•œ ํ‚ค๋ฅผ ์ผ์น˜์‹œํ‚ค์ง€ ์•Š์•„ ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š์Œ


4๏ธโƒฃ ํšŒ๊ณ 

: ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์–ป์€ ๊ฒฝํ—˜ & ๋А๋‚€ ์  ์ •๋ฆฌ

 

๐Ÿ“ ๋ฐฐ์šด ์ 

๐Ÿช„ JPA ๋•๋ถ„์— DB์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ

  • JDBC์—์„œ๋Š” DB์—ฐ๊ฒฐ์— ์†๋„ ๋ชป๋Œ”์—ˆ๋Š”๋ฐ, JPA๋Š” ๊ฐ„๋‹จํ•ด์„œ DB์—ฐ๊ฒฐ๋ถ€ํ„ฐ CRUD๊ตฌํ˜„๊นŒ์ง€ ์ง์ ‘ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • JPA๋ฅผ ์ข€ ๋” ์„ฌ์„ธํ•˜๊ฒŒ(?) ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  JDBC๋„ ์•Œ์•„์•ผํ•œ๋‹ค๊ณ  ํ•˜๋‹ˆ, JPA์— ์ต์ˆ™ํ•ด์ง€๋ฉด  JDBC์‚ฌ์šฉ๋ฒ•๋„ ๊ผญ ์ตํ˜€์•ผ๊ฒ ๋‹ค.!

๐Ÿช„ API ๋ช…์„ธ์„œ ํ™œ์šฉ

  • ์ด์ „ ๊ณผ์ œ์—๋Š” ERD๋งŒ ๋ณด๊ณ  ๋„˜์–ด๊ฐ”๋Š”๋ฐ, ์ด๋ฒˆ์—” DTO ์ž‘์„ฑ์‹œ ๋ช…์„ธ์„œ๋ฅผ ๊ณ„์† ์ฐธ๊ณ ํ–ˆ๋‹ค.
  • ์ค‘๊ฐ„์ค‘๊ฐ„ ๋‚ด์šฉ ์ˆ˜์ •๋„ ๋ฐ˜์˜ํ•˜๋„๋ก ์‹ ๊ฒฝ์ผ๋‹ค. ๋‹ค๋งŒ ์ƒํƒœ์ฝ”๋“œ์— ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ์ฝ”๋“œ๋ฅผ ์ œ๋Œ€๋กœ ์ž‘์„ฑ/ํ™œ์šฉํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.

๐Ÿช„ DTO ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ ๋ฐฉ์‹์— ๋Œ€ํ•ด ๊ณ ๋ฏผ

  • ํŒ€์›๋ถ„์˜ ์ฝ”๋“œ์—์„œ Request/Response๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋ถ„๋ฆฌํ•œ ๊ฒƒ์„ ๋ณด๊ณ  ์ฐธ๊ณ ํ•˜์—ฌ DTO๋ฅผ ๋„๋ฉ”์ธ๋ณ„๋กœ ๋ถ„๋ฆฌํ–ˆ๋‹ค.
  • DTO๋งŒ ๋„๋ฉ”์ธ๋ณ„๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋ถ„๋ฆฌํ–ˆ๋Š”๋ฐ, ๊ณผ์ œํ•ด์„ค ์„ธ์…˜์„ ๋ณด๋‹ˆ 3๋ ˆ์ด์–ด๋ฅผ ๋ชจ๋‘ ๋„๋ฉ”์ธ๋ณ„๋กœ ๋ถ„๋ฆฌํ•˜์…จ๋‹ค.
  • ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์˜ ์ˆ˜์ค€์—์„œ๋Š” ํ˜„์žฌ์ƒํƒœ๋กœ๋งŒ ๋ถ„๋ฆฌํ•ด๋„ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์‹ค๋ฌด์—์„œ ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๋ฉด ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ๋„ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿช„ ์ฝ”๋“œ๋ฅผ ํ˜ผ์ž ์ž‘์„ฑํ•œ ๋น„์œจ์ด ์กฐ๊ธˆ ๋Š˜์–ด๋‚จ

  • ์ด์ „ ์ผ์ •๊ด€๋ฆฌ์•ฑ ๊ณผ์ œ๋Š” ๊ฐ•์˜์˜ ์‹ค์Šต๋ถ€๋ถ„์„ ๋”ฐ๋ผ ์“ฐ๋А๋ผ 99%๋ฅผ ๋ฒ ๋ผ๋“ฏ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ, ์ด๋ฒˆ ๊ณผ์ œ์—์„œ๋Š” 10%์ •๋„๋Š” ํ˜ผ์ž ์“ฐ๊ฒŒ๋œ ๊ฒƒ ๊ฐ™๋‹ค. ์•„์ง ๋งŽ์ด ๋ถ€์กฑํ•˜์ง€๋งŒ 10๋ฐฐ๋Š” ๋น„์œจ๋กœ ๋”ฐ์ง€๋ฉด 10๋ฐฐ(!!?) ์„ฑ์žฅํ–ˆ๋‹ค.

 

๐Ÿ“ ์•„์‰ฌ์šด ์ 

โœ’๏ธ ๋ ˆ๋ฒจ ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•จ

  • ๊ณผ์ œ์—์„œ ์ง€์ •ํ•ด์ค€ ๊ตฌํ˜„ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š”๋ฐ, ๋ฆฌํŒฉํ† ๋ง ํ•˜๋Š” ๊ณผ์ •์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™์•„ 3 → 2 → 1 ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.
  • ํŽธํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋ ค๋ฉด ์ด ํ๋ฆ„์ด ๋งž๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ, ํ•™์Šตํ•˜๋Š” ๋‹จ๊ณ„์—์„œ๋Š” ๋ฆฌํŒฉํ† ๋ง ํ•˜๋Š” ๊ณผ์ •์„ ๊ฒช๋Š” ๊ฒŒ ์„ฑ์žฅ์— ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•˜์—ฌ ์•„์‰ฌ์› ๋‹ค.
  • ์ƒ๊ฐ๋ณด๋‹ค ๊ธˆ๋ฐฉ ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋‹ค์Œ ๊ณผ์ œ๋Š” ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •๋„ ๊ฒช์–ด๋ณด์ž.

โœ’๏ธ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•จ

  • ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ ํ›„ ์‚ญ์ œ๋ฅผ ํ•˜๊ณ  ์‹ถ์€๋ฐ DELETE๋Š” @RequestBody๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค.
  • ๋ณดํ†ต์€ DELETE + query param ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ.. ํ˜„์žฌ ์ˆ˜์ค€์œผ๋กœ๋Š” ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.
  • ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋„ ์ œ๋Œ€๋กœ ๋ชปํ–ˆ๊ณ   Validation๋Š” ํ•˜๋‚˜๋„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
  • ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์šฐ๊ณ  ์ถ”ํ›„์— ๋ฆฌํŒฉํ† ๋ง ํ•ด๋ณด์ž.

โœ’๏ธ ํด๋ž˜์Šค ๋ช…์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง

  • ์ง๊ด€์ ์ธ ํด๋ž˜์Šค๋ช…์„ ์ง“๊ณ ์‹ถ์–ด์„œ ์ •๋ณด๋ฅผ ๋‹ค ๋‹ด์œผ๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ํด๋ž˜์Šค๋ช…์ด๋‚˜ DTO๋ช…์ด ๋„ˆ๋ฌด ๊ธธ์–ด์กŒ๋‹ค.
  • ์ ๋‹นํ•œ ๋„ค์ด๋ฐ์˜ ๋ฐธ๋Ÿฐ์Šค๋ฅผ ์ฐพ๋Š” ๊ฒŒ ์•ž์œผ๋กœ ๊ณผ์ œ๋‹ค.(๋„ค์ด๋ฐ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์€ ์ฒซ๊ณผ์ œ๋ถ€ํ„ฐ ๊พธ์ค€ํžˆ ์ง€์†๋˜๊ณ ์žˆ๋‹ค..) 

โœ’๏ธ ์ŠคํŠธ๋ฆผ ์‚ฌ์šฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์Œ(Java ์ง€์‹ ๋ถ€์กฑ)

  • ์ „์ฒด ์กฐํšŒ๋ฅผ ํ•˜๋Š” ๊ณผ์ •์—์„œ stream()์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์‚ฌ์šฉ ๋ฒ•์„ ๋ชฐ๋ผ์„œ ๊ฐ•์˜์˜ ์‹ค์Šต ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๋”ฐ๋ผ์ผ๋‹ค.
  • ๊ทธ ์™ธ์—๋„ Java ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด ๋” ๊ณต๋ถ€ํ•  ํ•„์š”๊ฐ€ ๋А๊ปด์กŒ๋‹ค.
  • ํ•ด๊ฒฐ๋ฒ•์€ ๋”ฐ๋กœ ์‹œ๊ฐ„๋‚ด์„œ ํ•™์Šตํ•˜๊ธฐ ๋ฟ์ด๋‹ค... ํ•ด์•ผํ•œ๋‹ค!

โœ’๏ธ ์ปค๋ฐ‹์„ ๊นœ๋นกํ•จ

  • ์ค‘๊ฐ„์ค‘๊ฐ„ ์ปค๋ฐ‹์„ ์ž์ฃผ ๊นœ๋นกํ–ˆ๋‹ค.
  • ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ์ปค๋ฐ‹ํ•˜๋Š” ์Šต๊ด€์„ ๊ผญ ๋“ค์ด์ž.

'๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ > ๋ณธ์บ ํ”„ ๊ณผ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฐ๋‹ฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์›ƒ์†Œ์‹ฑ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ   (3) 2025.04.29
[Spring ์‹ฌํ™”] ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ œ ํšŒ๊ณ   (4) 2025.04.18
[์ผ์ •๊ด€๋ฆฌ์•ฑ Develop-2] ์ผ์ •๊ด€๋ฆฌ์•ฑ Develop ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…  (0) 2025.04.03
[์ผ์ •๊ด€๋ฆฌ์•ฑ Develop-1] ERD ๋ฐ API ๋ช…์„ธ์„œ ์ž‘์„ฑ  (0) 2025.04.02
[์ผ์ •๊ด€๋ฆฌ์•ฑ ๋งŒ๋“ค๊ธฐ-3] ์ผ์ •๊ด€๋ฆฌ์•ฑ ๊ณผ์ œ ํšŒ๊ณ   (1) 2025.03.26
'๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/๋ณธ์บ ํ”„ ๊ณผ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฐ๋‹ฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์›ƒ์†Œ์‹ฑ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 
  • [Spring ์‹ฌํ™”] ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ œ ํšŒ๊ณ 
  • [์ผ์ •๊ด€๋ฆฌ์•ฑ Develop-2] ์ผ์ •๊ด€๋ฆฌ์•ฑ Develop ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…
  • [์ผ์ •๊ด€๋ฆฌ์•ฑ Develop-1] ERD ๋ฐ API ๋ช…์„ธ์„œ ์ž‘์„ฑ
aggeeeee
aggeeeee
ใ€€ φ(๏ผŽ๏ผŽ;)ใ€€๐Ÿ”œใ€€\_ใธ(โ–ญ-โ–ญ)โœจ
  • aggeeeee
    ๐Ÿฅ” ๋‹˜์˜ ๋ธ”๋กœ๊ทธ
    aggeeeee
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (155)
      • Today I Learned (25)
      • ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ (115)
        • ๋ณธ์บ ํ”„ ๊ณผ์ œ (17)
        • ์‚ฌ์ „์บ ํ”„ ๊ณผ์ œ (23)
        • SQL ์ฝ”๋“œ์นดํƒ€ (44)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€ (31)
      • ๐Ÿ’ป๐Ÿš€ (15)
        • Java (7)
        • Git & GitHub (1)
        • CS (4)
        • Spring & SpringBoot (3)
  • ๋งํฌ

  • ์ตœ๊ทผ ๊ธ€

  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
aggeeeee
[์ผ์ •๊ด€๋ฆฌ์•ฑ Develop-3] ์ผ์ •๊ด€๋ฆฌ์•ฑ Develop ๊ณผ์ œ ํšŒ๊ณ 
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”