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

C-log

OT - 1week ๋ณธ๋ฌธ

๐Ÿ“•JAVA/Spring

OT - 1week

4:Bee 2024. 3. 5. 22:13
728x90

์ด ํฌ์ŠคํŒ…์€ ํ•™๊ต ์ˆ˜์—…์˜ ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 


์ด ์ˆ˜์—…์€ spring๊ณผ spring boot ๊ทธ๋ฆฌ๊ณ  jpa๋ฅผ ๋ฐฐ์šด๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ java๋ฅผ ์•Œ์•„์•ผํ•˜๋ฉฐ ์‹ค๋ฌด์— ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ๋‹ค. mysql๋„ ๋‹ค๋ฃฐ ๊ฒƒ์ด๋‹ค. mysql์„ ์‚ฌ์šฉํ•  ๋•Œ mysql ํˆด์„ ์ž˜ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์ œ์ž‘ํ•˜๋ฉด ์šฉ์ดํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

๋”๋ณด๊ธฐ

๋ฉ”์‹œ์ง€ ์ง€ํ–ฅ์ (xml,json)

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

ํ”Œ๋žซํผ ์ค‘๋ฆฝ์ ๋…๋ฆฝ์ ??

  • ํ”Œ๋žซํผ ์ค‘๋ฆฝ์ ์ด๋ž€ ์†Œํ”„ํŠธ์›จ์–ด๋‚˜ ๊ธฐ์ˆ ์ด ํŠน์ •ํ•œ ํ•˜๋“œ์›จ์–ด๋‚˜ ์šด์˜ ์ฒด์ œ์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ํŠน์ •ํ•œ ํ™˜๊ฒฝ์— ์ œํ•œ๋˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 
  • ์˜ˆ๋ฅผ ๋“ค์–ด, Windows, macOS, Linux ์šด์˜ ์ฒด์ œ๋Š” ๋…๋ฆฝ์  ํ”Œ๋žซํผ์ด๋‹ค. ๋ฐ˜๋ฉด Google Gmail๊ณผ ๊ฐ™์€ ์›น ๊ธฐ๋ฐ˜ ์ด๋ฉ”์ผ ์„œ๋น„์Šค๋Š” ํ”Œ๋žซํผ ์ค‘๋ฆฝ์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‹ค

ํด๋ผ์šฐ๋“œ์˜ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€

  • ์ž์› ์ œ๊ณต: ํด๋ผ์šฐ๋“œ๋Š” ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Š” ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์ž์›์„ ํฌํ•จํ•œ๋‹ค.

    * ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ž€
      1. ์ค‘์•™ ์ฒ˜๋ฆฌ ์žฅ์น˜(CPU): ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ณ„์‚ฐ ๋Šฅ๋ ฅ์„ ์ œ๊ณตํ•œ๋‹ค.
      2. ๋ฉ”๋ชจ๋ฆฌ(RAM): ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๋ฐ์ดํ„ฐ์˜ ์ผ์‹œ์ ์ธ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. CPU๊ฐ€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ RAM์€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋ฐ ๋ช…๋ น์„ ์ €์žฅํ•œ๋‹ค.
      3. ์Šคํ† ๋ฆฌ์ง€: ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ณต๊ฐ„์ด๋‹ค. ํ•˜๋“œ ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ(HDD), ๊ณ ์ฒด ์ƒํƒœ ๋“œ๋ผ์ด๋ธŒ(SSD), ๋„คํŠธ์›Œํฌ ์ €์žฅ์†Œ ๋“ฑ์ด ์ด์— ์†ํ•œ๋‹ค.
      4. ๋„คํŠธ์›Œํฌ: ์ปดํ“จํ„ฐ ๊ฐ„ ํ†ต์‹  ๋ฐ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•œ ์ธํ„ฐ๋„ท ๋ฐ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์ œ๊ณตํ•œ๋‹ค.
      5. ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์žฅ์น˜(GPU): ์ด๋ฏธ์ง€ ๋ฐ ๋น„๋””์˜ค ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํŠน์ˆ˜ํ•œ ์œ ํ˜•์˜ ํ”„๋กœ์„ธ์„œ๋กœ, ์ฃผ๋กœ ๊ทธ๋ž˜ํ”ฝ ๋ฐ ๋น„๋””์˜ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.
      6. ์ž…์ถœ๋ ฅ ์žฅ์น˜: ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ๋ชจ๋‹ˆํ„ฐ, ํ”„๋ฆฐํ„ฐ ๋“ฑ๊ณผ ๊ฐ™์€ ์žฅ์น˜๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์ปดํ“จํ„ฐ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์‹ ์†ํ•œ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ: ํด๋ผ์šฐ๋“œ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์ฆ‰์‹œ ๊ตฌ์ถ•ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋น ๋ฅธ ๊ฐœ๋ฐœ๊ณผ ๋ฐฐํฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ์‹œ์žฅ์— ์ถœ์‹œํ•˜๊ณ  ๋” ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  • ๋ณด์•ˆ ๋ฐ ๋ฐฑ์—…: ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๋Š” ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ฐ ๋ฐฑ์—… ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•œ๋‹ค. ๋˜ํ•œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ๋ฌผ๋ฆฌ์  ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜์—ฌ ๋” ๋†’์€ ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

