안녕하세요. Teus입니다.이번 포스팅은 Python의 Multiprocessing을 사용하는 과정에서 발생하는 문제점들을 탐구하는 포스팅 입니다.0. Python의 Multiprocessing예전부터 이야기 하지만, Python의 GIL 때문에, Python에서 Multicore의 이점을 가져가기 위해선 MultiThreading이 아니라 Multiprocessing이 필요합니다.이런 Prcoess끼리는 서로 Data와 Heap, Stack을 공유하지 않기 때문에Process를 생성하고, 해당 Process가 새로운 작업을 시작하는데는 Thread를 사용하는것 보다 많은 시간이 요구됩니다.import multiprocessing as mpimport threadingimport timeitdef foo..
안녕하세요. Teus입니다.이번 포스팅은 asyncio의 저수준 api를 사용해서어떻게 바닥부터 비동기 함수를 만드는지에 대해서 asyncio.sleep 조교와 함께 알아보겠습니다.0. asyncio.sleeppython에서 가장 처음 asyncio를 접할 경우아마도 십중 팔구 asyncio.sleep을 통해서 async를 쓰면 좋다고 전도받습니다.#https://docs.python.org/3/library/asyncio-runner.htmlasync def main(): await asyncio.sleep(1) print('hello')asyncio.run(main())근데 이상하게도 아래처럼 만든 함수를 사용하면 async의 힘을 사용할 수가 없습니다async def my_async_sl..
안녕하세요.대 AI시대에 python한 우물만을 파고있는 Teus입니다이번 포스팅은, Python의 비동기 라이브러리인 aiofiles를 활용해서비동기로 Parquet파일을 읽어들이는 방법에 대해서 다룹니다.aiofiles 패키지를 이용해서 Bytes를 비동기로 읽어오고, 해당 Bytes를 활용해서 Parquet파일을 만들어 볼 예정입니다.0. Parquet파일?Parquet파일은 Data Engineering 분야에서 효율적으로 빅데이터를 저장하기 위해서 만들어진 확장자 포맷 입니다.기존에 CSV를 대체할 목적으로 나왔고, 이전에 홍반장님의 포스팅에서도 다룬적이 있습니다.Data Projects 에서 I/O Optimization by 홍반장parquet 파일은 기본적으로 apache에서 제공하는 py..
안녕하세요. Teus입니다. 이번 포스팅은 Flask 2.0에서 지원되는 Async함수에 대해서 이야기 합니다.1. Flask 2.0아마 처음에 Flask의 비동기 함수를 보고 Flask에서 비동기함수라니, 뭔 멍멍이같은 소리여😒 하실 수 있습니다. 하지만, Flask가 2.0으로 버전업이 되면서 Async함수를 쓸 수 있게 되었습니다.Flask Async Official Docs Using async and await — Flask Documentation (2.3.x)Using async and await Changelog Routes, error handlers, before request, after request, and teardown functions can all be coroutine ..
안녕하세요. Teus입니다. 이번 포스팅은 FastAPI에서 기본적으로 사용하는 WebServer인 Uvicorn의 workers가 어떤 의미를 갖는지 알아봅니다. 그리고 일반적으로 알기 어려운 WebServer의 역할을 Python코드를 통해서 알아봅니다.0. Gunicorn일반적으로 Web서버의 구성은 아래처럼 구성 됩니다.client WebServer WebApplicationServer(WAS) DBSpringboot같은 경우 Webserver의 역할을 Tomcat이나 Apache 서버가 해줍니다. 하지만 Python같은 경우 Gunicorn이라는 패키지를 통해서 Client의 Requests를 받고, 이를 WAS(=Django, FastAPI Application)로 넘겨줍니다. 그래서 이..
안녕하세요. Teus입니다. 지난 포스팅을 통해서 Pandas DataFrame을 Groupby 할 경우, 어떻게 Groupby된 Object를 반환하는지 확인 하였습니다. groupby 이후에 일반적으로 groupby.mean() or .median()과 같은 method Chain을 많이 사용합니다. 이번 포스팅에서는 이 Method Chain이 어떻게 동작하는지 간단히만 살펴보도록 하겠습니다. (pandas.DataFrame.groupby().mean() 기준으로 살펴봅니다) 출처 : pandas/core/groupby/groupby.py#L2081 @final @Substitution(name="groupby") @Substitution(see_also=_common_see_also) def me..
- Total
- Today
- Yesterday
- 동적계획법
- SIMD
- 알고리즘
- 자료구조
- prime number
- 코딩테스트
- 컴퓨터그래픽스
- AVX
- 이분탐색
- 프로그래머스
- hash
- Search알고리즘
- stack
- Python
- 완전탐색 알고리즘
- C++
- Sort알고리즘
- 사칙연산
- heap
- git
- GDC
- 분할정복
- Greedy알고리즘
- 병렬처리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |