본 글을 통해 장고를 시작하시는 분, 그중에서도 특히 웹에 대한 개념이 아예 없으신 분들을 위한 공부 순서를 소개해드리고자 합니다. 글쓴이 역시 웹페이지 개발을 검색해보고, 장고가 쉽다는 이유로 선택했지만 초심자에게는 너무나 힘든 한 달이었습니다. 하지만 지금 다시 생각해보면 장고가 정말 쉬운 프레임워크임에는 틀림없습니다. 특히, 생산성이 엄청나게 높은 것은 명백한 사실입니다. 이 글을 읽으시는 분들께서는 조금 더 수월하게 공부하시기를 바랍니다.
장고? 쟁고? 디장고?
이 질문은 Django 공식 홈페이지의 자주 묻는 질문에도 올라와 있습니다. Django라는 이름은 재즈 기타리스트의 이름을 따왔다고 합니다. 발음은 사실 '쥉고'에 가깝습니다. 몇몇 분들은 'DJ 앙고'라고 하기도 합니다. 한국에서는 '장고'라고 많이 쓰는 것 같으므로 이 글에서도 '장고'라고 하겠습니다.
파이썬을 잘해야 하나요?
그럴 필요는 없습니다. 기초만 알면 됩니다. 기초조차 모른다면 쉽고 빠르게 볼 수 있는 '점프 투 파이썬'을 추천합니다.
처음 개발에 접하시는 분들이 많이 하시는 오해 중 하나는 언어를 몰라서 개발을 못 한다는 것입니다. 하지만 수 1, 수 2, 미적분 등 차례대로 배워야 하는 수학과는 다릅니다. 파이썬을 다 배우고 장고를 시작하려면 아마 1년 내로는 시작 못 할 수도 있습니다. 장고를 공부하면서 파이썬 실력을 키운다고 생각하십시오. 물론 실력이 쌓이고 레벨이 올라가면 기초적인 실력이 중요해지기 시작합니다. 하지만 개인적으로 그때 공부해도 늦지 않다고 생각합니다.
장고 공부 법
장고는 공식 문서가 굉장히 잘 되어있는 프레임워크 중 하나입니다. 따라서 가장 먼저 장고 오피셜 도큐먼트를 살펴보고 익숙해지도록 하세요! 게다가 튜토리얼은 한국말도 지원합니다!
https://docs.djangoproject.com/ko/2.2/
하지만 튜토리얼을 진행해도 무슨 말인지 모를 수도 있습니다. 적어도 저는 그랬습니다...😭 이유는 장고가 어떻게 돌아가는지 큰 그림을 몰랐기 때문입니다. 이때, 다음 유튜브 강의는 매우 큰 도움이 됩니다. 뒤로 갈수록 심화된 내용도 있지만, 10강 정도 까지만 들어도 충분할 것입니다.
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK
중요한 점은 유튜브 강의와 공식 문서를 병행해서 봐야한다는 점입니다. 유튜브 강의는 벌써 3년 전 강의입니다. 즉, 유튜브 강의로는 장고가 어떻게 작동하는지만 확인하고 세부적인 문법이나 내용은 공식 문서를 통해 봐야 합니다. 구글링이나 다른 강의를 볼 때도 공식문서 확인하는 습관을 갖도록 합니다.
데이터베이스
튜토리얼을 끝냈다면, 혹은 튜토리얼 과정 중에 models.py 파일의 내용에 대해 궁금증이 생길 것입니다. 또한 Foreignkey 라는 단어들도 나오는데 자세한 설명이 없을 것입니다. 이는 데이터베이스와 관련된 개념이기 때문입니다. 데이터베이스를 공부하기에 이보다 훌륭한 글은 보지 못한 것 같습니다. 끝까지 보는 것을 권해드립니다.
https://medium.com/omarelgabrys-blog/database-introduction-part-1-4844fada1fb0
Many-to-many(다대다 관계), 정규화, SQL, Index, 비지니스 룰 등의 키워드들도 찾아보며 공부해보세요.
Templates
장고는 full-stack 언어이기 때문에 Backend와 Frontend 모두 처리가 가능합니다. 따라서 HTML과 CSS를 다룰 줄 알면 좋습니다. 잘 모른다면 위에서 말한 것처럼 병행하면서 공부하도록 합시다. 큰 그림이 보이기 시작한다면 저절로 무엇을 공부해야 할지 알게 될 것입니다. 공부하다보면 ``{% %}`` 처럼 새로운 기호를 보게 되는데 이는 템플릿 언어라고 합니다. 템플릿에서 if 문과 같은 논리적 문법과 상속 같은 기능을 하게 도와줍니다.
마치며
지금까지 기본적인 공부 가이드 라인이었습니다. 큰 그림이 눈에 들어오고 난 뒤에는 스스로 구글링을 잘하게 될 것입니다. 나중에 Django REST framework까지 한 번 보는 것을 추천드립니다. 개인적으로 필자는 아무것도 모르는 상태에서 장고를 시작했기 때문에 많은 고생을 했습니다. 이 글을 보시는 분들은 조금이라도 시간을 단축하시기를 바라요😀
'기술' 카테고리의 다른 글
[Django] 파일 저장 경로 지정 (0) | 2019.09.10 |
---|---|
[Django] AWS RDS + Django 데이터베이스 설정 (0) | 2019.09.10 |
[Django] 유용한 Django Admin Tips! (0) | 2019.09.10 |
[Django / DRF] Nested 구조의 모델 다루기 (0) | 2019.09.09 |
기술 블로그를 시작하며 (0) | 2019.09.06 |