Skip to content
jacob119Public

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

2 watching

Forks

Latest commit

ย 

History

41 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ… Morning - AI ๊ธฐ๋ฐ˜ ์ฃผ์‹ ๋ถ„์„ ๋ฐ ํŠธ๋ ˆ์ด๋”ฉ ์‹œ์Šคํ…œ

๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

Morning์€ AI ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ ์ง€๋Šฅํ˜• ์ฃผ์‹ ๋ถ„์„ ๋ฐ ์ž๋™ ํŠธ๋ ˆ์ด๋”ฉ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ์‹œ์žฅ ๋ฐ์ดํ„ฐ ๋ถ„์„, AI ๊ธฐ๋ฐ˜ ํˆฌ์ž ์˜๊ฒฌ ์ƒ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์–‘ํ•œ ํŠธ๋ ˆ์ด๋”ฉ ์ „๋žต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

โš ๏ธ ์ค‘์š”: ๊ฐ€์ƒํ™˜๊ฒฝ ์‚ฌ์šฉ ํ•„์ˆ˜

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋ฐ˜๋“œ์‹œ ๊ฐ€์ƒํ™˜๊ฒฝ(venv)์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ Python์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ฉด ์˜์กด์„ฑ ์ถฉ๋Œ์ด๋‚˜ ๊ถŒํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿค– AI ๊ธฐ๋ฐ˜ ๋ถ„์„

  • ์‹ค์‹œ๊ฐ„ ์ฃผ์‹ ๋ถ„์„: OpenAI๋ฅผ ํ™œ์šฉํ•œ ์ง€๋Šฅํ˜• ์ฃผ์‹ ๋ฆฌํฌํŠธ ์ƒ์„ฑ
  • ํˆฌ์ž ์˜๊ฒฌ ์ƒ์„ฑ: Buy/Sell/Hold ์ถ”์ฒœ ๋ฐ ๋ชฉํ‘œ๊ฐ€ ์„ค์ •
  • ๋‰ด์Šค ๊ฐ์ • ๋ถ„์„: ๊ด€๋ จ ๋‰ด์Šค ๊ธฐ๋ฐ˜ ์‹œ์žฅ ์‹ฌ๋ฆฌ ๋ถ„์„

๐Ÿ“Š ์ „๋žต ์—”์ง„

  • ๋ชจ๋“ˆํ™”๋œ ์ „๋žต: ๋ชจ๋ฉ˜ํ…€, Mean Reversion, Breakout ์ „๋žต
  • ๋ฐฑํ…Œ์ŠคํŒ…: ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ „๋žต ์„ฑ๋Šฅ ๊ฒ€์ฆ
  • ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ: ํฌ์ง€์…˜ ์ œํ•œ, ์†์ ˆ/์ต์ ˆ ๊ทœ์น™

๐Ÿ”— API ํ†ตํ•ฉ

  • KIS API: ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์—ฐ๋™
  • Slack Bot: ํฌํŠธํด๋ฆฌ์˜ค ์ƒํƒœ ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ
  • ์›น ๋Œ€์‹œ๋ณด๋“œ: Streamlit ๊ธฐ๋ฐ˜ ์‹œ๊ฐํ™”

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

1. ํ™˜๊ฒฝ ์„ค์ •

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/your-username/morning.git
cd morning

# ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™” (ํ•„์ˆ˜!)
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# ์˜์กด์„ฑ ์„ค์น˜
pip install -r requirements.txt
pip install -r requirements-dev.txt  # ๊ฐœ๋ฐœ ๋„๊ตฌ ์„ค์น˜

2. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •

.env ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์Œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

# OpenAI API
OPENAI_API_KEY=your_openai_api_key

# KIS API
KIS_APP_KEY=your_kis_app_key
KIS_APP_SECRET=your_kis_app_secret
KIS_ACCESS_TOKEN=your_kis_access_token

# Slack Bot
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
SLACK_APP_TOKEN=xapp-your-slack-app-token
SLACK_SIGNING_SECRET=your-slack-signing-secret

3. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰

# ๊ฐ€์ƒํ™˜๊ฒฝ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
which python  # venv/bin/python์ด ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•จ

# ๋Œ€์‹œ๋ณด๋“œ ์‹คํ–‰
streamlit run dashboard.py

# Slack Bot ์‹คํ–‰
python slack_bot.py

# ์ „๋žต ์—”์ง„ ํ…Œ์ŠคํŠธ
python test/strategy/test_strategy_engine.py

๐Ÿ—๏ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

