파이썬 3로...

지난번 파이콘에 다녀오고 나서 파이썬 3에 대한 생각을 다시 한번 하게 되었다. 


그러던 중에 장고가 1.7로 판올림 했다는 이야기를 듣고 장고 1.7을 튜토리얼을 파이썬 3를 이용해서 따라해보기로 했다. 얼마전 1.6 튜토리얼을 파이썬 2로 따라해본 경험이 있어서 어느정도 자신은 있었다.  MySQL로 로컬에 설치해두었고, 파이썬 2와 MySQL 연결도 거듭된 삽질 끝에 해결한 상황이었다. (이때는 대충 따라하다 말았다. 딱 모델과 DB 여기까지...)


다만 자신없는건 파이썬을 대충 7~8년 사용하면서 pip 이나 virtualenv 같은 설정없이 사용하였다는 것이다. 물론 안쓴다고 해서 크게 문제되는건 아니지만, 이번에 하는김에 이 두가지 툴을 경험해보자란 생각도 있었다.


처음엔 귀찮고 뭔가 두려운 마음도 있어서 망설이게 되었는데, 역시나 막상하면 아무것도 아니다. pip은 마치 우분투의 apt-get 과 비슷하여 내가 직접 웹페이지를 돌아가며 관련된 파일을 다운로드하고, 설치하는 귀찮은 일들을 명령어 하나로 끝내주었다. virtualenv를 직접 사용하지 못한 상태에서는 뭔가 라이브러리나 설정이 마구 꼬일것 같은 두려운 마음이 있었는데, 막상 설치하고 사용하니 내가 지정한 폴더에서 파이썬 환경이 적용이 되는 것이라 깔끔했다.


장고 1.7 버전은 south가 통합되었나? 그런 피쳐를 가지고 있는데, 사실 south를 제대로 사용해 본적이 없는것 같다. 예전에 내가 써본 기술인가? 비슷한걸 썼는데.. 아마 맞을 것 같기도 하다. 이런 생각을 하는건 장고와 DB를 직접 연결해서 사용하지 않아서 그렇다. 장고의 ORM을 사용하기 보다, 자바에서처럼 DAO 레이어를 만들어서 직접 쿼리를 날려서 사용하곤 했다.

이번에는 작정하고 ORM을 설정하고 migrate (syncdb) 를 하면서 직접 데이터베이스가 만들어지고, 모델을 save() 했을때 데이터가 들어가는 것들을 확인하며 제대로 튜토리얼을 진행하였다.

굉장히 편하다. 모델과 모델간의 관계를 표현하는 방법을 좀 더 공부해야 겠지만, 정말 편하다. 데이터베이스는 커넥션 하는 부분만 신경쓰면 스키마와 쿼리는 신경쓰지 않고, 어플리케이션에서 모델만 바꿔주는걸로 변경이 가능하다.

장고가 꽤많은 판올림을 하면서 새로운 기능들이 많이 생겨났다. 템플릿을 재활용하는 기술이 좀 더 달라진것 같고, view에서 재사용성을 높이기 위해 많은 노력을 한 것 같다. 


추석 이틀동안 쉬엄쉬엄 파이썬 3로 개발환경 세팅해가면서 장고 튜토리얼을 따라해봤는데, 어느정도 자신감이 붙은 것 같다. 남은 시간에는 만들고 싶은것 좀 더 정리해서 만들어봐야겠다.

,