์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

Spring Boot๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฑ„ํŒ… ํ”Œ๋žซํผ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

Spring Boot๋ฅผ ํ™œ์šฉํ•˜์—ฌ JWT, ws ํ†ต์‹ ์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•˜๋ฉฐ, ๋Œ€์šฉ๋Ÿ‰ TPS๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(3.9) ์ˆ˜๊ฐ•ํ‰ 27๊ฐœ

์ˆ˜๊ฐ•์ƒ 290๋ช…

๋‚œ์ด๋„ ์ดˆ๊ธ‰

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

tps
tps
์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
์ฑ„ํŒ…ํ”„๋กœ๊ทธ๋žจ
์ฑ„ํŒ…ํ”„๋กœ๊ทธ๋žจ
tps
tps
์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
์ฑ„ํŒ…ํ”„๋กœ๊ทธ๋žจ
์ฑ„ํŒ…ํ”„๋กœ๊ทธ๋žจ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

3.9

5.0

Anfield

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๊ฐ•์˜ ์ž์ฒด๋Š” ๋„๋„ํ•˜๊ฒŒ ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด๋„ 3~4์ผ์ด๋ฉด ๋‹ค ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ •๋„์—ฌ์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋น ๋ฅด๊ฒŒ ๋ณด๋ฉด ํ•˜๋ฃจ ์ •๋„ ๋งŒ์— ๋‹ค ๋ณผ ์ˆ˜ ์žˆ์„๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋‚ด์šฉ์€ ์ธ์ฆ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ Provider๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ฒ˜๋ฆฌํ•˜์‹œ๋Š”๋ฐ, ์ฃผ ๋‚ด์šฉ์€ ์•„๋‹ˆ๊ธด ํ•ด๋„ ๊ฐ„๋žตํ•˜๊ฒŒ jwt ์ธ์ฆ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฑ„ํŒ… ๊ด€๋ จํ•ด์„œ pub sub model์„ ์„ค๋ช…ํ•ด์ฃผ์…จ๊ณ , A๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์‹œ๋ฉฐ B์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์•Œ๋ ค์ฃผ๋ฉฐ. ์Šค์Šค๋กœ ์ฐพ์•„์„œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์—ด๋ฆฐ ๊ฒฐ๋ง? ์ฒ˜๋Ÿผ ์•Œ๋ ค์ฃผ์‹ญ๋‹ˆ๋‹ค. ์ €๋„ ์ผ์„ ๊ณ„์† ํ•ด๋ณด๋ฉด์„œ ๋А๋‚€ ์ ์€ ์‹ค๋ฌด์—์„œ๋Š” ์ •๋ง ์–ด์ฒ˜๊ตฌ๋‹ˆ ์—†๋Š” ์ผ๋กœ ์‹œ๊ฐ„์„ ๋งŽ์ด ๋ณด๋‚ผ ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จํ•ด์„œ. ๊ฐ•์˜๋Š” ๋น ๋ฅด๊ฒŒ ํ˜๋Ÿฌ๊ฐ€๋ฉด์„œ, ๊ฐ•์‚ฌ๋‹˜์ด ํ‹€๋ฆฌ๊ฒŒ ์น˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด usercredential ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋งŒ๋“ค๋•Œ, Table์ด๋ฆ„์„ "user"๋กœ ์„ ์–ธํ•œ๋‹ค๋˜์ง€, mapping method์˜ ์ด๋ฆ„์„ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ํ•ด๋†“์•„์„œ front์—์„œ 404 error๊ฐ€ ๋‚˜๋Š” ๋ถ€๋ถ„. create_at -> created_at์œผ๋กœ ์„ ์–ธํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ•์˜๋ฅผ ๋ณด๊ธฐ ์ „์— ์Šค์Šค๋กœ ์ฐพ์•„์„œ ํ•ด๊ฒฐํ•˜๋Š” ๋ถ€๋ถ„์ด ์ €๋Š” ์ข‹์•˜๋Š”๋ฐ ์•ฝ๊ฐ„ ์‹ค๋ฌด ๋А๋‚Œ๋„ ๋‚˜๋ฉด์„œ ใ…Žใ…Ž ์ดˆ๋ณด์ž ๋ถ„๋“ค์€ ์™œ ์•ˆ ๋ ๊นŒ. ๊ณ ๋ฏผํ•˜์‹œ๋Š” ๋ถ„๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฐ•์˜ ํ•˜๋‚˜ ๋ณด๊ณ  ์ฑ„ํŒ… ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„œ๋น„์Šคํ•˜๊ฒ ๋‹ค. ๋ผ๋Š” ๊ฐ•์˜๋Š” ์•„๋‹ˆ๊ธด ํ•ฉ๋‹ˆ๋‹ค. ์™„์„ฑ๋„ ์žˆ๋Š” ์ฑ„ํŒ… ์„œ๋น„์Šค๋ฅผ ์™„์„ฑํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“œ๋„ค์š”. !

