Text

테스트, 테스트. 테스트?

만약 이미 어느정도 “그럭저럭 잘” 돌아가는 사이트에1 어느날 갑자기 켄트백 신2이 강림하사 테스트 적용을 하고 싶어진다면 제법 난감한 상황에 부딪힐 가능성이 높다. “도대체 어디서 부터 시작해야 되는거야?”

대부분의 테스트에 대한 책/글들이 매우 작은 요소들에서 큰 요소로 접근해 나가는 방식을 취하지만, 난 오히려 이 경우에는 반대방향의 접근을 추천하는 바이다. 예를들어, 기존에 잘 돌아가고 있는 블로그 서비스가 있고 이에 대한 테스트를 작성해야 한다면, 일단 페이지 자체가 잘 뜨는지 확인하는 테스트 부터 시작하는 것이다.

test 'should get welcome page' do 
  get :welcome
  assert_response :success
end

이렇게 함으로써, 우선 여러가지 최악의 상황을 대비할 수 있고 결정적으로 ‘어쨋든 페이지가 뜨는가’ 라는 매우 중요한3 테스트를 수행할 수 있게 된다. 그리고 이후에는 수정하는 코드들에 대해서 저렇게 큰 그림에서부터 작게 좁혀 나가는 식으로 테스트 케이스를 작성하다보면, 어느덧 테스트 케이스는 제법 견고하게 된다.

어째서 대부분의 책/글들은 이런 접근법을 이야기 하지 않는지 의아해 하며 적어본다.


  1. 그러니까 테스트 따위 없이 

  2. 코드에서 냄세가 난다아 

  3. 이미 테스트 없이 개발되고 있는 사이트라면, 대게 테스트의 도입 목적은 기존에 ‘잘’ 돌아가고 있는 부분의 수정에 대한 두려움의 극복 차원이라고 볼 수도 있다. 이 경우 어쨋든 ‘동작은 한다’ 라는게 좋은 혹은 바른 테스트 인가를 떠나서 무척 중요한 부분이라 할 수 있다. 

Text

야구

drama [C] 극적인 사건

그들의 야구는, 매 순간 정말 많은 생각들을 하게 한다. 체력적으로 말도 안되는 상황 속에서도의 그 놀라운 분전과, 뒤지고 있는 상황에서의 집념. 단언컨데, 누가 이런 두산의 야구를 사랑하지 않을 수 있을까?

직접 경기장에 가서 본 PO 3차전 경기는 정말이지, 뭐라 표현할 수 없는 감동의 연속 이였다. 포기하지 않았고, 열정적 이였으며, 한편으로는 어떤 선수의 눈물이 있었다. 일희일비의 - 그래서 인생이 녹아 있는 - 전장과 그 전장에서 싸워 나가는 사람들. 아름다운 모습이다.

비록, 손시헌 선수의 실책성 플레이로 경기가 끝나긴 했지만 탓할일은 아니라고 생각한다. 특히 3차전 그의 활약에 열광했던 사람들은. 체력적인 그리고 정신적인 면을 생강해 보면 너무도 훌륭한 경기를 이끌어 왔고, 멋진 모습을 보여 주었다.

이렇게 올해 나의 야구가 끝이 났다. 그 어느 시즌보다 즐겁고, 눈물났던 이번 시즌은 오랜 시간 내 마음속에 남아 있을 것 같다. 웃고, 울고, 소리 지를 수 있어서 행복했던 가을이다. 내년 가을엔 반드시 승리하리라.

Text

#1. 기존의 소프트웨어에 비해서 웹사이트들의 성능 개선이 어려운 이유중 하나는, 상황이 끝없이 변화하고 그 변화의 속도가 드라마틱1 하다는 것이다. 똑같은 데이터 모델, 시스템도 작은 규모에서는 충분히 유효 하였더라도, 그 규모가 커지면 한없이 불완전하고 문제점 있는 시스템이 되어 버린다. 그렇다고, 작은 규모에서 큰 규모를 생각해서 설계하는 것은 낭비도 낭비일 뿐더러, 소프트웨어에 있어 가장 치명적인 문제중 하나인 복잡성 증가의 문제를 불러온다. 결국, 끝없는 관심과 노력으로 현 상황에 맞게 변화해 나가는 것이 필요하고, 사실 이건 너무 어려운 문제이다. 따라서, “옛날에는 훨씬 단순하고 간단하게 잘 되었는데 지금은 왜 그렇게 못하는거야?” 라는 물음은 무의미 하다. 같은 상황이 아니니까, 다른 것일 뿐.

