본문 바로가기
반응형

프로그래밍/Python10

Python의 비동기 프로그래밍: 왜 내 코드는 기다리지 않을까? 당신이 음식을 주문하는 상황을 생각해봅시다. 동기적 방식이라면 주문하고 음식이 나올 때까지 그 자리에 서서 기다려야 합니다. 하지만 비동기적 방식에서는 주문 후 진동벨을 받고 테이블에 앉아 다른 일(대화하기, 메뉴 둘러보기)을 할 수 있습니다. 음식이 준비되면 벨이 울려 알려주죠.Python에서도 같은 개념이 적용됩니다. 동기 코드는 한 작업이 완료될 때까지 기다린 후 다음 작업으로 넘어가는 반면, 비동기 코드는 작업을 시작한 후 완료를 기다리지 않고 다른 작업을 처리할 수 있습니다. 그리고 나중에 완료된 작업의 결과를 받아볼 수 있습니다. 이러한 접근법은 네트워크 요청, 파일 읽기/쓰기, 데이터베이스 쿼리와 같이 대기 시간이 긴 I/O 작업을 처리할 때 특히 유용합니다.이 글에서는 Python의 비동기.. 2025. 4. 21.
[Python][generator] 파이썬 제너레이터 정리 제너레이터 설명 제너레이터란 무엇인가? 그리고 왜 사용해야하는가? 제너레이터란 iterator를 생성해주는 함수이다. 즉, 반복문을 활용하여 데이터를 순회하면서 처리하는 것을 의미한다. 이해하기 추상적인것 같아서 다음의 코드로 확인해보자. iterator 우리는 리스트, 문자열 등을 만든 후 해당 리스트에 있는 객체를 순환하며 하나씩 꺼내서 사용할 수 있다. 이러한 과정을 순환(Iteration)이라고 한다. >>> mylist = [1, 2, 3] >>> for i in mylist: ... print(i) 1 2 3 위와 같이 순환이 가능한 것들은 우리가 원하는 만큼 접근해서 즉시 사용할 수 있다는 장점도 있지만, 단점으로는 모든 값을 메모리에 담고 있어야 하기 때문에 큰값을 처리할때는 좋지 못하다... 2022. 4. 11.
[TDD][Python] unittest - 예제로 익혀보기(3) 이번엔 지난번 글에 이어서 추가로 unittest를 디버깅하는 방법에 대해서 알아보자 앞선 방법으로 테스트를 구현하는 방법은 알게되었는데, 여기서 생기는 의문점은 바로 기존에 pirnt를 사용한 디버깅이 되지 않는다는 점이다. 이를 해결하기 위해 이번에는 unittest의 간단한 명령어들과 추가적으로 asstert의 다른 함수들을 정리해 둘 생각이다. 추가적인 코드는 길지 않으므로 바로 코드로 넘어가보자 📃 소스코드 및 설명(test_datetimehelper.py) """ datetimehelper 모듈 테스터 """ import datetime import unittest from unittest.mock import patch import datetimehelper class DateTimeHelp.. 2022. 3. 16.
[TDD][Python] unittest - 예제로 익혀보기(2) unittest - 예제로 익혀보기(1)에선 간단하게 날짜를 이용한 테스트를 구현해보았다 이번에는 날짜 계산 테스트 모듈을 확장해보는 예제를 만들어보자. 확장하기 전 이전에 만들어둔 datetimehelper.py모듈의 문제점부터 짚고 넘어가자 📃 소스코드 및 설명(datetimehelper.py) """ 날짜 계산 모듈 """ import datetime class DateTimeHelper(object): """ 기존의 datetime이 주는 형식(2022-03-16 12:36:53.954430)에서 편의성을 위해 날짜, 요일로 분리해주는 모듈입니다. """ def today(self): """ 오늘 날짜를 반환합니다. @returns 2022-03-16 12:36:53.954430 """ retur.. 2022. 3. 16.
[TDD][Python] unittest - 예제로 익혀보기(1) 저번 시간엔 기초적인 어휘들과 구성요소(?)들에 대해서 익혀보았다. 이번시간에 어떻게 활용할 것인지에 대해서 직접 코드로 짜보면서 이해해보자! 나는 간단하게 날짜를 검사해주는 예제를 만들어보았다 아래 코드를 참고해보자 주석도 달아놨으니 크게 어려움은 없을것이다.😀 📃 소스코드 및 설명(datetimehelper.py) """ 날짜 계산 모듈 """ import datetime class DateTimeHelper(object): """ 기존의 datetime이 주는 형식(2022-03-16 12:36:53.954430)에서 편의성을 위해 날짜, 요일로 분리해주는 모듈입니다. """ def today(self): """ 오늘 날짜를 반환합니다. @returns 2022-03-16 12:36:53.95443.. 2022. 3. 16.
[TDD][Python] 단위 테스팅이란 단위 테스팅(Unit testing) 개발자가 수행하는 가장 기본적인 테스팅 유형이다. 단위 테스트는 예상되는 결과에 테스트 중인 단위 기능의 결과를 검사할 수 있는 어써션(assertion)을 사용한다. 소프트웨어 코드의 가장 기본 단위(일반적으로 함수나 클래스의 메소드)에 적용된다. 파이썬에서 단위 테스팅 자원은 표준 라이브러리인 unittest 모듈에 의해 제공된다. import unittest # 바로 단위 테스트 작성 unittest 모듈 제공 객체 테스트 케이스(Test cases): unittest 모듈은 테스트 케이스를 지원하는 TestCase 클래스를 제공한다. TestCase 클래스를 상속해 새로운 테스트 클래스와 테스트 메소드를 설정할 수 있다. 즉, 각 테스트 메소드는 예상되는 결과.. 2022. 3. 16.
반응형