mingkeApr 8, 2024Python 비동기 - 이벤트 루프 간단 정리이전 글에 이벤트 루프 기반의 비동기와 멀티 스레딩 기반의 비동기를 비교하는 글을 작성했습니다. 이번 글에서는 비동기 프로그래밍의 핵심 요소, 이벤트 루프에 대해 자세히 알아보겠습니다.Python
mingkeApr 4, 2024Python 비동기 이벤트루프 방식과 멀티스레딩 방식 비교Python에서 비동기 프로그래밍은 효율적인 I/O 작업과 고성능 애플리케이션 구축에 많이 사용됩니다.최근 면접에서 ‘Python 비동기에서 이벤트루프 방식과 멀티스레딩 방식이 어떻게 다른지 설명해 보시오’ 라는 질문을 받았습니다. 오늘은 이와 관련해서 포스팅을 해보려고 합니다.Python
mingkeApr 2, 2024Redis 따닥 방지(중복 방지) 하기 - FastAPI최근 면접에서 받았던 질문 내용을 가지고 블로그 글을 작성하고 있습니다. 이번에는 Redis를 이용해서 클라이언트의 따닥을 방지하는 방법을 알아보겠습니다. 성공하든 실패하든 면접 많이 보는것은 도움이 되는 것 같네요. 임시 Token과 Redis를 이용해서 상태관리를 통해 처리할 수 있습니다.RedisFastAPI
mingkeMar 31, 2024SQLALCHEMY MYSQL UPSERT on_duplicate_key_update데이터가 존재하면 업데이트를 하고, 존재하지 않으면 데이터를 삽입하는 방법이 있습니다. 이것을 Upsert라고 부릅니다. 얼마전 사용할 일이 있어서 사용했는데, 블로그로도 한 번 공유 해볼까 합니다. 데이터베이스는 MySQL 기준으로 작성합니다.SQLAlchemy
mingkeMar 30, 2024SQLALCHEMY MYSQL DB INDEX 설정하기DB 인덱스와 관련해서는 주니어 이하의 면접에서도 많이 다뤄지는 주제라고 생각됩니다. 개인적으론 최근 치렀던 과제테스트와 면접에서도 다뤄졌던 내용인데요. 오늘은 이와 관련해서 블로그 포스팅을 해보려고합니다.SQLAlchemy
mingkeMar 13, 2024Python ThreadPoolExecutor - concurrent.futures 파이썬 비동기오늘은 Python에서 어떠한 작업들을 동시에 처리할 수 있는 방법들 중에 하나인 ThreadPoolExecutor에 대해서 알아보도록 하겠습니다. 멀티스레딩을 쉽게 구현할 수 있게 해주며, 주로 I/O 바운드 작업에서 성능을 개선하기 위해서 사용됩니다. I/O 바운드 작업은 프로그램의 실행 속도가 입출력 작업에 의해서 결정되는 작업입니다. 디스크에 접근하거나, 네트워크 통신을 하는 경우를 말합니다. 이 정도 개념만 알고 코드 넘어가겠습니다.Python
mingkeMar 12, 2024FastAPI Settings - Pydantic Settings 관리하기FastAPI에서는 Django 처럼 기본 Setting을 지원해주는 것이 없기 때문에 프로젝트에 필요한 셋팅들을 직접 만들어줘야 합니다. DB 주소, AWS키 등 프로젝트에서 사용될 환경변수나 상수값 같은 것들을 말이죠. pydantic_settings를 많이 사용합니다. 이번 포스팅에서 pydantic_settings로 FastAPI에서 setting을 관리하는 방법을 알아보겠습니다.FastAPIPydantic
mingkeMar 7, 2024Github Actions - Docker 이미지 빌드 및 푸시하기이미지를 빌드하고 레지스트리로 푸시하는 작업은 귀찮은 작업입니다. Github Actions를 이용해 이 작업을 자동화할 수 있는 방법을 알아보겠습니다. Github Actions MarketPlace에는 다양한 Action들이 있는데요. 제가 자주 사용하는 방법을 공유해 보도록 하겠습니다.Github Actions
mingkeMar 4, 2024개발자의 글쓰기 - 블로그 하는 이유블로그를 처음 시작했던 것은 2021년부터인데요. 그땐 티스토리를 했는데, 막연하게 ‘좋은 개발자가 되려면 글을 잘써야한다더라, 블로그를 해야한다더라 이야기’를 듣고 했다가 6개월을 넘기지 못하고 자연스레 접게되었네요.그러다가 최근에 다시 시작하게 되었습니다. 그래서 오늘은 블로그를 왜 하는지에 대해서 글을 작성해보려고 합니다.Writing
mingkeFeb 29, 2024ECS EC2 배포 태스크 정의 하드제한 소프트제한AWS ECS EC2를 배포하는 과정에서 태스크 정의를 작성해야합니다. 태스크 정의를 작성할 때 컨테이너 설정을 부분에서 리소스를 할당한은 옵션이 있습니다. 오늘은 그 중에서 메모리를 제한할 때 사용하는 개념인 하드제한과 소프트 제한을 알아보도록 하겠습니다.AWS