๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Today I Learned(TIL)/์ŠคํŒŒ๋ฅดํƒ€ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 4

by carrot0911 2024. 12. 2.

์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
    • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด
  • ๋ฏธ๋‹ˆ ๊ณผ์ œ(์ธํ„ฐํŽ˜์ด์Šค) ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
    • ํŠœํ„ฐ๋‹˜์ด ๋‚ด์ฃผ์…จ๋˜ ์ถ”๊ฐ€ ๊ณผ์ œ ์ง„ํ–‰ ๊ณผ์ • ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
  • ์Šคํ”„๋ง 3, 4์ฃผ์ฐจ ๊ฐ•์˜ ๋“ฃ๊ธฐ
  • Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_๋‹คํ˜•์„ฑ 1 ๋“ฃ๊ธฐ
  • TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

 

์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java)

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

์Šคํ”„๋ง 3, 4์ฃผ์ฐจ ๊ฐ•์˜

  • 3์ฃผ ์ฐจ์—๋Š” MVC ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ๋‹ค.
  • MVC ํŒจํ„ด์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์‹ค์Šต์œผ๋กœ ๋„˜์–ด๊ฐ”๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.
    • ์‹ค์Šต ํŒŒํŠธ ์ˆ˜๊ฐ• ์ค‘ ๊ฐ•์‚ฌ๋‹˜์„ ๋”ฐ๋ผ์„œ ๋˜‘๊ฐ™์ด IntelliJ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.
    • ๋‚ด๊ฐ€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๋ผ๊ณ  ํŒ๋‹จํ•˜๊ณ  ํŠœํ„ฐ๋‹˜์„ ์ฐพ์•„๊ฐ€์„œ ํ˜„์žฌ ์ƒํ™ฉ๊ณผ ๋ฌธ์ œ์ ์„ ๋ง์”€๋“œ๋ ธ๋‹ค.
    • ํŠœํ„ฐ๋‹˜์ด ์ถ”๊ฐ€์ ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์…จ๊ณ  ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ–ˆ์ง€๋งŒ ์ฝ”๋“œ๊ฐ€ ๋Œ์•„๊ฐ€๋Š”๋ฐ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ค์„œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ Gti clone ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.
    • Git clone ์ง„ํ–‰ ํ›„ ํ•ด๊ฒฐ๋  ์ค„ ์•Œ์•˜์ง€๋งŒ ๋ฌด์Šจ ์ด์œ ์—์„œ์ธ์ง€ ๋˜‘๊ฐ™์ด ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๋‹ค.
    • ํŠœํ„ฐ๋‹˜๊ป˜์„œ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•ด ๋ณด์ž๊ณ  ํ•˜์…”์„œ ์บ์‹œ ์‚ญ์ œ ํ›„ ์ง„ํ–‰ํ–ˆ๋”๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ๋‹ค.
  • MVC ํŒจํ„ด์˜ ๋ฌธ์ œ์ 
    • ์ค‘๋ณต๋œ ๋ถ€๋ถ„์ด ๋งŽ๋‹ค.
    • ๊ณตํ†ต ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋ ์ˆ˜๋ก Controller์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ถ€๋ถ„์ด ๋งŽ์•„์ง„๋‹ค.
  • ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ ํŒจํ„ด
    • ๋ชจ๋“  ์š”์ฒญ์„ ํ•˜๋‚˜์˜ ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋ฐ›๋Š”๋‹ค.
    • ๊ณตํ†ต ์ฒ˜๋ฆฌ ๋กœ์ง์— ๋ชจ๋“  ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์—ฐ๊ฒฐ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ์ปจํŠธ๋กค๋Ÿฌ์˜ ์‘๋‹ต์„ ๋™์ผํ•˜๊ฒŒ ๋งž์ถฐ์•ผ ํ•˜๋Š”๋ฐ, ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ํ™•์žฅ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋–จ์–ด์ง„๋‹ค.
  • ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด
    •  ๊ณตํ†ต ๋กœ์ง๊ณผ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐ๋˜๋„๋ก ํ•œ๋‹ค.
  • Spring MVC
    • Dispatcher Servlet
    • Controller Interface
    • Handler Mapping, Handler Adapter
    • View Resolver
    • InternalResourceViewResolver
  • Spring Annotation
    • @Slf4j
    • @Controller, @RestController
    • @RequestMapping
    • @PathVariable

