Daybreakin Things

Posted
Filed under 컴퓨터
내가 얼마 전에 이 글에서 집에서도 광케이블이 단지까지 연결되는 100 Mbps 초고속 인터넷이 있나 알아보았었다. 그때 우리 단지는 안된다가 결론이었는데, 오늘 집에 와서 엘레베이터에 붙은 안내문을 보니 온세통신에서 개통했단다. 만세! -_-

우리 아파트는 세대마다 UTP 배선이 되어 있지는 않고(지은 지 5년 정도 되었으니..), 단지 통신실에 광케이블이 연결되고 거기서 전화선을 통해 서비스하는 방식이라고 한다. 따라서 집까지 UTP로 연결되는 것보다는 속도가 떨어질 수 있겠지만 단지가 크지 않으니(156세대인데다 인터넷을 별로 사용하지 않는 중장년층이 많이 산다) 별 문제는 없을 듯.

가격도 지금 쓰는 하나로통신보다 2천원 정도 더 싸다. 집에서 내가 인터넷을 많이 하지는 않지만, 기왕 싸고 더 빠른 거 쓰는 게 좋지 않겠는가. 부모님 설득해서 바꿔야지~ (마침 한달 전에 하나로통신 3년 약정이 끝났으므로 위약금 따위는 물지 않아도 될 것이다)
Posted
Filed under 살아가기, 생각하기
Ari 님의 블로그에서 꽤 전에 봤던 글인데, 생각난 김에 트랙백을 달기로 했다.

*

클래스는 공처럼 만들라.

내가 그 망할(...) 기숙사 관리 프로그램을 만들면서 가장 고생했던 것이 바로 클래스였다. v1.0에서 자료 구조를 표현하는 클래스들을 너무 딱딱하게 설계하는 바람에 개발 도중 선생님이 추가 요구를 하실 때마다 전면적인 수정이 이루어지지 않으면 안 되었다.

물론, Visual Basic이 상속이 불가능하다는 결정적인 태생적 한계가 있었던 것도 한 몫 했지만(Collection의 extended wrapper인 Collection2 개체를 상속받아 여러 클래스를 만들어야 하는데 그게 불가능하니 일일이 코드를 복사해서...-_-), 애초에 설계를 깊게 하지 않았던 탓도 있었다.

그전까지는, 내가 개인적인 필요나 흥미에 의해 프로그램을 만들었고 규모도 크지 않았었다. 그냥 생각나는 대로 만들면 별다른 버그 없이 잘 돌아갔고 원하는 기능이 구현되었다.

그러나 기숙사 관리 프로그램과 같이 실제적으로 이용되는 것을 만들려고 보니까 참으로 고려해야 할 것이 많았다. IE의 WebBrowser 컨트롤을 잘 구워삶아 인터페이스만 화려하게 바꾸는 정도에서 갑자기 대형 프로그램으로 전환했으니 갑자기 내 용량 한계를 넘어선 것은 당연하다고 볼 수 있겠다.

사실 그건 나 혼자 개발했기 때문에 ari 님의 비유와는 상황이 조금 다르다. 클래스를 만드는 것도 나요, 클래스를 사용하는 것도 나였기 때문이다. 그럼에도 불구하고, 내가 만든 클래스를 내가 이용하기가 왜 그리도 불편하던지...

가장 단순한 인터페이스. 생각해 보면 그것이 가장 사용하기 편하다. 그리고 프로그래밍의 효율을 높여준다.

*

가장 단순한 인터페이스, 이것은 프로그래밍뿐만 아니라 User Interface의 개념이 적용될 수 있는 모든 것ㅡ각종 산업 제품들에 이르기까지 모두 적용된다.

요즘에 나오는 핸드폰들은 얼마나 많은 기능을 가지고 있는가? 전화 통화와 문자 메시지는 이미 석기 시대적 이야기이고 디지털 카메라, mp3, 무선인터넷, 사진 앨범... 점점 더 많은 기능이 조그마한 휴대 전화 속으로 들어가고 있다.

기술이 더욱 발전하면, 한 10년 쯤 후에는 내가 지금 노트북으로 할 수 있는 것들을 핸드폰으로 들고 다니며 할 수 있을지도 모를 일이다.

너무 많은 기능이 탑재되면서 오히려 그에 적응하지 못하는 사람들도 있고 불필요하게 느끼는 사람들도 있다. 그런데 대부분의 제품들이 그런 방향으로 가니 어쩔 수 없이 쓰지도 않는 기능들이 들어간 제품을 사야 한다.

핸드폰이 우리에게 필요한 이유가 무엇인가? 그 점에 더 집중해서 제품을 만들었으면 좋겠다. 모든 핸드폰이 모든 기능을 통합하려고 하는 것보다는, 일부는 그렇게 가고, 또 일부는 mp3 기능을 강화하고, 일부는 무선인터넷 기능을 강화하는 등 좀더 각각이 특화되었으면 하는 개인적인 바람이다.

하나의 기기로 모든 사람의 입맛을 맞추려고 하는 것은 더욱 복잡한 인터페이스를 낳을 뿐이다. 핸드폰 UI 설계가 그래서 어렵다고 했던가.

다음을 다시 음미해 보자.

클래스를 만들 때 사용하는 사람이 마음에 드는 걸로 골라 쓸 수 있게 비슷한 용도의 함수를 여러개 만들거나, 혹은 함수의 인자를 추가해서 다양한 방식으로 동작하게 만드는 것을 그 클래스의 사용자를 위한 것이라 착각해선 안된다. 정말 사용자가 원하는 것은 가능한 적은 멤버 함수에 적은 인자 갯수이다. 고무공에는 어떠한 스위치도 달려있지 않지만 그 자체로 완벽한 인터페이스를 가지고 있다. 고무공에 뭔가 조절하기 위한 스위치가 없다고 불만을 가지는 사람은 아무도 없다.

그리고, 가장 단순한 인터페이스는, 마치 고무공과 유리 시계의 비유처럼, 더 내구성을 높이기 쉬워진다.

고무공은 3살짜리 어린아이라도 일단 손에 잡고 던지고 그것이 튕기는 것을 보면 그 물체가 뭔지 파악할 수 있다. 그리고, 신나게 벽에 던지면서 놀 수 있다. 게다가 아무리 벽에 던져대도, 벽은 고무공으로 인해 조금의 상처도 남지 않는다. 하지만, 유리 시계는 어딘가에 던졌다간 시계도 깨지고 그 대상에도 상처가 남고, 또 깨진 시계 조각을 밟으면 발에도 상처가 남는다.

너무 복잡해지기만 하는 세상. 그럴수록 세상은 점점 적응력과 유연성이 떨어지고 약해진다. 문명이 진화하면 재난도 진화한다고 한다. 어쩌면, 아이작 아시모프의 <파운데이션>에 나오는 은하제국의 몰락도 그와 같은 맥락일 수 있다.
Posted
Filed under 살아가기, 생각하기
카이스트 내부 FTP들을 돌아다니던 친구가 발견했다.
98~99년도에 나와 꽤나 유행했던(?) SBS의 드라마 카이스트.

요즘 시간 날 때마다 가끔 다시 보는 중인데 실제로 보니 너무 웃기다. -_-; 예를 들어 행정동이 어디냐고 묻는데 알려주는 길을 들어보니 정반대 방향이라든지, 기숙사 방 내부가 실제(?)보다 너무 잘 정돈되어 있다든지...;; 이제 카이스트 내부가 어떤지를 대충 아는 나로서는 드라마에서 나오는 장면들과 하나하나 비교를 해 보니 상당히 어색한 부분들이 많이 있었다. (뭔가 보통은 카이스트 학생들이 그렇게 하지 않는 곳인데 그런 행동을 한다든지...)

그 드라마에는 매우 괴팍(?)한 캠퍼스 폴리스 아저씨가 나오는데, 소문에 의하면 이전에 있던 캠퍼스 폴리스 아저씨가 실제로 그랬다고 한다. (물론 캠퍼스 폴리스 제도 자체는 실제로 있다 -_- 가끔 기숙사 앞에 순찰차(?)가 돌아다닌다..)

내가 초등학교 5학년 겨울방학일 때 시작한 걸로 기억하는데, 정말 그 당시만 해도 내가 카이스트에 올 줄 누가 알았으랴.

요즘의 드라마와는 또 다르게 약간 '오버'하는 모습도 보이고..-_-

아무튼 재밌다.