[웹 서비스 개발 CAMP/주간 리뷰] 새내기 개발자의 웹 서비스 개발 공략기 : 5주차 “댓글, 로그인 기능을 추가하고, 나만의 블로그를 완성하다” by 5기 수강생 장한별님

장고 웹 프레임워크 강의를 국내 최초로 연재하신 차경묵 강사님과 함께 2회의 실습 프로젝트를 진행하며, 웹 프레임워크의 기본적인 골자와 웹 서비스의 흐름을 이해하는 [웹 서비스 개발 CAMP]!

5기 강의에서는 5주차까지 나만의 블로그 만들기 실습을 마치고, 6주차부터 파이썬 기반의 인스타그램을 개발했습니다. 블로그 개발이 어떻게 마무리되었는지 알스퀘어의 소프트웨어 엔지니어, 장한별 님의 리뷰로 확인해 보세요!

[웹 서비스 개발 CAMP] 자세히 보기 >>>


5주차 수업을 전해 드리기 전에, 지난주의 과제였던 댓글 생성 & 삭제 기능을 추가한 블로그를 보여 드리겠습니다.

간략히 소개하자면, 글에 달린 댓글이 없으면 ‘댓글이 없습니다’ 라고 나타납니다. 하단에 댓글을 입력하고 오른쪽의 ‘댓글’이라는 버튼을 누르면 댓글이 추가됩니다.

댓글을 입력하면 댓글의 내용과 작성일시가 표시되고, 오른쪽에 빨간색 댓글 삭제 버튼이 생깁니다. 삭제 버튼을 누르면 댓글이 삭제됩니다.

수업 중 배운 내용으로 할 수 있는 것이었지만, 은근히 헷갈리는 부분이 있어서 구글링의 힘을 빌었습니다.

강사님께서는 과제를 해오신 분들 대부분이 비슷하게 잘했다고 하셨습니다. 다만 댓글을 쓴 사람만 지울 수 있도록 하는 체크를 아무도 안 하셨다고 하셨어요. 과제를 하면서 왜 그런 생각은 못 했을까요? (저는 과제에 명시된 기능 구현에만 정신이 팔려있어서 그랬던 거 같습니다.)

오늘은 인증(Authentication)과 이를 이용한 로그인 기능, Form, Test하는 것을 배웠습니다. 지금까지 만들었던 블로그를 정말 블로그답게, 또 효율적으로 개발할 수 있도록 하리라 생각됩니다.

Form에는 여러 기능이 있지만, 강사님은 클라이언트로부터 전송된 폼 데이터를 처리(정제, 유효성 검사)할 때 주로 사용한다고 하셨어요.

여기서 유효성 검사는 전화번호의 양식으로 올바르게 입력했는지, 글의 제목을 공백으로 두지 않고 올바르게 적었는지 등을 확인하는 검사입니다.

‘글 쓰기’ 페이지에서 제목에는 ‘바보’, 내용에는 ‘안녕’ 적고 저장을 누르니 각각 ‘바보라는 말은 쓰면 안 돼요!’와 ‘안녕이라고 말하지 마’라는 글이 나타나면서 글이 써지지 않았습니다.

이렇게 특정 내용이 입력되면, 글을 쓰지 못하도록 체크할 수 있습니다. 이 밖에도 공백, 이메일 양식 등 다양하게 사용할 수 있다고 하셨어요. 현재 만드는 블로그에는 이렇게만 적용했습니다.

그 외에도 파이썬 코드 단에서 HTML 폼 태그를 만들어서 적용하는 기능이 있어서, 강사님께서 어떻게 사용하는지 어떤 기능인지 알려주시긴 하셨지만, Form은 유효성 검사 외에는 거의 쓰지 않는다고 하셨어요.

인증(Authentication)과 이를 이용한 로그인 기능을 만들어보았습니다. 기존에는 글쓰기를 아무나 할 수 있었지만, 지금은 글쓰기를 누르면 로그인을 하라는 페이지가 뜨도록 만들었습니다.

대부분의 웹사이트에 있는 로그인 기능을 하나하나 따라 하면서 만들기는 했지만, 머릿속에 정리가 잘 되지 않아 조금 힘들었습니다. 평소에 비슷하게 써본 경험도 많이 없기도 해서 그런지 애착이 조금 덜 가기도 했고요.

나중에 시간이 된다면 페이스북 로그인도 붙인다고 하셨는데, 페이스북 로그인은 좀 더 재밌게 할 수 있을 것 같습니다.

그리고 마지막으로 Django Test에 대해 배웠습니다. 내가 작성한 코드를 하나하나 쉘이나 웹에서 돌려보면서 기능이 작동하는지 확인하면 비효율적이고 실수할 가능성이 큰데, TestCode를 이용하면 자동으로 Test를 진행해서 효율적으로 Test할 수 있다고 하셨습니다.

저는 회사에서도 간간히 TestCode를 작성하고 있기는 한데, 아직 몸에 습관이 배지 않아 작성하기가 쉽지 않더라구요..

간단한 TestCode 설명!

입력받은 두 수를 합하는 ‘add_number’라는 메소드가 제대로 작동하는지 확인하는 TestCode입니다. 아래의 test_add_number 메소드에서 add_number 메소드를 호출하여 Test하는데요. 저는 일부러 10과 22를 더한 값이 30이라고 틀린 값을 넣었습니다.

그랬더니 어김없이 틀렸다고 잘 지적해 주었어요. 32 != 30 이라고 제대로 혼냅니다. 물론 실제로는 이런 것을 테스트하지 않고, 글을 입력했을 때 제대로 입력이 되는지, 값을 변경했을 때 제대로 바뀌는지 등의 테스트를 진행합니다.

이번 주 과제는 강사님께서 만드신 test.py 파일을 받아서 테스트 코드를 채워 넣는 것인데요. 강의 자료를 보면서 하나하나 잘 해결해 보겠습니다.

이로써 블로그 만들기가 끝났습니다. 벌써 8주의 교육 중 절반을 넘어서 어느새 5주차가 되었는데요. 이제는 인스타그램, 아니 피스타그램(Pystagram(Python + Instagram))을 만드는 것만 남았습니다. 3주밖에 남지 않았는데, 어마어마한 것이 남아있군요. 앞으로 남은 수업도 잘 들어서 무사히 마치도록 하겠습니다.

[웹 서비스 개발 CAMP] 자세히 보기 >>>

Recent Posts