#2. 어떻게 보면, 사람도 끝없이 변화하는(혹은 변화해야 하는) 소프트웨어일 것이란 생각이 든다. 좀 더 나은 내일을 위해 상황의 능동적 변화를 유도하거나, 혹은 상황의 변화에 있어 더 훌륭히 대응하기 위해 우리는 끝없이 변화한다. 이런 점에서 가장 안타까운 경우는, 지금의 자신에 만족해 버린 나머지 안주하는 경우이다. 시간의 변화는 멈출수 없고, 결국 상대적으로 자신도 변해버린다. 닻을 내려둔 채.

#3. 가을은 내가 야구를 보는 주간이다. 좀 얄밉게도 난 가을에만 야구2를 챙겨 보는 편인데(물론 이때는 전경기 꼬박꼬박 다 챙겨봄) 그 조마조마한 승부가 너무도 즐겁기 때문이다. 그런데 흥미로운 이야기를 하나 들었는데, “너 야구 싫어하자나? 왠일이냐 야구를 다보고?” 뭐 이런 이야기들을 많이 들었다. 사실 난 야구를 싫어한다고 한적도 없고, 오히려 삼성 이승엽 시절 이후부터 야구를 좋아하는 편인대도 나의 어떤 모습이 그런 생각을 하게 만들었는지 신기할 따름이다. 아마도 평소에 운동 안좋아할 것 같은 이미지가 영향을 미쳤을것 같은데, 나의 본질과는 별 상관없이 사람들은 보는 대로 생각하기 마련인가 보다. 보이는 모습에 좀 신경을 써야 하려나. =3

#4. 문명…이 어떻게 생겨 버려서 요즘 틈날때마다 (사실은 틈을 만들어서) 문명을 하고 있다. 그런데 어째서인지 자꾸 정복 승리를 노리고 있다, 사실 내가 추구하는건 외교적 승리인데.. 다른 문명과 도시를 이해하는 일은 현실에서 만큼이나 게임도 쉽지가 않다. 일꾼의 자동화 AI3가 지나친 현실반영을 하고 있다는 문명 커뮤니티의 개그가 있는데, 이 게임 범상치 않다.


  1. 예를들어 gdos 라던가 gdos 라던가 gdos라던가 

  2. 요즘 두산이 꼬박꼬박 가을에 야구를 해서 그렇기도 하고.(응?) 

  3. 게임상 시간이 좀 지나고 나면, 자꾸 멀쩡한 농장/도로를 부수고 다시 짓고 부수고 다시 짓고 그런다고 한다. 

Text

시간

사람이 사람을 만나서 감정을 나누는 것 만큼, 신비롭고도 흔한일은 드물다. 세상 그 어떤 숭고한 일이 이토록 흔할 수 있을까. 축복이자 불행이란 생각마저도 든다.

 처음엔 순수한 마음으로, 그러나 시간이 지날수록 안타까운 마음으로 지켜만 보던 사람과 마음을 나눈지 벌써 800일 하고도 1일이다. 개인적으로는 누군가와 이토록 오래 정을 나눈 것은 처음이기도 하거니와, 삶에 가장 큰 영향을 준 이성이기도 하다.

 800일! 내 삶에 1/10에 육박하는 무게감도 무게감이지만, 가장 힘든시기의 800일을 이렇게 좋은 사람과 함께했던 것은 더할 나위 없는 행운이다. 앞으로 그 행운이 결혼후의 삶으로도 이루어 지길 바라지만, 이건 내 혼자만의 욕심이니 어떨지 모르겠다. :)

 다른 부분엔 참 까칠하고 할말 다 하고 살면서도 이런 부분에서 영 쑥맥이 되어버리는 애인때문에 여자친구가 고생이 많다. 어느정도 일이 정리가 되면 미안한 마음도 전할겸 함께 근처 바다라도 보러 가고픈 맘이 간절하다.

Text

간극

무언가를 ‘진지하게’ 만드는 사람들은 항상 불만족 스러워 한다. 일반적으로, 항상 자신의 작품에 만족할 것만 같은 그런 사람들이 오히려 자신의 작품에서 항상 결점을 생각하고, 또 불만족 스러워 한다. 그리고 그들은 그 결점을 보완하고자 노력하여 다음 작품을 만들어 내고, 다시 금 또다른 결점을 생각하여 불만족 스러워 한다.

그래서, 작품의 변화에는 늘 간극이 온다. 우리가 늘 원하는 ‘좀 더 나은 것’은 익숙함 속에서의 진보이지, 결코 익숨함을 버리는 변화를 원치는 않는 것이다. 하지만 작가가 바라보는 작품의 결점에는 익숙함 또한 큰 틀로써 - 아니, 정확히는 신경쓰지 말아야 할, 변화의 적으로써 - 자리 잡고 있기 때문에 거기서 우리는 큰 간격을 느끼곤 하는 것이다.

