본문 바로가기

Python/파이썬 프로그래밍 연습21

사건 주도적 프로그래밍 지금까지 배치 지향적 프로그램을 살펴보았습니다. 프로그램은 배치 지향적일 수 있습니다. 일단 시작하고 무언가를 한 다음 멈춥니다. 또는 사건 주도적일 수 있습니다. 일단 시작하고 사건을 기다리고 사건으로 멈추라고 명령할 때만 멈춥니다. 어떻게 사건 주도적 프로그램을 만드는가? 두 가지 방법을 살펴보겠습니다 - 먼저 사건 환경을 흉내낸 다음 아주 간단한 GUI 프로그램을 만들겠습니다. 구이 프로그램은 운영체제와 환경을 이용하여 사건을 만들어 냅니다. 사건 회돌이 따라하기 사건 주도적 프로그램마다 회돌이가 어디엔가 있어서 사건을 잡아 처리합니다. 사건은 사실상 거의 모든 GUI 프로그램에서 그런 것처럼 운영체제에 의하여 발생되거나 또는 카메라 등등의 임베드 제어 시스템에서 그런 것처럼 프로그램 그 자체가 사.. 2012. 4. 24.
객체 지향 프로그래밍 객체 지향 프로그래밍이란 무엇인가? 이제 대략 10년 전이라면 들어 보지도 못했을 고급 주제에 이르렀습니다. 오늘날 '객체 지향 프로그래밍은 표준이 되었습니다. 자바와 파이썬 같은 언어에는 그 개념이 엄청나게 내장되어서 어느 곳에서든 객체를 만나지 않고서는 별로 할 수 있는 일이 없을 정도입니다. 그래서 도대체 객체 지향 프로그래밍이란 무엇인가? 이 책들은 목록 아래로 내려갈 수록 학문적으로 정밀해지고 내용이 더 깊어집니다. 일반 프로그래머의 목적을 위해서라면 첫번째 책이 적당합니다. 좀 프로그래밍에 초점을 두고 있다면 티모시 버드(Timothy Budd)가 지은 Object Oriented Programming (2판)을 읽어 보세요. 이 책은 여러 언어로 객체 지향 프로그래밍 테크닉을 보여줍니다. 객.. 2012. 4. 24.
정규 표현식 정규 표현식은 텍스트에서 검색할 문자 패턴을 기술하는 문자 그룹입니다. 대부분의 운영 체제에서 파일이름에 사용되는 만능 문자의 개념과 아주 비슷합니다. 별표(*)는 파일 이름에서 아무거나 일련의 문자를 대표하는데 사용될 수 있습니다. 그래서 *.py는 파일 끝이 .py로 끝난다는 뜻입니다. 사실 파일이름 만능-문자는 정규 표현식의 아주 작은 부분집합입니다. 정규 표현식은 대단히 강력한 도구입니다. 현대의 프로그래밍 언어는 대부분 정규 표현식을 내장 지원하거나 라이브러리를 가지고 있어서 정규 표현식에 기반하여 텍스트를 검색하고 교체할 수 있습니다. 정규 표현식을 모두 설명하는 것은 이 자습서의 범위를 벗어납니다. 실제로 적어도 정규 표현식 하나에 온전히 바친 책이 있습니다. 관심이 있다면 오라일리 사의 책.. 2012. 4. 24.
이름공간 들어가는 말 이름공간이 뭐야? 질문 소리가 들리는 듯합니다. 음, 이름공간은 약간 설명하기가 어렵습니다. 특별히 복잡해서가 아니라 언어마다 다르게 설명하기 때문입니다. 그 개념은 들리는 그대로입니다. 이름공간은 공간이나 지역입니다. 프로그램 안에 있으며, 그 안에서만 이름이 (변수, 클래스 등등이) 유효합니다. 실제로 이 아이디어를 일상적으로 사용합니다. 큰 회사에서 일하고 있고 삼수라는 동료가 있다고 가정해 봅시다. 회계 부서에 또다른 삼수가 있습니다. 자주는 아니지만 가끔 그를 봅니다. 그 경우 그 동료를 "삼수"라고 부르고 다른 삼수는 "회계 부서의 삼수"라고 부릅니다. 여옥이라는 동료가 있고 엔지니어링 부서에도 긴밀하게 함께 일하는 여옥이라는 동료가 있다고 생각해 봅시다. 그런 경우 각각 "우리 .. 2012. 4. 24.