morning/
โ”œโ”€โ”€ agent/                 # AI ์—์ด์ „ํŠธ
โ”‚   โ”œโ”€โ”€ analytics.py      # ์ฃผ์‹ ๋ถ„์„ ๋กœ์ง
โ”‚   โ”œโ”€โ”€ tools.py          # ๋ถ„์„ ๋„๊ตฌ
โ”‚   โ””โ”€โ”€ prompts/          # AI ํ”„๋กฌํ”„ํŠธ
โ”œโ”€โ”€ api/                  # API ํด๋ผ์ด์–ธํŠธ
โ”‚   โ”œโ”€โ”€ api_client.py     # ๊ณตํ†ต API ํด๋ผ์ด์–ธํŠธ
โ”‚   โ”œโ”€โ”€ ki/              # KIS API
โ”‚   โ””โ”€โ”€ trader.py        # ํŠธ๋ ˆ์ด๋”ฉ API
โ”œโ”€โ”€ strategy/             # ์ „๋žต ์—”์ง„
โ”‚   โ”œโ”€โ”€ engines/         # ์ „๋žต ์‹คํ–‰ ์—”์ง„
โ”‚   โ”œโ”€โ”€ strategies/      # ํŠธ๋ ˆ์ด๋”ฉ ์ „๋žต
โ”‚   โ”œโ”€โ”€ backtest/        # ๋ฐฑํ…Œ์ŠคํŒ…
โ”‚   โ””โ”€โ”€ risk_management/ # ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ
โ”œโ”€โ”€ core/                 # ํ•ต์‹ฌ ์‹œ์Šคํ…œ
โ”‚   โ”œโ”€โ”€ dependency_injection.py  # ์˜์กด์„ฑ ์ฃผ์ž…
โ”‚   โ”œโ”€โ”€ error_handling.py        # ์—๋Ÿฌ ์ฒ˜๋ฆฌ
โ”‚   โ””โ”€โ”€ performance_monitoring.py # ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง
โ”œโ”€โ”€ test/                 # ํ…Œ์ŠคํŠธ
โ”‚   โ”œโ”€โ”€ unit/            # ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
โ”‚   โ”œโ”€โ”€ integration/     # ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
โ”‚   โ””โ”€โ”€ conftest.py      # ํ…Œ์ŠคํŠธ ์„ค์ •
โ”œโ”€โ”€ scripts/             # ์œ ํ‹ธ๋ฆฌํ‹ฐ ์Šคํฌ๋ฆฝํŠธ
โ”œโ”€โ”€ ui/                  # ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค
โ””โ”€โ”€ config/              # ์„ค์ • ํŒŒ์ผ

๐Ÿงช ํ…Œ์ŠคํŒ…

ํ…Œ์ŠคํŠธ ์‹คํ–‰

# ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™” ํ™•์ธ
source venv/bin/activate

# ์ „์ฒด ํ…Œ์ŠคํŠธ ์‹คํ–‰
pytest

# ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋งŒ ์‹คํ–‰
pytest test/unit/

# ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋งŒ ์‹คํ–‰
pytest test/integration/

# ์ปค๋ฒ„๋ฆฌ์ง€ ํ™•์ธ
pytest --cov=. --cov-report=html

ํ…Œ์ŠคํŠธ ๊ตฌ์กฐ

  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ: ๊ฐœ๋ณ„ ํ•จ์ˆ˜/ํด๋ž˜์Šค ํ…Œ์ŠคํŠธ
  • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ: ๋ชจ๋“ˆ ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ ํ…Œ์ŠคํŠธ
  • ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ: ์„ฑ๋Šฅ ์ง€ํ‘œ ์ธก์ •
  • E2E ํ…Œ์ŠคํŠธ: ์ „์ฒด ์›Œํฌํ”Œ๋กœ์šฐ ํ…Œ์ŠคํŠธ

๐Ÿ“‹ ์ฝ”๋”ฉ ๋ฃฐ

์ด ํ”„๋กœ์ ํŠธ๋Š” ์—„๊ฒฉํ•œ ์ฝ”๋”ฉ ๋ฃฐ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ CODING_RULES.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฃผ์š” ์›์น™

  1. ์˜์กด์„ฑ ์ฃผ์ž…: ๋ชจ๋“  ์™ธ๋ถ€ ์˜์กด์„ฑ์€ DI ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ด€๋ฆฌ
  2. ํƒ€์ž… ํžŒํŠธ: ๋ชจ๋“  ํ•จ์ˆ˜์— ํƒ€์ž… ํžŒํŠธ ํ•„์ˆ˜
  3. ์—๋Ÿฌ ์ฒ˜๋ฆฌ: ์ปค์Šคํ…€ ์˜ˆ์™ธ์™€ ์ผ๊ด€๋œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง
  4. ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€: ์ตœ์†Œ 80% ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์œ ์ง€
  5. ๋ฌธ์„œํ™”: ๋ชจ๋“  ๊ณต๊ฐœ API์— docstring ํ•„์ˆ˜

