0903 ~ 0910


# 0903 ~ 0910

# 0904 - ์ž๋ฐ” ์—ฐ์‚ฐ์ž


# 0906 - Filter๋ฅผ ๋“ฑ๋กํ•˜๋Š” 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•

# @Configuration + FilterRegistrationBean

  • ํ•„ํ„ฐ ํด๋ž˜์Šค๋ฅผ FilterRegistrationBean ๋นˆ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋“ฑ๋ก
  • setOrder(), addUrlPatterns() ๋“ฑ ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์„ค์ • ๋ณ€๊ฒฝ

# @Component

  • ํ•„ํ„ฐ ํด๋ž˜์Šค์— @Component ์„ ์–ธํ•˜์—ฌ ๋นˆ์œผ๋กœ ๋“ฑ๋ก
  • ์ปดํฌ๋„ŒํŠธ ์Šค์บ”์„ ํ•„ํ„ฐ ๋“ฑ๋ก
  • @Order ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•ด ์ˆœ์„œ ์„ค์ •
  • ๊ธฐ๋ณธ URL Pattern์ดย /*ย ์ด๋ฉฐ ์„ค์ •ํ•  ์ˆ˜ ์—†๋‹ค.
  • ๋‹ค๋ฅธ ์Šคํ”„๋ง ๋นˆ์„ ์˜์กด์„ฑ ์ฃผ์ž…

# @WebFilter + @ServletComponentScan

  • ํ•„ํ„ฐ ํด๋ž˜์Šค์— @WebFilter ์„ ์–ธ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰๋˜๋Š” ๋ฉ”์ธ ๊ฐ์ฒด์œ„์—ย @ServletComponentScanย ์„ ์‚ฌ์šฉ
  • @Order๋ฅผ ์ด์šฉํ•œ ์ˆœ์„œ ๋“ฑ๋ก์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์ˆœ์„œ ๋ณด์žฅ X
  • @WebFilterย ์˜ย valueย ๋‚˜ย urlPatternsย ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ด์šฉํ•ด whitelist ๋ฐฉ์‹์œผ๋กœ ๋ฒ ์ด์Šค URL์„ ์„ค์ • ๊ฐ€๋Šฅ

# @WebFilter + @Component

  • @Orderย ์• ๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•ด ์ˆœ์„œ๋ฅผ ์„ค์ •
  • @WebFilterย ์˜ย valueย ๋‚˜ย urlPatternsย ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ด์šฉํ•ด ๋ฒ ์ด์Šค URL์ด๋‚˜ Whitelist ๋ฐฉ์‹์œผ๋กœ ์„ค์ •
  • ๋‹ค๋ฅธ ์Šคํ”„๋ง ๋นˆ์„ ์˜์กด์„ฑ ์ฃผ์ž… ๊ฐ€๋Šฅ
์„ค์ • ๋ฐฉ๋ฒ• ์ˆœ์„œ ์„ค์ • url ํŒจํ„ด ์ ์šฉ
@Configuration FilterRegistrationBean setOrder() addUrlPatterns()
@Component ๋ณ„๋„ ํŒŒ์ผ X @Order X
@WebFilter @ServletComponentScan X value, urlPatterns
@WebFilter + @Component ๋ณ„๋„ ํŒŒ์ผ X @Order value, urlPattern

# 0910 - Docker

https://docs.docker.com/get-started/overview/ architecture.svg

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

# Images

  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์— ํ•„์š”ํ•œ ํŒŒ์ผ๊ณผ ์„ค์ • ๊ฐ’ ๋“ฑ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ
  • ์ด๋ฏธ์ง€๋Š” Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ง€์นจ์ด ํฌํ•จ๋œ ์ฝ๊ธฐ ์ „์šฉ ํ…œํ”Œ๋ฆฟ

# Containers

  • ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฒฉ๋ฆฌ๋œ ๊ณต๊ฐ„์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ธฐ์ˆ (ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ)
  • ์ปจํ…Œ์ด๋„ˆ๋Š” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€ ์ธ์Šคํ„ด์Šค.ย Docker API ๋˜๋Š” CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑ, ์‹œ์ž‘, ์ค‘์ง€, ์ด๋™ ๋˜๋Š” ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

# Docker Compose

https://docs.docker.com/compose/

  • Docker Compose๋Š”ย ๋‹ค์ค‘ ์ปจํ…Œ์ด๋„ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ •์˜ํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋„๊ตฌ.ย Compose๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด YAML ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹จ์ผ ๋ช…๋ น์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ€๋™ํ•˜๊ฑฐ๋‚˜ ํ•ด์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Compose๋Š” ๋‹ค์ค‘ ์ปจํ…Œ์ด๋„ˆ Docker ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ
  • Compose์—์„œ๋Š” YAML ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.ย ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹จ์ผ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ์—์„œ ๋ชจ๋“  ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹œ์ž‘
Last update: September 11, 2023 00:11
Contributors: jaesungahn91