어울림 - 자연과 어울어지기, 그 첫걸음

About Me

자연을 공부하는 人입니다. 생물의 죽살이 뿐 아니라 그들과 함께 해온 문화와 이야기도 함께 알아가고 싶습니다.

I am studying nature. I want to know not only the life history of living things, but also the culture and stories they and humans have shared together.

Search

License


more detail
블로그의 모든 글과 이미지는 기본적으로 상기의 Creative Commons License를 따르며 기타 인용한 내용이나 스크랩한 글들은 모두 해당 저자에게 저작권이 있음을 알립니다.

Profile

웹프로그래밍 공부


나는 전문 웹프로그래머는 아니다.
그냥 취미로 웹을 공부해 온 것이 꾸준히 이어져 올해로 공부를 시작한지 10년째다.
내 경우 인터넷을 조금 늦게 접했는데 1997년 대학에 입학해서야 처음 접했다.
내 또래라면 PC통신을 먼저 접했을 법한데 난 그 시기를 통째로 뛰어넘고 웹브라우저를 기반으로 한 인터넷이 처음이었다.
2학년을 마치고 군에 입대했는데 2000년 초 군에서 제대를 앞둔 장병들의 적응훈련을 한다고 말년 병장들을 대상으로 정보화교육이란 것을 했었다. 나 역시 교육대상이었지만 초창기 한달과정이 훈련에 영향이 크다는 이유로 반으로 줄어드는 바람에 2주간의 짧은 교육밖에는 받지 못했다. 그래도 교육 마지막 날 당시 동아일보사에서 주관하던 TIQ인터넷 정보기사 자격증을 딸 수 있도록 해주었는데 열심히 공부해서 자격증을 받은 기억이 난다. 이때의 2주가 내 웹프로그래밍의 시작이자 교육받은 전부다.

당시 배운 것은 html이었다. 웹페이지를 돌아다니면서 정보를 얻는 것을 배운 것이 아니라 직접 웹페이지를 만드는 방법에 대해 배웠다. 가장 기본적인 html의 문법을 배우고 직접 웹페이지를 만들어보았다. 동기는 어느 정도 배운 적이 있는 것 같았지만 난 이용만 해봤지 직접 웹페이지를 만드는 것은 처음이었다. 특히나 특별한 툴없이 잘 사용하지도 않던 메모장만으로 웹페이지가 만들어지는 것이 내게는 너무도 신기했었다. css, javascript를 배운 것도 아닌데 html의 기본문법만으로 만들어진 투박한 웹페이지가 당시엔 왜 그리도 신기했었는지 모르겠다. 특히 marquee태그로 글자를 왔다갔다 하는 것은 정말 신기했다. 또 인터넷의 기본이라고 할 수 있는 하이퍼링크는 정말 신기했다. 요즘같이 인터넷이 일반화된 때에는 링크는 당연한 것일지도 모르겠다. 간단한 태그였지만 링크기능을 직접 구현해보면서 가능성이 무궁무진하겠다는 생각을 했었다. 결국 인터넷이라는 것은 수많은 링크들이 연결된 것이 아닌가? 스크립트언어나 데이터베이스를 몰라도 html의 링크만으로도 DB를 만들 수는 있다. 시간과 노력이 훨씬 많이 드는게 큰 단점이지만 간단한 DB라면 아직도 html로 작성하는 것이 가장 빠르고 확실한 방법이라는 것은 분명하다.

당시에 복사해서 돌려본 교재는 제대할 때 가지고 나왔는데 지금은 형을 거쳐 누나에게 전해져 기본기를 익히는 교재로 이용되고 있다. 처음 내가 html로 만든 개인홈페이지는 정말 투박했다. css, 자바스크립트도 없고 게시판 하나 없이 오로지 html만으로 이루어진 것이었다. 하지만 내게는 신기하고 재미난 공부였다. 마땅히 교재는 없었다. 그저 웹사이트를 돌아다니다가 재미있는 사이트를 발견하면 소스보기로 소스를 복사하고 내 홈페이지에 적용해가면서 공부했다. 나중에 나모웹에디터 관련 책자를 사서 제대로 공부하려고 했지만 결국 거의 보지 않고 그 책은 누나에게 갔다. 난 지금도 메모장과 Edit+와 같은 에디터프로그램을 이용한다. 드림위버나 나모웹에디터는 태그자체보다는 툴의 사용법을 익히는 것이 우선시 되는 것 같아 거의 사용하지 않는다. 딱히 웹에는 교재라는 것이 필요하지 않은 것 같다. 이제는 css, 자바스크립트는 어느 정도 직접 작성할 수 있고 재미있는 사이트를 발견하면 필요한 소스를 복사해서 쓸 수 있으니 웹이란 공간은 열린 공간이면서도 살아움직이는 교재라는 생각이 든다. 나중에는 한계가 느껴졌지만 취미로 재미있게 배울 거라면 기본기만 배우고 천천히 웹서핑하면서 소스를 보고 배워나가는 게 더 재미있는 거 같다.

