2015. 6. 18. 16:50

Test 업계에는 유난히 평생을 코딩이랑 담 쌓고 사신 분들이 많이 계신거 같습니다. 창피할 일은 아닙니다. 코딩 교육 자체가 그리 효율적인 방법으로 이루어지지 않고 있기 때문이기도 하고, 테스트 업무 담당자는 코딩을 몰라도 된다는 이상한 인식이 널리 퍼져 있기 때문입니다. 

하지만 분명히 가까운 미래의 어느 시점에는 테스트 전문가들은 코딩을 하지 못하면 업계에서 퇴출되는 시점이 오게 될 것입니다. 이미 '사용자 관점'의 테스트에 대한 여러가지 문제점들이 이미 오래 전부터지적되고 있었고, 이를 해결할 방법들이 등장한 지가 10년이 넘었으며, 이런 방법들이 서서히 고도화되어 가고 있는 것이 그 첫 번 째 증거입니다. 또한 클라이언트-서버 관점은 2 Tier 시스템에서부터 고도화 되어 N Tier 즉, 클라우드화 되어 가고 있고 이에 대한 형상관리와 변경관리가 재정의되고 있습니다. 그렇다는 의미는 곧 테스트의 형태도 변화한다고 봐야 함이 두 번 째 증거입니다. (예, 테스트는 형상관리를 기준으로 진행되어야 정상입니다.) 

그러므로 저 역시 비루한 실력의 코더입니다만... 코딩 이야기를 잠깐 해 보려 합니다. 

우리의 프로그래밍은 올해 이루어야 할 것들 중에 이것이다 하는 것을 정신을 차리고 프로그래밍하여 나아가면 우리도 버그가 발생하는 것을 해낼 수 있다는 마음을 가지고 코딩해야 한다고 생각합니다.

저도 취미로나 개발하는 주제에 이런 말씀을 드리는 것이 어떻게 받아들여질지 모르겠습니다만, 먼저 중요한 것은 어떤 프로그램을 사용하고 싶은 지 자신을 이해하는 것에서 시작되는 것이 좋습니다. 평소에 프로그램이라곤 게임과 인터넷만 이용하셨다구요? 네, 좋습니다. 그것도 충분히 좋은 일입니다. 

비트나미
https://bitnami.com/stacks

일단은 비트나미에서 시작하시죠. 비트나미는 2015년 현재 클라우드 사업을 하고 있습니다. 이 곳에는 수 많은 서비스들을 독립적으로 사용할 수 있는 환경을 제공하고 있습니다. 아파치나 톰캣 등 서버 설정이 필요한 부분까지 전부 하나의 바이너리로 압축해서 간단히 설치만 하면 사용자의 컴퓨터에서 바로 사용할 수 있게 제공하고 있습니다. 

이런 프로그램들을 사용해 보시면서 우리 회사에는 어떤 프로그램이 맞는지, 나라면 어떤 기능을 개발할 지를 살펴보세요. 모방은 창조의 어머니입니다. 본인이 뭔가 삐까뻔쩍한 무엇을 만든다고 생각하시기 보다, 기존에 이미 많은 고민을 통해 제작된 프로그램들을 이용해 보면서 자신만의 서비스를 꿈꿔 보는 것이 훨씬 좋은 방향이라 제안 드립니다. 



다음은 프로그래밍에 대한 기본 이해를 이야기 해보아야 할 것 같습니다. 프로그래밍(Programming)은 크게 알고리즘(Algorithm)에 대한 이해와 코딩(Coding)으로 나뉘어 있다고 보시면 됩니다. 


 - 프로그래밍을 시작할 때 가장 중요한 것은 알고리즘에 대한 이해입니다.

 - 알고리즘을 이해하면 그 다음은 코딩(Coding) 영역만 남습니다. 

 - 반대로 알고리즘을 이해하지 못하면 코딩이 지루하고 어렵게 느껴지게 됩니다. 