5.0

Deck

55% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

ํ•˜๋‚˜์˜ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃจ๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ถ€๋ถ„์„ ํ•จ๊ป˜ ๋‹ค๋ฃจ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. JPA๋„ ๋‹ค๋ฃจ๊ณ , JWT Token์— ๋Œ€ํ•ด์„œ๋„ ์ƒ์„ธํ•˜๊ฒŒ ๋‹ค๋ค„์ฃผ๋Š” ๋ถ€๋ถ„์ด ์ข‹์•˜๊ณ , wss ํ†ต์‹ ์ด ์™œ ์ผ๋ฐ˜์ ์ธ HTTP๋ณด๋‹ค IO๊ฐ€ ์ค„์–ด๋“œ๋Š”์ง€๋ฅผ ์‹ค์ œ Request๋ฅผ ๋ถ„์„ํ•˜๋ฉด์„œ ๋ณด์—ฌ์ฃผ๋Š” ๋ถ€๋ถ„์ด ์ธ์ƒ๊นŠ์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :)

5.0

ํ…Œ๋ Œ

62% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

ํ•˜๋ฃจ์— ๋ณด๊ธฐ์ข‹์€ ๋ถ„๋Ÿ‰๊ณผ ๊น”๋”ํ•œ ๋‚ด์šฉ ์ „๋‹ฌ์ด ์ข‹์€ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • Spring Boot์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

  • ws ํ†ต์‹ ์„ ํ™œ์šฉํ•œ Stateful ์„œ๋ฒ„

  • JWT๋ฅผ ํ™œ์šฉํ•œ Cookie ๊ด€๋ฆฌ ๋ฐ ์ธ์ฆ

Spring Boot๋ฅผ ๋Œ€์šฉ๋Ÿ‰ ์ฑ„ํŒ… TPS ์ฒ˜๋ฆฌํ•˜๊ธฐ ๐Ÿ˜˜

์ด ๊ฐ•์˜์—์„œ๋Š” ์ฑ„ํŒ… ์„œ๋น„์Šค๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ํ”Œ๋žซํผ์— ๋Œ€ํ‘œ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ws protocol์„ ํ™œ์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์น˜์ง€์ง, ์•„ํ”„๋ฆฌ์นดTV, Twitch ๋“ฑ๋“ฑ์„ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.


๋ณธ ๊ฐ•์˜๋Š” Spring Boot, Next.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ ‘ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , JWT๋ฅผ ํ™œ์šฉํ•œ ์ธ์ฆ ๋ฐฉ์‹์„ ์ฃผ์ œ๋กœ ๊ฐ•์˜๋ฅผ ๊ตฌ์„ฑํ•˜์˜€๊ณ , ์ด ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๋ฉด, ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ Spring Boot์™€ ws protocol์— ๋Œ€ํ•ด์„œ ์‹ฌํ™”์ ์œผ๋กœ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTP์™€ ws์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ๐Ÿ˜˜

์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ์ด๋–„๊นŒ์ง€ HTTP Protocol๋งŒ ์ฃผ๋กœ ๋‹ค๋ฃจ์–ด ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜์…จ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์‹ค์ œ ์‹ค๋ฌด์—์„œ๋Š” HTTP๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉ์„ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์™ธ์—๋„ TCP, RPC, ws ๋“ฑ ๋‹ค์–‘ํ•œ ํ†ต์‹  ๋ฐฉ์‹์ด ์กด์žฌํ•˜๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ์œ ์—ฐํ•˜๊ฒŒ ์ ์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ• ํ•˜์‹ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๊ทธ๋Ÿผ ๋Œ€ํ‘œ์ ์ธ HTTP์™€ ws์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?? ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด, Stateles์™€ Stateful์˜ ์ฐจ์ด๋กœ ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • Client์™€์˜ ์—ฐ๊ฒฐ์ด ์ง€์†์ ์ด๋ƒ ์•„๋‹ˆ๋ฉด ์ผ๋ฐ˜์ ์ด๋ƒ์˜ ์ฐจ์ด๋กœ ์ดํ•ดํ•˜์‹œ๋ฉด ๋˜๊ณ , ํ•ด๋‹น ๊ธ€์ด ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€์‹ ๋‹ค๋ฉด ์ œ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๋ฉด์„œ ํ•™์Šตํ•˜์‹œ๊ฒŒ ๋œ๋‹ค๋ฉด, ์ถฉ๋ถ„ํžˆ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์„๊ฒ๋‹ˆ๋‹ค.


websocket๋ฅผ ๊ทธ๋ƒฅ HTTP๋กœ ๊ตฌํ˜„์„ ํ•˜๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€์š”? ๐Ÿค”