개인홈페이지는 2003년 대학원에 들어가면서 만들어 운영했지만 게시판을 제외하고는 html위주의 홈페이지였다. 2003-2009년까지 운영하면서 ftp, 게시판설치, css, javascript, 도메인, 웹호스팅, 포워딩 등 여러가지 개념들과 사용법에 대해서 공부할 수 있었다. 공부뿐 아니라 개인홈페이지를 통해 많지는 않았지만 여러 사람들과 소통할 수 있었다는 것은 큰 행복이었다.

대학4학년때부터 대학원 졸업할 때까지 실험실을 통해 산림청의 국가종지식정보시스템의 곤충DB작업에 참여하면서 많은 양의 곤충데이터를 다룰 기회가 생겼는데 이 때부터 본격적으로 데이터베이스에 관심을 가지게 된 것 같다. 여러번 관심있는 분야에 대해 html로 DB를 구축하려고 했지만 작업량이 엄청나서 중도포기한 적이 많았는데 실제 수만 컷을 찍어보고 표본실의 대부분의 표본들을 다루다보니 html의 한계가 크게 느껴졌었다. 그래서 프로그래밍을 배워보자는 심산으로 대학졸업을 앞두고 프로그래밍수업을 몇 개 들었다. 성적은 좋지 않았지만 군대에서의 좋은 경험처럼 일찍 배워두면 잘 몰라도 계속 관심을 가지고 배워나갈 수 있을 것이라는 확신이 있었다. 2과목을 이수했는데 하나는 C, 다른 하나는 D정도의 학점을 받은 기억이 난다. 지금 생각해보면 그때 들었던 과목중 java는 들을만한 수준이 아니었는데 어떻게 그리 무모한 수업신청을 했는지 모르겠다. 아마 너무 모르니까 더 용감했었을테지.

형이 웹마스터과정을 배우고 있었기에 게시판을 짜는 것에 대해서는 어깨 넘어 들을 것들이 있었고 종종 어떤 언어를 배워야 하는지에 대해서 묻기도 했다. 그래서 결정한 것이 바로 PHP이다. 뚜꺼운 책은 2005년도에 사놓고 실제 책을 펴고 제대로 공부를 시작한 것은 2007년 여름 무렵이었다. 처음 홈페이지를 만든 2003년에는 '오늘과내일'에서 제공해주는 티티보드 무료계정을 이용해서 게시판을 운영했고 이후 유료호스팅을 제공받으면서 기본으로 제공해주는 제로보드를 설치하여 처음으로 제로보드4로 홈페이지를 운영했었다. 스킨을 수정한다거나 일부 소스를 다른 이들이 올려놓은 메뉴얼대로 따라 수정해보거나 하는 것 정도는 할 수 있었지만 php코딩을 해 본적이 없었다.  게시판만 설치되고 특별한 문제가 없다면 PHP는 코딩할 줄 몰라도 사용에는 지장이 없었으니 말이다. 스킨수정이야 html정도만 할 줄 알면 어느정도는 수정이 가능했다. 그래서 php로 직접 코딩하지 않고도 아버지가게홈피, 누나개인홈피, 동호회홈피, 개인홈피, 전공홈피, 인천의잠자리홈피를 비롯해 여러 홈페이지들을 제작했었다.

정작 웹마스터과정을 거친 형은 디자인을 주로 해 프로그래밍과는 거리가 멀어서 혼자 공부하는 수 밖에는 없었다. 마땅히 배울 곳도, 학원을 다닐 여력도 없어 선택한 것이 웹에서 제공해주는 강의였다. 무료로 제공해주는 강의나 개인이 녹화한 강의는 대부분 들은 것 같다. 종종 어둠의 경로로 유료강의도 일부보고 유투브의 도움도 받았다. 특히 초기에 도움이 된 것은 '싱싱해'라는 사이트에서 제공해주는 강의였다. 하나하나 따라해보면서 기본기를 익힐 수 있었다. html을 공부했을 때처럼 소스를 보고 공부하는 방법이 가장 좋았던 것 같다. 내가 선택한 방법은 제로보드4같은 기능이 많고 복잡한 소스로 된 게시판이 아니라 오래전에 사용된 간단한 기능의 게시판이었다. 지금은 업그레이드도 안 되고 기능도 별로 없는 게시판 소스였지만 초짜인 나에겐 그만큼 좋은 교재도 없었다. 처음엔 Windows 2000을 깔아놓고 IIS서비스를 이용해 웹서버를 구축하고 APM fot IIS를 설치한 뒤 여러가시 게시판을 설치해 테스트해봤다. 그후론 APMSetup이라는 패키지를 이용해 쉽게 웹서버를 구축해 운영했다. 그렇게 게시판들을 하나하나 수정해보면서 여러 함수들에 대해 이해하게 되었다.

