Posts
Q&A
๋น๋๊ธฐ ์๋ฒ ๊ตฌ์ฑํ๋ค ์ ์ ์๋ ์๋ฌ์ ๋น ์ก๋๋ฐ...
์ํ ์ ๋ฌธ์ ๋ ํด๊ฒฐํ์ต๋๋ค.๋ชจ๋ entity ํด๋์ค์ ์ ์ญ์ฐธ์กฐ ๊ด๊ณ ์ ์ธ์๋ค๊ฐ lazy="joined"๋ฅผ ๋ฃ์ด๋จ๋๋ ๋ฌดํ์ํ์ ๋น ์ก๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ ํ๊ฒ ํ์ํ ๊ฒ๋ง ๋ฃ๊ณ ๋๋จธ์ง๋ ๋นผ๋๊น ์ ๋๋ค์
- Likes
- 0
- Comments
- 5
- Viewcount
- 556
Q&A
๋น๋๊ธฐ ์๋ฒ ๊ตฌ์ฑํ๋ค ์ ์ ์๋ ์๋ฌ์ ๋น ์ก๋๋ฐ...
์๋ ํ์ธ์. ์ ์๋ฌ๋ ํด๊ฒฐ๋๋๋ฐ, ์๋ก์ด ๋ฌธ์ ๊ฐ ์๊ฒผ์ต๋๋ค ใ ใ from typing import Tuple, Type from fastapi import Depends from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncResult, AsyncSession from src.core.type.common_type import E from src.db.connection import get_db class BaseRepository: def __init__(self, db: AsyncSession=Depends(get_db)): self.db = db async def get_entity_by_id(self, model: Type[E], entity_id: int) -> E | None: async with self.db as db: result: AsyncResult[Tuple[E]] = await db.execute(select(model).where(model.id == entity_id)) # ๋ฌธ์ ๊ฐ ์๊ธด ๋ถ๋ถ entity: E | None = result.scalar_one_or_none() return entity from fastapi import Depends from sqlalchemy.ext.asyncio import AsyncSession from src.db.connection import get_db from src.entity.user import UserEntity from src.repository.base_repository import BaseRepository class UserRepository(BaseRepository): async def get_user_by_id(self, user_id: int) -> UserEntity | None: return await self.get_entity_by_id(UserEntity, user_id)์ ์ฝ๋ ์ค BaseRepository์ result๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ค์ db lock์ธ์ง ๋ฌดํ ๋๊ธฐ ์ํ์ธ์ง ์๋ฒ๊ฐ ๋ฉ์ถฐ๋ฒ๋ฆฌ๋ ํ์์ด ์์ต๋๋ค.db์ ์ฟผ๋ฆฌ๋ฌธ์ด ๋ ๋ผ๊ฐ๋๊ฑด ํ์ธํ์ต๋๋ค๋ง ๋ค์ ์ฝ๋๋ก ๋์ด๊ฐ์ง ์๋ค์. ์ ๊ฐ ๋์น๊ฒ ์์๊น์?
- Likes
- 0
- Comments
- 5
- Viewcount
- 556
Q&A
๋น๋๊ธฐ ์๋ฒ ๊ตฌ์ฑํ๋ค ์ ์ ์๋ ์๋ฌ์ ๋น ์ก๋๋ฐ...
์.. ์ฐพ์์ต๋๋ค. 8000๋ฒ ํฌํธ๋ก ์ด์๋ ํ๋ก์ธ์ค๊ฐ ๋น์ ์ ์ข ๋ฃ ๋๋ฉด์ ํฌํธ๊ฐ ๋ซํ์ง ์์๋๊ฒ ๋ฌธ์ ์์ต๋๋ค.
- Likes
- 0
- Comments
- 5
- Viewcount
- 556
Q&A
orm relationship ์ ์ ์ค ํด๋น ์๋ฌ ๋ฐ์ ์ ์ด๋ป๊ฒ ๊ณ ์ณ์ผ ํ๋๊ฑธ๊น์
์ ํด๊ฒฐํ์ต๋๋ค.
- Likes
- 0
- Comments
- 3
- Viewcount
- 225
Q&A
ํ์ด์ฌ ์ฝ๋ฃจํด ์ฌ์ฉํ๊ธฐ - aiohttp๋ก crawling์์ ssl error ๋ฐ์
์ ๋ณด ๊ณต์ ๊ฐ์ฌํฉ๋๋ค :)
- Likes
- 4
- Comments
- 2
- Viewcount
- 3.2K
Q&A
์ ๊ทํํ์ ์ฌ์ฉํ๋ /view/1 ์กฐํ๊ฐ ๋์ง ์์ต๋๋ค.
์ง๋ฌธ์ ๋ถ์ ์ฅ๊ณ ๋ฒ์ ์ด ๋ญ์ง ์ค์ํ ๊ฑฐ ๊ฐ์๋ฐ์... ๊ฐ์ ์ฅ๊ณ ๋ฒ์ ์ด 1.9์ ๋๋ค. ์ฅ๊ณ ๋ฒ์ 2๊น์ง๋ `r'^'`์ ์ฌ์ฉํ ์ ๊ทํํ์ url ํ์ฑ์ ์ฌ์ฉํ์๋๋ฐ, ์ฅ๊ณ ๊ฐ ๋ฒ์ 3์ผ๋ก ๋์ด์ค๋ฉด์ ์ ๋ต๊ธ๊ณผ ๊ฐ์ ํ์์ผ๋ก ๋ฐ๋์์ต๋๋ค. ํ์ฌ๋ ์ฅ๊ณ 4.0.3๊น์ง ๋์์๋ ๊ฑธ๋ก ์๊ณ ์๋๋ฐ, ๊ตฌ๊ธ๋ง ํ์๋ฉด์ ํด๋น ๋ฒ์ ์ ๋ง๋ ๋ฐฉ์์ ์ฌ์ฉํ์๋ฉด ๋ ๊ฑฐ๊ฐ์์
- Likes
- 0
- Comments
- 4
- Viewcount
- 584
Q&A
๋น๋๊ธฐ์ฑ๊ณผ ๋์์ฑ ๊ด๊ณ
์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด๋ณด์๋ฉด ์ข์๊ฑฐ ๊ฐ์ต๋๋ค. ์ ์ ๋ฆฌ๋์ด์์ด์ :)
- Likes
- 1
- Comments
- 1
- Viewcount
- 267
Q&A
ํ์ด์ฌ์ ์จํผ์ ์ฝ์ด๋ฅผ ํ๋๋ง ์ฌ์ฉํ๋ ์ธ์ด์ธ๊ฐ์?
์์ง ์ด ํํธ๋ฅผ ๋ฃ์ง ์์์ ์ด๋ค ์๋ฏธ๋ก ๋ณ๋ ฌ์ฑ ์ง์์ ์ํ๋ค๊ณ ํ์ ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง,(์๋ง Cpython์ GIL์ผ๊ฑฐ ๊ฐ์๋ฐ...) ํ์ด์ฌ๋ ์ธ๋ถ(๊ธฐ๋ณธ)ํจํค์ง๋ฅผ ์ฌ์ฉํด ๋ฉํฐ ์ฐ๋ ๋ฉ, ๋ฉํฐ ํ๋ก์ธ์ฑ ์ปดํจํ ์ด ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง ์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ์ธํฐํ๋ฆฌํฐ๋ฅผ CPython์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ ๋ฉํฐ ์ฐ๋ ๋ ์ฝ๋๋ฅผ ๊ตฌํํด๋ ์ค์ง์ ์ผ๋ก๋ ์ ์ฉ๋์ง ์๋๋ค๊ณ ํฉ๋๋ค. ์ธํฐํ๋ฆฌํฐ๋ฅผ ๋ฐ๊พธ๋ฉด ์ค๋ ๋๋ฅผ ์์ฑํ๋งํผ ์ฌ์ฉํ ์ ์๋ค๊ณ ํ๋ค์. ๊ทธ๋ฆฌ๊ณ ์ฝ์ด ์ฌ์ฉ์ ๋ฉํฐ ํ๋ก์ธ์ค ํจํค์ง๋ฅผ ์ด์ฉํด ํ์ฅํด์ ์ฌ์ฉํ ์ ์๋ค๊ณ ํ๊ณ ์ค์ ๋ก ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ ๋ฉํฐ ํ๋ก์ธ์ค๋ฅผ ํ์ฉํ๋ค๊ณ ํ๋ค์.(์ฐธ๊ณ : https://www.quora.com/How-many-Python-threads-can-I-run)
- Likes
- 1
- Comments
- 1
- Viewcount
- 801
Q&A
vectorized์ ๋ํด์ ์ข ๋ ๋ค๋ค์ฃผ์ จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
์๋ ํ์ธ์. ์กฐ๊ธ๋ง ๋ ์ฒจ์ธํด๋ณด์๋ฉด, ๊ฐ์์์ ๋์ค๋ vectorized function์ ๋ํ ์ด๋ก ์ ์ธ ๋ด์ฉ๋ค์ ์ ํ๋์ํ์์ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ๋ณธ์ง์ ์ผ๋ก ์ด ๊ฐ์๋ณด๋ค๋ ์ ํ๋์ํ์ ํ์ตํ์๊ฑฐ๋, ์ฐพ์๋ณด์๋๊ฒ ์ข์๊ฑฐ ๊ฐ์ต๋๋ค!
- Likes
- 0
- Comments
- 2
- Viewcount
- 311