๐Ÿ“Œ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ๋ฐฉ์‹์€ ์•„๋‹™๋‹ˆ๋‹ค.

๐Ÿ“Œ ํ•˜์ง€๋งŒ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ์ ˆ๊ฐ์„ ํ•˜์—ฌ ๊ฐ€์ ธ๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๊ทธ๋Ÿฌ๊ธฐ ๋–„๋ฌธ์—, ์ฑ„ํŒ…์„œ๋ฒ„์™€ ๊ฐ™์ด ์ง€์†์ ์ธ Connection์ด ์œ ์ง€๋˜์–ด์•ผ ํ•˜๋Š” ํ†ต์‹  ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” WebSocket์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š” ๐Ÿ˜˜

1โƒฃ ํŒ๊ต ๊ฐœ๋ฐœ์ž์˜ Spring Boot๋ฅผ ํ™œ์šฉํ•œ ์„œ๋ฒ„ ๊ตฌ์„ฑ

HTTP์™€ ws๋ฅผ ๋ชจ๋‘ ํ™œ์šฉํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋ฉด์„œ ์‹ค์ œ ์„œ๋ฒ„์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ JWT๋ฅผ ํ™œ์šฉํ•˜์—ฌ, user์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2โƒฃ JPA, Bean์„ ํ™œ์šฉํ•œ ์ฃผ์ž… ๋ชจ๋ธ๋ง

Spring Boot๋ฅผ ํ™œ์šฉํ–ˆ์„ ๋–„ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ํ•™์Šตํ•˜์‹œ๋Š” ๋ถ€๋ถ„์€ ๋ฌด์—‡์ผ๊นŒ์š”?? ๋Œ€๋ถ€๋ถ„์˜ Spring Boot ๊ฐœ๋ฐœ์ž๋“ค์€ ํ•ด๋‹น ๋‚ด์šฉ์„ ์ฃผ๋กœ ๋‹ค๋ฃจ๊ณ  ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŒ๊ต ๊ฐœ๋ฐœ์ž๋Š” ์–ด๋–ป๊ฒŒ Spring Boot๋ฅผ ํ™œ์šฉํ•˜๋Š”์ง€ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3โƒฃ Next.js, Typescript๋ฅผ ํ™œ์šฉํ•œ ์‹ค์Šต ํ…œํ”Œ๋ฆฟ ์ œ๊ณต

๋ณธ ๊ฐ•์˜๋Š” ๋‹จ์ˆœํžˆ ws๋ฅผ ํ™œ์šฉํ•˜๋Š” ์„œ๋ฒ„๋งŒ์„ ๊ตฌ์„ฑํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฐ•์˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์‹ค์ œ FE ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์™„์„ฑ๋„์žˆ๋Š” ํ”Œ๋žซํผ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ Skelton์„ ์ œ๊ณตํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

4โƒฃ MySQL๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

์‹ค๋ฌด์—์„œ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” DB๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?? ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š”๋ฐ์— ์žˆ์–ด์„œ RDB๋Š” ๊ต‰์žฅํžˆ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์š”.๐Ÿ˜˜

1โƒฃ ์‹ค์ œ ๊ฐœ๋ฐœ์ž์™€ ํ•จ๊ป˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ๊ตฌ์„ฑํ•˜๋Š” ํ”„๋กœ์ ํŠธ

2โƒฃ JWT์˜ ํ˜•ํƒœ์™€ ๊ทธ์—๋”ฐ๋ฅธ ๊ตฌ์„ฑ์š”์†Œ

3โƒฃ ์›น์†Œ์ผ“๊ณผ HTTP์™€ ์ฐจ์ด์™€ ๋ฆฌ์†Œ์Šค ์ ˆ๊ฐ์˜ ์ด์œ 

4โƒฃ ๊ตฌํ˜„ํ•œ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ํ•จ๊ป˜ํ•˜๋Š” ๋””๋ฒ„๊น…

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ๊ฐ•์˜๋Š” MacOS(M1) ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.



  • ๊ฐ•์˜์—์„œ๋Š” Spring Boot์™€ Next.js ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    • ๊ฐ•์˜ ์ดฌ์˜์ž๋Š” ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž ํ•™์Šต์„ ์œ„ํ•ด ์ดฌ์˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Next.js์— ๋Œ€ํ•ด์„œ๋Š” ํ…œํ”Œ๋ฆฟ๋งŒ์„ ์ œ๊ณตํ•˜๋Š”๊ฒƒ์„ ์•Œ์•„์ฃผ์„ธ์š”.


  • ์ด ๊ฐ•์˜๋Š” ์ˆ˜๊ฐ•์ƒ๋“ค์— ๋Œ€ํ•œ ํ•™์Šต ๋ฐฉํ–ฅ์„ฑ์„ ์ œ๊ณตํ•˜๋Š”๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์ง€๋งŒ, ์ถ”ํ›„ TODO๋ฅผ ๋‚จ๊ฒจ๋†“๋Š” ๊ฐ•์˜๋กœ์จ ๊ตฌ์„ฑ์ด ๋˜์–ด ์žˆ์œผ๋‹ˆ, ํ•ด๋‹น TODO๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ถ”๊ฐ€์ ์ธ ํ•™์Šต์„ ํ•˜์‹œ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

    • TODO์— ๋Œ€ํ•œ ๋ถ€๋ถ„์€ README.md ์— ๋‚จ๊ฒจ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.


  • IDE๋Š” Goland ๋ฐ vscode๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Spring Boot๊ฐ€ ์ฒ˜์Œ์ด์‹  ๋ถ„

  • HTTP๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Spring Boot

  • ๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ์ง€์‹

