๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€135

[JAVA] JAVA7 ๊ณผ JAVA8 ์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด์ž. ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๊ธˆ์œต๊ถŒ ๊ณ„์ •๊ณ„ ์—…๋ฌด๋ฅผ ํ•˜๋‹ค ๋ณด๋ฉด, ์‹œ์Šคํ…œ์ด ๊ต‰์žฅํžˆ ์˜ค๋ž˜๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์ž๊ฐ€ ์‹ค์ œ๋กœ ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ์˜ ์ŠคํŽ™๋„ Spring 4.x.x ์— JAVA 7 ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฒ„์ „๋“ค์ด ์ฃผ๊ธฐ์ ์œผ๋กœ ์ถœ์‹œ๋˜๋ฉด์„œ ๋ฒ„์ „๋ณ„๋กœ ์ฐจ์ด์ ์ด ๊ถ๊ธˆํ•˜์—ฌ ์ด๋ ‡๊ฒŒ ๊ธ€์„ ์ž‘์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ JAVA 7, 8์„ ์‹œ์ž‘์œผ๋กœ 11 ์ด์ƒ ๋“ฑ ๋‘ ๋ฒ„์ „๋ณ„ ๋น„๊ต๊ธ€์„ ๊ณ„์† ์ž‘์„ฑํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ ์˜ˆ์‹œ๋Š” Chatgpt๋กœ ๋„์›€์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. Spring ๊ณต์‹ ๋ฌธ์„œ์—์„œ๋Š” ์ƒˆ๋กœ์šด ๋ฒ„์ „์ด ๋‚˜์™”์„ ๋•Œ, JDK ํ˜ธํ™˜์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ์— ์ ์–ด ๋„ฃ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋‚ด์šฉ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Spring Framework Reference Documentation Spring Framewor.. 2023. 9. 8.
[DB] ์Šคํ‚ค๋งˆ์™€ ํ…Œ์ด๋ธ”์€ ๋‹ค๋ฅธ๊ฐ€์š”? ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด, ์Šคํ‚ค๋งˆ ์„ค๊ณ„ํ•˜๊ณ  ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์‹ค์ œ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ ‘๊ทผํ•  ๋•Œ, ํ…Œ์ด๋ธ” ๊ธฐ์ค€์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ๋˜ํ•œ ํ…Œ์ด๋ธ” ๋‚ด์˜ ์นผ๋Ÿผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ๊ฐ‘์ž๊ธฐ '์Šคํ‚ค๋งˆ์™€ ํ…Œ์ด๋ธ”์„ ๋™์ผํ•œ ๊ฒƒ์ธ๊ฐ€'๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ์œผ๋กœ ๊ฒ€์ƒ‰์„ ํ•˜๋ฉด ์–ด๋–ค ๋ธ”๋กœ๊ทธ๋Š” ๋™์ผํ•˜๋‹ค๊ณ  ์„ค๋ช…ํ•˜๊ณ , ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋Š” ๋‹ค๋ฅด๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ์— ๋Œ€ํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ด ๋ณด๊ณ  ๋‚ด์šฉ์„ ๊ณต์œ ํ•˜๊ณ ์ž ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ์Šคํ‚ค๋งˆ์™€ ํ…Œ์ด๋ธ”์€ ๋‹ค๋ฅด์ง€๋งŒ, DB์— ๋”ฐ๋ผ ๊ฐ™์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ChatGpt ํ•œํ…Œ ๋ฌผ์–ด๋ณด์ž. ํ…Œ์ด๋ธ” (Table) ์ด๋ž€? ํ…Œ์ด๋ธ”์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์€ ํ–‰๊ณผ ์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ํ–‰์€ ๋ ˆ์ฝ”๋“œ ๋˜๋Š” ํŠœํ”Œ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, .. 2023. 9. 6.
[Git] ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์›๊ฒฉ ์ €์žฅ์†Œ ๋‚ด์šฉ ๋ฎ์–ด์“ฐ๊ธฐ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์—ฌ๋Ÿฌ ๊ธฐ์—…๋“ค์—์„œ๋Š” ๋‹ค์–‘ํ•œ ํ˜•์ƒ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ง์žฅ์—์„œ๋„ Git ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ค‘์ ์œผ๋กœ ์•Œ๋ ค์ง„ ํ˜•์ƒ๋„๊ตฌ๊ด€๋ฆฌ ์ค‘ ํ•˜๋‚˜์ธ Git์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์œ ์šฉํ–ˆ๋˜ ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ GIt ์œผ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜์‹œ๋ฉด์„œ ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ, ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์œผ๋กœ ๋ฎ์–ด์“ฐ๊ธฐ ํ•˜๊ณ  ์‹ถ์€ ์ ์ด ์žˆ์œผ์‹ค๊นŒ์š”? ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ๋‚ด๋ ค๋ฐ›์•„์„œ ๋ฎ์–ด์“ฐ๊ธฐ ํ•˜์‹  ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ๋„ค ๋ฐ”๋กœ ํ•„์ž๊ฐ€ ๊ทธ๋žฌ์Šต๋‹ˆ๋‹ค. ๋‹จ 2์ค„์˜ ๋ช…๋ น์–ด๋ฉด, ๋ฒˆ๊ฑฐ๋กญ์ง€ ์•Š๊ฒŒ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ๋ฎ์–ด์”Œ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. * ๋ณ„๋„์˜ ๋ธŒ๋žœ์น˜๋ฅผ ๋”ฐ๋กœ ๋‘์ง€ ์•Š๊ณ , master ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…๋“œ๋ฆฝ๋‹ˆ๋‹ค. Git ๋ช…๋ น์–ด git fetch git fetch.. 2023. 9. 4.
[DB] ํ”„๋กœ์‹œ์ €(Procedure) ๊ทธ๋ฆฌ๊ณ  ๊ฒฝํ—˜ ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ์–ผ๋งˆ ์ „ ํ•„์ž๋Š” ์—ฐ์ฐจ๋ฅผ ์“ฐ๊ณ  ํœด๊ฐ€๋ฅผ ๋‹ค๋…€์™”์Šต๋‹ˆ๋‹ค.(TMI) ๋‹ค์Œ ๋‚  ์ถœ๊ทผ ํ–ˆ์„ ๋•Œ, ๊ฒฐ์‚ฐ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์—ˆ๋‹ค๊ณ  ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์‹œ์Šคํ…œ๋งˆ๋‹ค ๊ตฌ์กฐ๋‚˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ตฌ์„ฑ์ด ๋‹ค๋ฅด์ง€๋งŒ, ํ•„์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์žฌ๋ฌด ์‹œ์Šคํ…œ์€ ๊ฒฐ์‚ฐ ๋กœ์ง์— ๋งŽ์€ ํ”„๋กœ์‹œ์ €๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ์‚ฐ ์ค‘ ํ”„๋กœ์‹œ์ €๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ณณ์ด ์—๋Ÿฌ๊ฐ€ ๋‚ฌ์—ˆ๊ณ  ํ”„๋กœ์‹œ์ € ๋‚ด์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๋ถ€๋ถ„์„ ํ™•์ธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์„ ์†Œ์š”ํ–ˆ๋‹ค๊ณ  ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์‹œ์ €๋ž€ ๋ฌด์—‡์ธ์ง€, ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์–ด๋–ค ์‹์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ• ์ง€ ๊ณ ๋ฏผํ•˜๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์‹œ์ €(Procedure) ๋ž€? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ์ž‘์—…์„ ์ •๋ฆฌํ•œ ์ ˆ์ฐจ๋ฅผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ์ €์žฅํ•œ ๊ฒƒ์œผ๋กœ ์˜๊ตฌ์ €์žฅ๋ชจ๋“ˆ (Persistent Storage Module)์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.. 2023. 9. 3.
[Network] HTTP ์ƒํƒœ์ฝ”๋“œ HTTP ์ƒํƒœ์ฝ”๋“œ๋ž€? HTTP ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋Š” ํŠน์ • HTTP ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋ชจ๋“  HTTP ์‘๋‹ต ์ฝ”๋“œ๋Š” 5๊ฐœ์˜ ํด๋ž˜์Šค(๋ถ„๋ฅ˜)๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์ƒํƒœ ์ฝ”๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ์‘๋‹ต์˜ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋‘ ์ž๋ฆฌ๋Š” ํด๋ž˜์Šค๋‚˜ ๋ถ„๋ฅ˜ ์—ญํ• ์„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ต‰์žฅํžˆ ๋งŽ์€ ์‚ฌ์ดํŠธ์—์„œ HTTP์ƒํƒœ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ข…๋ฅ˜๋ณ„๋กœ ์ •๋ฆฌ๋ฅผ ์ž˜ํ•ด๋†จ์œผ๋ฉฐ, ํ•„์ž๋Š” ๊ฐœ๋ฐœ์„ ํ•ด์˜ค๋ฉด์„œ ์ž์ฃผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜๊ณ ์ž ๊ธ€์„ ๋‚จ๊น๋‹ˆ๋‹ค. 5๊ฐ€์ง€ ํด๋ž˜์Šค๋กœ ์•Œ์•„๋ณด๋Š” ์ƒํƒœ ์ฝ”๋“œ 1XX ํด๋ž˜์Šค : ์กฐ๊ฑด๋ถ€ ์‘๋‹ต ์›น ์„œ๋ฒ„๊ฐ€ ํ˜„์žฌ ์š”์ฒญ์„ ๋ฐ›์•˜์œผ๋ฉฐ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. 2XX ํด๋ž˜์Šค : ์„ฑ๊ณต ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ์ž‘์—…์„ ์„œ๋ฒ„๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 3XX ํด๋ž˜์Šค : ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์™„๋ฃŒ ํด๋ผ์ด์–ธํŠธ.. 2023. 8. 26.
[JAVA] ์˜ˆ์™ธ(Exception) ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋ฟ ์•„๋‹ˆ๋ผ ์˜ค๋ฅ˜ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ์™ธ ์ƒํ™ฉ๊นŒ์ง€ ์˜ˆ์ธกํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ด€๋ จ ์ฝ”๋“œ๋Š” ๋ฌด์„ฑ์˜ํ•˜๊ฒŒ ์ž‘์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ์ž˜๋ชป๋œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ฝ”๋“œ ๋•Œ๋ฌธ์— ๋ฒ„๊ทธ๋ฅผ ๋‚ณ์„ ์ˆ˜ ์žˆ๊ณ , ๋‚œ์ฒ˜ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜น์‹œ ์ฝ”๋”ฉ์„ ํ•˜์‹œ๋ฉด์„œ ํ•œ ๋ฒˆ์ด๋ผ๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? // 1๋ฒˆ ์˜ˆ์™ธ๋ฅผ ์žก๊ณ ๋Š” ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. try { ... // ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง } catch (SQLException e) { // ๋นˆ ๊ณต๊ฐ„ } // 2๋ฒˆ catch (SQLException e) { System.out.println(e); } // 3๋ฒˆ catch (SQLException .. 2023. 8. 26.
728x90
๋ฐ˜์‘ํ˜•