블로그 이야기

웹프로그램 처음 공부하는 당신에게

판다(panda) 2012. 5. 25. 00:02

걱정하는 어린양들에게..

 

제 소개를 잠깐하자면.. 중,고등학교때 게임에 세계에 빠져서 공부 하나 안하고 놀다가..

 

대학교에 겨우 들어가서 C언어를 처음으로 배우기 시작했습니다..

 

C언어.. 해보신분들은 아실겁니다..

 

void main()

{

int a = 1;

int b = 2;

printf(a+b);

}

 

뭐 이런거죠.. 참 쉽더라구요.. 나중에 for(), while() 하면서 약간 고생하긴 했지만..

 

C++ 배우기 전까진 정말 열심히 했습니다..

 

C++.. C랑 비슷하죠.. 초반엔 이것도 쉽습니다.. 뒤로 갈 수록.. MFC, API, STL 을 하니까 어려워지더군요..

 

참고로 대학교때 STL 수업은 2번 들었습니다.. 출석이 좋아서 F는 안나왔지만;.. D였거든요;..

 

나중에 점수 올리려고 다시 들었지만 역시 D였습니다;..

 

아무튼.. 그걸하고 겁없이 3D의 세계에 뛰어 들었습니다..

 

DirectX, ORGE engine 등을 이용해서 3D 오브젝트를 생성하는 프로그램을 만들었죠..

 

동기들 중에 게임 좋아하는 얘들과 함께.. 3D로 게임도 만들어봤습니다..

 

제가 한 일은 뭐 거의 없었지만.. 그래도 장관상까지 받았었죠..

 

그래서 그때 생각했습니다..

"아.. 나는 게임프로그래머를 해야겠다.. 엔씨나 넥슨, 엔에이치엔 입사해야지"..

 

하지만 현실은 드높았고.. 메이저회사에서 2달동안 qa 도 해봤지만.. 프로그래머로서 일 하기는 힘들더군요..

 

2달 동안 qa하면서 느꼈습니다..

 

"나는 프로그래머 할 체질이 아니다.. 지금이라도 기술을 배우던 뭔가해서 다른일을 해야지"..

하지만 대학교 4년을 프로그램만 했는데.. 당장 다른일을 하자니 막막하더군요..

 

그래서 생각한게.. "모바일 프로그램을 해보자.. 이건 게임프로그래밍보다 쉬울꺼야"..

 

모바일 프로그래밍을 하기 위해 java 를 배웠습니다.. 그런데.. 안드로이드보다.. 아이폰 게임이 더 인기있고..

 

안드로이드 마켓보다 앱스토어에서 파는 게임이 많이있어서..

 

안드로이드 공부를 포기하고.. 코코아, 오브젝트C, 유니티3D를 공부하기 시작했습니다..

 

오브젝트C를 이용해서 무료어플을 올렸는데.. 생각보다 반응이 좋았습니다.. 올린지 3년? 정도 된것같은데..

 

100여분이 다운 받으셨더군요.. 평점은 4점으로 높은 편이였습니다..

 

그때 다시 한번 느꼈습니다.. "이게 내가 갈 길이다!"..

 

그리고 유니티3D로 간단한 3D게임을 만들면서.. 또 느꼈습니다.. "이게 내가 가야할 길이 맞나?"..

 

게임프로그래밍도 그랬고 아이폰도 마찬가지였습니다.. 3D란 벽에서 막히더군요;..

 

그래서 3D게임 하나 만들고 포기;.. 그 게임 소스는 제가 다닌 학교에서 강의자료로 쓰인다더군요..

 

하긴 제가 학과 최초로 아이폰3D게임을 만들었으니까요.. 그 전까지는 2D였죠.. 물론 컴퓨터 플랫폼으론 3D있었습니다..

 

그렇게.. 모든걸 포기하고.. 그냥 다른 직업 찾으려고 했습니다..

 

그러다 한 선배의 추천으로.. 웹프로그램 회사에 면접을 보러가게되었습니다..

 

그 회사가 막 사업을 시작한 회사여서 경력직도 뽑지만 신규채용도 하더군요..

 

면접 질문은 "할줄아냐?".. "안해봤다".. "그럼 뭐할줄아냐?".. "이것저것 해봤다".. "이것도 그런거랑 비슷하다"..

 

그리고 일주일 안에 게시판을 만들어오면 채용하겠다.. 라고 하더군요..

 

게시판.. 일주일 중에 2일을 웹프로그래밍 책을 본것 같습니다.. 그것도 책 내용중에 게시판 만들기 있는 책으로;..

 

