Rewriting everything from ground up

2008-06-20 15:06

맨땅에서부터 전부 다시 짜기

It's probably my fifth time to write a network application framework from scratch. They were all event-driven. The first and the second one (Netty 1) were based on blocking I/O. The others (Netty 2, MINA and Netty 3) are based on non-blocking I/O.

아마 네트워크 어플리케이션 프레임워크를 처음부터 다시 작성하는 것이 이번이 다섯 번째인 듯 하다. 전부 이벤트 드리븐이었다. 첫재와 둘째 (네티 1)는 블러킹 I/O 기반이었다. 나머지 (네티 2, 미나, 네티 3)는 넌블러킹 I/O 기반이다.

Five rewrites... I sometimes think it's time to step away from network application framework and do something on top of that. I always wanted to write a nice build tool or more enterprisy stuff. However, the fact is that I am still working on a network application framework!

다섯 번의 재작성... 때론 이제 네트워크 어플리케이션 프레임워크는 그만두고 그 위에서 뭔가를 할 시간이라는 생각이 든다. 항상 멋진 빌드 툴이나 좀 더 엔터프라이즈 스타일의 물건을 만들고 싶었으니까. 하지만 현실은 아직도 네트워크 어플리케이션 프레임워크를 만들고 있다는 것!

On the other hand, I realized that I have been feeling something exciting and freshing for each rewrite. There are many ways to solve the same problem, and it is sometimes better solved when approached from a different angle. It's probably because I got to understand more aspects of network application development now than before. Yes, there seems to be huge room for improvements in network application design of this world... yet!

한편으로는 새로 작성할 때마다 흥미진진하고 신선한 무언가가 느껴진다는 것도 깨닫게 되었다. 같은 문제를 해결하는데는 다양한 방법이 있고, 다른 각도에서 접근했을 때 더 잘 풀리기도 한다. 아마도 네트워크 어플리케이션 개발의 다양한 측면을 전보다 더 잘 이해하게 되었기 때문이 아닌가 싶다. 그렇다. 이 세상의 네트워크 어플리케이션 디자인에는 개선의 여지가 많이 있는 것 같다... 아직은!

There's also fear lying under the exciting feeling. "Will this fifth rewrite will be a great step forward from the fourth one?", I ask myself every morning. It's a diffifult question, but such a question makes me do my best and consider every possible issue I know of.

흥미진진한 기분 밑에는 두려움도 숨어 있다. 매일 아침 스스로에게 "이 다섯 번째 재작업이 네 번째에 비해 진일보한 것이 될까?" 라고 묻는다. 어려운 질문이지만, 그런 질문은 내가 최선을 다하고 알고 있는 모든 가능한 이슈를 고려하며 작업하도록 해 준다.

So? A little bit of pressure and a lot of fun. :)

그래서? 조금 압박감이 있긴 하지만 정말 재미있다. :)
---

Commenting is closed for this article.

---