[파이썬으로 시작하는 웹 프로그래밍 CAMP/주간 리뷰] 소프트웨어 QA, 웹 프로그래밍에 도전하다 : 2주차 “자작 HTML 페이지를 장고(Django) 서버에서 실행하다” by 1기 수강생 하헌우님

웹 프로그래밍을 배울 때는 HTML과, 이를 전송하기 위한 HTTP를 결코 빼놓을 수 없습니다.

소프트웨어 QA로 일하고 계신 하헌우 님께서는 [파이썬으로 시작하는 웹 프로그래밍 CAMP] 2주차 강의에서 이에 관해 배우셨는데요. 업계에서 많이 듣던 ‘마이그레이션(migration)’의 의미까지 알게 되셨다고 합니다.

함께 2주차의 수업 속으로 떠나 보겠습니다!

[파이썬으로 시작하는 웹 프로그래밍 CAMP] 자세히 보기 >>>


DAY 3 : 2/17(수)

수업을 시작하기 전에 숙제를 제출한 사람들 위주로 코드를 리뷰하는 시간을 가졌습니다. 전 사소한 실수로 오류가 나는 코드를 제출했는데요.

여기서 말하는 ‘사소한 실수’란 정상 동작하는 코드를 작성하고, 이후 개인적으로 이것저것 시도해본 코드를 그대로 제출해버렸다는 것입니다. 뭐가 잘못되었는지는 맞춰보세요! 퀴즈입니다!

코드 리뷰가 끝나고 강의가 시작되었습니다.

장고(Django)란 ‘웹 서비스 개발에 필요한 기능을 다양하게 제공하는 프레임 워크’입니다. 쉽게 말해서 ‘편리한 도구’라고 생각하면 됩니다.

장고(Django)의 장점과 전체 구조 및 구성에 관해 설명해 주셨습니다. urls.py 와 settings.py가 중요한데요. 가상 환경에서 장고 프로젝트를 생성해 보았습니다.

무소식이 희소식이라죠? 장고 프로젝트를 시작했는데, 별다른 에러가 발생하지 않았습니다. 그리고 생성된 프로젝트 폴더에 가서 python manage.py를 migration했습니다.

무슨 일이 일어나는 건지는 잘 모르겠지만, OK가 뜬 거로 봐서 잘된 것 같습니다. 이 단계는 프로그래밍하는 데 있어, 서버의 동작을 해주는 장고에서 제공하는 환경(DB)을 세팅해주는 것이라 생각하면 됩니다. 자세한 건 다음 수업에 다룬다고 하네요.

개발용 내장 웹서버를 구동해 보았습니다.

뭔가 주소와 함께 서버가 구동된 느낌입니다. 한번 해당 주소에 들어가 보았습니다.

오오!! “It worked!”란 메시지가 떴습니다. 그저 장고 프레임워크을 이용해, 그냥 설치/실행만 했는데 뭔가 해낸 기분이 들어서 신났습니다.

다음으로는 Django의 MTV (Model, Template, View)에 대해서 배웠는데요, 흔히 다른 언어에서 MVC 모델을 쓰는 것과 같은 개념입니다. 여기서 C는 controller를 뜻하며, MTV 중 T와 V에 대한 개념도 설명해 주셨습니다. 이후에는 HTTP request, HTTP response, session cookie에 대한 개념 및 설명을 해 주셨습니다.

HTML에 대한 개념 및 설명을 들은 후에는 순수하게 HTML을 이용해 나를 소개하는 페이지를 만들어 보라고 하셨습니다. 제가 만든 페이지를 소개합니다.

…아무리 3분 만에 만들어야 했어도, 예쁘지 않더라구요.

이날 수업의 끝판왕은 Django 앱을 깔고, 만들었던 html 파일을 장고 서버를 통해서 실행하는 것이었습니다. 그 결과는…

후후, 성공했습니다! 참고로 터미널에서 붉은 글씨로 Error가 발생했던 부분은 이전에 이미 장고 서버를 실행한 상태에서 완전히 종료하지 않고 다시 실행하려 하니 발생한 에러였습니다.

그래서 해당 포트를 강제로 죽이고, 다시 서버를 실행하니 정상적으로 서버가 동작하였고, 만들어 두었던 소개 페이지를 띄우는 데까지 성공했습니다.


DAY 4 : 2/20(토)

오늘은 관계형 데이터 베이스(RDBMS)에 대해 배우는 날입니다. RDB에 대한 개념을 배우고, ORM(Object-relational mapping)에 대해서 배웠습니다.

RDB와 ORM을 쉽게 이해할 수 있도록, 아래와 같이 비교를 해 주셨습니다.

RDB : Table ↔ ORM : Model
RDB : row ↔ ORM : 각 Model의 인스턴스 객체
RDB : column ↔ ORM : Model Field

모델은 모델 필드와 모델 매니저로 구성되어 있으며, 모델은 이런 식으로 되어 있습니다.

line1. 먼저 models 모듈을 가져와, line4. models 모듈에 있는 Model클래스를 상속받아 클래스를 만듭니다. 다음으로는 line5~8 .models 모듈에 있는 모델 필드 클래스로 필드를 만들었습니다.

다음은 마이그레이션(migration)을 할 차례인데요. 이쪽 업계에 있다 보면 마이그레이션, 마이그레이션하고 참 많이 들었는데, 정확히 무슨 말인지 이해를 못 했었습니다.

‘마이그레이션’이란 ‘모델 내용을 데이터베이스에 반영하는 과정’, 즉 개발한 내용을 데이터베이스에 반영한다는 의미였습니다. 파이썬에서는 ‘makemigrations’이라는 명령어로 반영할 내용을 script로 만들고, migrate 명령어로 script 파일을 수행해서 데이터베이스에 반영합니다.

대략 이런 식입니다.

makemigration 명령어로 0001_inital.py라는 script 파일을 만들고, migrate 명령어로 이를 수행합니다. Model field의 구성 및 유형 등에 관한 설명을 좀 더 듣고, 지금까지 배웠던 것의 반복 복습을 했습니다.

아마 다음 주부터는 본격적인 코딩에도 들어갈 것 같습니다. 그리고 수업마다 쪽지시험을 보고 시험지를 제출하는데요, 그 결과는…

오른쪽 아래에 ‘잘하고 계세요.’가 보이시나요? 그래요, 저 잘하고 있다고 합니다. 계속 잘하도록 하겠습니다!!!

[파이썬으로 시작하는 웹 프로그래밍 CAMP] 자세히 보기 >>>

Recent Posts