1 λΆ„ μ†Œμš”

톡신 방식

μ›Ή κ°œλ°œμ„ μ§„ν–‰ν•˜λ‹€λ³΄λ©΄ 동기 톡신과 비동기 톡신에 λŒ€ν•œ κ°œλ…μ΄ 자주 λ“±μž₯ν•œλ‹€.
직접 κ²ͺ은 κ²½ν—˜ μ€‘μ—λŠ” λŒ€ν‘œμ μœΌλ‘œ AJAXλ₯Ό μ‚¬μš©ν•  λ•Œμ΄λ‹€.
AJAXλŠ” 비동기식 μžλ°”μŠ€ν¬λ¦½νŠΈ AND Xmlμ΄λΌλŠ” λœ»μ΄λ‹€.

AJAXλ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ μ‚¬μš© 법은 μ΅ν˜”μ§€λ§Œ, μ •μž‘ 동기 톡신과 비동기식 ν†΅μ‹ μ˜ 차이에 λŒ€ν•΄μ„œλŠ” μ œλŒ€λ‘œ μ•Œμ§€ λͺ»ν–ˆλ‹€.

동기와 λΉ„λ™κΈ°λŠ” 톡신 방식에 μžˆμ–΄ 차이가 μžˆλ‹€.
즉, 데이터λ₯Ό μ£Όκ³ λ°›λŠ” 방식을 λ§ν•œλ‹€.

동기(Sync)

λ™κΈ°λŠ” μš”μ²­κ³Ό 응닡이 λ™μ‹œμ— μΌμ–΄λ‚œλ‹€λŠ” λœ»μ΄λ‹€.
즉, λ™κΈ°λŠ” 데이터 μš”μ²­μ„ ν•˜λ©΄ ν•œ μš”μ²­μ— λŒ€ν•΄ μ¦‰κ°μ μœΌλ‘œ 응닡을 받을 수 μžˆμœΌλ―€λ‘œ, μš”μ²­κ³Ό μ‘λ‹΅μ˜ μˆœμ„œκ°€ 보μž₯λœλ‹€.

동기 톡신은 μ›Ή νŽ˜μ΄μ§€λ₯Ό μƒˆλ‘œκ³ μΉ¨ν•˜λ©΄μ„œ 데이터λ₯Ό λΆˆλŸ¬μ˜€λŠ” 방식이라고 생각할 수 μžˆλ‹€.
즉, μ›ΉνŽ˜μ΄μ§€μ˜ 전체λ₯Ό κ°±μ‹ ν•  수 있게 ν•΄μ£ΌλŠ” 기술이 동기 톡신이닀.

동기(Sync)의 μž₯점

  1. 비동기 톡신에 λΉ„ν•΄ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μ΄ν•΄ν•˜λŠ” 것이 쉽닀.
  2. μš”μ²­κ³Ό 응닡이 순차적으둜 이루어지기 λ•Œλ¬Έμ— μ½”λ“œμ˜ κ°„κ²°μ„±κ³Ό 직관성을 μœ μ§€ν•  수 μžˆλ‹€.
  3. μš”μ²­μ„ 보낸 후에 응닡을 λ°›μ•„μ•Ό λ‹€μŒ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ―€λ‘œ, μš”μ²­κ³Ό μ‘λ‹΅μ˜ μˆœμ„œκ°€ 보μž₯λœλ‹€.
  4. μš”μ²­κ³Ό 응닡이 μ—°κ²°λ˜μ–΄ 있기 λ•Œλ¬Έμ—, μ—λŸ¬κ°€ λ°œμƒν–ˆμ„ λ•Œ μ—λŸ¬μ— λŒ€ν•œ μ²˜λ¦¬κ°€ μ‰¬μšΈ 수 μžˆλ‹€.

동기(Sync)의 단점

  1. 전체 νŽ˜μ΄μ§€λ₯Ό λ‹€μ‹œ λ‘œλ”©ν•˜κΈ° λ•Œλ¬Έμ— μ„œλ²„μ™€μ˜ ν†΅μ‹ λŸ‰ 증가, μžμ›κ³Ό μ‹œκ°„μ΄ 낭비될 수 μžˆμ–΄ μ›Ή νŽ˜μ΄μ§€μ˜ 속도와 μ„±λŠ₯이 μ €ν•˜λ  수 μžˆλ‹€.
  2. 화면이 κΉœλΉ‘κ±°λ¦¬κ±°λ‚˜ λ©ˆμΆ”λŠ” ν˜„μƒμ΄ λ°œμƒν•  수 μžˆμ–΄, μ‚¬μš©μžκ°€ λΆˆνŽΈν•¨μ„ λŠλ‚„ 수 μžˆλ‹€.
  3. μš”μ²­κ³Ό 응닡이 λ™μ‹œμ— μΌμ–΄λ‚˜μ•Ό ν•˜λ―€λ‘œ, μš”μ²­μ„ 보낸 ν›„μ—λŠ” λ‹€λ₯Έ μž‘μ—…μ„ ν•  수 μ—†λ‹€.