์•ˆ๋…•ํ•˜์„ธ์š”
Hong์ž…๋‹ˆ๋‹ค.

6,380

๋ช…

์ˆ˜๊ฐ•์ƒ

416

๊ฐœ

์ˆ˜๊ฐ•ํ‰

128

๊ฐœ

๋‹ต๋ณ€

4.7

์ 

๊ฐ•์˜ ํ‰์ 

23

๊ฐœ

๊ฐ•์˜

์ž๊ธฐ ์†Œ๊ฐœ

์ง‘์—์„œ ๋นˆ๋‘ฅ๋Œ€๋‹ค ๊ฐœ๋ฐœ์— ํฅ๋ฏธ๋ฅผ ๋А๊ปด ๊ฐœ๋ฐœ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜์˜€๊ณ  ํ˜„์žฌ๋Š” ํŒ๊ต์—์„œ ํ”Œ๋žซํผ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•˜์—ฌ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๊ณต๋ถ€๋ฅผ ํ–ˆ๋˜ ๋ฐฉ๋ฒ•๊ณผ ์‹ค๋ฌด์—์„œ ์ ‘ํ•˜์‹ค ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฌธ์ œ์ ๋“ค๊ณผ ํ•ด๊ฒฐ์ฑ…์„ ์—ฌ๋Ÿฌ๋ถ„๋“ค์—๊ฒŒ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์–ด ์ง€์‹๊ณต์œ ์ž ํ™œ๋™์„ ์ด์–ด๋‚˜๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฐ•์˜๋Š” ์˜ค๋กœ์ง€ ์ €๋งŒ์˜ ์ง€์‹์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ•์˜๋Š” ํ•จ๊ป˜ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ๊ณ„์‹ญ๋‹ˆ๋‹ค.

 

์ง€์‹๊ณต์œ ์ž ๊ฒฝ๋ ฅ

[ๅ‰] ์ƒŒ๋“œ๋ฐ•์ŠคIP ๊ด€๋ จ ๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ์ž

[ๅ‰] ๋ฉ”ํƒ€๋ฒ„์Šค ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

[็พ] ํŒ๊ต์—์„œ ๊ณ ์—ฌ๊ฐ€๋Š” ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž

 

์ธํ„ฐ๋ทฐ ์ด๋ ฅ

๊ธฐํƒ€ ๋ฌธ์˜

  • unduck2022@gmail.com

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

