2021๋…„ 12์›” 06์ผ๐Ÿ˜— (๋ชจ์˜๋ฉด์ ‘)

๊น€๊ด‘ํ›ˆยท2021๋…„ 12์›” 6์ผ
2

TIL(Today I Learned)

๋ชฉ๋ก ๋ณด๊ธฐ
47/49

๐Ÿฅ•๋ชจ์˜๋ฉด์ ‘ ํšŒ๊ณ 

๋ฉด์ ‘๊ด€๋‹˜๊ป˜์„œ ๋ง์”€ํ•˜์‹œ๊ธธ, ์ž๊ธฐ๊ฐ€ ์‚ฌ์šฉํ•œ ์Šคํƒ์— ๋Œ€ํ•ด์„œ๋Š” ๋ง๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋งž๋‹ค. ๋‚˜๋„ ์ตœ์†Œํ•œ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ , ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•ด์„œ๋Š” ์„ค๋ช…ํ•  ์ค„ ์•„๋Š”๊ฒŒ ๋งž๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๋‹ต์„ ์ œ๋Œ€๋กœ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ํ•œ๋‹ฌ ๋‚จ์•˜๋Š”๋ฐ ํ•œ๋‹ฌ ๋’ค์— ๋‚ด๊ฒŒ ๋ฌด์—‡์ด ๋‚จ์•„ ์žˆ์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.
๊ทธ๋ž˜๋„ ์˜ค๋Š˜ ๋ฉด์ ‘์„ ํ†ตํ•ด ๋‚ด๊ฐ€ ์–ด๋–ค ๋ถ€๋ถ„์„ ์ฑ„์›Œ์•ผ ๋˜๋Š”์ง€ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์—ฟ๋ณธ ๊ฒƒ ๊ฐ™๋‹ค ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ๋™๊ธฐ๋ถ€์—ฌ๊ฐ€ ๋˜์—ˆ๋‹ค. ๊ณ„์†ํ•ด์„œ ์Ÿ์•„์ง€๋Š” ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ๊ณผ ํ”„๋กœ์ ํŠธ์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•จ์— ์žˆ์–ด. ์กฐ๊ธˆ์”ฉ ์ง€์ณ๊ฐ”๋Š”๋ฐ ๋ฉด์ ‘์„ ์ค€๋น„ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๋งŒ๋“  ๊ธฐ๋Šฅ์„ ๋ณด๋ฉด์„œ ๋‚ด๊ฐ€ ๋งˆ๋ƒฅ ๋†€์ง€๋Š” ์•Š์•˜๊ตฌ๋‚˜๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋ฉด์ ‘์„ ๋ณด๊ณ ๋‚˜์„œ ๋‚ด๊ฐ€ ๊ฐœ๋… ์ ์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ์•„์ง ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์žˆ๋Š”๊ฒŒ ์–ผ๋งˆ ์—†๊ตฌ๋‚˜๋ผ๊ณ  ๋ถ€์กฑํ•œ ๋ถ€๋ถ„๋„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.


๐Ÿฅ• ๋ชจ์˜๋ฉด์ ‘ ์งˆ๋ฌธ ์ •๋ฆฌ

- ์„œ๋ฒ„๋ฆฌ์Šค์— ๋Œ€ํ•ด์„œ ์„ค๋ช… ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค๋ž€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ํด๋ผ์šฐ๋“œ ์ œ๊ณต ์—…์ฒด๊ฐ€ ์„œ๋ฒ„ ์ธํ”„๋ผ, ์œ ์ง€๋ณด์ˆ˜, ์Šค์ผ€์ผ๋ง์— ๋Œ€ํ•œ ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•ด์ฃผ๋Š” ๊ฐœ๋ฐœ ๋ชจ๋ธ์ด๋‹ค.

- docker ์ปจํ…Œ์ด๋„ˆ์™€ ์ด๋ฏธ์ง€์˜ ์ฐจ์ด

