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

2024. 7. 1. 00:10ยท๐Ÿ“š์ฑ…

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. ๋งบ์Œ๋ง

'๐Ÿ“š์ฑ…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ฑ… ์š”์•ฝ] ๊ฒŒ์œผ๋ฅธ ๋‡Œ์— ํ–‰๋™ ์Šค์œ„์น˜๋ฅผ ์ผœ๋ผ
  • ๋ถ€์ž์˜ ๊ทธ๋ฆ‡
ssuwani
ssuwani
  • ssuwani
    Oops!!
    ssuwani
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (69)
      • MLOps (19)
      • ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง (4)
      • Kubernetes (5)
      • Kafka (10)
      • ๐Ÿ“š์ฑ… (3)
      • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด (1)
      • ETC (8)
      • Python (6)
      • ์–ธ์–ด๋ชจ๋ธ (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

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

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