29๊ฐœ โˆ™ (3์‹œ๊ฐ„ 46๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

27๊ฐœ

3.9

27๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • syhwan88๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    syhwan88

    ์ˆ˜๊ฐ•ํ‰ 3

    โˆ™

    ํ‰๊ท  ํ‰์  4.3

    4

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๋„ˆ๋ฌด๋‚˜ ์ข‹์€ ๊ฐ•์˜์˜€์Šต๋‹ˆ๋‹ค. WS์™€ api์— ๋Œ€ํ•ด์„œ ์ข‹์€ ์˜ˆ์ œ์™€ ํ…Œ์ŠคํŠธ ํ•ด๋ณผ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋“ฑ ์ข‹์€ ๋‚ด์šฉ์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์•„์‰ฌ์šด์ ์€ ์„ ํ–‰๋˜์–ด์•ผํ•  ์ ๋“ค์ด ๋””๋น„์„ธํŒ…, vscode์‚ฌ์šฉ์ด๋ฉด ide์„ธํŒ… ๊ฐ™์€ ๋ช‡๊ฐ€์ง€ ์žˆ๋Š”๋ฐ ๋‚˜์™€์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ ํ•˜๋‚˜๋Š” ์ฝ”๋“œ์˜ ์˜ˆ์ œ๋Š” ์žˆ๋Š”๋ฐ ๊ทธ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์ •ํ• ๋•Œ ์™œ ์ˆ˜์ •ํ•˜์…จ๋Š”์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋งŽ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋งˆ์ง€๋ง‰ ๋ฌธ์žฅ์— ๊ฐœ๋ฐœ์ž๋Š” ํ•ด๊ฒฐํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋Š” ๋ง๊ณผ๊ฐ™์ด ๊ฒ€์ƒ‰ํ•ด์„œ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ€๋Šฅํ•œ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์ถฉ๋ถ„ํžˆ ์ข‹์€ ๊ฐ•์˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    • Hong
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐ•์˜ ์ข‹๊ฒŒ๋ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๋งŒ์กฑ์„ ๋“œ๋ฆฌ๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ์กฐ๊ธˆ ์•„์‰ฌ์šด ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ ์ฃ„์†ก์Šค๋Ÿฝ๋„ค์š” ใ… ใ…  ์•„๋ฌด๋ž˜๋„ ์ €๋Ÿฐ ๊ด€์ ์ด ์ œ๊ฐ€ ๊ฐœ๋ฐœ๊ณต๋ถ€๋ฅผ ํ˜ผ์ž์„œ ํ•˜๊ณ  ์‹ค์ œ๋กœ ๋”ฐ์˜ค๊ธฐ๋ณด๋‹ค๋Š” ์‹ค์ œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ํ˜ผ์ž์„œ ์Šค์Šค๋กœ ๊ฒ€์ƒ‰ํ•˜๊ณ  ํ•ด๊ฒฐํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์—์„œ ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ๋‹ค๊ณ  ๋А๋ผ๋‹ค๋ณด๋‹ˆ ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์ด ๊ฐ•์˜์—์„œ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋…น์•„๋“ค์—ˆ๋˜๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๋‹จ์ˆœํžˆ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ์นœ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜๊ฑฐ๋‚˜ ๋ถ™์ด๋Š” ์‚ฌ๋žŒ์€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋…์„ ์•Œ๊ณ  ํ•ด๋‹น ๊ฐœ๋…์„ ์ ์šฉํ•˜๋ฉด์„œ ๋ฐœ์ƒ๊ฐ€๋Šฅํ•œ Trade Off๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ข‹์€ ๊ฐœ๋ฐœ์ž๋ผ๊ณ  ์ƒ๊ฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ์†”์งํ•˜๊ฒŒ ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ๋ชจ๋“  ๋ถ€๋ถ„์„ ์•Œ๋ ค๋“œ๋ฆฌ๊ณ  ์‹ถ์ง€๋Š” ์•Š์•˜์–ด์š” ใ…Žใ…Ž ์Šค์Šค๋กœ ํ•ด๋ณด๋Š” ์Šต๊ด€์„ ์•Œ๋ ค๋“œ๋ฆฌ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ๋” ์ข‹์€ ๊ฐ•์˜๋กœ ์ฐพ์•„๋ต™๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ ์ด ๋งŽ์ด ์ถ”์šฐ๋‹ˆ ๊ฐ๊ธฐ ์กฐ์‹ฌํ•˜์‹œ๊ณ  ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

  • 100and๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    100and

    ์ˆ˜๊ฐ•ํ‰ 23

    โˆ™

    ํ‰๊ท  ํ‰์  4.8

    4

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์šฐ์„ , ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์žฌ๋ฐŒ๊ฒŒ ์ž˜ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค! ๋‹ค๋งŒ, ๋ช‡ ๊ฐ€์ง€ ์•„์‰ฌ์› ๋˜ ๋ถ€๋ถ„์„ ์กฐ์‹ฌ์Šค๋ ˆ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์•„์‰ฌ์› ๋˜ ์ ์€ ๊ตฌ์„ฑ์ด ๋‹ค์†Œ ์‚ฐ๋งŒํ–ˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ค‘๊ฐ„๋งˆ๋‹ค ์ ๊ฒ€ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๊ธฐ๋Šฅ์„ ์ „๋ถ€ ๊ตฌํ˜„ํ•œ ๋’ค ๋งˆ์ง€๋ง‰์— ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋‹ˆ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋๋งบ์Œ์ด ์—†๋‹ค๊ณ  ํ•ด์•ผ ํ•˜๋‚˜.. ๋งค ํฌ์ธํŠธ๋งˆ๋‹ค ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ์—†์œผ๋‹ˆ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๋‹ค ๋Œ์•„์™€์•ผํ•  ๋•Œ ์ •์‹  ์—†๋‹ค๋Š” ๋А๋‚Œ์„ ๊ฐ•ํ•˜๊ฒŒ ๋ฐ›์•˜์–ด์š”. ํˆด๋„ ์•„์‰ฝ์Šต๋‹ˆ๋‹ค. ํŠน์ • ์ด์œ ๋กœ vscode ๋ฅผ ์“ฐ์‹ค ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์žฆ์€ import ์˜ค๋ฅ˜ ๋“ฑ๋“ฑ์œผ๋กœ ํ๋ฆ„์ด ๋Š์–ด์งˆ ๋•Œ๊ฐ€ ๋งŽ์•˜์–ด์š”. ๊ตณ์ด vscode ๋กœ ์ง„ํ–‰ํ•ด์•ผ ํ•  ์ด์œ ๊ฐ€ ์žˆ์—ˆ์„๊นŒ ํ•˜๋Š” ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์„ ํƒ๊ณผ ์ง‘์ค‘์„ ํ–ˆ์œผ๋ฉด ๋” ์ข‹์ง€ ์•Š์•˜์„๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ์ œ๋ชฉ์€ "์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฑ„ํŒ… ํ”Œ๋žซํผ ๋งŒ๋“ค์–ด๋ณด๊ธฐ" ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ '์ฑ„ํŒ… ํ”Œ๋žซํผ'์ด๋ผ๋Š” ์ ์—์„œ ๋‹น์—ฐํžˆ ๊ฐ•์˜์˜ ๋ฐฉ์ ์ด ์›น ์†Œ์ผ“์— ์žˆ์„ ์ค„ ์•Œ์•˜๋Š”๋ฐ, ์ƒ๋žต๋œ ๋ถ€๋ถ„์ด ๋งŽ์•„ ์•„์‰ฌ์› ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ฑ„ํŒ… ํ”Œ๋žซํผ์„ ๋งŒ๋“œ๋Š”๋ฐ ์žˆ์–ด์„œ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„, ๊ฐ€๋ น ์•ฝ๊ฐ„์€ ๋ณต์žกํ•œ sql ๊ตฌ๋ฌธ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ๊ณผ db ์„ค๊ณ„์— ๋†“์น  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ํ•˜๋‚˜ ํ•˜๋‚˜ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์–ด์„œ ๋„ˆ๋ฌด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์‹ค๋ ฅ ์ข‹์€ ๊ฐœ๋ฐœ์ž์ด์‹  ๊ฑด ๊ฐ•์˜ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋‹จ๋ฒˆ์— ์•Œ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ๋” ์ข‹์€ ๊ฐ•์‚ฌ๊ฐ€ ๋˜์…จ์œผ๋ฉด ํ•˜๋Š” ๋ฐ”๋žŒ์— ์ฃผ์ œ ๋„˜๊ฒŒ ๊ธ€์„ ์ ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ๊ตฌ์„ฑ์ด ์กฐ๊ธˆ๋งŒ ๋” ๋‹ค๋“ฌ์–ด์ง„๋‹ค๋ฉด ์ •๋ง ์ข‹์„ ๊ฑฐ ๊ฐ™์•„์š”!

    • Hong
      ์ง€์‹๊ณต์œ ์ž

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

  • service๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    service

    ์ˆ˜๊ฐ•ํ‰ 24

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ํ˜„์žฌ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ์‹œ์ผœ๋ณด๋ ค๊ณ  ์ญˆ์šฑ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋งŒ ํ•ด๋ณธ ์ €๋กœ์จ๋Š” ์›น์†Œ์ผ“๊ณผ STOMP๋ฅผ ์ด์šฉํ•˜์—ฌ ws๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์ฑ„ํŒ…์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ถ€๋ถ„๊นŒ์ง€ ๋ชจ๋‘ ์ฝ”๋“œ์ ์œผ๋กœ๋‚˜ ws ํ†ต์‹ ์ ์œผ๋กœ๋‚˜ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€๋งŒ ์‹ค์ œ ํ”„๋ก ํŠธ์™€ ์—ฐ๋™ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ํŒŒ์ผ์„ ์„ธํŒ…ํ•˜๋Š” ์ž‘์—…์—†์ด ๋ฐ”๋กœ 3000 ํฌํŠธ๋ฅผ ํ‚ค๊ณ  ์—ฐ๋™ํ•˜๋Š” ๋ชจ์Šต์— ๋งŽ์ด ํ˜ผ๋ž€์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค. WebStorm์œผ๋กœ package.json์„ ๋กœ๋“œํ•ด๋„ ๋˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด์„œ client ํŒจํ‚ค์ง€์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ๋ณต๋ถ™ํ•œ์ฑ„ ํ•ด๋ณด์•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ์˜์กด์„ฑ ๋ฌธ์ œ๋ถ€ํ„ฐ react ๋ฒ„์ „ ๋ฌธ์ œ createContext ๋ฌธ์ œ... ๋“ฑ๋“ฑ... ๋ฐฑ์—”๋“œ๋งŒ ํ•ด์˜จ ์ €๋กœ์จ๋Š” ๋„๋ฌด์ง€ 3000ํฌํŠธ ์„œ๋ฒ„๋ฅผ ํ‚ฌ ๋ฐฉ๋ฒ•์ด ์—†๋„ค์š”.... ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ์„œ ์–ป์€ ๋ถ€๋ถ„์€ ๊น”๋”ํ•œ Swagger ์• ๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ, WebSocket - STOMP๋กœ ์ฑ„ํŒ… ๋ถ€๋ถ„์–ป์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ์ฑ„ํŒ…์€ ๋ชปํ•ด๋ดค์ง€๋งŒ....

    • Hong
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š”. ํ‰ ๋‚จ๊ฒจ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ํ…œํ”Œ๋ฆฟ ๋ถ€๋ถ„์€ ํ”„๋ก ํŠธ ์ž‘์—…์— ๋Œ€ํ•œ ๋ถ€๋ถ„์ด๋ผ์„œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์ธ ์ œ๊ฐ€ ๋‹ค๋ฃจ๊ธฐ์—๋Š” ์ž˜๋ชป๋œ ์ง€์‹์ด ์ „๋‹ฌ๋˜๊ธฐ ๋„ˆ๋ฌด ์‰ฝ๋‹ค๋Š”์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋А์ •๋„๋งŒ ํ• ์ค„์•Œ๋‹ค๋ณด๋‹ˆ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ์œ„ํ•œ UI์˜ ์šฉ๋„๋กœ ํ™œ์šฉ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ„์ „ ์ถฉ๋™์ด๋ผ๋˜์ง€ ์‹คํ–‰ํ•˜๋Š”๋ฐ์— ๋งŽ์€ ์–ด๋ ค์›€์ด ์žˆ์œผ์‹ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค ใ… ใ…  ๋‹ค์Œ ๊ฐ•์˜๋ฅผ ์ค€๋น„ํ• ๋–„์—๋Š” ์ข€ ๋” ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ๊ฒŒ, Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋กœ ๋‹ค๋ฃธ์œผ๋กœ์จ ๋ฒ„์ „ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌ์„ฑํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • Kkyle๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    Kkyle

    ์ˆ˜๊ฐ•ํ‰ 6

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    90% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์‹ค๋ฌด์—์„œ๋„ Spring์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ฃผ๋‹ˆ์–ด ์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜๊ฐ€ ๊ถ๊ธˆํ•˜์—ฌ ์ˆ˜๊ฐ•์„ ํ•ด๋ณด์•˜๋Š”๋ฐ, HTTP์™€ Socketํ†ต์‹ ์„ ๋ชจ๋‘ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. HTTP๊ฐ™์€๊ฒฝ์šฐ์—๋Š” ๋ชจ๋‘๋“ค ์‚ฌ์šฉํ•˜์‹œ๊ณ  JPA๋„ ์–ด๋А์ •๋„๋Š”?? ์•Œ๊ณ ์žˆ๊ธฐ ๋–„๋ฌธ์— ๋ณต์Šตํ•œ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ์ˆ˜๊ฐ• ํ•˜์˜€๊ณ  Socket์€ ๋‹ค๋ฃจ์–ด๋ณด์ง€ ์•Š์•˜์ง€๋งŒ, ์ด๊ฑธ ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๊ณ  ์–ด๋–ค ์ƒํ™ฉ์—์„œ ํšจ์œจ์ ์ด๊ณ  ์™œ ํšจ์œจ์ ์ธ์ง€์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์—๋”ฐ๋ฅธ ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„์ฒด๋„ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ–ˆ๊ณ ์š” ๊ฐ•์˜๊ฐ€ ๋‹ค ์•Œ๋ ค์ฃผ์‹ ๋‹ค๋Š” ๋А๋‚Œ๋ณด๋‹ค๋Š” ๋”ฑ ๊ธธ์„ ์žก์•„์ค€๋‹ค๋Š” ๋А๋‚Œ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ํ•˜๋Š”๋ฐ์— ์žˆ์–ด์„œ ์–ด๋–ค ๊ฐœ๋ฐœ๋ฐฉ๋ฒ•์ด๋‚˜ ๋ฌด์—‡์„ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜๋Š”์ง€??๋ฅผ ์•Œ๋ ค์ฃผ์‹œ๋Š” ๋А๋‚Œ์ด ๊ฐ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    • Hong
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” ์ข‹๊ฒŒ ๋ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ์— ์žˆ์–ด์„œ ๊ธฐ๋ณธ์ ์ธ ๋ถ€๋ถ„๋„ ํ•จ๊ป˜ ๋‹ค๋ฃจ๋ฉด์„œ ๊ฐ•์˜๋ฅผ ์ค€๋น„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋Œ€๋žต์ ์ธ ๊ณต๋ถ€ ๋ฐฉํ–ฅ์„ฑ๊ณผ ๊ทธ๋ฆผ์„ ์Šค์Šค๋กœ ๊ทธ๋ ค๋ณด์‹ ๊ฑฐ ๊ฐ™์•„์„œ ๊ธฐ๋ถ„์ด ์ข‹๋„ค์š”. ์•ž์œผ๋กœ ์ข‹์€ ๊ฐ•์˜๋กœ ์ฐพ์•„๋ต™๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

  • Anfield๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    Anfield

    ์ˆ˜๊ฐ•ํ‰ 38

    โˆ™

    ํ‰๊ท  ํ‰์  4.8

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๊ฐ•์˜ ์ž์ฒด๋Š” ๋„๋„ํ•˜๊ฒŒ ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด๋„ 3~4์ผ์ด๋ฉด ๋‹ค ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ •๋„์—ฌ์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋น ๋ฅด๊ฒŒ ๋ณด๋ฉด ํ•˜๋ฃจ ์ •๋„ ๋งŒ์— ๋‹ค ๋ณผ ์ˆ˜ ์žˆ์„๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋‚ด์šฉ์€ ์ธ์ฆ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ Provider๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ฒ˜๋ฆฌํ•˜์‹œ๋Š”๋ฐ, ์ฃผ ๋‚ด์šฉ์€ ์•„๋‹ˆ๊ธด ํ•ด๋„ ๊ฐ„๋žตํ•˜๊ฒŒ jwt ์ธ์ฆ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฑ„ํŒ… ๊ด€๋ จํ•ด์„œ pub sub model์„ ์„ค๋ช…ํ•ด์ฃผ์…จ๊ณ , A๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์‹œ๋ฉฐ B์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์•Œ๋ ค์ฃผ๋ฉฐ. ์Šค์Šค๋กœ ์ฐพ์•„์„œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์—ด๋ฆฐ ๊ฒฐ๋ง? ์ฒ˜๋Ÿผ ์•Œ๋ ค์ฃผ์‹ญ๋‹ˆ๋‹ค. ์ €๋„ ์ผ์„ ๊ณ„์† ํ•ด๋ณด๋ฉด์„œ ๋А๋‚€ ์ ์€ ์‹ค๋ฌด์—์„œ๋Š” ์ •๋ง ์–ด์ฒ˜๊ตฌ๋‹ˆ ์—†๋Š” ์ผ๋กœ ์‹œ๊ฐ„์„ ๋งŽ์ด ๋ณด๋‚ผ ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ด€๋ จํ•ด์„œ. ๊ฐ•์˜๋Š” ๋น ๋ฅด๊ฒŒ ํ˜๋Ÿฌ๊ฐ€๋ฉด์„œ, ๊ฐ•์‚ฌ๋‹˜์ด ํ‹€๋ฆฌ๊ฒŒ ์น˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด usercredential ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋งŒ๋“ค๋•Œ, Table์ด๋ฆ„์„ "user"๋กœ ์„ ์–ธํ•œ๋‹ค๋˜์ง€, mapping method์˜ ์ด๋ฆ„์„ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ํ•ด๋†“์•„์„œ front์—์„œ 404 error๊ฐ€ ๋‚˜๋Š” ๋ถ€๋ถ„. create_at -> created_at์œผ๋กœ ์„ ์–ธํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ•์˜๋ฅผ ๋ณด๊ธฐ ์ „์— ์Šค์Šค๋กœ ์ฐพ์•„์„œ ํ•ด๊ฒฐํ•˜๋Š” ๋ถ€๋ถ„์ด ์ €๋Š” ์ข‹์•˜๋Š”๋ฐ ์•ฝ๊ฐ„ ์‹ค๋ฌด ๋А๋‚Œ๋„ ๋‚˜๋ฉด์„œ ใ…Žใ…Ž ์ดˆ๋ณด์ž ๋ถ„๋“ค์€ ์™œ ์•ˆ ๋ ๊นŒ. ๊ณ ๋ฏผํ•˜์‹œ๋Š” ๋ถ„๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฐ•์˜ ํ•˜๋‚˜ ๋ณด๊ณ  ์ฑ„ํŒ… ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„œ๋น„์Šคํ•˜๊ฒ ๋‹ค. ๋ผ๋Š” ๊ฐ•์˜๋Š” ์•„๋‹ˆ๊ธด ํ•ฉ๋‹ˆ๋‹ค. ์™„์„ฑ๋„ ์žˆ๋Š” ์ฑ„ํŒ… ์„œ๋น„์Šค๋ฅผ ์™„์„ฑํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“œ๋„ค์š”. !

    • Hong
      ์ง€์‹๊ณต์œ ์ž

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

Hong๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

๋น„์Šทํ•œ ๊ฐ•์˜

๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

์—ฐ๊ด€ ๋กœ๋“œ๋งต

๊ฐ•์˜๊ฐ€ ํฌํ•จ๋œ ๋กœ๋“œ๋งต์œผ๋กœ ํ•™์Šตํ•ด ๋ณด์„ธ์š”!

์ง€์‹๊ณต์œ ์ž์˜ ๊นœ์งํ• ์ธ ์ค‘

โ‚ฉ42,900

25%

โ‚ฉ57,200