Skip to main content

Command Palette

Search for a command to run...

#python

Articles tagged with #python

  1. 파이썬 톺아보기 2화 - Ast 와 바이트코드

    식(Expression) 과 문장(Statement) 프로그래밍을 공부하다보면 위 두 단어를 반드시 마주하게 된다. 가끔 헷갈려하는 경우가 많은데 오늘은 python 에서 기본 모듈인 ast 모듈을 공부하며 이를 알아보도록 하자. 식(Expression) 기본적으로 식(Expression) 이란 평가되면 값이 나오는 코드 조각을 뜻한다. 파이썬에서는 어떠한 부분들이 있을까? 노드 타입설명예시 BinOp이항 연산a + b, x * y...

    Feb 6, 20267 min read30
  2. SQLAlchemy 조인 종류

    ORM 을 사용하다보면 어떤 방법으로 연관된 엔티티들을 조회할 방식에 대해 고민을 많이 하게된다. Python 을 사용하면 주로 SQLAlchemy 를 주 ORM 으로 많이 사용하게 되는데, SQLAlchemy 에는 크게 3가지 정도의 연관관계 로딩 방법이 존재한다. 오늘은 그 중 selectinload , joinedload , subqueryload 에 대해서 알아보려고 한다. 모델링 일단 테스트를 위한 엔티티 생성은 아래와 같이 조금 복잡...

    Sep 30, 202516 min read22
  3. Python ContextVar

    ContextVar 란? FastAPI 와 같은 비동기 프레임워크를 사용하다보면 하나의 세션안에서 동일한 컨텍스트를 유지해야 하는 일들이 발생한다. 기존 멀티 스레드기반에서 주로 사용되는 TLS(Thread Local Storage) 기반의 방식을 비동기에 적용하게 되면 Task 가 다른 스레드에서 실행되어 Context 가 예기치 않게 다른 스레드에 노출될수도 있다. 파이썬 PEP567 에서는 이러한 문제점을 해결하기 위해 ContextVar...

    Jun 23, 20254 min read14
  4. Python GIL 병목 현상 시각적으로 분석하기

    들어가기에 앞서 블로그를 구독해주고 계신 분들 감사드립니다 :) 들어가며 오늘은 Python 의 GIL(Global Interpreter Lock) 에 대해서 알아보고 왜 GIL 로 인해 CPU-Bound 작업에서 영향을 받을 수 있는지를 알아보고, 이걸 직접 코드로 작성하여 시각적으로 분석해보는 시간까지 가져보도록 하겠습니다. 아마도 장문의 글이 예상되니 꼼꼼히 읽으면서 따라오시길 바랍니다 Python 이 실행되는 방식 우리가 보통 별다른 구...

    May 19, 20256 min read120
  5. Pydantic을 활용한 파이썬 타입 정의 및 직렬화 배워보기

    오늘은 파이썬에서 타입을 다루는 방법과 Pydantic 라이브러리를 활용한 데이터 유효성 검사 및 직렬화에 대해 알아보겠습니다. 파이썬 타입 시스템의 발전 파이썬은 3.5 버전부터 typing 모듈을 도입하여 복잡한 타입을 명시적으로 정의할 수 있는 기능을 제공하기 시작했습니다. 이를 통해 코드의 가독성과 유지보수성을 향상시킬 수 있게 되었습니다. class Fruit(): name: str color: str weight...

    May 8, 20255 min read5
  6. [Python unittest - 1] unittest.mock 으로 Mock 객체 다루기

    소프트웨어 개발에서 테스트의 중요성은 아무리 강조해도 지나치지 않습니다. 특히 단위 테스트(Unit Test)는 코드의 각 부분이 의도한 대로 정확하게 동작하는지 검증하는 필수적인 과정입니다. 하지만 테스트 대상 코드가 외부 시스템, 데이터베이스, 혹은 아직 구현되지 않은 다른 모듈에 의존하고 있다면 어떻게 해야 할까요? 바로 이때 모의 객체(Mock Object)가 강력한 해결책이 됩니다. Python의 표준 라이브러리인 unittest.mo...

    May 4, 20259 min read16