낯설음이란 모두에게 힘든 감정이다. 그래서 항상 작가가 빚어내는 작품의 변화는, 낯설음이 떠나는 시간 정도의 여유는 주어야 하는 것 같다. 그렇게 조금은 천천히 바라보면, 낯설음 뒤에 가려져 있던 수줍은 얼굴이 고개를 들이밀 것이다. 그때 가서, 이 친구를 다시금 바라보아도 늦지 않으리라.

윤오영의 ‘방망이 깎던 노인’이 생각 난다.

Text

직관

 어제 저녁, 아버지로부터 긴급한 SOS가 있었다. 당신의 유일한 취미인 사진촬영 결과물들을 모두 저장해 두고 있는 외장 하드가 작동하지 않는 다는 것. 컴퓨터가 다운된 직후에 껏다 켰더니 이런다고 걱정이 이만 저만이 아니시다.

 전화상으론 한계가 있어 원격 접속 - thx neturo -을 시도했다. 상태는 어려워 보였다. 디스크 자체가 인식이 않되고 있었는데 USB를 통한 전원은 들어가고 있는 것으로 보였다. 슬슬 최악의 상황을 가정하고 있을때, 우선 문제가 정확히 어떤건지 확인해야겠단 생각이 문득 들었다.

 그런데 이게 조금 난감했다. 외장 하드에서, 하드만 따로 본체에 꽂아보면 디스크 문제인지 외장 하드 케이스 의 문제인지 판가름이 나는 간단한 문제일 테지만, 문제는 아버지가 하실 수 있느냐는 것. 하지만 어쨋든 무리하게 넣지 않으면 케이블은 서로 맞는 것끼리, 맞는 방향으로만 들어가고 그렇게 끼우면 정상이란 사실이 떠올랐다.

 아버지에게 설명하기는 쉬웠다. “케이스를 여신 다음, 모양이 맞는 케이블이 하나 있을꺼에요. 약간 넓은거 하나랑 짧은거 하나 있을텐데 그거 2개를 하드에 모양에 맞게 끼우시면 되요.” 아버지는 처음엔 약간 어려워 하셨지만 - 처음 해보는 사람 누구나 그러한 정도 - 이내 끼우실 수 있었고 확인 결과 디스크 자체는 정상 이였다. 그리고 아버지는 화김에 외장 하드를 버려버리셨다(..)

 오늘 문득 어제 일을 다시 생각해 보니, 놀랍도록 직관적인 인터페이스란 생각이 든다. 올바른 방향 하나만을 제시하는 것. 그리고 그 방향에 대한 직관을 제공할 것(케이블 색깔,모양 등의 형태). 생각해 보면 컴퓨터 부품들에 대한 인터페이스는 대게 모두 그러하다. 좀 과장하자면, 레고를 맞출 수 있는 직관을 가진 사람이라면 누구나 조립해 낼 수 있지 않을까?

 문득 내가 만들고 있는 제품들은 그러한 것들이 제공되고 있는지 생각해 보았다. 결과는 - 음, 블로그에 이렇게 글로 남겨 두어야 겠다는 생각이 들었다. 관노는 오늘도 키보드와 마우스를 잡고 슬피 운다.

Quote
"금기란 대게 강자들이 약자들을 억압하고 제약하기 위해 탄생 시킨다."
Text

글을 쓰고 싶다.

 글을 쓰고 싶다. 그러니까 장문의 글을 작성하고 싶다.

 하지만 미투데이에 너무 길들여 진 걸까. 너무도 단문 쓰기에 익숙해지고만 요즘은, 문장과 문장을 호흡 있고 감칠 나게 쓰기란 여간 어려운 것이 아니다. 쓰다 지우다 쓰다 지우기를 수십 수백 번. 결국엔 팬을(그러니까 - 키보드를) 놓고야 마는 것이다.

 여전히 나의 머리는 시끄럽다. 하고 싶은 말, 정리하고 싶은 일들이 항상 나의 머리에서 떠들어 대곤 하는 것이다. 이것들을 밖으로 덜어내야 조금은 머릿 속이 조용해 질 텐데. 이래 가지고선 나의 머릿 속이 조용해질날은 요원하기만 하다. 

 오늘도 시끄러운 머릿 속에 결국 또 팬을 놓고야 만다. 

Tags:
Quote
"결국 마지막에 가서야 알 수 있는 것들이 너무 많다"