공용 라이브러리 만들기의 어려움

프로그래밍을 한다는 것은 자기자신과 컴퓨터간의 대화인 경우가 많다. 프로그램 개발은 요구사항에 따라 컴퓨터가 바르게 동작하도록 언어의 규칙에 맞게 하나의 완성품을 만들어가는 과정이다.

그런데 이 과정에서 여러명의 개발자가 협업을 하게 되면 서로간의 코딩 규약을 지키고 일정을 맞추고 재사용성이 가능한 콤포넌트를 개발하는데 집중하게 된다.

더 나아가 팀내에서 공용으로 사용하게 되는 라이브러리를 개발하는 경우 신경 써야하는 것들이 늘어나고 다양한 언어와 환경을 고려해야 하는 상황에 직면하게 된다.

최근 Ajax 관련된 공용 라이브러리를 만들고 있는데 정말 머리에 쥐나는 작업이다. prototype.js 기반으로 클라이언트 예제 파일과 asp로 작성된 서버쪽 예제를 작성하고 있다. asp용 JSON 라이브러리가 없기 때문에 XML parser 를 추가하고, DOM 객체를 다루는 예제 코드를 작성 중이다.

그냥 개인적으로 또는 같은 프로젝트 내에서만 사용한다면 좀 더 마음 편하게 작업할 수 있을텐데, 개발그룹내에서 공통으로 사용할 코드를 만든다니 생각할 것이 많아진다. 최근 읽은 ‘TDD 개발 방법론’이나 ‘실용주의 프로그래머’의 영향 때문일까? 중복을 배제하고 가독성이 좋으며 독립된 형태로 만들어야 한다는 강박관념과 열심히 만들었지만 왠지 완성도가 떨어져 보이는 불안감이 계속된다. 그리고 결국 자신의 코드에 자신이 책임져야 한다는 무거운 압박.

아마도 이런 어려움을 겪는건 아직 내 실력과 경험이 부족하기 때문이 아닐까 싶다. 하지만 이런 경험을 통해 아키텍쳐로 발전해 갈 수 있을거라 생각한다. 역시 스트레스는 사람을 피곤하게 하지만 도전하지 않으면 발전도 없다. 계속해서 고민하고 완성도를 높여갈 수 밖에.

완성이라는 것은 더 이상 더할 것이 없을 때가 아니라, 더 이상 빼낼 것이 없을 때 얻게 되는 것이다.
- 생텍쥐페리Antoine de St. Exupery, [바람과 모래와 별들Wind, Sand, and Stars] 1939

This entry was posted in Software & Developer and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

7 Comments

  1. Posted 2006/02/08 at 10:52 pm | Permalink

    ECMA 표준 공부하시더니, 프레임웤 작성의 사전준비작업이었나봅니다. AJAX는 아직 충분히 성숙하지 않아서 따지크님 작업같은 기초공사가 반드시 필요한 것 같습니다.
    ps. 데이터 교환포맷은 JSON이 아니라 XML로 하신건가요?

  2. Posted 2006/02/09 at 10:34 am | Permalink

    예. JSON으로 하고 싶었는데, asp에서 JSON 라이브러리를 찾을 수 없군요. 방법은 몇가지 제시되어 있는데 제가 asp 문외한이여서 그런지 정답을 찾을 수가 없네요.
    JSON을 사용하면 서버쪽에서 데이타 말아주기가 편한데 말이죠. ^^

    대신 브라우져마다 다른 XML parsing 작업을 공통으로 처리해주는 javascript Class를 만들고 있습니다.

  3. Posted 2006/02/13 at 10:53 pm | Permalink

    개인적, 업무적으로 관심이 많아서 Ajax를 둘러보던중 여기까지 왔습니다. ^^
    저도 Rico기반으로 공용 라이브러리를 만드는 일에 관심이 있는데요..
    포스트에 언급된 개발그룹이라는것이 혹 그것을 위한 그룹인지요?

  4. Posted 2006/02/13 at 11:13 pm | Permalink

    개발그룹은 사업부내의 개발그룹을 의미합니다. 공용 라이브러리는 따로 TF를 구성해서 만들고 있습니다.

    Rico.js를 사용하려면 기본적으로 prototype.js도 함께 사용하게 됩니다. 이 둘에 CustomRico.js도 만들어 사용하면 필요이상으로 js 파일들 크기가 커질 수 있습니다. 그래서 더 가벼운 라이브러리를 만들기 위해 rico.js를 참고해서 새롭게 라이브러리를 만들고 있습니다. ^^

  5. Posted 2006/02/14 at 1:11 am | Permalink

    재미있는일 하시내요. ^^
    저희도 prototype.js 와 Rico.js로 같은 생각을 하고 있습니다.
    근데, 이제야 들여다보기 시작해서 얼마나 있어야 진도가 나갈지 모르겠군요.
    좋은 정보 있으면 계속 포스트 등록해주시면 좋겠습니다. 제 욕심입니다만. ^^

  6. Posted 2006/04/03 at 5:09 pm | Permalink

    정말 힘든 작업을 하고 계십니다.
    더군다나 ASP샘플까지 만드신다고 하시니, 그 지난한 작업이
    눈에 선합니다. ASP에서도 선언
    하고 Sever Side Script로 자바스크립트를 사용하면, 손쉽게 JSON을 사용할 수 있기는 한데, VBScript만 사용하는 개발자들은 싫어 하겠죠! ^_^

  7. Posted 2006/04/04 at 10:16 am | Permalink

    현재는 XML로 싸이월드 서비스내에서 사용되고 있습니다.
    아스키코드 ^X 같은 문자에서 파싱 에러가 나는 문제도 있었지만, 큰 문제 없이 잘 돌아가네요. ^^

    ASP에서도 JSON 사용이 가능하기는 한데, 제가 ASP 전문가가 아니고 시간에 쫓기다 보니 XML을 사용하게 됐습니다.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>