๐Ÿ”„ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ

1. ์ฝ”๋“œ ์ž‘์„ฑ

# ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™” (๋งค๋ฒˆ ํ™•์ธ!)
source venv/bin/activate

# ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
git checkout -b feature/new-feature

# ์ฝ”๋“œ ์ž‘์„ฑ ํ›„ ์Šคํ…Œ์ด์ง•
git add .

# ๊ฒ€์ฆ์„ ํฌํ•จํ•œ commit
./scripts/commit_with_validation.sh "feat(api): ์ƒˆ๋กœ์šด API ์ถ”๊ฐ€"

2. ์ž๋™ ๊ฒ€์ฆ

Commit ์ „ ์ž๋™์œผ๋กœ ๋‹ค์Œ ๊ฒ€์ฆ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค:

  • โœ… ์ฝ”๋“œ ํฌ๋งทํŒ… (black, isort)
  • โœ… ํƒ€์ž… ํžŒํŠธ ๊ฒ€์‚ฌ (mypy)
  • โœ… ๋ณด์•ˆ ๊ฒ€์‚ฌ (API ํ‚ค ๋…ธ์ถœ ๋“ฑ)
  • โœ… ํ…Œ์ŠคํŠธ ์‹คํ–‰ (pytest)
  • โœ… ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ํ™•์ธ (80% ์ด์ƒ)
  • โœ… ๋ฌธ์„œํ™” ๊ฒ€์‚ฌ

3. Pull Request

# ๋ธŒ๋žœ์น˜ ํ‘ธ์‹œ
git push origin feature/new-feature

# GitHub์—์„œ Pull Request ์ƒ์„ฑ
# ๋ฆฌ๋ทฐ์–ด ์Šน์ธ ํ›„ main ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€

๐Ÿ› ๏ธ ๊ฐœ๋ฐœ ๋„๊ตฌ

ํ•„์ˆ˜ ๋„๊ตฌ

  • Python 3.8+
  • Black: ์ฝ”๋“œ ํฌ๋งทํ„ฐ
  • isort: import ์ˆœ์„œ ์ •๋ ฌ
  • mypy: ํƒ€์ž… ์ฒด์ปค
  • pytest: ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
  • pre-commit: Git hook

๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

# ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™” (ํ•„์ˆ˜!)
source venv/bin/activate

# ๊ฐœ๋ฐœ ๋„๊ตฌ ์„ค์น˜
pip install -r requirements-dev.txt

# pre-commit hook ์„ค์ •
pre-commit install

# ์ฝ”๋“œ ํฌ๋งทํŒ…
black .
isort .

# ํƒ€์ž… ์ฒดํฌ
mypy .

# ํ…Œ์ŠคํŠธ ์‹คํ–‰
pytest

๐Ÿ“Š ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง

์„ฑ๋Šฅ ์ง€ํ‘œ

  • API ์‘๋‹ต ์‹œ๊ฐ„: 1์ดˆ ์ด๋‚ด
  • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰: ํ”„๋กœ์„ธ์Šค๋‹น 512MB ์ด๋‚ด
  • CPU ์‚ฌ์šฉ๋ฅ : ํ‰๊ท  70% ์ดํ•˜
  • ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์‹œ๊ฐ„: 5๋ถ„ ์ด๋‚ด

๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ

from core.performance_monitoring import monitor_performance

@monitor_performance("api_call")
def get_stock_data(stock_code: str):
    # API ํ˜ธ์ถœ ๋กœ์ง
    pass

๐Ÿ”’ ๋ณด์•ˆ

