mingkeApr 13, 2024Rust 소유권(Ownership)과 차용(Borrowing)최근에 취미로 Rust를 공부하고 있습니다. 러스트에는 소유권(Ownership)과 차용(Borrowing)이라는 생소한 개념이 있더라구요. 공부한 내용을 이번 포스팅에서 정리해보려고 합니다. 이 개념들은 메모리 관리와 안전성을 강화하기 위해 설계된 것이라고 합니다.Rust
mingkeApr 9, 2024FastAPI 파일 다운로드 구현하기특정 데이터들을 Excel로 다운로드 하거나, 이미지들을 다운로드 하는 등의 요청이 있었습니다. 이와 관련해서 FastAPI에서 파일 다운로드 방법을 이번 포스팅에 공유하고자 합니다.FastAPI
mingkeApr 8, 2024Django selected_related, prefetch_related 면접 단골 질문Django에서 N+1 문제를 해결하는 방법을 알아 봅니다. 바로 select_related, prefetch_related 입니다. 이번 포스팅에서는 이 두 메소드에 대해서 알아보겠습니다.Django
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