웹 프로그래밍의 즐거움, 역시 코딩은 취미로 해야해요.
아시는 분은 아시다시피 저는 임베디드로 먹고사는 개발자입니다.
그리고 퇴근하고 집에서 취미삼아 웹 프로그래밍하고 있습니다.
아주 오래전에 PHP로 한 학기 등록금을 벌어본 경험도 있어서 웹 프로그래밍이 아주 그렇게 생소하진 않습니다.
지금은 python 기반으로 된 Django라는 프레임웍을 사용하고 있지요.
저는 한 7년 정도 PHP 기반의 블로그(Soojung Blog), 위키(MoniWiki), 북마크(직접 제작), 포스트잇 스타일의 메모(직접제작)를 잘 써오고 있었어요.
그런데, 얼마전에 도메인이 만료되면서 갑자기 이것들을 합치고 싶다는 생각이 들었어요.
그래서 일주일간에 걸쳐 시나리오를 작성하고, 시나리오를 기반으로 바로 ERD를 그렸어요. 원래는 유즈케이스를 그리고 각 유즈케이스 마다 액티비티 다이어그램과 클래스 다이어그램이 나와줘야 하지만, 워낙 단순한 기능들의 모음이라 시나리오만 보고도 바로 ERD가 나오더라구요.
그리고 HTML5랑 CSS3가 소개된 책을 한 권 사서 정독을 했어요.
Django는 원래 할 줄 알았고요.
Javascript는 Jquery를 사용하기로 결정했지요.
모바일 대응은 Jquery-mobile을 사용하기로 결정했어요.
ERD를 보고 데이터베이스 모델을 작성하고요.
시나리오를 보고 역시 절차를 무시한채 바로 스테이트 다이어그램과, 액티비티 다이어그램을 그려서 로직을 정리한 다음 막바로 컨트롤 코드를 작성했어요.(Django에서는 MVC모델에서 C에 해당하는 부분을 view라고 불러요,)
그리고 HTML5, CSS3 책과 w3cshool.org, jquery.org의 도움을 받아서 뷰 코드를 작성했어요(Django에서는 MVC모델에서 V에 해당하는 부분을 template라고 불러요.)
물론 디자인은 꽝이에요.
해보니까, 제대로된 웹 서비스를 만들려면 디자이너는 꼭 필요해요! :-)
이 과정을 혼자 진행하면서 프로젝트 관리는 redmine + git를 이용해서 혼자 이슈 등록하고 이슈 클로즈하면서 잼나게 놀고 있어요.
회사에서 회식이 있는 날이나,
퇴근후 데이트가 있는 날이나,
그냥 약속이 있는 날에는 작업을 못하고 건너뛰는 날도 많아요.
주말에는 절대 코딩을 안하고요..(사실 주말에는 컴퓨터를 켜지도 않아요..^^)
그래서 한달 지나봐야 redmine에 진행상황 보면 작업한 날이 보름도 안되네요.
그래도 재미있어요.
만날 임베디드에서 몇 밀리초, 나노초 이런거 신경쓰면서 최적화질 하고,
파워 소모 0.X와트 줄이려고 프로파일링해서 페리페럴 클럭 껏다켰다. 이런거 좀 싫거든요.
그런거 신경안쓰고 그냥 하고 싶은대로, 손가락 놀리는 대로 개발의 즐거움을 느끼고 싶거든요..^^
그럴듯하게 작업한다고 Django에 미들웨어 추가하고, 컨텍스트 프로세서같은거 추가하면서 Django의 내부 구현 코드나 구조같은거 보는것도 재미 있고요.
그러면서 python의 새로운 문법이나 기능같은거 알아가는 것도 재미 있어요.
만약 제가 웹으로 밥벌어먹는 사람이라면 퇴근후엔 임베디드를 하고 있을지도 모른다는 생각을 했어요.
역시 코딩은 취미로 해야 되나봐요..^^
웹프로그래밍도 프로그래밍이냐? 하던 때가 떠올랐습니다.
십삼사년전에....................... 웹의 등장으로 html마크업에 대해서 이슈화되고,
cgi니 java script니 JSP니 java beans니 ASP니 PHP니 하면서
여러가지로 "웹의 춘추전국시대"가 막 펼쳐지기 시작할때,
"웹프로그래밍도 프로그래밍이냐?"하면서 폄하?하던 시절이 떠올랐습니다.
( 그 시절은 C 나 C++ 을 해야 궁극의 진정한 프로그래밍을 하는 것처럼 여기던 시절이었었죠. )
예전 아르바이트 했을때, 어떤 분은 AI란 하드웨어의
예전 아르바이트 했을때, 어떤 분은 AI란 하드웨어의 지원을 받아야만 가능한거라고 생각하는 분이 있었습니다.
경험해 보지 못한것에는 항상 마법이 깃드는 모양입니다.
경력 10년차에 윈도우 어플, 임베디드, 모바일, 멀티미디어, 슈퍼컴, 게임 서버까지 경험해왔는데, 아직도 게임 클라이언트(특히 그래픽스)는 뭔가 마법이 있을 거라고 생각하고 있습니다.
옛날 생각이 납니다.
옛날 생각이 납니다.
웹프로그래머는 하수. C프로그래머는 고수. 웹프로그래머들은 그때 프로그래머라고 대놓고 말도 못하던 시절이었습니다.
그랬다간 '니가 뭐라고?' 라며 눈총과 핀잔을 듣기 일수였으니까요.
그러면 안되는 거였지만, 그 당시에는 그 사람들이 나가고나면 뒤통수에다대고 많이들 비웃어주었거든요.
저랑 반대 방향으로 가시네요.
전 맨날 하는 소프트웨어쪽이 지겨워서 하드웨어 공부 시작중입니다.
직장권태기인지 좋아서 하던 프로그래밍도 이젠 지겨워지네요.
뭔가 움직이는걸 만들고 쉽어요.
부럽습니다..
부럽습니다..
Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.