[์ฑ…] ํŒŒ์ด์ฌ์œผ๋กœ ์‚ดํŽด๋ณด๋Š” ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

2024. 7. 1. 00:10ยท๐Ÿ“š์ฑ…
๋ชฉ์ฐจ
  1. CH0. ๋„์ž…
  2. CH1. ๋„๋ฉ”์ธ ๋ชจ๋ธ๋ง
  3. CH2. ์ €์žฅ์†Œ ํŒจํ„ด
  4. CH3. ๋ง‰๊ฐ„: ๊ฒฐํ•ฉ๊ณผ ์ถ”์ƒํ™”
  5. CH4. ์ฒซ ๋ฒˆ์งธ ์œ ์Šค ์ผ€์ด์Šค: ํ”Œ๋ผ์Šคํฌ API์™€ ์„œ๋น„์Šค ๊ณ„์ธต
  6. CH5. ๋†’์€ ๊ธฐ์–ด๋น„์™€ ๋‚ฎ์€ ๊ธฐ์–ด๋น„์˜ TDD
  7. CH6. ์ž‘์—… ๋‹จ์œ„ ํŒจํ„ด
  8. CH7. ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํŠธ์™€ ์ผ๊ด€์„ฑ ๊ฒฝ๊ณ„
  9. CH8. ์ด๋ฒคํŠธ์™€ ๋ฉ”์‹œ์ง€ ๋ฒ„์Šค
  10. CH9. ๋ฉ”์‹œ์ง€ ๋ฒ„์Šค๋ฅผ ํƒ€๊ณ  ์‹œ๋‚ด๋กœ ๋‚˜๊ฐ€๊ธฐ
  11. CH10. ์ปค๋งจ๋“œ์™€ ์ปค๋งจ๋“œ ํ•ธ๋“ค๋Ÿฌ
  12. CH11. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜: ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ตํ•ฉ
  13. CH12. ๋ช…๋ น-์งˆ์˜ ์ฑ…์ž„ ๋ถ„๋ฆฌ(CQRS)
  14. CH13. ์˜์กด์„ฑ ์ฃผ์ž…(๊ทธ๋ฆฌ๊ณ  ๋ถ€ํŠธ์ŠคํŠธ๋ž˜ํ•‘)
  15. CH14. ๋งบ์Œ๋ง

CH0. ๋„์ž…

0.1. ์„ค๊ณ„๊ฐ€ ์™œ ์ž˜๋ชป๋˜๋Š”๊ฐ€?

์‹œ์Šคํ…œ์„ ์ฒ˜์Œ ๊ตฌ์ถ•ํ•  ๋•Œ

  • ์›๋Œ€ํ•œ ๊ณ„ํš์„ ์„ธ์›€ (์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์งˆ์„œ ์žกํžŒ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด)
    ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ž˜๋ชป ๊ตฌํ˜„ or ์—ฃ์ง€ ์ผ€์ด์Šค์— ์˜ํ•ด ๋งํ•˜๊ฒŒ ๋จ

0.2. ์บก์Аํ™”์™€ ์ถ”์ƒํ™”

์บก์Аํ™”

  • ํ–‰๋™์˜ ๋‹จ์ˆœํ™” & ๋ฐ์ดํ„ฐ ๊ฐ์ถ”๊ธฐ
  • ์ฝ”๋“œ์— ์ˆ˜ํ–‰ํ•  ์ž‘์—… ์‹๋ณ„ -> ๊ฐ์ฒด๋‚˜ ํ•จ์ˆ˜๋ฅผ ๋ถ€์—ฌ

์ถ”์ƒํ™”

  • ๊ฐ์ฒด๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ถ”์ƒํ™”๋ผ ํ•จ
import requests
parsed = requests.get(<some_url>).json()

์ž˜ ์ถ”์ƒํ™” ๋œ ์˜ˆ์‹œ