비동기(Async)

λΉ„λ™κΈ°λŠ” μš”μ²­κ³Ό 응닡이 λ™μ‹œμ— μΌμ–΄λ‚˜μ§€ μ•ŠλŠ” 방식이닀.
λ™μ‹œμ— μΌμ–΄λ‚˜μ§€ μ•ŠμœΌλ‹ˆ μš”μ²­μ΄ μ—¬λŸ¬ 개 듀어와도 응닡은 λ‚˜μ€‘μ— ν•œλ‹€λŠ” λœ»μ΄λ‹€.
즉, λΉ„λ™κΈ°λŠ” 데이터 μš”μ²­κ³Ό μ‘λ‹΅μ˜ μˆœμ„œκ°€ 보μž₯λ˜μ§€ μ•ŠλŠ”λ‹€.

λΉ„λ™κΈ°λŠ” 동기와 λ°˜λŒ€λ‘œ μ›Ή νŽ˜μ΄μ§€λ₯Ό μƒˆλ‘œκ³ μΉ¨ ν•˜μ§€ μ•Šκ³  데이터λ₯Ό λΆˆλŸ¬μ˜€λŠ” 방식이닀.
μ›Ή νŽ˜μ΄μ§€ 전체λ₯Ό μƒˆλ‘œκ³ μΉ¨ν•˜μ§€ μ•ŠμœΌλ‹ˆ, μ›Ή νŽ˜μ΄μ§€μ˜ μΌλΆ€λΆ„λ§Œ μ—…λ°μ΄νŠΈν•  수 있게 ν•΄μ£ΌλŠ” 기술이 비동기 톡신이닀.

비동기(Async)의 μž₯점

  1. 전체 νŽ˜μ΄μ§€λ₯Ό λ‹€μ‹œ λ‘œλ”©ν•˜μ§€ μ•Šκ³  ν•„μš”ν•œ λΆ€λΆ„λ§Œ μ—…λ°μ΄νŠΈν•  수 있기 λ•Œλ¬Έμ— μ›Ή νŽ˜μ΄μ§€μ˜ 속도와 μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€.
  2. μ„œλ²„μ™€μ˜ ν†΅μ‹ λŸ‰μ΄ 쀄어듀고, μžμ›κ³Ό μ‹œκ°„μ„ μ ˆμ•½ν•  수 μžˆλ‹€.
  3. μš”μ²­κ³Ό 응닡이 λ™μ‹œμ— μΌμ–΄λ‚˜μ§€ μ•Šμ•„λ„ λ˜λ―€λ‘œ, μš”μ²­μ„ 보낸 후에 λ‹€λ₯Έ μž‘μ—…μ„ ν•  수 μžˆλ‹€.

비동기(Async)의 단점

  1. 동기 톡신에 λΉ„ν•΄ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μ΄ν•΄ν•˜λŠ” 것이 μ–΄λ €μ›Œ μ½”λ“œμ˜ λ³΅μž‘λ„κ°€ 증가할 수 μžˆλ‹€.
  2. μš”μ²­μ„ 보낸 ν›„ 응닡을 기닀리지 μ•Šκ³  λ‹€μŒ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ”λ°, μš”μ²­ 처리 속도에 따라 응닡이 λ’€μ„žμΌ 수 μžˆμ–΄ μš”μ²­κ³Ό μ‘λ‹΅μ˜ μˆœμ„œλ₯Ό 보μž₯ν•  수 μ—†λ‹€.
  3. μš”μ²­κ³Ό 응닡이 λΆ„λ¦¬λ˜μ–΄ 있기 λ•Œλ¬Έμ—, μ—λŸ¬κ°€ λ°œμƒν–ˆμ„ λ•Œ μ–΄λ–€ μš”μ²­μ—μ„œ μ–΄λ–€ μ—λŸ¬κ°€ λ°œμƒν–ˆλŠ”μ§€ νŒŒμ•…ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” 것이 쉽지 μ•Šμ„ 수 μžˆλ‹€.

2023-11-30 글인데, .md ν™•μž₯μžμ—μ„œ .을 μ•ˆλΆ™μ—¬μ„œ μ•ˆμ˜¬λΌκ°”μ—ˆλ„€..

참고자료

🌐 μ›Ήμ˜ 비동기(Async) / 동기(Sync) 톡신 정리

νƒœκ·Έ:

μΉ΄ν…Œκ³ λ¦¬:

μ—…λ°μ΄νŠΈ:

λŒ“κΈ€λ‚¨κΈ°κΈ°