html공부할 때 오랫동안 메모장을 이용해 코딩하다보니 그래도 기본기는 잡혀있었는지 php공부할 때 많은 점에서 편했던 거 같다. 하지만 웹표준을 공부하면서 여지없이 내 코딩방식이 두서없고 잘못된 부분이 많다는 것을 알게 되었다. 그래서 지금은 만드는 것을 항상 크로스브라우징이 되는지 테스트하고 웹표준에 벗어나지 않도록 하려고 노력한다.

어느 정도 기본기가 되기도 전에 그동안 생각만 하고 있던 개인 프로젝트를 진행해봤는데 실력이 많이 부족했는지 점점 복잡해지기만 해서 중단하고 처음으로 강좌를 보면서 나만의 게시판을 직접 짜 보기로 햇다. 싱싱해 강좌에서 제공하는 강좌를 보면서 직접 일일이 코딩하며 만든 게시판은 기본적인 기능은 되었지만 오류도 많고 수정할 부분이 많아 하나하나 수정하고 기능도 많이 추가시켰는데 하나의 게시판을 만들어 놓고 보니 그만큼 실력이 많이 늘어있었다. 그 뒤 MySQL DB가 필요없는 파일DB에 대해 공부할 기회가 생겨 파일DB만으로만든 게시판도 제작하게 되었다. 아직도 모르는 함수도 많고 배울 것이 많지만 데이터베이스를 만난 것은 큰 행운이었다고 생각된다. 대학에서는 생물학을 배울 적에는 프로그래밍의 필요성에 대해서는 한번도 들어본 적이 없었고 그 필요성을 크게 느끼지 못했지만 여러 경험들이 필요성을 느끼게 해 주었고 30대에 들어서야 배우기 시작한 데이터베이스는 내게 두고두고 긴하게 쓰일 하나의 언어이자 도구가 되어 있다.

그간 배운 것들을 시험해볼 요량으로 html페이지로만 되어있던 내 전공홈페이지(한국의 곡식좀나방, http://www.tineid.wo.to/)를 모두 php로 변경하고 파일DB를 적용해 자동화시켰다. 처음 계획보다는 복잡한 프로그램이었는데 현재 절반정도만 공개하고 나머지는 비공개로 관리자로 로그인해야만 이용할 수 있도록 했다. 원래는 MySQL로 하려고 했으나 무료호스팅을 이용해 이곳저곳 옮겨다니는 입장에서 MySQL보다는 제약이 적고 많은 DB를 다루는 것이 아니기에 파일DB가 더 적합하다고 여겨 선택하게 되었다. [한국의 곡식좀나방과] 홈페이지를 리뉴얼하면서 파일DB를 좀더 자세히 공부하게 되었다. 이외에도 그간 필요로 했던 여러 프로젝트를 진행했는데 대부분은 비공개로 아직 공개하지 않고 있다. 기능은 완성했지만 아직 공개할 시점이 아니라는 생각에서이다.

웹을 공부하는 입장에서 결국은 어떤 프로젝트라도 홈페이지의 형태이기 때문에 웹표준과 크로스브라우징에 대해 관심을 가질 수밖에 없었는데 validation 체크를 통해 그간 만든 페이지들을 분석하면서 내 코딩습관을 한번 돌아보는 기회로 삼을 수 있었다. 또한 DB 및 데이터를 디자인과 분리시키기 위해 CSS를 따로 공부하게 되었고 여러 강의를 들으면서 CSS에 대한 이해도 전보다 깊어졌다. 아직도 배울 것이 많지만 지금껏 배운 것으로도 좀 투박하지만 예전에 할 수 없었던 많은 것들이 가능해졌음은 뿌듯하다. 무엇보다 오랫동안 하고 싶었던 프로젝트를 진행할 수 있는 좋은 도구를 얻었기 때문이다.

정규교육을 받아본 적은 없지만 2000년 군에서의 2주간의 교육에서 시작되어 웹상의 오픈된 자료을 이용해 공부한지가 횟수로 10년째다. 계속 개인홈페이지를 수정하고 관리하면서 소스를 수정하는 일은 멈춘 적이 거의 없으니까 직업으로 삼는 분들보다는 훨씬 못 미치겠지만 그래도 직업이 아닌 도구로서 프로그래밍을 즐겁게 할 수 있었다는 것은 참으로 다행스러운 일이다. 관심을 가지고 계속 공부하다 보면 내가 앞으로 만들 프로그램들도 계속 업그레이드 되어갈 것이다. 참 작은 시작이었다. 하지만 처음 메모장에 익숙치도 않던 영타로 독수리타법 코딩한 것을 웹브라우저로 확인하면서 감탄을 금치못했던 기억은 웹의 가능성을 알게 해주었고 코딩을 재미있고 신기한 것으로 느끼도록 해주었다. 처음부터 어렵다고 생각할 것이 아니라 자신이 할 수 있는 작은 것부터 시작하고 무엇보다 스스로 재미를 느끼는 것이 얼마나 중요한 일인지 뒤돌아보며 새삼 느끼곤 한다.