게시판 만들기.. 책 보고 만들면 쉽죠.. 하지만 회사에서 원하는건 회사에 맞는 게시판을 만드는것이였습니다..

 

요즘 게시판 만들기 책에 나온것 중에.. 아니.. 더 크게 잡아서 JSP프로그래밍 책 중에 자바빈, 이클립스 안쓰는 책 있을까요?..

 

장담하건데 없을겁니다..

 

이클립스 없이.. 텍스트 코딩으로.. 자바빈 없이 만들기는 정말 어렵더군요..

 

하지만 지금까지 여러가지 코딩해왔던 실력으로.. 겨우겨우 만들었습니다..

 

참고로 게시판 만들기 JSP 배운지 3일만에 만들었습니다..

 

물론 제 실력으로 만들었다고 볼 수는 없습니다.. 책에 있는 기본 소스와 인터넷 보고 만든거니까요..

 

하지만 일주일안에 만들어서 채용되었습니다..

 

그리고 회사에서 JSP 공부하면서.. 실력을 쌓기 시작했고..

 

그때 일주일만에 만든 게시판을 다듬은게 [JSP] 게시판 만들기1 이겁니다.. 

 

이때만해도.. 제 코딩 스타일은 이랬죠.. 알아보기 참 힘든 스타일;..

 

String sql = "";
sql += "insert into board values( ";
sql += aid;
sql += ", ";
sql += aid;
sql += ", '";
sql += dbsubject;
sql += "', '";
sql += dbname;
sql += "', sysdate, '";
sql += dbemail;
sql += "', '";
sql += dbhomepage;
sql += "', 0, '";
sql += dbmemo;
sql += "')";

stmt.executeUpdate( sql );
stmt.close();

 

지금은 코딩 이렇게 하죠..

 

query.append("SELECT SEQ, NAME, SUBJECT, CONTENTS, REG_DATE, RNUM \n")
.append("FROM ( \n")

.append(" SELECT SEQ, NAME, SUBJECT, CONTENTS, REG_DATE, ROWNUM RNUM \n")
.append(" FROM ( \n")

.append(" SELECT SEQ, NAME, SUBJECT, CONTENTS, TO_CHAR(REG_DATE, 'YYYY-MM-DD') REG_DATE \n")

.append(" FROM NEWBOARD \n")
.append(" WHERE SEQ IS NOT NULL \n");
query.append(where);
query.append(" ORDER BY REG_DATE DESC \n")
.append(" ) ) \n");
rs = stmt.executeQuery(query.toString());

 

시스템 상에서 tail 찍어보면 아주 잘 나오거든요.. 이렇게 해놓으면 복사해서 토드에 붙여넣기도 편하죠..

제가 아주 즐겨 쓰는 방식입니다..

 

이렇게 코딩방법 자체가 바뀔때까지.. 정말 수만번은 오버고; 수십번 똑같은 내용을 반복해서 만들어본것 같습니다..

 

올라와 있는 내용은 게시판 만들기, 공지사항 만들기, 다시 게시판 만들기 3개지만..

 

제가 만든 게시판만 20여개가 넘어가니까요..

 

한 10번정도 만들때까진.. 만든것 보고 만들고 또 보고 만들고 한것 같습니다..

 

하지만 그 후로는 방법을 아는데 볼 필요가 없죠.. abc 공부할때 처음 공부하면 c 뒤가 d 라는걸 모르지만..

 

abc 를 공부하면 c 다음에 d 라는건 누구든지 아는것이니까 말이죠..

 

프로그래밍이 아닌 다른 공부 방법도 마찬가지겠지만..

 

잘 하고 싶으면 반복.. 반복.. 반복 밖에 방법이 없습니다..

 

그리고 남들이 만들어 놓은 소스를 보고 붙여넣기 하지 마시고.. "왜 이렇게 했지?".. 라는 의문을 가지고 만드세요..

 

작성자의 소스를 보고 만든 의도를 파악하면.. 그 다음부턴 만들기가 쉬워집니다..

 

 

마지막으로.. 현재 웹프로그램 하시는 분들이 그렇게 많이 있지 않습니다.. 비전이 없다고 생각해서인지..

 

지원도 많이 안하구요;.. 이쪽 업계에서 조금만 경력을 쌓으신다면 다른 회사로 이직도 쉬울것 같네요..

 

그럼 공부하시면서 불안해 하지마시고.. 열심히 공부하세요..

 

더욱 좋은 공부 자료들로 올려드리겠습니다..