ํ•œ๋‹จ๊ณ„ ๋” ๋‚˜์•„๊ฐ€๋ฉด ์ž‘์—…์„ ์‹๋ณ„ํ•˜๊ณ  ์ด๋ฆ„์„ ๋ถ€์—ฌํ•ด์„œ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ

import duckduckgo
ductductgo.query('Sausages').results

์ฑ…์ž„ ์ฃผ๋„ ์„ค๊ณ„ : ์ฝ”๋“œ๋ฅผ ๋ฐ์ดํ„ฐ๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์•„๋‹ˆ๋ผ ํ–‰๋™์„ ์ค‘์‹ฌ์œผ๋กœ ์ƒ๊ฐ

0.3. ๊ณ„์ธตํ™”

์บก์Аํ™”์™€ ์ถ”์ƒํ™”๋ฅผ ํ•˜๋ฉด ์„ธ๋ถ€์‚ฌํ•ญ์„ ๊ฐ์ถ”๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Œ

3๊ณ„์ธต ์•„ํ‚คํ…์ฒ˜

[Three-Tier Client-Server Architecture in Distributed System - GeeksforGeeks](https://www.geeksforgeeks.org/three-tier-client-server-architecture-in-distributed-system/)

์ด ์ฑ…์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ 3๊ณ„์ธต ๋ชจ๋ธ์„ ํ•œ๊ฐ€์ง€ ์›์น™์— ์ง‘์ค‘ํ•˜๋Š” ๋ชจ๋ธ๋กœ ๋ณ€๊ฒฝํ•  ๊ฒƒ (ํ )

0.4. ์˜์กด์„ฑ ์—ญ์ „ ์›์น™

SOLID์˜ D์ธ ์˜์กด์„ฑ ์—ญ์ „ ์›์น™ (Dependency inversion principle - DIP)

์ •์˜

  1. ๊ณ ์ˆ˜์ค€์˜ ๋ชจ๋“ˆ์„ ์ €์ˆ˜์ค€์˜ ๋ชจ๋“ˆ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ๋‘ ๋ชจ๋“ˆ ๋ชจ๋‘ ์ถ”์ƒํ™”์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค.
  2. ์ถ”์ƒํ™”๋Š” ์„ธ๋ถ€ ์‚ฌํ•ญ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ถ”์ƒํ™”์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค.

์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธธ ์›ํ•จ (๊ณ ์ˆ˜์ค€ & ์ €์ˆ˜์ค€)

  • ๊ณ ์ˆ˜์ค€ : ๋น„์ฆˆ๋‹ˆ์Šค์˜ ํ•„์š”์— ๋”ฐ๋ผ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ

์ด ๋‘˜ ์‚ฌ์ด์— ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‘ ๊ณ„์ธต์ด ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค.

CH1. ๋„๋ฉ”์ธ ๋ชจ๋ธ๋ง

CH2. ์ €์žฅ์†Œ ํŒจํ„ด

CH3. ๋ง‰๊ฐ„: ๊ฒฐํ•ฉ๊ณผ ์ถ”์ƒํ™”

CH4. ์ฒซ ๋ฒˆ์งธ ์œ ์Šค ์ผ€์ด์Šค: ํ”Œ๋ผ์Šคํฌ API์™€ ์„œ๋น„์Šค ๊ณ„์ธต

CH5. ๋†’์€ ๊ธฐ์–ด๋น„์™€ ๋‚ฎ์€ ๊ธฐ์–ด๋น„์˜ TDD

CH6. ์ž‘์—… ๋‹จ์œ„ ํŒจํ„ด

CH7. ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํŠธ์™€ ์ผ๊ด€์„ฑ ๊ฒฝ๊ณ„

CH8. ์ด๋ฒคํŠธ์™€ ๋ฉ”์‹œ์ง€ ๋ฒ„์Šค

CH9. ๋ฉ”์‹œ์ง€ ๋ฒ„์Šค๋ฅผ ํƒ€๊ณ  ์‹œ๋‚ด๋กœ ๋‚˜๊ฐ€๊ธฐ

CH10. ์ปค๋งจ๋“œ์™€ ์ปค๋งจ๋“œ ํ•ธ๋“ค๋Ÿฌ

CH11. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜: ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ตํ•ฉ

CH12. ๋ช…๋ น-์งˆ์˜ ์ฑ…์ž„ ๋ถ„๋ฆฌ(CQRS)

CH13. ์˜์กด์„ฑ ์ฃผ์ž…(๊ทธ๋ฆฌ๊ณ  ๋ถ€ํŠธ์ŠคํŠธ๋ž˜ํ•‘)

CH14. ๋งบ์Œ๋ง

  1. CH0. ๋„์ž…
  2. CH1. ๋„๋ฉ”์ธ ๋ชจ๋ธ๋ง
  3. CH2. ์ €์žฅ์†Œ ํŒจํ„ด
  4. CH3. ๋ง‰๊ฐ„: ๊ฒฐํ•ฉ๊ณผ ์ถ”์ƒํ™”
  5. CH4. ์ฒซ ๋ฒˆ์งธ ์œ ์Šค ์ผ€์ด์Šค: ํ”Œ๋ผ์Šคํฌ API์™€ ์„œ๋น„์Šค ๊ณ„์ธต
  6. CH5. ๋†’์€ ๊ธฐ์–ด๋น„์™€ ๋‚ฎ์€ ๊ธฐ์–ด๋น„์˜ TDD
  7. CH6. ์ž‘์—… ๋‹จ์œ„ ํŒจํ„ด
  8. CH7. ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํŠธ์™€ ์ผ๊ด€์„ฑ ๊ฒฝ๊ณ„
  9. CH8. ์ด๋ฒคํŠธ์™€ ๋ฉ”์‹œ์ง€ ๋ฒ„์Šค
  10. CH9. ๋ฉ”์‹œ์ง€ ๋ฒ„์Šค๋ฅผ ํƒ€๊ณ  ์‹œ๋‚ด๋กœ ๋‚˜๊ฐ€๊ธฐ
  11. CH10. ์ปค๋งจ๋“œ์™€ ์ปค๋งจ๋“œ ํ•ธ๋“ค๋Ÿฌ
  12. CH11. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜: ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ตํ•ฉ
  13. CH12. ๋ช…๋ น-์งˆ์˜ ์ฑ…์ž„ ๋ถ„๋ฆฌ(CQRS)
  14. CH13. ์˜์กด์„ฑ ์ฃผ์ž…(๊ทธ๋ฆฌ๊ณ  ๋ถ€ํŠธ์ŠคํŠธ๋ž˜ํ•‘)
  15. CH14. ๋งบ์Œ๋ง
'๐Ÿ“š์ฑ…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ฑ… ์š”์•ฝ] ๊ฒŒ์œผ๋ฅธ ๋‡Œ์— ํ–‰๋™ ์Šค์œ„์น˜๋ฅผ ์ผœ๋ผ
  • ๋ถ€์ž์˜ ๊ทธ๋ฆ‡
ssuwani
ssuwani
  • ssuwani
    Oops!!
    ssuwani
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (69)
      • MLOps (19)
      • ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง (4)
      • Kubernetes (5)
      • Kafka (10)
      • ๐Ÿ“š์ฑ… (3)
      • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด (1)
      • ETC (8)
      • Python (6)
      • ์–ธ์–ด๋ชจ๋ธ (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    BentoML
    Kafka
    datadrift
    evidently ai
    asyncronous
    consumer
    Docker
    Prometheus
    LangChain
    LLM
    Schema Registry
    producer
    topic
    ํƒœ๊ทธ2
    Kubeflow
    RDD
    FastAPI
    Confluent Cloud
    Kubernetes
    Airflow
    Spark
    MLOps
    Github Actions
    gcp
    mlflow
    ํƒœ๊ทธ1
    auto tagging
    Python
    redis
    fluentbit
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
ssuwani
[์ฑ…] ํŒŒ์ด์ฌ์œผ๋กœ ์‚ดํŽด๋ณด๋Š” ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.