'2012/11'에 해당되는 글 3건

  1. 2012.11.28 | [패러디] 모듈 짜던 노인
  2. 2012.11.02 | 드럼 로스팅 - #2 수망과의 차이점
  3. 2012.11.01 | 드럼 로스팅 - #1 개요

[패러디] 모듈 짜던 노인

0 | 1/s/e | 2012. 11. 28. 16:52
Posted by oveRock

페이스북에 올려 보았다가 반응이 좋길래 조금 손봐서 포스팅


벌써 사십여 년 전이다. 내가 IT회사에 취직한 지 얼마 안 돼서 의정부에 내려가 살 때다. 서울 왔다 가는 길에 청량리역으로 가기 위해 동대문에서 일단 전차(電車)를 내려야 했다.
동대문 맞은쪽 길 가에 앉아서 모듈을 짜서 파는 노인이 있었다. 프레임워크를 한 벌 사 가지고 가려고 짜 달라고 부탁을 했다. 값을 굉장히 비싸게 부르는 것 같았다. 좀 싸게 해 줄 수 없느냐고 했더니, 

"프레임워크 하나 가지고 값을 깎으려오? 비싸거든 다른 데가 사우."

대단히 무뚝뚝한 노인이었다. 더 깎지도 못하고 짜 달라고만 부탁했다.
그는 잠자코 열심히 짜고 있었다. 처음에는 빨리 짜는 것 같더니, 저물도록 이 TC를 돌려보고 저 TC를 볼려 보고 굼뜨기 시작하더니, 이내 마냥 늑장이다. 내가 보기에는 그만하면 잘 돌아가는데, 자꾸만 테스트만 하고 있다. 인제 다 됐으니 그냥 달라고 해도 못 들은 체한다. 차 시간이 바쁘니 빨리 달라고 해도 통 못 들은 체 대꾸가 없다. 점점 차 시간이 빠듯해 왔다. 갑갑하고 지루하고, 인제는 초조할 지경이다. 
더 짜지 아니해도 좋으니 그만 달라고 했더니, 화를 버럭 내며,

"끓을 만큼 끓어야 밥이 되지, 생쌀이 재촉한다고 밥이 되나?"
하면서 오히려 야단이다. 나도 기가 막혀서,
"갑이 좋다는데 무얼 더 짠단 말이오? 노인장, 수퍼을이시구려. 차 시간이 없다니까……."
노인은
"다른 데 가 사우. 난 안 팔겠소." 하는 퉁명스런 대답이다.

지금까지 기다리고 있다가 그냥 갈 수도 없고, 차 시간은 어차피 늦은 것 같고 해서, 될 대로 되라고 체념(諦念)할 수밖에 없었다.
"그럼 마음대로 짜 보시오."
"글쎄, 재촉을 하면 점점 에러 나고 늦어진다니까. 코드란 제대로 짜야지, 테스트하다가 놓으면 되나?"
좀 누그러진 말투다.

이번에는 IDE를 숫제 닫아놓고 태연스럽게 브라우저를 열지 않는가? 나도 그만 지쳐 버려 구경꾼이 되고 말았다. 얼마 후에, 노인은 또 짜기 시작한다. 저러다가는 프레임워크는 너덜너덜해질 것만 같았다. 또, 얼마 후에 TC를 이리저리 돌려 보더니, 다 됐다고 내준다. 사실, 다 되기는 아까부터 다 되어 있던 프레임워크다.

차를 놓치고 다음 차로 가야 하는 나는 불쾌하기 짝이 없었다. 그 따위로 장사를 해 가지고 장사가 될 턱이 없다. 납기일 본위(本位)가 아니고 자기 본위다. 불친절(不親切)하고 무뚝뚝한 노인이다. 생각할수록 화가 났다.

그러다가 뒤를 돌아보니, 노인은 태연히 허리를 펴고 콘솔 터미널을 바라보고 있다. 그 때, 어딘지 모르게 노인다워 보이는, 그 바라보고 있는 옆 모습, 그리고 부드러운 눈매와 흰 수염에 내 마음은 약간 누그러졌다. 노인에 대한 멸시와 증오심도 조금은 덜해진 셈이다.