그럼 알고리즘은 어떻게 접근하면 좋을까요? 복잡하고 어려운 책들을 보시거나 인터넷을 검색하시기 보다, 일단 게임으로 접근해 보시면 어떨까 합니다.


코드컴뱃
http://codecombat.com/
한 달에 1만원 정도로 게임을 통해 알고리즘을 배울 수 있습니다

코드
http://code.org/learn
무료이며 특히 엘사 게임을 해 보면 아주 흥미롭게 알고리즘을 이해할 수 있습니다. http://studio.code.org/s/frozen/stage/1/puzzle/1


코드컴뱃이나 코드.org사이트로 가시면 게임을 통해 알고리즘에 대한 기본적인 이해를 갖추실 수 있습니다. 이미 진행해 보신 분은 아시겠지만 제가 계속 말하는 알고리즘은 결국 "문제 해결 능력" 이라고 단정 지을 수도 있겠네요.이 세상의 몇 몇 분들이 게임을 위험하고 잘 못된 것이라 하지만 (게다가 심지어 마약이라고까지 폄하하지만), 이 세상의 모든 복잡한 알고리즘도 결국은 게임과 같은 문제해결 방식에서 탄생합니다. 





자, 알고리즘까지 이해하셨다면 이제 코딩입니다. 


코딩을 시작하실 때는 해당 코딩을 할 수 있는 환경을 이해해야 합니다. 시작이 반이라는 말이 있듯이, 코딩을 할 수 있는 환경 설치만 이해하면 일단 코딩은 50% 배웠다고 볼 수 있습니다. 몇 년 전만해도 코딩 환경을 설정하는 정보들은 대부분 외국어로 되어 있었지만, 어느 순간부터 한글로 좋은 정보를 제공하는 분들이 많아 지셨으니, 본인이 시작하고자 하는 언어가 있으시다면 검색해서 환경을 설치해 보세요. 여러 번 지웠다가 재 설치 해 보는 경험이 쌓일 수록 해당 언어에 대한 공포심(?)은 사라지게 됩니다. 


생활코딩 
자, 이제 우리에게 우리 글, 한글로 코드를 접하게 해 줄 사이트에서 환경을 설치하고 신나는 코딩 시작하세요! 
https://opentutorials.org/

아직 언어를 정하지 못하셨다면 제가 추천드리는 사이트는 생활코딩입니다. 생활코딩에서 제공하는 강의를 통해 코딩의 정수를 하나씩 배워 나가보세요. 

자, 이제 다 왔습니다. 

환경설치가 되고, 해당 언어에 대한 기본적인 사용법을 알았다면... 그 이후 이제 코딩 부분에서 남은건 무조건 따라해 보는 것입니다. 처음부터 구문이나 문법을 이해하려고 들지 마세요. 코딩 초보인 여러분들이 특정 언어에 관심을 가졌다면, 그 언어는 적어도 몇 년 이상 개발되어 안정화되었을 겁니다. 그리고 그 긴 기간 동안 여러가지 사유로 문법과 구문이 안정화되었겠지요. 그렇기 때문에 한 번에 모든 것을 이해하려고 들지 마세요. 

아마 어떤 프로그래머에게도 "그 프로그램 언어를 잘 하는 비법이 뭐에요?" 하고 물으시면 "그냥 열심히 하는 거죠" 라는 답을 들으실 겁니다. 익숙해질때까지 외우고, 삽질하면서 배우는 단계를 모든 사람이 거치기 때문입니다.

일단은 어떤 명령어를 넣고, 어떻게 실행시키면 어떻게 표현되는 지, 예제를 따라하면서 외워보세요. 자신에게 필요한 것들을 하나씩 외우다보면 자연스레 구문이나 문법에 대한 궁금증이 생기고, 이에 대한 이해가 높아지게 됩니다. 영어든 중국어든 프로그래밍이든... 이 세상 모든 언어(Language)는 일단 외우는 것에서 출발합니다. 

