[파이썬으로 시작하는 웹 프로그래밍 CAMP/주간 리뷰] 소프트웨어 QA, 웹 프로그래밍에 도전하다 : 1주차 “독학하며 수없이 포기하다, 파이썬으로 직접 코드를 작성하게 되다” by 1기 수강생 하헌우님

프로그래밍 입문자가 독학하다 포기하게 되는 이유 중 하나는 아무리 검색해도 자신이 원하는 답을 얻지 못하고 장벽에 가로막혔을 때, 적절한 도움을 받기가 어렵다는 것입니다. 제때에 도움을 받지 못해서 해결하지 못하면, 쉽게 포기하게 됩니다.

파이썬으로 시작하는 웹 프로그래밍 CAMP 1기를 수강하시는 하헌우 님께서는 한때 이런 이유로 포기하셨다가, 체계적으로 교육을 받고자 패스트캠퍼스를 찾으셨고, 수강 첫주에 파이썬 코드를 직접 작성하시는 데 성공하셨습니다.

소프트웨어 QA로서 왜 프로그래밍에 도전하게 되었는지, 첫주에 구체적으로 무엇을 배우셨는지 생생히 전해 드립니다!

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


테스트 자동화 프로그램을 개발하기 위해, 프로그래밍에 입문하다!

안녕하세요? 저는 개발과 늘 붙어 다니지만, 대부분의 일반인은 존재를 잘 모르는 ‘소프트웨어(S/W) QA(Quality Assurance, 품질 보증)’라는 직업을 가진 8년차 직장인입니다. 간단하게 QA에 대해 설명해 드리면, 개발자가 기획자 혹은 고객의 요구로 어떤 프로그램을 개발하면 해당 프로그램이 기획 의도, 요구사항에 맞게 구현되었는지 확인하고, 실제 사용자가 사용하기에 앞서 검증(Test)을 하는 업무입니다.

QA 업무 내용 중 굳이 사람이 필요 없는 – 즉 단순 반복 Test 항목들을 자동화 프로그램으로 대체하게 되면 사람은 좀더 심도 깊고 복잡한 부분을 확인할 수 있을 뿐만 아니라, 검증에 소요되는 시간 또한 상당히 줄일 수 있기에 ‘품질 향상 + 시간 절약(비용 감소)’이라는 두 마리 토끼를 동시에 잡을 수 있습니다. 그래서 그동안 머릿속으로만 생각하고, 실제 시작은 하지 못했던 자동화 테스트 프로그램 개발을 위해 이렇게 패스트캠퍼스의 문을 두드리게 되었습니다.

사실 학창 시절에 학과에서 프로그램을 배우긴 했지만, 이미 10년 이상의 시간이 지나서 잊혀진지 오래고, 최근 몇 년 간 독학을 시도했다가 몇 번 막히면 바로 포기하게 되었습니다.

체계적인 시스템으로 프로그래밍을 배우기를 원했던 제가 우연히 패스트캠퍼스를 알게 되었고, 때마침 최근 관심을 두고 있던 파이썬(Python)을 입문자 대상으로 강의한다는 소식을 접하고 이렇게 수강하게 되었습니다.

이제 매주 제가 패스트캠퍼스에서 어떻게 웹 프로그래밍을 배워나가는지 들려 드리겠습니다.


DAY 1 : 2/3(수)
웹의 구조와 개발을 위한 환경 세팅

8주 동안 저에게 많은 가르침을 주실 차경묵 강사님께서는 ‘한날’이라는 필명으로 자신의 블로그를 통해 국내 최초의 파이썬 기반 웹 프레임워크 장고(Django) 한국어 연재 강의를 공개한 것으로 유명하시며, 개발 경력 17년차의 베테랑 개발자이십니다.

차경묵 강사님 블로그 보기 >

먼저 강사님께서 말씀하시기를, 배우기에 앞서 “전체적인 숲을 보고 시작해라. 하나하나 전부 세세하게 다 짚고 넘어가려면 쉽지가 않다.”고 하셨습니다. 아마도 제가 독학으로 시도하다 포기했던, 바로 그 포인트가 아닐까 싶습니다.

웹에 대한 기본 개념(구조, 흐름)을 배우고, 파이썬으로 개발하기 위해 환경을 세팅하였습니다.

개발 환경은 다음과 같습니다.

Python : 3.4 or 3.5
Django : 1.9

어찌 보면 상당히 간단해 보이지만, 사실 혼자 개발을 시작하려니 이 개발 환경 구축이 쉬워 보이면서도 상당히 어려웠습니다. (인터넷에 떠도는 설정 방법은 대부분 똑같지만, 모든 사람의 컴퓨터 기본 세팅이 다 똑같지는 않으니까요.)

하지만 강사님과 조교님이 일일이 돌아다니시면서, 막히는 부분이 있으면 이유를 알려주시면 함께 해결해 주시니 정말 좋았습니다.

가상환경에 진입($ source hwenv/bin/activate)한 후, Python3를 실행하고 ($ python3), Django가 설치되었다는 걸 확인(>> django.get_version())한 화면입니다.

환경 세팅이 잘 되었으니, 이제 본격적으로 프로그래밍의 세계에 빠져 봅시다!!


DAY 2 : 2/13(토)
파이썬 기초 문법과 흐름제어(반복, 순환문, 분기, 조건문), 파이썬 기본 자료형

기초문법의 연산자는 기본적으로 알고 있는 산수를 그대로 적용한 느낌이라 어려운 것은 없었으나, 제곱승 표현이 조금 어렵게 다가왔습니다.

‘2*4=8’이지만 ‘2**4=16’이라는 것인데요, 계속 사용하다 보면 익숙해지리라 생각합니다.

변수와 할당의 개념은 다행히 쉽게 이해가 되었습니다. 변수는 쉽게 말해 ‘변하는(variable) 수’입니다. 그냥 어떤 값에 붙은 이름의 개념이니, 그냥 ‘변수=이름’이라고 생각하면 될 것 같습니다.

변수에 어떤 데이터를 붙이는 게 ‘할당’입니다. ‘=’를 이용하여 할당하는데, 여기서 포인트는 =를 기준으로 오른쪽에 있는 데이터를 왼쪽 변수에 할당하는 것이라는 겁니다. 변수에 변수를 할당할 수도 있으니, 이 부분을 헷갈리지 말고 넘어가야 할 것 같습니다.

다음으로는 ‘들여쓰기(indentation)’에 대해 배웠습니다.

파이썬은 다른 언어와 달리, 맥락을 구분하는 별도 기호를 쓰지 않고 들여쓰기로 구분합니다. 덕분에 코드를 짤 때 자연스럽고 예쁘게 짜게 되면서 가독성이 좋아지는 효과가 있는 것 같습니다.

반복문과 순환문 – 정말 머리가 아프고, 응용력이 좋아야 하는 문법을 배울 차례입니다.

‘for 순환문’은 ‘>> for 요소를 할당받는 객체 in 반복가능한 객체:‘의 개념으로 되어 있습니다. 여기서 ‘반복 가능한 객체’는 ‘첫 번째 요소부터 마지막 요소까지 차례대로 순환 가능한 객체’라는 것인데요, 말로는 잘 알 수 없어서 실습을 해보았습니다.

‘i’라는 객체를 ’10’이라는 반복 불가능한 객체에 할당하려니, 친절하게 ‘반복 불가능하다’는 에러가 발생했습니다.

(not itreable)

그래서 ‘range’로 범위를 지정하고 할당을 하니, 총 10번을 반복해서 동작했습니다. 0부터 10번째이니, 9까지 출력되었습니다. 문자열도 순서대로 출력이 되었습니다.

‘while 반복문’을 쓸 때는 ‘while 조건식:’의 개념으로 사용하나, 여기서 가장 중요한 포인트는 조건식을 잘못 잡아서 항상 ‘참’인 조건이 나오면 영원히 반복되므로 주의해야 합니다.

2번째 수업을 한 후에 아래와 같은 과제를 내주셨습니다.

“임의의 문장을 입력했을 때, 해당 문장의 단어 수를 세는 코드를 작성하시오.”

물론 다양한 방식과 더욱 깔끔하고 예쁜 코드도 있겠지만, 복습을 게을리하는 저의 현재 수준으로는 이게 최선이었습니다. 그래도 수십 번의 에러를 겪은 후에 원하는 결과를 얻어낸 제 첫 번째 작품을 공개합니다.

라인 수가 몇 개 안 되는 코드인데도, 나름 꽤 오래 걸렸습니다.

현업에 종사하는 개발자분들! 적게는 몇백 라인에서, 많게는 수만 라인의 코드를 에러 없이 구현하시느라 정말 고생 많습니다. 그리고 존경합니다!

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

Recent Posts