최근에 coding 공부에 대한 흥미가 시들해졌다. 여행과 다른 할것들로 바쁘다는 핑계를 대보지만, 객관적으로 바라보면 확실히 전보다 관심이 사그라들었다. 왜 그런가 살펴봤더니 초반에는 백준 티어 올리기가 마치 RPG 게임처럼 재밌어서 계속 하다가 골드III 정도 가니까 그만 실증이 나고 말았다. 골드에서 플레로 올리기 위해서는 아무래도 알고리즘에 대한 개념 공부가 필요한데, 그게 그리도 하기 싫은 모양이다. 그래서 ‘알고리즘 공부’ 대신에 실질적인 ‘프로젝트’를 진행해보는게 어떨까라는 생각이 들었다. 도서관에서 005번대(컴퓨터 관련 책들이 많은) 책장을 뒤지기 시작했고, ‘Tiny Python Projects 21개의 작고 재미난 파이썬 프로젝트’ 책이 괜찮아보여서 집으로 데려왔다.

책의 첫인상 및 개요 정리

다른 Python 관련 서적처럼 여러 미니 프로젝트를 통해서 파이썬을 익히게 하는 구성이었다. 특이한 점이라면, 다른 책들과 다르게 명령줄 프로그램을 이용해서 설명하고 있다는 점이었다. 직접 터미널과 interaction하면서 배울 수 있다는 점이 특징인듯! 그래서 효율적인 코드를 작성하는 방법을 익힐 수 있다고 저자는 주장하고 있다. 개인적으로 이런 방식의 장점은 GUI 없이 개발의 핵심에만 포커스를 맞춘다는 점이었다. 사실 다른 책들 보면 거의 대다수가 프레임워크 가져다가 주구장창 그것만 다루다가 정작 파이썬을 덜 다루기 때문이다. (그게 책 쓰기가 편한가…? 무튼) 리눅스 OS 애용자이기 때문에 이 부분은 특히 더 좋게 느껴지는 장점이었다. 또다른 특징이라면 이 책에서는 ‘객체지향 프로그래밍(Object-Oriented Programming, OOP)을 다루지 않는다. 오히려 ‘함수형 프로그래밍’을 통해서 코드를 작성하자는 포부를 가지고 있다. (근데 함수형 프로그래밍이 진입장벽이 더 높지 않나? 라는 개인적인 생각…) 그리고 ‘테스트 주도 개발(test-driven development)‘와 같이 실무에서 사용되고 있는 기술도 소개되어지고 있다. 그래서 이 책을 공부하고 난 뒤에, 개인 프로젝트를 운영하던, 아니면 다른 파이썬 프로젝트에 참가할 때에 도움이 될 것이라고 말한다. 앞으로 이 책의 각 장에 등장하는 프로젝트를 진행해나가면서 하나하나씩 포스팅을 만들어 블로그에도 업데이트해볼 예정이다. github에도 repository 만들어서 계속 업로드해 나가야지!

책을 마치고 할 수 있는 것들 정리

  • 명령줄에서 파이썬 프로그램 작성하고 실행하기
  • 프로그램에서 인수 사용하기
  • 프로그램 및 함수용 테스트 코드 작성 및 실행하기
  • 문자열, 리스트, 딕셔너리 같은 파이썬 데이터 구조 사용하기
  • 파일을 읽고 쓸 수 있는 프로그램 만들기
  • 정규 표현식을 사용해서 텍스트에서 패턴 찾기
  • 무작위성을 사용 및 제어해서 프로그램이 예상치 못한 방향으로 실행되게 하기

Prerequisition

  • Language: python
  • IDE: pycharm
  • OS: Linux Ubuntu LTS 22.04
  • Computer: LG gram 14
  • Happy mind ^^

References

  • 책 Tiny Python Projects 21개의 작고 재미난 파이썬 프로젝트
    • 2021년 8월 11일 1쇄 발행
    • 저자: 켄 유엔스-클락
    • 옮긴이: 김완섭
    • 출판사: Jpub 제이펍