๋ณด์•ˆ ์ •์ฑ…

  1. ๋ฏผ๊ฐ ์ •๋ณด: ๋ชจ๋“  API ํ‚ค๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ๊ด€๋ฆฌ
  2. ์ž…๋ ฅ ๊ฒ€์ฆ: ๋ชจ๋“  ์™ธ๋ถ€ ์ž…๋ ฅ์— ๋Œ€ํ•œ ๊ฒ€์ฆ ์ˆ˜ํ–‰
  3. SQL Injection ๋ฐฉ์ง€: ํŒŒ๋ผ๋ฏธํ„ฐํ™”๋œ ์ฟผ๋ฆฌ ์‚ฌ์šฉ
  4. ์ ‘๊ทผ ์ œ์–ด: ์ ์ ˆํ•œ ๊ถŒํ•œ ์„ค์ •

๋ณด์•ˆ ๊ฒ€์‚ฌ

# ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™” ํ™•์ธ
source venv/bin/activate

# ๋ณด์•ˆ ์ทจ์•ฝ์  ๊ฒ€์‚ฌ
./scripts/pre_commit_check.py

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

๊ธฐ์—ฌ ๊ฐ€์ด๋“œ

  1. ์ด์Šˆ ์ƒ์„ฑ: ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ ๋˜๋Š” ๊ธฐ๋Šฅ ์š”์ฒญ
  2. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ: feature/๊ธฐ๋Šฅ๋ช… ๋˜๋Š” fix/๋ฒ„๊ทธ๋ช…
  3. ์ฝ”๋“œ ์ž‘์„ฑ: ์ฝ”๋”ฉ ๋ฃฐ ์ค€์ˆ˜
  4. ํ…Œ์ŠคํŠธ ์ž‘์„ฑ: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
  5. Pull Request: ์ƒ์„ธํ•œ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ PR ์ƒ์„ฑ

์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ฝ”๋”ฉ ๋ฃฐ ์ค€์ˆ˜
  • ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ถฉ์กฑ
  • ์„ฑ๋Šฅ ์˜ํ–ฅ ๊ฒ€ํ† 
  • ๋ณด์•ˆ ์ทจ์•ฝ์  ํ™•์ธ
  • ๋ฌธ์„œํ™” ์™„๋ฃŒ

๐Ÿ“ˆ ๋กœ๋“œ๋งต

v1.1 (์˜ˆ์ •)

  • ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ ์‹œ์Šคํ…œ
  • ๊ณ ๊ธ‰ ์ฐจํŠธ ๋ถ„์„
  • ํฌํŠธํด๋ฆฌ์˜ค ์ตœ์ ํ™”

v1.2 (์˜ˆ์ •)

  • ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ ํ†ตํ•ฉ
  • ๋‹ค์ค‘ ๊ฑฐ๋ž˜์†Œ ์ง€์›
  • ๋ชจ๋ฐ”์ผ ์•ฑ

๐Ÿ“ž ์ง€์›

๋ฌธ์˜ ๋ฐ ์ง€์›

์ปค๋ฎค๋‹ˆํ‹ฐ

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๋ง

  • OpenAI: GPT ๋ชจ๋ธ ์ œ๊ณต
  • KIS: ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ API ์ œ๊ณต
  • Streamlit: ์›น ๋Œ€์‹œ๋ณด๋“œ ํ”„๋ ˆ์ž„์›Œํฌ
  • ์ปค๋ฎค๋‹ˆํ‹ฐ: ๋ชจ๋“  ๊ธฐ์—ฌ์ž๋“ค

๐Ÿ’ก ๊ฐ€์ƒํ™˜๊ฒฝ ์‚ฌ์šฉ ํŒ

์ผ์ƒ์ ์ธ ์ž‘์—…

# ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์‹œ
cd morning
source venv/bin/activate

# ์ž‘์—… ์™„๋ฃŒ ํ›„
deactivate

๋ฌธ์ œ ํ•ด๊ฒฐ

# ๊ฐ€์ƒํ™˜๊ฒฝ ์žฌ์ƒ์„ฑ (๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ)
rm -rf venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt

์ž๋™ ํ™œ์„ฑํ™” (์„ ํƒ์‚ฌํ•ญ)

# .bashrc ๋˜๋Š” .zshrc์— ์ถ”๊ฐ€
alias morning='cd /path/to/morning && source venv/bin/activate'

โš ๏ธ ์ฃผ์˜: ์ด ์‹œ์Šคํ…œ์€ ๊ต์œก ๋ฐ ์—ฐ๊ตฌ ๋ชฉ์ ์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํˆฌ์ž์— ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ์ถฉ๋ถ„ํ•œ ํ…Œ์ŠคํŠธ์™€ ๊ฒ€์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ง ์ค‘์š”: ํ•ญ์ƒ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์‹œ์Šคํ…œ Python์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ฉด ์˜์กด์„ฑ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages