이글루스 | 로그인  


SICP Exercise 연습문제 3.41

이 문제는 통장의 잔고를 확인하는 프로시저인 balance를 실행시키는 경우에도

make-serializer로 protected를 해야하는 것이 아닌가 하는 제안에 대한 생각입니다.

 

처음에는 단순히 통장의 잔고를 확인만하는

즉, 통장에 아무런 영향을 미치지 않는 작업이니

괜히 시스템을 느려지게 만드는 영향이 아닌가 생각하였습니다.

 

하지만 오늘 이런 일이 있었습니다.

 

어제 발행어음 하나가 기간이 만료되어 상환되었습니다.

상환된 돈을 살피면서 이를 어떻게 보관할지 고민하였습니다.

달력과 통장 상황을 살펴보니 6개월 가량 묶어두어도 문제 없을 듯싶었습니다.

제가 발행어음을 발행하는 이유는 1, 2개월 정도 돈을 묶을 때 유용하기 때문입니다.

하지만 그 이상이 될 경우 예금도 괜찮더군요.

(저는 새가슴인지라 펀드나 주식에는 잘... 채권은 단기 채권으로 가끔 하지만...)

 

그래서 살펴보니 우리은행에 예금 상품 중 괜찮은 것이 보였습니다.

6개월인 경우 발행어음보다 이율도 높았습니다.

따라서 CMA 통장에서 은행으로 돈을 이체하였습니다.

그리고 다른 인터넷 창에서는 적금 가입을 준비하고 있었습니다.

즉, 가입신청서를 다 작성하고 이체를 한 것입니다.

 

이체를 실행한 후 통장에 돈이 제대로 들어왔는지

계약을 할 수 있는지 확인하고자 할 때

통장을 직접 확인하지 않고 옆에 가능금액버튼을 눌러 확인하였습니다.

 

지금은 근무 시간이 아니라 예금 작성란을 볼 수 없기에

같은 기능을 하는 '이체가능금액' 버튼 사진을 올립니다.

 

해당 버튼은 통장에 돈이 얼마가 있는지만 가르쳐줍니다.

즉, 여기서 balance 프로시저와 같은 기능을 한다고 볼 수 있습니다.

 

만약 이체가 되는 중에 통장의 돈을 확인했다면

이체가 완료되지 않아 돈이 없다고 나오겠지요.

그럼 어떻게 된 것인가 황당해하겠지요.

 

하지만 이체는 상당히 빠르고 설령 돈이 없다고 나오더라도

다시 확인해보면 정상적으로 작동이 되어있음을 알 수 있기에

굳이 줄 세우개로 줄을 세워 반응시간을 길게 할 필요는 없다는 생각입니다.^^

 

 

참조

해럴드 애빌슨, 김재우 역, <컴퓨터 프로그램의 구조와 해석>, 인사이트, 2007, pp. 397

by NoSyu | 2008/07/16 21:23 | in OCW | 트랙백 | 덧글(0)

트랙백 주소 : http://NoSyu.egloos.com/tb/4492309
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