추가로... 영어를 읽을 줄 아신다면 아래의 사이트에서 거의 모든 상황에 대한 해결책과 샘플 예제를 얻을 수 있습니다. 코딩을 하시다보면 자연스럽게 사용하게 되실거에요. ^^
http://stackoverflow.com
http://google.com

그럼 즐거운 코딩, 아니 프로그래밍하세요!


Posted by 『 Lv8+の 꽃怪獸 』 천년나무

댓글을 달아 주세요

  1. TestMaster 2015.06.23 08:57  댓글주소  수정/삭제  댓글쓰기

    안녕하세요~ 테스트마스터입니다 정독하고 따라하게 되었습니다. 좋은 블로그 글 읽다보면 시간이 금방 지나가네요. 조만간 모임에서 뵙고 싶습니다. 수고하세요

  2. 해맑 2015.06.23 10:52  댓글주소  수정/삭제  댓글쓰기

    우리의 프로그래밍은 올해 이루어야 할 것들 중에 이것이다 하는 것을 정신을 차리고 프로그래밍하여 나아가면 우리도 버그가 발생하는 것을 해낼 수 있다는 마음을 가지고 코딩해야 한다고 생각합니다.

    ㅋㅋㅋㅋ 그녜어 잘 쓰시네요 ㅋㅋ 좋은글 감사합니다~

  3. 컴정공 동민 2015.07.23 14:59  댓글주소  수정/삭제  댓글쓰기

    구글링하다가 찾아오게 되었는데, 어디선가 많이 본 꽃그림에 "간단 소개"를 보니 형이네요.
    요즘 갈팡질팡 하고 있는데 형이 쓴 글들을 보니, 꾸지람도 듣고 싶고 "공부만이 살 길"을 느끼네요.

    그럼 언제나 건강하세요 ^^ 그리고 우연히 발견한 꽃괴수 코딩룰도 좋아요~

    • 『 Lv8+の 꽃怪獸 』 천년나무 2015.07.23 22:37 신고  댓글주소  수정/삭제

      요~ 잘 살고 있어? ^^
      지인들이 내 블로그 알아보면 기분이 좀 묘해~ ㅎㅎ
      내가 워낙 듣보잡으로 취급당하는걸 즐겨하는터라...
      쿠X사 사건 이후로 좀 나대야 겠다는 생각을 하고 있지만...
      역시나 재야 인사 취급 받는게 나한텐 더 맞는듯.

      그나저나...
      내 코딩룰은 공개도 안했는데 구글이 알고 계시나보네 ㅋ
      검색 방지 스크립트 걸어놔야 겠다 ^^;;

      다음 학기에 내 친구랑 예전 팀원 컴대원 입학하는데...
      다음 학기 비어데이때 시간 되면 와.
      술이나 한 잔 합시다.

  4. 최준현 2015.09.07 15:27  댓글주소  수정/삭제  댓글쓰기

    안그래도 비트나미를 활용한 교육을 준비중인데 검색하면 항상 천년나무님 글들이 나오는군요. 세상의 모든 테스팅 정보는 모두 천년나무님을 통해서 시작되는 것 같아요. 이번에도 좋은 정보들, 잘 정리된 글들 보고 갑니다. 저를 위한 정보는 아니였겠지만 많은 분들을 위해 공유해주시는 고마움을 항상 잊지않겠습니다. 감사합니다.

    • 『 Lv8+の 꽃怪獸 』 천년나무 2015.09.09 16:58 신고  댓글주소  수정/삭제

      하하... 이 무슨 과찬의 말씀을 ^^

      제가 공부한 만큼 나누어야 하는데 요새 게을러져서 몸이 잘 안움직이고 있었습니다. 칭찬해 주시니 뭔가 더 해봐야 겠다는 마음이 생기네요. 다시 블로그 연재와 품질 관련 웹사이트들 개발을 계속해야 겠네요.