회사에 와서 프레임워크를 내놨더니, 사수는 잘 짰다고 야단이다. 기존에 쓰던 프레임워크보다 참 좋다는 것이다. 그러나 나는 전의 것이나 별로 다른 것 같지가 않았다. 그런데 사수의 설명을 들어 보면, API 세트가 너무 수직적이면  코드를 작성할 때 지나치게 abstract해지고, 같은 코드라도 이해하기가 힘이 들며, 너무 수평적이면 코드를 작성할 때 예외처리가 발생하고, 유지보수가 어려우며, 요렇게 꼭 알맞은 것은 좀처럼 만나기가 어렵다는 것이다. 나는 비로소 마음이 확 풀렸다. 그리고 그 노인에 대한 내 태도를 뉘우쳤다. 참으로 미안했다.

옛날부터 내려오는 클래스는, 입출력 포맷이 바뀌면 신규 메소드를 정의하고 polymorph하고 신규 메소드를 기존 메소드에 wrapping 처리하면 다시 동작해서 좀처럼 에러가 떨어지지 않는다. 그러나 요사이 클래스는, 한 번 메소드가 버려지기 시작하면 걷잡을 수가 없다. 예전에는 클래스에 메소드를 붙일 때, 잘 정의된 argument type을 나열해서 history를 정리한 뒤에 비로소 붙인다. 이것을 "documentation한다"고 한다.

알고리즘만 해도 그렇다. 옛날에는 비전 라이브러리를 사면 openCV는 공짜, 그보다 나은 것은 얼마의 값으로 구별했고, optimization한 것은 3배 이상 비쌌다. optimization이란, 로직이 간결하고 수행 성능이 좋도록 코드를 재설계한 것이다. 눈으로 보아서는 O(n^5)인지 O(n^10)인지 알 수가 없다. 말을 믿고 사는 것이다. 신용이다. 지금은 그런 말조차 없다. 남이 코드를 보지도 않는데 복잡도가 O(nlogn)이라고 할 리도 없고, 또한 말만 믿고 3배나 값을 더 줄 사람도 없다.

옛날 해커들은 납기는 납기요, 야근은 야근이지만, 코드를 만드는 그 순간만은 오직 훌륭한 코드를 을 만든다는 그것에만 열중했다. 그리고 스스로 보람을 느꼈다. 그렇게 순수하게 심혈(心血)을 기울여 공예(工藝) 코드를 만들어 냈다. 이 프레임워크도 그런 심정에서 만들었을 것이다. 나는 그 노인에 대해서 죄를 지은 것 같은 괴로움을 느꼈다. "그 따위로 해서 무슨 개발자를 해 먹는담." 하던 말은 "그런 노인이 나 같은 갑에게 멸시와 증오를 받는 세상에서 어떻게 아름다운 코드가 탄생할 수 있담." 하는 말로 바뀌어 졌다.

나는 그 노인을 찾아가 추탕에 탁주라도 대접하며 진심으로 사과해야겠다고 생각했다. 그래서 그 다음 일요일에 상경(上京)하는 길로 그 노인을 찾았다. 그러나 그 노인이 앉았던 자리에 노인은 와 있지 아니했다. 나는 그 노인이 앉았던 자리에 멍하니 서 있었다. 허전하고 서운했다. 내 마음은 사과드릴 길이 없어 안타까웠다. 콘솔 디스플레이를 바라다보았다. 푸른 창공으로 날아갈 듯한 바탕화면 끝으로 recycle bin 아이콘이 피어나고 있었다. 아, 그 때 그 노인이 저 아이콘을 보고 있었구나. 열심히 코드를 짜다가 유연히 터미널 끝의 아이콘을 바라보던 노인의 거룩한 모습이 떠올랐다.

