๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋กœ์ ํŠธ6

์ผ์ • ๊ด€๋ฆฌ ์•ฑ Develop_ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๊ณผ์ œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋ฌธ์ œ ์ƒํ™ฉ์ผ์ • ์ƒ์„ฑ API๋ฅผ ์™„์„ฑํ•˜๊ณ  Postman์œผ๋กœ ํ…Œ์ŠคํŠธํ–ˆ์ง€๋งŒ 500 Internal Server Error๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.๋ฌธ์ œ ์›์ธ์ฝ”๋“œ์—์„œ @EntityListeners ์–ด๋…ธํ…Œ์ด์…˜์ด ์ž˜๋ชป๋œ ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.์ž˜๋ชป๋œ ์ฝ”๋“œ@EntityListeners(EntityListener.class)์ด๋กœ ์ธํ•ด EntityListener๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์•„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•@EntityListeners ์–ด๋…ธํ…Œ์ด์…˜์„ ์˜ฌ๋ฐ”๋ฅธ ํด๋ž˜์Šค์ธ AuditingEntityListener๋กœ ์ˆ˜์ •ํ–ˆ๋‹ค.์ˆ˜์ •๋œ ์ฝ”๋“œ@EntityListeners(AuditingEntityListener.class)์ˆ˜์ • ํ›„ Postman์œผ๋กœ ๋‹ค์‹œ ์š”์ฒญ์„ ๋ณด๋ƒˆ๊ณ , ์ •์ƒ์ ์œผ๋กœ ์ผ์ •์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.๊ฒฐ๋ก  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์–ด๋…ธํ…Œ์ด.. 2024. 12. 19.
์ผ์ • ๊ด€๋ฆฌ ์•ฑ ๋งŒ๋“ค๊ธฐ ๊ณผ์ œ_KPT ํšŒ๊ณ  ์ผ์ • ๊ด€๋ฆฌ ์•ฑ ๋งŒ๋“ค๊ธฐ ๊ณผ์ œ Keep : ์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์œ ์ง€ํ–ˆ์œผ๋ฉด ํ•˜๋Š” ๋ถ€๋ถ„์š”๊ตฌ์‚ฌํ•ญ ๊ผผ๊ผผํ•˜๊ฒŒ ์‚ดํ”ผ๊ธฐ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ฒ ์ €ํ•˜๊ฒŒ ๋ถ„์„ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.๊ณผ์ œ์˜ ์ง„ํ–‰ ์‚ฌํ•ญ์„ ๊พธ์ค€ํžˆ ๊ธฐ๋กํ•˜๊ธฐNotion์„ ํ™œ์šฉํ•ด์„œ ๊ณผ์ œ ์ง„ํ–‰ ์ƒํ™ฉ, ๊ณ ๋ฏผํ–ˆ๋˜ ๋ถ€๋ถ„, ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ์‚ฌ๋ก€ ๋“ฑ์„ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ง„ํ–‰ํ–ˆ๋‹ค.๊ธฐ๋ก์ด ์ถ”ํ›„ ๋ณต์Šต๊ณผ ํ•™์Šต์— ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.์–ด๋ ค์šด ๋ถ€๋ถ„์—๋„ ์ผ๋‹จ ๋„์ „ํ•˜๊ธฐ์•„์ง Spring์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์ด ์™„๋ฒฝํ•˜๊ฒŒ ์žกํžˆ์ง€ ์•Š์•˜์ง€๋งŒ, ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์‹ค์Šตํ•˜๊ณ  ์ดํ•ด๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ง์ ‘ ๋ถ€๋”ชํžˆ๋ฉด์„œ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์ด ํšจ๊ณผ์ ์ด์—ˆ๋‹ค.๊ฐ•์˜ ์‹ค์Šต ์ฝ”๋“œ ์ ๊ทน ํ™œ์šฉํ•˜๊ธฐ๊ฐ•์˜ ์‹ค์Šต ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.๋‹จ์ˆœํžˆ Ctrl+C, Ctrl+V๋ฅผ ํ•˜์ง„ ์•Š์•˜๊ณ  ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ์ฝ”๋“œ์˜ ํ๋ฆ„๊ณผ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜.. 2024. 12. 10.
์ผ์ • ๊ด€๋ฆฌ ์•ฑ ๊ณผ์ œ_ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๊ณผ์ œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋ฌธ์ œ ์ƒํ™ฉIntelliJ์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ค‘, import๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ฝ”๋“œ์˜ ๋งจ ์œ„๋กœ ์ถ”๊ฐ€๋˜์ง€ ์•Š๊ณ  ์ž‘์„ฑ ์ค‘์ธ ํ•ด๋‹น ์ค„์— import๋ฌธ์ด ์ถ”๊ฐ€๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.๋ฌธ์ œ ์›์ธ๋ฌธ์ œ์˜ ์ •ํ™•ํ•œ ์›์ธ์€ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.ํ•˜์ง€๋งŒ import ์‹œ๋„ ์‹œ IntelliJ ์šฐ์ธก ํ•˜๋‹จ์— IDE Error ๋ฉ”์‹œ์ง€๊ฐ€ ์ง€์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚œ ๊ฒƒ์„ ๋ณด์•„ IntelliJ ์ž์ฒด์˜ ๋ฌธ์ œ๋กœ ํŒ๋‹จํ–ˆ๋‹ค.์—ฌ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์„ค์ •์ด ๊ผฌ์˜€๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ๋ณ€๊ฒฝ์ด ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜๊ณ  ์žˆ๋‹ค.ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•ํŠœํ„ฐ๋‹˜๊ณผ ํ•จ๊ป˜ ๋‹ค์–‘ํ•œ ์‹œ๋„IntelliJ ์„ค์ • ๋ณ€๊ฒฝ์บ์‹œ ์‚ญ์ œ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ•ด๋„ ์—ฌ์ „์น˜ IDE Error ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.์ตœ์ข… ํ•ด๊ฒฐIntelliJ๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•œ ํ›„ ์žฌ์„ค์น˜ ์ง„ํ–‰์žฌ์„ค์น˜ ํ›„ ๊ธฐ๋ณธ.. 2024. 12. 10.
ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ_KPT ํšŒ๊ณ  ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ Keep : ์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์œ ์ง€ํ–ˆ์œผ๋ฉด ํ•˜๋Š” ๋ถ€๋ถ„์–ด๋ ค์šด ๋ถ€๋ถ„์—๋„ ์ผ๋‹จ ๋„์ „ํ•˜๊ธฐ์–ด๋ ต๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด๋„ ์ผ๋‹จ ๋ถ€๋”ชํ˜€๋ณด๋ฉฐ ์‹œ๋„ํ•˜๋Š” ์ž์„ธ๋ฅผ ์œ ์ง€ํ–ˆ๋‹ค.์ง„ํ–‰ ์ƒํ™ฉ๊ณผ ๋ฌธ์ œ์  ์ •๋ฆฌํ•˜๊ธฐ๊ณผ์ œ์˜ ์ง„ํ–‰ ์ƒํ™ฉ๊ณผ ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„์„ ๋ฉ”๋ชจ์žฅ์— ์ •๋ฆฌํ•˜๋ฉด์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •์„ ๊ด€๋ฆฌํ–ˆ๋‹ค.ํ˜„์žฌ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ๋…์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๊ธฐ์ง€๊ธˆ๊นŒ์ง€ ํ•™์Šตํ•œ ๊ฐœ๋…์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๊ณ , ๋ณต์Šต ํšจ๊ณผ๋„ ์–ป์—ˆ๋‹ค. Problem : ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋ฌธ์ œ์  : ์ค‘๋ณต๋œ ์ฝ”๋“œ์˜ ์–‘์ด ๋งŽ๋‹ค..ํ•ด๊ฒฐ ๋ฐฉ์•ˆ : ์ค‘๋ณต๋œ ์ฝ”๋“œ๋Š” ๊ด€๋ จ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฉ”์„œ๋“œ๋กœ ์ถ”์ถœํ•˜์—ฌ ์ฝ”๋“œ ๋ณต์žก์„ฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ๋ฆฌํŒฉํ† ๋ง๋„ ์‹œ๋„ํ•ด ๋ด์•ผ๊ฒ ๋‹ค!๋ฌธ์ œ์  : ์š”๊ตฌ์‚ฌํ•ญ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ์ง„ํ–‰ํ–ˆ๋‹ค...ํ•ด๊ฒฐ ๋ฐฉ์•ˆ : ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‹ค.. 2024. 11. 28.
ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ_ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๊ณผ์ œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋ฌธ์ œ ์ƒํ™ฉํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ ค๊ณ  ์บ ํ”„์—์„œ ์ง€์›๋ฐ›์€ ๋งฅ๋ถ์œผ๋กœ ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ, GitHub์™€ ์—ฐ๋™ํ•˜๋Š” ๊ณผ์ •์—์„œ ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•˜๋ ค๋‹ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์œˆ๋„์šฐ์™€ ๋งฅ๋ถ์˜ ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ ๋ฐฉ์‹์ด ๋‹ฌ๋ผ ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ํ—ค๋งค๊ฒŒ ๋˜์—ˆ๋‹ค.๋ฌธ์ œ ์›์ธ๋งฅ๋ถ์˜ ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ๊ณผ ๋ช…๋ น์–ด ๊ตฌ์กฐ๊ฐ€ ์œˆ๋„์šฐ์™€ ๋‹ค๋ฅด๊ณ , ๊ธฐ๋ณธ์ ์ธ Git ์„ค์ •์ด๋‚˜ ๋ช…๋ น์–ด ์ž…๋ ฅ ๋ฐฉ๋ฒ•์„ ์ž˜ ์ˆ™์ง€ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.IntelliJ์™€ ๊ฐ™์€ IDE์—์„œ ์ œ๊ณตํ•˜๋Š” Git ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์‚ฌ์ „ ์ง€์‹์ด ๋ถ€์กฑํ–ˆ๋‹ค.ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด IntelliJ IDEA์—์„œ GitHub ์—ฐ๋™ ์„ค์ • ๋ฐฉ๋ฒ•์„ ์ฐพ์•„ ํ•™์Šตํ–ˆ๋‹ค.File → Settings → Version Control → Git ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด Git ์‹คํ–‰ ํŒŒ์ผ์„ ์„ค์ •.File → Settings → Version Cont.. 2024. 11. 28.
๊ณ„์‚ฐ๊ธฐ ๊ณผ์ œ_ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… Lv1 ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…๋ฌธ์ œ ์ƒํ™ฉScanner๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋˜ ์ค‘, nextInt( ) ๋’ค์— nextLine( )์„ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋ฉด ์˜๋„์น˜ ์•Š๊ฒŒ ๋นˆ ์ž…๋ ฅ์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.nextInt( )๊ฐ€ ์ˆซ์ž ์ž…๋ ฅ ๋’ค ๋‚จ์•„ ์žˆ๋Š” ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž(\n)๋ฅผ ์†Œ๋น„ํ•˜์ง€ ์•Š์•„์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ์˜€๋‹ค.๋ฌธ์ œ ์›์ธnextInt( )๋Š” ์ˆซ์ž๋งŒ ์ฝ๊ณ , ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž(\n)๋Š” ์ž…๋ ฅ ๋ฒ„ํผ์— ๋‚จ๊ฒจ๋‘”๋‹ค.์ดํ›„ nextLine( )์ด ํ˜ธ์ถœ๋˜๋ฉด ์ž…๋ ฅ ๋ฒ„ํผ์— ๋‚จ์•„ ์žˆ๋˜ ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž๋งŒ ์ฝ์–ด์„œ ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋œ๋‹ค.๋ฌธ์ œ ์ƒํ™ฉ ์ฝ”๋“œ// ์ฒซ ๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ ๋ฐ›๊ธฐ ์ „ ์•ˆ๋‚ด ๋ฌธ๊ตฌ ์ถœ๋ ฅSystem.out.print("์ฒซ ๋ฒˆ์งธ ์ •์ˆ˜ ์ž…๋ ฅ(0 ํฌํ•จ) : ");// ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์–‘์˜ ์ •์ˆ˜๋ฅผ firstNumber ๋ณ€์ˆ˜์— ํ• ๋‹นint fi.. 2024. 11. 20.