실전에 사용되는 파이썬
이 섹션에서는 파이썬을 이용할 수 있는 실용 어플리케이션과 그를 도와줄 라이브러리 모듈에 집중하겠습니다. 여기에는 데이터베이스나 컴퓨터 네크워크 그리고 인터넷 같은 배경 테크놀로지에 관하여 알아야 할 뿐만 아니라 컴퓨터를 움직이는 운영체제의 기본적 특징도 알아야 할 것입니다. 프로그래밍 자습서가 목적이기 때문에 이런 테크놀로지지의 핵심 뼈대만 다루고 호기심 많은 이들을 위하여 다른 사이트로 가는 링크를 제공하겠습니다.
여기에서 선택한 주제는 파이썬 선생님 메일링 리스트에서 아주 자주 나타나는 영역을 반영합니다. 그러므로 초보 프로그래머의 욕구를 만족시킬 수 있으리라 생각합니다. 특별히 관심이 있는 분야가 다루어지지 않았다면 최종 주제에서 링크를 제공하여 적절한 사이트로 안내하여 필요한 것을 찾으실 수 있도록 돕겠습니다.
마지막으로 이 섹션의 주제는 모두 파이썬에 전적으로 기반합니다. JavaScript와 VBScript에도 비슷한 능력이 있지만 이 정도로 자세한 수준에서는 비슷하기 보다 차이가 더 큽니다. 예를 들어 JavaScript나 VBScript에서 윈도우즈에 접근하는 가장 쉬운 방법은 윈도우즈 스크립팅 호스트(Windows Script Host)를 통하는 것입니다. WSH는 이전에 언급했지만 파이썬의 os 모듈과 접근법이 완전히 다릅니다. 비교는 의미가 없습니다.
주제
깊이 있는 아이디어와 함께 여기에서 다룰 구체적 주제는 다음과 같습니다:
데이터와 작업하기
복잡한 데이터 집합을 저장하고 열람하는 일은 대부분의 프로그래머가 어느 단계에서나 꼭 마주치는 것입니다. 파이썬이 간단한 데이터를 저장하기 위하여 여러 메쏘드를 제공하지만 가장 강력한 저장 메커니즘은 완전한 관계형 데이터베이스입니다. 이 주제는 관계형 데이터베이스 뒤에 숨겨진 원리와 그를 조작하기 위한 SQL 언어를 다룹니다. 파이썬 안에서 데이터베이스를 사용하는 방법은 아주 간단한 예제로 대신하겠습니다.
운영 체제 사용하기
운영 체제는 컴퓨터로 하는 모든 것들의 토대입니다. 사용자로서 매일 하는 일들을 프로그래밍을 통하여 하고 싶은 경우가 아주 흔합니다. 예를 들어, 파일을 복사하거나 이동 시키거나 또는 폴더를 만들거나 또다른 프로그램을 기동시키거나 문서를 인쇄하고 싶을 수 있습니다. 다행스럽게도 운영 체제는 사용자 인터페이스 뿐만 아니라 프로그래밍이 가능한 인터페이스를 노출시켜 줍니다. 이 주제에서는 특히 파일 구조를 탐색하고 그 환경을 조작하는 영역에서 사용가능한 특징을 살펴보겠습니다.
프로세스-간 통신
대부분의 초급 프로그램은 나홀로 컴퓨터에서 따로 실행되는 프로세스로 구성됩니다. 그렇지만 더욱 강력하게 시스템을 구축할 수록 프로그램을 쪼개서 따로따로 각자 자신만의 프로세스를 실행하는 편이 더 좋은 경우가 많습니다. 종종 클라이언트-서버 디자인이라는 테크닉을 사용합니다. 또는 그냥 또다른 프로그램의 출력에 접근하고 싶은 경우도 있습니다. 이 모듈에서 기본 원리를 살펴보고 두 유형의 예제를 각각 보여드리겠습니다.
네트워크 프로그래밍
인터넷은 전세계에 있는 컴퓨터에 접속되지만 어떻게 컴퓨터는 프로그램 안에서 또다른 컴퓨터와 통신할 수 있을까? 알고보면 많은 방법이 있지만 여기에서는 파이썬에서 사용할 수 있는 가장 기본적인 메커니즘을, 즉 소켓을 연구해 보겠습니다. 소켓 위에 더 높은수준의 메커니즘이 구축되며 이 중에 두 가지를 살펴보겠습니다: 이메일 메시지를 전송하고 읽는 이메일 인터페이스와 네트워크를 통하여 파일을 전송하는 ftp 모듈을 살펴보겠습니다.
웹 클라이언트 작성하기
기본 네트워크 프로그래밍을 배웠으므로 이제 오늘날 가장 일반적인 형태의 네트워킹을 다룹니다: 월드 와이드 웹(World Wide Web)을 다룹니다. 알고보면 파이썬은 웹 프로그래밍을 쉽게 할 수 있는 모듈을 제공합니다. 이 첫 주제에서 기본적인 웹 작업을 자동화하는 방법을 살펴봅니다. 예를 들어 브라우저에 의존하지 않고 정기적으로 웹 사이트로부터 정보를 가져오는 방법을 알아 봅니다.
웹 어플리케이션 작성하기
이 주제에서 웹 사용자의 관점을 웹 사이트 작성자의 관점으로 변화시킵니다. 기본 웹 어플리케이션을 작성하는 법을 살펴봅니다. 이 경우 웹 인터페이스를 이 자습서의 초기부터 구축해 온 주소록 예제에 붙여보겠습니다.
병렬 처리
프로그램이 복잡해질 수록 종종 지금까지 다루어 온 간단한 순차 실행 모델로 부족한 경우가 있습니다. 한 번에 여러가지 일을 하고 싶습니다. 이 곳이 바로 쓰레딩(threading)이라는 테크닉이 역할을 하는 곳입니다. 파이썬의 쓰레딩 모듈을 사용하여 병렬 처리를 프로그램 안에 구축해 넣는 방법을 연구해 보겠습니다.
'Python > 파이썬 프로그래밍 연습' 카테고리의 다른 글
운영 체제와 작업하기 (0) | 2012.04.27 |
---|---|
데이터베이스 작업 (0) | 2012.04.25 |
사례 연구 (0) | 2012.04.25 |
기능적 프로그래밍 (0) | 2012.04.25 |
재귀 - 자기 자신에게 되돌리는 것 (0) | 2012.04.25 |
댓글