오늘, 회사에 출근했더니 사수가 코드를 뜯고 있었다. 전에 레거시 코드를 라이브러리로 쿵쿵 포팅해서 돌리던 생각이 난다. 라이브러리를 구경한 지도 참 오래다. 요사이는 디버깅하는 소리도 들을 수가 없다. 애수(哀愁)를 자아내던 그 소리도 사라진 지 이미 오래다. 문득 사십여 년 전, 모듈 짜던 노인의 모습이 떠오른다.

댓글을 달아 주세요

드럼 로스팅 - #2 수망과의 차이점

Kaffa/beans | 2012. 11. 2. 10:16
Posted by oveRock

수망 로스팅 파트에서 이미 핸드픽이라던가, 콩이 변화하는 과정 등은 설명했으므로 따로 더 설명하지 않고, 수망 메소드와의 몇 가지 차이점과 이에 따른 주의점을 소개하겠다.


온도 관성

수망 로스터와 드럼 로스터의 가장 큰 차이점은 열이 생두에 전달되는 방식이다.

수망은 열린 공간에서 열원이 즉시 생두에 도달한다면, 드럼 로스터는 회전되는 드럼이 먼저 가열되고 그 열이 다시 생두에 전달되는 식이다.

이렇게 간접적으로 열이 전달되는 방식 때문에, 드럼 로스터는 온도에 관성이 붙는다. 풀어 설명하면, 여러분이 로스팅 도중 갑자기 불을 끈다 하더라도 로스터 내부의 온도는 한동안 계속 상승한다. 반대로 화력을 올린다고 해서 바로 드럼 내부의 온도가 확 뛰지도 않는다. 이런 경향은 타공식보다 밀폐식에서, 빈 드럼보다 생두가 들어 있는 상태에서, 드럼이 두꺼울수록, 하우징이 잘 되어 있을수록 더 심하게 나타난다.


온도 관성은 처음 드럼 로스팅을 시도하는 이들에게 큰 당혹감을 안겨준다. 아차 하는 순간에 배출 타이밍을 놓치는 건 물론이고, 열이 필요할 때와 빠질 때를 어느 정도는 미리 예측해서 조작해야 한다. 처음 수망 메소드를 시작했을 때 얻은 양질의 목탄을 여기서 다시 얻게 될 공산이 크다.

하지만 너무 좌절하지 마시길. 이러한 온도 관성은 한 번 익숙해지고 나면 프로파일의 관용도를 높이는 데 큰 역할을 한다. 굵직한 과정만 몸에 익히면 사소한 시간차에 비교적 덜 민감하다는 의미다.


생두의 관찰

생두의 형태가 직접 관찰되는 수망이나 오븐 메소드와 달리, 드럼 로스터는 생두의 판별이 어렵다. 특히 밀폐형 로스터가 그렇다.

때문에 많은 샘플로스터나 자작로스터가 확인봉이나 투명창을 제공하여 생두 표면의 색을 판별하게끔 한다.

여러분이 만일 이런 편의기능을 제공하지 않는 로스터를 구비했다면, 수망 때의 경험을 통해 로스팅시 나는 향과 소리만으로 화력 조절이나 배출 시기를 결정해야 한다. 하지만 작은 프로파일의 차이만으로도 1/2차 팝 소리는 상당한 차이가 나므로 정확한 판별은 어려울 수도 있다.

사실, 드럼 로스터에서 조작 및 배출 시기를 판단하는 가장 효과적인 방법은 온도다. 온도계가 내장된 로스터를 구매한다면 로스팅 생활이 훨씬 행복해질 것이라 확신한다. 로스터기마다 다르지만, 예열온도 190~210도 사이에서 생두를 투입해 90도 언저리에서 터닝 포인트를 기록하고 190도 정도에서 1차 팝이 온다면 기본은 뗀 로스터라고 볼 수 있다(뭔 말인가 하는 분도 있겠지만 일단 그러려니 넘어가자. 이후 본격 배전 편에서 자세히 다루겠다).


배출 방식