์ด๋ฏธ์ง€๋ž€, ์„œ๋น„์Šค ์šด์˜์— ํ•„์š”ํ•œ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ, ์†Œ์Šค์ฝ”๋“œ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ปดํŒŒ์ผ๋œ ์‹คํ–‰ํŒŒ์ผ์„ ๋ฌถ์–ด๋†“์€ ๊ฒƒ์„ ์ด๋ฏธ์ง€๋ผ๊ณ  ํ•œ๋‹ค. ์ฆ‰ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ํŒŒ์ผ์„ ๋‹ด์•„๋‘” ํŒŒ์ผ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€๋Š” docker ์ €์žฅ์†Œ์— ์˜ฌ๋ ค๋†“๊ณ  pull, pushํ•  ์ˆ˜ ์žˆ๋‹ค.
์ปจํ…Œ์ด๋„ˆ๋ž€, ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•œ ์ƒํƒœ๋กœ ์‘์šฉํ”„๋กœ๊ทธ๋žจ๊ณผ ์ข…์†์„ฑ์„ ๊ฐ–๋Š” ๋ชจ๋“  ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฐ™์€ ๋…๋ฆผ๋œ ๊ณต๊ฐ„์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์ž‘์‹œํ‚ค๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ด๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ปจํ…Œ์ด๋„ˆ๋Š” ๋˜ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ๋ผ๊ณ ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

- ๋กœ๊ทธ์ธ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋Š”์ง€?

Spring Boot์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Spring Security๋ฅผ ์‚ฌ์šฉ์ž์˜ ํ† ํฐ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๊ณ  ์œ ํšจํ•œ ์‚ฌ์šฉ์ž์ธ์ง€ ํ™•์ธํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ Spring Security์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•ด์ฃผ๋Š” Session๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ณ  Jwt Token ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์—์„œ Jwt ํ† ํฐ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ ์ด์œ ๋กœ๋Š” ์ถ”ํ›„์— ์„œ๋ฒ„์—์„œ ์Šค์ผ€์ผ๋ง์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์„ธ์…˜๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ชจ๋“  ์„œ๋ฒ„์— ์œ ์ € session ์ •๋ณด๋ฅผ ๋ณด๊ด€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ถˆํ•ฉ๋ฆฌํ•œ ์ ๊ณผ ํ™•์žฅ์„ฑ์ด ์žˆ์–ด Jwt ํ† ํฐ ๋ฐฉ์‹์„ ์„ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

- RestAPI์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”

REST(Representational State Transfer)์˜ ์•ฝ์ž๋กœ ์ž์›์„ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ฆ‰ REST๋Š”
1. HTTP URL์„ ํ†ตํ•ด ์ž์›์„ ๋ช…์‹œํ•˜๊ณ 
2. HTTP Method๋ฅผ ํ†ตํ•ด URL ์ž์›์˜ ์ƒํƒœ(CRUD)๋ฅผ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  REST API๋Š” REST์˜ ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฅด๋Š” API๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ฆ‰ REST API๋Š” API๋ฅผ ๋งŒ๋“œ๋Š” ์•„ํ‚คํ…์ณ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

- Spring mvc์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ถ”๊ฐ€์ ์œผ๋กœ ์ฝ์–ด๋ณด๊ณ  ์ •๋ฆฌํ•˜์ž

- junit5 tdd์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ด๊ฑฐ๋Š” ๋‚ด๊ฐ€ ๊ถ๊ธˆํ•œ๊ฑฐ ์ถ”๊ฐ€์ ์œผ๋กœ ์ฝ์–ด๋ณด๊ณ  ์ •๋ฆฌํ•˜์ž.


๐Ÿฅ• ๋ชจ์˜๋ฉด์ ‘ ์กฐ์–ธ ์ •๋ฆฌ

  • ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ์Šคํƒ์— ๋Œ€ํ•ด์„œ๋Š” ๋ง๋กœ ํ’€์–ด์„œ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ์„ธ์š”.

์ฐธ์กฐ

๋„์ปค ์ด๋ฏธ์ง€์™€ ์ปจํ…Œ์ด๋„ˆ : https://hoon93.tistory.com/48
์„ธ์…˜๊ณผ JWT Token์˜ ์ฐจ์ด์  : https://fierycoding.tistory.com/69
REST API ๋ž€? : https://khj93.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-REST-API%EB%9E%80-REST-RESTful%EC%9D%B4%EB%9E%80
Sping MVC๋ž€? : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kksssii&logNo=220658615169

profile
์ž˜ ๋ถ€ํƒ๋“œ๋ ค์š”

0๊ฐœ์˜ ๋Œ“๊ธ€