본문 바로가기

개발

파이썬과 비동기 프로그래밍 #1, 비동기 프로그래밍이란 비동기(Asynchronous)란? 이해를 돕기 위해 약간은 비현실적인 예를 들어보겠습니다. 여러분들은 10대의 세탁기를 돌리고, 10대의 커피포트에 물을 끓여야 합니다. 이 일을 하기 위한 방법은 아래와 같이 두 가지 방법이 있습니다. 첫번째 방법 1번 세탁기를 돌린다. 1번 세탁기가 완료될 때까지 기다린다. 1번 세탁기에서 빨래를 수거한다. 2번 세탁기를 돌린다. 2번 세탁기가 완료될 때까지 기다린다. 2번 세탁기에서 빨래를 수거한다. ... (위의 과정 반복) 10번 세탁기를 돌린다. 10번 세탁기가 완료될 때까지 기다린다. 10번 세탁기에서 빨래를 수거한다. 1번 커피포트에 물을 끓인다. 1번 커피포트의 물이 끓기를 기다린다. 1번 커피포트의 물로 녹차를 탄다. 2번 커피포트의 물을 끓인다. 2번..
파이썬의 컨텍스트 매니저 (Context Manager) 에 대해 알아봅시다. 기초 컴퓨터에서 사용할 수 있는 리소스는 제한적입니다. 따라서 사용한(acquired) 리소스는 종료해주는 것(released)이 중요합니다. 그렇지 않다면 프로그램이 종료된 이후에도 사용한 리소스가 계속 열려있는 resource leak현상이 발생합니다. f = open('memo.txt', 'r') print(f.read()) 위의 코드처럼 파일을 열고 닫아주지 않는다면, 파일이 계속 컴퓨터에 남아있을 확률이 있습니다. (대부분 Python이 종료해준다고 하긴 합니다.) >> Hello, World따라서 아래와 같이 열었던 파일을 닫아주어야 합니다. f = open('memo.txt', 'r') print(f.read()) f.close() 하지만, 코드가 복잡해지다보면 파일을 닫기전에 에러가 발생할..
파이썬 단위 테스트 모듈 unittest에 대해 알아보자 기초 TDD (Test Driven Development) 또는 Test Case를 작성하기 위한 파이썬 내장 모듈입니다. unittest.TestCase를 상속받아 Custom Test Class를 정의합니다. test_로 시작하는 함수를 정의하면 unittest가 실행되면서 해당 함수를 테스트합니다. 예제 import unittest def add_two_numbers(a, b): return a + b class TestAdd(unittest.TestCase): def test_numbers_3_4(self): # 3+4 must be 7 self.assertEqual(add_two_numbers(3, 4), 7) def test_numbers_0_0(self): # 0+0 must be 0 sel..
ANACONDA 자주쓰는 명령어 정리 ANACONDA 가상환경 생성 conda create --name *패키지명에 anaconda를 써주면 anaconda의 모든 패키지를 설치 *한 번에 여러 패키지를 하려면 여러 패키지를 띄어서 써주면 됨 예제 conda create --name ml anaconda conda create --name ml pandas numpy matplotlib scikit-learnANACONDA 가상환경 제거 conda remove --name --all 예제 conda remove --name ml --allANACONDA 설치된 가상환경 목록보기 conda env list ANACONDA 가상환경 활성화 conda activate 또는 activate (윈도우 cmd) 또는 source activate (맥/..