요즘 이런 문제를 안고 있는 로스터는 드물지만, 때때로 배출이 무척 어려운 드럼 로스터가 있긴 하다. 배출은 원하는 시점에 신속하게 일어나야 하는데, 배출이 어렵다거나 심지어 화상 위험이 있는 구조라면 원하는 로스팅이 무척 어렵다. 반대로, 로스팅 도중 불식간에 배출구가 열려 커피가 쏟아질 수 있는 로스터도 있다. 이건 늦고 이른 문제가 아니라 로스팅을 망치는 문제이므로 선택에 신중해지자.

댓글을 달아 주세요

드럼 로스팅 - #1 개요

Kaffa/roasting | 2012. 11. 1. 17:32
Posted by oveRock

커피를 싸게 한 번 먹어보자고 시작한 로스팅이 어느 새 배보다 배꼽이 더 커져서, 30Kg들이 생두통만 6통이 되는 지경에 이르렀다.

커피 관련 지름의 끝은 창업이라는데, 점점 웃을 일이 아니게 되었다.

하지만 내 블로그가 늘 그렇듯 잠시 반짝 포스팅을 달리다 몇 년을 쉬고를 반복하는 불량 블로그인지라, 수망 로스팅 따위 진즉에 갖다버린지 오래임에도 불구하고 포스트는 수망 로스팅 관련 글만 있었던 점, 가끔 방문자가 찾아와 (고맙게도) 잘 읽었다는 소감을 남기는 점 등 때문에 송구함이 귀찮음을 잠시 넘어서는 사태가 발생하여 간만의 포스팅을 재개하게 되었다.

물론 다시 휴화산이 되는 건 필연적이므로 그러려니 하자.


로스팅은 재미있다.

빈 말이 아니고, 돈이 아까워서 로스팅을 시작했건 커피덕력을 증진할 생각으로 시작했건간에 한 번 잡으면 한동안은 자기가 먹을 수 있는 양을 한참 넘어난 로스팅을 해대는 통에 주변 사람들에게 콩을 뿌리고 다니게 된다.

하지만 수망이 어느 정도 익숙해졌고, 홈 로스팅의 원래 의도가 자기만의 신선한 커피를 만들어 보는 것이었다면 필히 다음과 같은 한계에 부딛히게 된다.

  • 힘들다. 너~어무 힘들다.
  • 한 번에 많은 양을 볶을 수 없다.
  • 균일성 및 재현성이 약하다.
  • 직화를 하므로 바디가 다소 거칠다.


여기서 여러분은 선택을 내려야 한다. 만약 홈 로스팅의 처음 의도가 원가 절감이었고, 이제서야 의도를 바꿀 생각이 없다면 수망 로스팅이나 오븐 메소드로도 충분하다. 간단히 예를 들면 한식 명인이 최고급 설비와 재료를 동원해 만든, 한나절이 지난 만찬을 먹을지 집에서 간단히 만든 식사를 할지의 문제나 마찬가지다. 홈 로스팅의 이점인 신선함과 저렴한 가격은 이미 충족했기에, 굳이 다음 단계로 나갈 필요는 없겠다. 하지만 스스로 만들어 내는 맛에 대한 욕심이 있다면, 그리고 그 과정에 자금이 약간 깨져도 상관없다면 드럼 로스터에 도전할 수 있다.


몇몇 메이커에서 홈 로스팅용 드럼 로스터를 판매한다. 또한 동호인들 사이에서 자작 로스터 제작이 활발하므로, 제작을 의뢰하거나 하는 방법도 있다. 적게는 십만원 내외에서 많게는 백만원을 넘는 것까지, 들어가는 부품이나 퀄리티도 제각각이다.

여기서 의문 :


저 로스터기로 상업용 로스터의 퀄리티를 낼 수 있을까?


답은 '그렇다'이기도 하고 동시에 '아니다'이기도 하다.