swํ’ˆ์งˆ

sw ํ’ˆ์งˆ์€ ๊ธฐ๋Šฅ ํ’ˆ์งˆ๊ณผ ๊ตฌ์กฐ ํ’ˆ์งˆ๋กœ ๋‚˜๋‰œ๋‹ค. ๊ธฐ๋Šฅ ํ’ˆ์งˆ์€ ์†Œ๋น„์ž๊ฐ€ ์›ํ•˜๋Š” ๊ธฐํš์ž๋“ค์ด ๋งŽ์ด ๊ด€์‹ฌ์„ ๊ฐ€์ง„๋‹ค. ๊ตฌ์กฐ ํ’ˆ์งˆ์€ 5๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋˜๋Š”๋ฐ welldesign, wellcoded, maintain, reuse, extend ์ด๋ ‡๊ฒŒ ๋‚˜๋‰œ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ์ž๋“ค ์œ„์ฃผ ์ง€์†์ ์ธ ๊ด€๋ฆฌ์œ ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํ™•์žฅ์ด ์šฉ์ดํ•ด์•ผํ•œ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ vs ํ”„๋ ˆ์ž„์›Œํฌ

#๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ฃผ์ฒด์ž๊ฐ€ ๊ฐœ๋ฐœ์ž์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•  ๋•Œ ํ˜ธ์ถœ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ตฌ์„ฑ์€ ํด๋ž˜์Šค์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด ์ ธ์žˆ์œผ๋ฉฐ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์ง€์›ํ•œ๋‹ค. ์ฆ‰, ์ œ์–ด์˜ ์ฃผ์ฒด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

#ํ”„๋ ˆ์ž„์›Œํฌ

ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฐ˜๋Œ€๋กœ ์ œ์–ด์˜ ์—ญ์ „์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ฆ‰, ์ œ์–ด์˜ ์ฃผ์ฒด๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ œ์–ด์˜ ์—ญ์ „์€(IoC / inversion of control)์€์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋กœ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ์ปจํ…Œ์ด๋„ˆ์— ์ œ์–ด์˜ ํ๋ฆ„์„ ๋„˜๊ธฐ๋Š” ๊ฐœ๋…์ด๋‹ค. ์ด๊ฒƒ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ œ์–ด ํ๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ ์ฃผ๋กœ ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection)์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์ œ์–ด์˜ ์—ญ์ „์˜ ๋Œ€ํ‘œ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ฐ”๋กœ ์Šคํ”„๋ง๊ณผ ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ๋˜๊ฒ ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์›ํ•  ๋•Œ ํ˜ธ์ถœ์„ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๋Š” ๋†“์—ฌ์ง„ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์ œ์–ด ํ๋ฆ„์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋”๋ณด๊ธฐ

ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ตฌ์กฐ ํ’ˆ์งˆ์„ ๋ณด์žฅ์„ ๊ธฐ๋ฐ˜ํ•˜๋ฉฐ ๋””์ž์ธ ํŒจํ„ด์€ ๋Œ€ํ‘œ์ ์œผ๋กœ mvp๋ชจ๋ธ(ํŒจํ„ด)์ด ์žˆ๋‹ค. ์™ธ์—๋„ mvc ๋“ฑ์ด ์žˆ๋‹ค.


* ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ฐ˜์ œํ’ˆ์ด๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ์ ‘๊ทผํ•ด์•ผํ•œ๋‹ค.
- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ ๋ฐ ์ฝ”๋“œ์˜ ์ƒ๋‹น ๋ถ€๋ถ„์„ ์ œ๊ณต
- ํ•ต์‹ฌ ๋กœ์ง์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ, ๋งˆ์น˜ ์™„์„ฑ๋œ ์ œํ’ˆ์„ ์กฐ๋ฆฝํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ฆ‰, ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ•„์š”ํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์™€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ์ด๋ฅผ ์กฐ๋ฆฝํ•˜๊ณ  ํ™•์žฅํ•˜์—ฌ ์‹ค์ œ ์ œํ’ˆ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

* ํ”„๋ ˆ์ž„์›Œํฌ ์žฅ์ 
- ๋†’์€ ์ƒ์‚ฐ์„ฑ
- ์ฝ”๋“œ ํ’ˆ์งˆ ๋ณด์žฅ

  • ์ฝ”๋“œ ํ’ˆ์งˆ ๋ณด์žฅ์˜ ๋ณด์žฅ์€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํŠน์ • ๊ตฌ์กฐ๋‚˜ ๊ทœ์น™์ด ์ ์šฉ๋˜์–ด ์ผ๊ด€๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์„œ ํ†ต์ผ๋œ ๊ตฌ์กฐ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ์˜ ํ’€์งˆ์ด ๋ณด์žฅ๋œ๋‹ค๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์˜ ๋ณด์žฅ์œผ๋กœ ๋†’์€ ์ƒ์‚ฐ์„ฑ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.

ref) ๋ฆฌ์•กํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋ž€?

๋”๋ณด๊ธฐ

๋ฆฌ์•กํŠธ๋Š” UI๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ์„œ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, UI๋ฅผ ๋™์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•œ๋‹ค.

๋ฆฌ์•กํŠธ์—์„œ๋Š” ์ฃผ๋กœ "๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„"์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•œ๋‹ค. ์ด๋Š” ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ UI๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„์€ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์˜ ๋™์ž‘์„ ์ œ์–ดํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ์ž…ํ•˜๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ์ผ์ข…์˜ "์ œ์–ด์˜ ์—ญ์ „"์ด๋ผ๊ณ  ๋ณผ ์ˆ˜๋Š” ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์—„๋ฐ€ํžˆ ๋งํ•ด์„œ ๋ฆฌ์•กํŠธ๋Š” "์ œ์–ด์˜ ์—ญ์ „" ๊ฐœ๋…์„ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ์ด๋Š” ์ฃผ๋กœ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ ๋˜๋Š” ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection) ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด์ด๋‹ค.


spring์ด๋ž€? 

#์Šคํ”„๋ง ์ฃผ์š” ํŠน์ง•

์Šคํ”ผ๋ง์€ ์ˆœ์ˆ˜๊ฐ์ฒด(pojo)์˜ ํŠน์ง•์„ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค. ์Šคํ”„๋ง์€ ์ƒ์†์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ new๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋Œ€์‹  Been์ด๋ผ๋Š” container๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด container๊ฐ€ ์ƒ์†์„ ๋Œ€์‹ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€์ธ๋ฐ ์Šคํ”„๋ง์˜ container๋Š” ๋ฌด์—‡์ธ๊ฐ€. container๋Š” ์˜์กด์„ฑ ์ค‘์ž…(DI)์„ ํ•œ๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…์€ ์Šคํ”„๋ง์˜ ์ฃผ์š” ํŠน์ง• 3๊ฐ€์ง€ ์ค‘ ํ•˜๋‚˜์ธ๋ฐ ์ด๋Š” ๋”ฐ๋กœ ๋‹ค์‹œ ์–ธ๊ธ‰์„ ํ•˜๊ฒ ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์ƒ์†์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ผ๊นŒ? ์ด์œ ๋Š” ์ƒ์†์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฌด๊ฑฐ์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ js์—์„œ classํ˜•์‹์ด ์•„๋‹Œ ํ•จ์ˆ˜ํ˜•์œผ๋กœ ์ œ์ž‘ํ•˜๋Š” ๊ฒƒ ์•„๋‹๊ฐ€ ํ•œ๋‹ค.
์Šคํ”„๋ง์—๋Š” ์ฃผ์š”ํ•œ ๋””์ž์ธ ํŒจํ„ด ํŠน์ง• 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์˜์กด ๊ด€๊ณ„ ์ฃผ์ž…(DI / Dependency Injection), ๊ด€์  ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(AOP / Aspect-Oriented Programming), ์ด์‹ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค ์ถ”์ƒํ™”(PSA / Portable Service Abstraction) ์ด๋ ‡๊ฒŒ ์žˆ๋‹ค.

