1129 - 1205


# 1129 - 1205

# 1129 - Webhook

# Webhook(์›นํ›…)์ด๋ž€?

์›นํ›…์€ ์›นํŽ˜์ด์ง€ ๋˜๋Š” ์›น์•ฑ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ํŠน์ • ํ–‰๋™(์ด๋ฒคํŠธ)๋“ค์„ ์ปค์Šคํ…€ Callback์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ API(Polling)๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ•˜์ง€๋งŒ ์›นํ›…์˜ ๊ฒฝ์šฐ ์„œ๋ฒ„์—์„œ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ "์—ญ๋ฐฉํ–ฅ API"๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

callback URL์€ ์„œ๋ฒ„์ธก์—์„œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํด๋ผ์ด์–ธํŠธ์˜ ์–ด๋Š URL๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ์ง€ ์ •ํ•ด๋†“์€ ์ฃผ์†Œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

# Webhook์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

Polling๊ณผ ๋น„๊ตํ•˜์—ฌ API ์š”์ฒญ ํšŸ์ˆ˜๊ฐ€ ์ ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ 

# Webhook ๊ตฌํ˜„์‹œ ์œ ์˜ํ•ด์•ผํ•  ์ 

  • ์›นํ›…์œผ๋กœ๋ถ€ํ„ฐ ์˜ค๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋  ๊ฒฝ์šฐ
  • ์›นํ›…์œผ๋กœ ๋ถ€ํ„ฐ ์˜ค๋Š” ์š”์ฒญ์— ๋Œ€ํ•˜์—ฌ ์ฒ˜๋ฆฌ๋ฅผ ์™„๋ฃŒํ•˜์˜€์œผ๋‚˜ response๋ฅผ ์ œ๋Œ€๋กœ ๋ณด๋‚ด์ง€ ๋ชปํ–ˆ์„ ๊ฒฝ์šฐ

์™€๊ฐ™์€ ์ƒํ™ฉ์„ ์˜ฌ๋ฐ”๋ฅธ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋กœ ํ•ด๊ฒฐ.

# Webhook vs API

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ๋ฐฉ์‹์˜ ์ฐจ์ด : ์›นํ›…์€ ๊ณต๊ธ‰์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ‘ธ์‹œ๋ผ๊ณ ๋„ ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๊ณ  ์—ญ API๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์ด์œ ์ด๋‹ค.

# 1201 - JCP JSR JEP

  • JCP (Java Community Process)
    : ์ž๋ฐ” ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํ‘œ์ค€ ๊ธฐ์ˆ  ๋ช…์„ธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜.

  • JSR (Java Specification Requests)
    : ์ž๋ฐ” ์š”๊ตฌ ์‚ฌํ•ญ ์ƒ์„ธ ๋ช…์„ธ์„œ

  • JEP (JDK Enhancement Proposal)
    : Java Development Kit์™€ OpenJDK๋ฅผ ํ–ฅ์ƒ๋œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ œ์•ˆ์„ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ์˜ค๋ผํด์ด ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๋Š” ํ”„๋กœ์„ธ์Šค. JDK ์ถœ์‹œ์™€ ์žฅ๊ธฐ์ ์ธ ๋กœ๋“œ๋งต ์—ญํ• ์„ ํ•จ


# 1202 - ๋™์‹œ์„ฑ๊ณผ ๋ณ‘๋ ฌ์„ฑ

# ๋™์‹œ์„ฑ

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

  • ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ ๊ฐ™์ด ๋ณด์ด๋Š” ๊ฒƒ
  • ์‹ฑ๊ธ€ ์ฝ”์–ด์—์„œ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ(Multi thread)๋ฅผ ๋™์ž‘ ์‹œํ‚ค๋Š” ๋ฐฉ์‹
  • ํ•œ๋ฒˆ์— ๋งŽ์€ ๊ฒƒ์„ ์ฒ˜๋ฆฌ
  • ๋…ผ๋ฆฌ์ ์ธ ๊ฐœ๋…

# ๋ณ‘๋ ฌ์„ฑ

๋ณ‘๋ ฌ์„ฑ์„ ์ด์•ผ๊ธฐํ•˜๋ ค๋ฉด ์ ์–ด๋„ 2๊ฐœ ์ด์ƒ์˜ ์ฝ”์–ด๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋ณ‘๋ ฌ์„ฑ๋„ ๋™์‹œ์„ฑ์„ ์˜๋ฏธํ•˜์ง€๋งŒ ๋™์‹œ์„ฑ๊ณผ์˜ ์ฐจ์ด๋Š” ๊ฐ ์ฝ”์–ด๋‚ด์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์‹ค์ œ๋กœ ๋™์‹œ์— ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋งํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋‘๊ฐœ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ •ํ™•ํžˆ ๊ฐ™์€ ์‹œ์ ์— ์‹คํ–‰๋  ๋•Œ ์ด๋ฅผ ๋ณ‘๋ ฌ์ ์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์‹ค์ œ๋กœ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ
  • ๋ฉ€ํ‹ฐ ์ฝ”์–ด์—์„œ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋ฅผ ๋™์ž‘์‹œํ‚ค๋Š” ๋ฐฉ์‹
  • ํ•œ๋ฒˆ์— ๋งŽ์€ ์ผ์„ ์ฒ˜๋ฆฌ
  • ๋ฌผ๋ฆฌ์ ์ธ ๊ฐœ๋…

๋น„๋™๊ธฐํ™”ํ•จ๊ป˜ ๋‹ค์‹œํ•œ๋ฒˆ ์ •๋ฆฌํ•  ๊ฒƒ

Last update: September 13, 2022 21:44
Contributors: ahnjs