일단, 상업용 로스터와 가정용 로스터의 가장 큰 차이점은 퀄리티가 아닌 생산성이다. 이는 가정용 에스프레소 머신과 상업용 머신의 차이점과도 같다.

  • 한 번에 얼마나 많은 콩을 볶을 수 있는가?
  • 몇연속 배치를 쉬지 않고 돌릴 수 있는가?
  • 냉각 및 소분을 위한 공간 설계는 충분히 고려되었는가?
  • 재현성이 좋은가?
이런 차이점이 기십만원짜리 가정용 로스터와 크고 아름다운 상업기를 가르는 결정적 기준이 된다.
그렇다면 퀄리티는? 가정용 홈 로스터기는 수망에 비해 상업기에 훨씬 근접한 품질의 원두를 뽑아낼 수도 있다. 하지만 상업기는 품질을 위한 많은 편의기능을 겸비하고 있다는 사실을 잊으면 안 된다. 여열 확보를 위한 두꺼운 드럼, 신뢰성 있는 미압계, 강력한 성능의 댐퍼, 심지어는 로스팅 프로파일을 기억해서 재현성을 높이는 알고리즘까지...
정리하자면 가정용 로스터로 상업기에 버금가는 품질을 내려면 상업기에 비해 더 신경을 쏟아야 한다는 말이다. 로스팅은 사람이 하지, 기계가 해 주는게 아님을 명심하자.

가정용 로스터를 구매하기로 결정했다면, 다음 몇 가지 사항을 고려하자.
  • 전기식 vs. 가스식 - 개인적으로 전기식 열원은 비추천한다. 핫탑 계열의 로스터나 제네까페 로스터가 대표적인데, 간편하지만 향미가 떨어진다. 가격이나 운용 비용도 비싸다. 이후에 더 자세히 설명하도록 하겠다.
  • 직화식 vs. 밀폐식 - 상업기에서 흔히 말하는 직화식과 반열풍식에 대충 비슷하게 매칭된다. 맛에서 장단점이 뚜렷하므로 진중하게 선택하자. 깔끔한 맛을 원하면 밀폐형이 낫고, 다소 복잡하고 개성있는 맛을 원하면 직화식이 낫다. 운용은 직화식이 약간 더 직관적인 편이다.
  • 자동 교반 vs. 수동 교반 - 자동 교반이라고 해서 사람이 가만히 놀고 있어도 되는 건 아니니 명심하자. 쓸데없는 정력 낭비를 막는다는 정도로 이해하면 된다. 하지만 사람에 따라서는 직접 드럼을 돌리는 즐거움을 놓치지 않고 싶어할지도 모르니 역시 취향.
  • 댐퍼, 혹은 사이클론 - 상업기만큼 강력하진 않아도 자작으로 제작, 판매되는 댐퍼가 있다. (어떤 자작 로스터에는 올인원 탑재되기도 함) 댐퍼나 사이클론은 집 안에 연기가 가득 찬다거나 가스렌지 아래 채프가 수두룩 쌓이는 문제를 해결해 주는 것 외에도, 밀폐식 로스터기에서 어느 정도 개성 표현을 용이하게 한다. 여유가 되면 고려해 보자.
  • 하우징 여부 - 회전되는 드럼을 감싸는 하우징이 있으면 열효율도 높아질 뿐 아니라, 재현성이 좋아진다. 그 이유는 추후 설명
  • 온도계, 탐침봉 등등 - 다 있으면 편하고 없으면 불편한 것들이다.

일단 이번 연재는 수망 로스팅 경험이 어느 정도 있고, 간단한 로스팅 용어를 이해하는 독자를 대상으로 한다. 전기식 로스터는 배제하고(사실 쓸 게 없다. 그냥 생두 넣고 버튼 누르고 기다렸다 빼면 되는건데...) 화력을 열원으로 사용하는 드럼 로스터의 운용 방법에 대해 차근차근 알아보자.


댓글을 달아 주세요

블로그 이미지

oveRock

(life) = ∫(decision)dt

카테고리

분류 전체보기 (129)
Kaffa (13)
Muzik (18)
Skeptic (4)
Foto (10)
0 | 1 (16)
Etc... (68)