๋”๋ณด๊ธฐ
  1. ์˜์กด ๊ด€๊ณ„ ์ฃผ์ž…(DI) : ์˜์กด ๊ด€๊ณ„ ์ฃผ์ž…(DI)์€ ๊ฐ์ฒด ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…ํ•˜์—ฌ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค. Java EE์—์„œ๋Š” DI๋ฅผ ํ†ตํ•ด ์„œ๋ธ”๋ฆฟ, EJB ๋“ฑ์˜ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ์„œ๋กœ ์˜์กดํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์œ ์—ฐ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ , ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
  2. ๊ด€์  ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(AOP) : ๊ด€์  ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(AOP)์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋กœ์ง๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ ๊ณตํ†ต ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ์ฝ”๋“œ ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. Java EE์—์„œ๋Š” AOP๋ฅผ ํ†ตํ•ด ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ, ๋ณด์•ˆ, ๋กœ๊น… ๋“ฑ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ณ„๋„์˜ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. ์ด์‹ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค ์ถ”์ƒํ™”(PSA) : ์ด์‹ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค ์ถ”์ƒํ™”(PSA)๋Š” ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์„œ๋น„์Šค๋ฅผ ์ถ”์ƒํ™”ํ•˜๊ณ  ์ด์‹์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค. Java EE์—์„œ๋Š” PSA๋ฅผ ํ†ตํ•ด ์„œ๋ธ”๋ฆฟ, JMS ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ์ถ”์ƒํ™”ํ•˜์—ฌ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด์‹์„ฑ์„ ๋†’์ด๊ณ  ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐฐํฌ๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•œ๋‹ค.

#์Šคํ”„๋ง์˜ ํ•˜๋ถ€๊ตฌ์กฐ(java Enterprise Edition / java EE)

์Šคํ”„๋ง์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ(Enterprise / java EE) ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ๋งค์šฐ ์šฉ์ดํ•˜๋‹ค. java ์—”ํ„ฐํ”„๋ผ์ธ์ฆˆ๋ž€ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ java ํ”Œ๋žซํผ์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค. java Enterprise Edition(java EE)๋Š” ๊ธฐ์—… ํ™˜๊ฒฝ์—์„œ ์•ˆ์ •์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•œ๋‹ค. 

๋”๋ณด๊ธฐ

java EE์˜ ํŠน์ง•

  1. ์›น ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ: Java EE๋Š” ์„œ๋ธ”๋ฆฟ, JSP, JSF(JavaServer Faces) ๋“ฑ์˜ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  2. ๋ถ„์‚ฐ ์ปดํ“จํŒ…: Java EE๋Š” EJB(Enterprise JavaBeans)์™€ RMI(Remote Method Invocation)๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„์‚ฐ๋œ ํ™˜๊ฒฝ์—์„œ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•œ๋‹ค.
  3. ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ: Java EE๋Š” ํŠธ๋žœ์žญ์…˜(์ชผ๊ฐค ์ˆ˜ ์—†๋Š” ์—…๋ฌด ์ฒ˜๋ฆฌ์˜ ์ตœ์†Œ ๋‹จ์œ„) ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋ณด์•ˆ: Java EE๋Š” ์ธ์ฆ, ๊ถŒํ•œ ๋ถ€์—ฌ, ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ฐ ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ๊ณผ ๊ฐ™์€ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ์•ˆ์ „ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ํ†ต์‹ : Java EE๋Š” JMS(Java Message Service)๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ํ†ต์‹ ์„ ์ง€์›ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

#์Šคํ”„๋ง์˜ ํ•˜๋ถ€๊ตฌ์กฐ

์Šคํ”„๋ง์€ ํ•˜๋ถ€๊ตฌ์กฐ์˜ ํฌ๊ด„์„ฑ์œผ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ํšจ์œจ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋”์šฑ ์•ˆ์ •์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ธํ•œ ์ •๋ณด๋Š” ์•„๋ž˜ ๋”๋ณด๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์ž

๋”๋ณด๊ธฐ
  1. ์›น ๊ฐœ๋ฐœ : ์Šคํ”„๋ง ์›น MVC๋ฅผ ๋น„๋กฏํ•œ ์›น ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค : ์Šคํ”„๋ง JDBC, ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ ๋“ฑ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ก์„ธ์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ณด์•ˆ : ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ํ†ตํ•ด ์ธ์ฆ๊ณผ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํฌํ•จํ•œ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ํ†ต์‹  : ์Šคํ”„๋ง AMQP, ์Šคํ”„๋ง JMS ๋“ฑ์„ ํ†ตํ•ด ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ํ†ต์‹ ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ : ์Šคํ”„๋ง ๋ฐฐ์น˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฐฐ์น˜ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  6. ํ†ตํ•ฉ : ์Šคํ”„๋ง ํ†ตํ•ฉ์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ ๊ฐ„์˜ ํ†ตํ•ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  7. ํ…Œ์ŠคํŠธ : ์Šคํ”„๋ง ํ…Œ์ŠคํŠธ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ถ€ํ„ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

SW๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์ค‘์š”ํ•œ ์ „๋žต์˜ ํ•˜๋‚˜๋Š” 
"ํ•ญ์ƒ ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜์œผ๋กœ ์ ‘๊ทผํ•˜๋ผ”
- Rod Johnson


๋ณธ ์ˆ˜์—…์—์„œ๋Š” jsp์™€ mysql์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค. ๋ณธ์ธ์€ mysql์„ xampp์„ ํ†ตํ•ด์„œ ์‹คํ–‰ํ•˜๊ณ  ์ž‘์—…์„ ํ•  ๊ฒƒ์ด๋‹ค. ์ˆ˜์—…์—์„  mysql workbench๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด๋ฅผ xampp๊ณผ ํ•จ๊ป˜ ์—ฐ๋™ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ด๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ํ†ตํ•ด์„œ ์ฐธ๊ณ ํ•ด๋ณด๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค.

 

Using XAMPP and Mysql Workbench together

There are some related posts to this but I still can't figure this out. I have a working install of XAMPP(latest version) and MySQL Workbench 8.0.17 installed. I just want to be able to use Workbench

stackoverflow.com

๋ณธ ์ˆ˜์—…์—์„œ๋Š” vsc๊ฐ€ ์•„๋‹Œ intellij๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ„ํ˜น marven view๊ฐ€ ๋ณด์ด์ง€ ์•Š์„ ๋•Œ๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค.

 

[IntelliJ] ์ธํ…”๋ฆฌ์ œ์ด ์—์„œ Maven View๊ฐ€ ๋ณด์ด์ง€ ์•Š์„๋•Œ

Maven ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹คํ–‰์‹œํ‚ฌ๋ ค๊ณ  ๋ณด๋‹ˆ๊น Maven View๊ฐ€ ๋ณด์ด์ง€ ์•Š์•˜๋‹ค. ํ”„๋กœ์ ํŠธ๋Š” ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊บผ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๋งŒ ์ ๊ฒ ๋‹ค. - ํ˜„์žฌ ์ƒํ™ฉ ( ์•„๋ž˜ ๊ทธ๋ฆผ ) < ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• > - pom.xml ์—์„œ ์šฐํด

roeldowney.tistory.com

intellij๋ฅผ ๋‹ค์šด ๋ฐ›๊ณ  ํ•™์ƒ ๋ผ์ด์„ผ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค

 

๐Ÿ’ฝ ์ธํ…”๋ฆฌ์ œ์ด ์„ค์น˜ + ๋ฌด๋ฃŒ ํ•™์ƒ ๋ผ์ด์„ผ์Šค ๋“ฑ๋ก

์ธํ…”๋ฆฌ์ œ์ด ์„ค์น˜ํ•˜๊ธฐ ์ธํ…”๋ฆฌ์ œ์ด๋Š” JetBrains ํšŒ์‚ฌ์—์„œ ๊ฐœ๋ฐœํ•œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(IDE) ์—๋””ํ„ฐ ์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์ž๋ฐ”(Java) ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค‘ ํ•˜๋‚˜์ธ ์ดํด๋ฆฝ์Šค๋ณด๋‹ค ์—ฌ๋Ÿฌ ๋ฉด์—์„œ ๋›ฐ์–ด๋‚˜๋‹ค๊ณ  ํ‰๊ฐ€๋˜๋ฉฐ, ํŽธ

inpa.tistory.com


HelloWorld ์‘์šฉ ์‹คํ–‰

 

728x90

'๐Ÿ“•JAVA > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

6week  (0) 2024.04.21
5week  (0) 2024.04.20
4week  (0) 2024.04.04
3week - MVC  (0) 2024.03.20
2week  (0) 2024.03.12
Comments