Hello Django!


참으로 오랜만에 개발 관련 포스팅을 하는 것 같네요. 요즘 제가 바람이 들었나... Low-Level 쪽만 하다가 갑자기 뭔가 보여줄 수 있는 프레임워크나 언어를 다루고 싶어졌습니다. 하여 열심히 찾아보다가, 요즘 대세인 Python 기반의 웹 프레임워크인 Django를 배우기로 하였습니다!


사실 뭔가를 열심히 배워봐야지! 라는 마음보다는 오랜만에 프론트단을 좀 접해볼까? 이런 느낌이라서 시작은 방대하나 끝은 미약 할 수 있습니다. 그래도 하는 동안에는 열심히 블로그에 포스팅을 하려고 합니다. 이런거라도 해야 개발자가 운영하는 블로그같을 것같네요.. 사실 요즘 대세가 Python이라서 이를 배울 겸, 프론트를 할 겸, 뭔가 웹으로 만들어야 할것도 있고, 주변에 문과친구가 갑자기 Django로 웹사이트 만드는 걸 보고 충격받아서(?) 배우려고 하고 있습니다. Python 언어 학습도 주 목표 중 한가지라, Django랑 Flask 중에서 굉장히 많은 고민을 했는데, 그냥 뭔가 좀 더 자주 들어보았던 것 같은 Django를 선택하여 하게되었습니다 ㅋㅋㅋ 



개발을 시작해봅시다.


그냥 개인적으로 개발 공부하고? 취미로 찾아보는 것들을 기록하는 공간이니, Django가 무엇이고, 역사와 어떻게 생겼는지는 다루지 않겠습니다. 다른 블로그에도 많고, 무엇보다 장고걸스 서울[각주:1]에서 열심히 번역해주신 한글판 튜토리얼이 너무나도 잘되어있습니다. 짱이에요 bb 저도 저거보고 공부할겁니다 :)


Django Tutorial (Korean)


Django를 처음 접하시는 분들이라면 꼭 한번정도는 돌아주시는 것이 좋을 것 같아요. 저도 튜토리얼 따라하면서 조금씩 공부르 하고있습니다! 한글번역판을 만들어주신 장고걸스 커뮤니티분들에게 감사드립니다 (_ _)



개발환경 고민하기


음... 전 사실 로컬에서 개발하는 것을 좋아하지 않습니다. 회사업무때문에 개발을 제 로컬 데스크톱에서 했다가 날려먹은적이 신입사원 때는 꽤 있었거든요. 그래서 전 모든 개발을 AWS 환경에 개발서버 하나를 만들어놓고 했습니다. 이번 Django도! 가능 할지는 모르지만... 그렇게 진행 할 예정입니다.


사용할 IDE : PyCharm

개발 환경 : AWS EC2, Python 3

배포 환경 : AWS Beanstalk, Python 3


AWS, Python 3, Django 3개에 대해서 마스터 할 수 있겠네요 ㅋㅋㅋㅋㅋ 사실 개발서버에서 바로 배포도 할까.. 싶었지만! 개인 개발이면 모르지만 나중에 정말 큰프로젝트를 진행하거나 회사에서 이 기술을 사용한다면 실제 개발서버와 배포서버가 다를 것이란 점을 조금 염두에 두고, 클라우드 가상화 기술을 좀 활용해 보고자 이렇게 환경을 계획하였습니다.



AWS에 개발환경 세팅하기


사실 AWS에 개발환경 세팅하기라고 거창하게 말해도, 결국에는 그냥 리눅스 머신 하나 만드는 것 뿐입니다 ㅋㅋㅋ 빌드머신 겸 개발서버라고 하지요... 이번 포스팅에서 다루는 Django는 Python 기반의 웹프레임워크이므로, 그냥 파이썬만 깔려있으면 됩니다. 주의하실점은, 2.x 버전인지 3.x 버전인지는 꼭! 확인해주세요. 문법적으로도 그렇고, 꽤 큰 차이가 있는 걸로 알고있습니다.



AWS 관리 콘솔에 처음 접속하면, 위와 같은 창이 뜹니다. 뭔가 엄청 많지요? 다 AWS에서 실행/사용 할 수 있는 서비스들입니다. 개발머신의 경우에는 이중에서 EC2를 사용합니다.


EC2를 새로 런청하는데, OS는 free tier 중에서 Ubuntu로 선택해서 진행해주시면 됩니다. 이 이후에 개발/빌드 머신 세팅은 개인 재량에 맡깁니다.. 절대로 제가 이미 개발서버가 있어서 이러는게 아니에요


그냥 Instance 하나 생성하고 Debian 계열 리눅스 하나 까는거에요! 어렵지않아요~



AWS에 배포환경 세팅하기


배포환경은 간단하게 짚고넘어갈게요. 보통 제가 일반적으로 하는 개발 분야 (Kernel Level이나 데몬 등 시스템프로그래밍 쪽)는 별도 배포 서버가 필요하지 않습니다. 회사에서는 따로 패키징을 해서 "릴리즈"라는 것을 하긴 하지요. 그럼 배포서버는 언제쓸까요? 이 포스팅은 Python 기반 "웹프레임워크 Django"를  위한 포스팅입니다. "웹"이라는 글자가 들어가죠? 이 의미는 저희가 열심히 개발한 것을 "어딘가"에는 올려서 인터넷과 연결시켜서 웹서버 역할을 하도록 해야 한다는 것입니다. 이 웹서버 역할을 해 주는 곳에 개발 완료한 코드를 올리는 행위를 "배포/Delopy"라고 합니다. 고로 간단하게 보면 웹서버가 배포서버겠죠?


이번 포스팅에서는 AWS의 Elastic Beanstalk를 사용하여 배포서버를 구성하려고 합니다. 이 Beanstalk은 EC2의 웹 어플리케이션 전용 버전이라고 보시면 됩니다. 어떤 프레임워크를 올릴 것인지 Instance를 만들 때 선택하면 해당 환경을 자동으로 만들어줍니다. 처음에는 약간 어색 할 수 있으나, 익숙해지면 매번 환경구성하는 번거로움을 덜 수 있어서 굉장이 유용합니다 bbbb




내일 이어서 포스팅!





  1. Django Girls. 장고를 하는 여성개발자 커뮤니티? 인데 IT초급자에게 장고를 배울 수 있도록 행사를 연다 카더라... [본문으로]

'Development > Python' 카테고리의 다른 글

Python Scapy 라이브러리 관련 정보  (0) 2018.11.08

+ Recent posts