Java ๊ธฐ๋ณธํŽธ_๋‹คํ˜•์„ฑ

  • ๋‹คํ˜•์„ฑ ์ฐธ์กฐ : ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜ ํƒ€์ž…์œผ๋กœ ๋‹ค์–‘ํ•œ ์ž์‹ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.
  • ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ : ๊ธฐ์กด ๊ธฐ๋Šฅ์„ ํ•˜์œ„ ํƒ€์ž…์—์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์œผ๋กœ ์žฌ์ •์˜ํ•œ๋‹ค.
    • ํ•˜์œ„ ํด๋ž˜์Šค์˜ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฉ”์„œ๋“œ๊ฐ€ ์šฐ์„ ๊ถŒ์„ ๊ฐ–๋Š”๋‹ค.

 

์˜ค๋Š˜ ํ•˜๋ฃจ ์ •๋ฆฌ โœ๏ธ

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

Java์—์„œ๋Š” ๋‹คํ˜•์„ฑ์˜ ๊ฐœ๋…์„ ๋‹ค์‹œ ์žก๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.
๋‹คํ˜•์„ฑ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋‹คํ˜•์„ฑ ์ฐธ์กฐ์™€ ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ... ์ด ๋‘ ๊ฐ€์ง€๋งŒ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์–ด๋„ ์˜ค๋Š˜ ๊ณต๋ถ€๋Š” ์„ฑ๊ณตํ•œ ๊ฒƒ ๊ฐ™๋‹ค!

์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ ์น˜๋ฉด์„œ ๊ณต๋ถ€ํ•˜๋ฉด ์ดํ•ด๋„๊ฐ€ ๋” ์˜ฌ๋ผ๊ฐ€๋Š” ๋Š๋‚Œ์ด๋ผ์„œ ์—ด์‹ฌํžˆ ๋”ฐ๋ผ ์น˜๊ณ  ์žˆ๋Š”๋ฐ, ์Šคํ”„๋ง ๊ฐ•์˜๋Š” ๋ญ”๊ฐ€ ์ฝ”๋“œ๋ฅผ ์น˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์„ ์ž‘๋™๋งŒ ์‹œํ‚ค๋Š” ๋Š๋‚Œ์ด๋ผ์„œ ๋” ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค.. ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ๊ฐ•์˜๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ๋“ฃ๋‹ค ๋ณด๋ฉด ์ดํ•ดํ•˜๋Š” ๋‚ ์ด ์˜ค๊ฒ ์ง€..

์˜ค๋Š˜๋„ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋‹ˆ ์ •์‹ ์—†์ด ํ•˜๋ฃจ๊ฐ€ ์ง€๋‚˜๊ฐ„ ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋ฒˆ ์ฃผ๋„ ํŒŒ์ดํŒ… ํ•ด์„œ ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ์—ด์‹ฌํžˆ ๊ณผ์ œ๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค!!

๋‚ด์ผ ํ•˜๋ฃจ๋„ ํž˜๋‚ด๋ณด์ž ๐Ÿ˜Ž

 

๋‚ด์ผ ๊ณ„ํš โฐ

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ(Java) 1๋ฌธ์ œ ํ’€์ด & ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
  • ์Šคํ”„๋ง 5,6์ฃผ์ฐจ ๊ฐ•์˜ ๋“ฃ๊ธฐ
  • ์Šคํ”„๋ง ๋ณต์Šต
  • TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

+ ์ถ”๊ฐ€์ ์œผ๋กœ ๋” ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค์•„~~