๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (224)

JiYoung Dev ๐Ÿ–ฅ

ํ™˜๊ฒฝ๋ณ€์ˆ˜(PATH) ์ดํ•ดํ•˜๊ธฐ

Docker๋กœ ๋ฆฌ์•กํŠธ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋‹ค๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ์–ด์„œ ๊ฐœ๋ฐœ ์„œ๋ฒ„์—์„œ node๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ„ฐ๋ฏธ๋„ ์ ‘์† ํ›„ export๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•œ ๋’ค ๋…ธ๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ๋Š” ์‹คํ–‰์ด ์ •์ƒ์ ์œผ๋กœ ๋˜์—ˆ๋Š”๋ฐ, ๋กœ๊ทธ์•„์›ƒ ํ›„ ๋‹ค์‹œ ํ„ฐ๋ฏธ๋„์— ์ ‘์†ํ•˜๋‹ˆ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •์ด ํ’€๋ ค ๋…ธ๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š์•˜๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ๋ฅผ ํ†ตํ•ด์„œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํžˆ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์•„๋ž˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. ํ™˜๊ฒฝ๋ณ€์ˆ˜ํ™˜๊ฒฝ๋ณ€์ˆ˜(PATH)๋ž€, ํ”„๋กœ๊ทธ๋žจ์„ ์ฐพ๋Š” ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋ฅผ ๋งํ•œ๋‹ค. ๋งŒ์•ฝ ์œˆ๋„์šฐ์ธ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ ค๊ณ  java -jar์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์œˆ๋„์šฐ CMD ์ฐฝ์— ์ž…๋ ฅํ•œ๋‹ค. ํ•˜์ง€๋งŒ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ์—†์ด java ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ‘java’์€(๋Š”) ๋‚ด๋ถ€..

Study/Back-End 2024. 11. 20. 21:45
์—„ํƒœ์ฃผ ์—์„ธ์ด, ๋ฐฐ์›€์˜ ๋ฐฐ์‹ 

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

books 2024. 11. 20. 21:33
JDBC์™€ Spring JDBC ๊ธฐ๋ณธ ์ดํ•ดํ•˜๊ธฐ

JDBC(Java Database Connectivity)JDBC๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ, ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ž๋ฐ” API์ด๋‹ค. ์ž๋ฐ” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค์–‘ํ•œ DBMS์— ๋Œ€ํ•ด ์ผ๊ด€๋œ API๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ๊ฒ€์ƒ‰, ์ˆ˜์ •, ๊ด€๋ฆฌ ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœ์‹œ์—๋Š” DBMS ์ข…๋ฅ˜์— ๊ด€๊ณ„์—†์ด JDBC API๋งŒ์„ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ DBMS๋ฅผ ์ œ๊ณตํ•˜๋Š” ํšŒ์‚ฌ์—์„œ JDBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ์ž๋ฐ” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” JDBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ JDBC ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด ๋กœ๋“œํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.  ๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ•˜๋Š” DBMS๊ฐ€ ๋ฐ”๊ปด๋„ ์ด์— ๋”ฐ๋ฅธ JDBC ๋“œ๋ผ์ด๋ฒ„๋งŒ ๋กœ๋“œํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—๋Š” DBMS ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์ •์ด ํ•„์š” ์—†๋‹ค.JDBC ๋“œ๋ผ์ด๋ธŒ ๋งค๋‹ˆ์ € : ์ž๋ฐ” API์—์„œ ์ง€..

Study/Java 2024. 11. 19. 22:12
๋กœ๊ทธ ๋ ˆ๋ฒจ ๋ฐ ๋กœ๊ทธ ์ž‘์„ฑ ๊ธฐ์ค€

์šด์˜์ค‘์ธ ์†”๋ฃจ์…˜์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด ์›์ธ์„ ํŒŒ์•…ํ•˜๋ ค๋Š”๋ฐ, ์—๋Ÿฌ๋ฅผ ์ œ์™ธํ•œ debug๋‚˜ info ๋กœ๊ทธ๊ฐ€ ํ•˜๋‚˜๋„ ์ฐํžˆ์ง€ ์•Š์•„ ์›์ธ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์—†๋Š” ์ผ์ด ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— ๋กœ๊ทธ ์ฐ๋Š” ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด ํŒจ์น˜๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ๋กœ๊ทธ๋ฅผ ์ฐ์–ด์•ผ ์šด์˜ํ•  ๋•Œ ์ƒํƒœ๋ฅผ ์ž˜ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฒˆ ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.๐Ÿ“– ๋กœ๊ทธ(Log)์˜ ๋ชฉ์ ๋กœ๊ทธ๋Š” ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์ด๋ฒคํŠธ์˜ ๊ธฐ๋ก์œผ๋กœ, ๊ฐœ๋ฐœ์ž์™€ ์šด์˜ ํŒ€์ด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.์„œ๋น„์Šค ๋™์ž‘ ์ƒํƒœ ํŒŒ์•…์žฅ์•  ํŒŒ์•… ๋ฐ ์•Œ๋ฆผ๋กœ๊ทธ ๋ถ„์„์„ ํ†ตํ•œ ์„œ๋น„์Šค ์ง€ํ‘œ์˜ ํ™•์ธ, ํŠธ๋žœ์žญ์…˜, ์„ฑ๋Šฅ ํŒŒ์•…ํ•˜์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ์—์„œ๋Š” ๋งค์ผ ์ˆ˜์‹ญ GB์— ๋‹ฌํ•˜๋Š” ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์–ด ์ด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ..

Study/Back-End 2024. 11. 11. 21:02
[Node.js] Express์˜ listen ๋ฐ Cors ์„ค์ •

์–ด์ œ ์ž‘์„ฑํ–ˆ๋˜ Nginx์—์„œ Reverse Proxy ์„ค์ • ํ›„ Spring Server์—์„œ Cors ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ Spring Security Cors ์„ค์ •์— ์™ธ๋ถ€๋ง ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด ํ•ด๊ฒฐํ•˜์˜€๋‹ค๊ณ  ํ•˜์˜€๋‹ค. ํ•ด๋‹น ๊ธ€์—์„œ๋Š” ์ž‘์„ฑํ•˜์ง€ ์•Š์•˜์ง€๋งŒ Node.js Express ์„œ๋ฒ„์—์„œ๋„ Cors ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋Š”๋ฐ Cors ์„ค์ •๊ณผ ํ•จ๊ป˜ app.listen("0.0.0.0")์„ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.  ์œ„์˜ ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ Cors๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ app.listen("0.0.0.0")์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ๐Ÿ”Ž Cors ์„ค์ •์˜ ์—ญํ• Cors(Cross-Origin Resource Sharing)๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ์ •์ฑ…์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์˜ ์ถœ์ฒ˜(Origin)์— ๋”ฐ๋ผ ์„œ..

Study/Back-End 2024. 11. 7. 22:10