2015년 4월 11일 토요일

예외처리를 이용한 tcl 을 단위테스트

예외처리를 이용한 tcl 을 단위테스트

catch 구문을 이용하면 tcl 에서도 단위테스트 프레임워크를 만들수 있습니다.
(JUnit 같은것이죠) 
단위테스트를 만들면 스크립트를 장기적으로 유지 보수할수있게 해줍니다. 
따라서 지속적인 리펙토링이 가능합니다.


위 테스트 결과를 돌리면 아래와 같습니다.

위에서 catch 를 사용한 부분은 예외 처리라고 합니다.
error 가 발생하더라도 바로 멈추지 않습니다.
다음 test 로 진행할수 있도록 error 를 무시하고 계속 진행하게됩니다.

단위테스트는 c 나 java 의 영역이외에도 모든 프로그래밍 영역에 사용가능합니다.

SoC 개발시에는 다양한 tcl 을 사용하기때문에
얼마든지 단위테스트를 활용할수 있습니다.

스크립트를 그냥 만들면 유지보수하기 힘들지만, 
단위테스트를 만들면 아주 빠른 속도로 스크립트를 수정할수 있습니다.

Tcl 공부하는책

Practical Programming in Tcl and Tk
다 볼필요없이 앞부분 만 보면 됩니다. 뒷부분은 html 등 web 개발 관련되니까요.
매우 어렵지만 tcl 의 이상한(?) 문법들을 다 이해할수 있습니다.
(전 아직도 tcl 의 문법이 이상하고 어렵습니다. 직관적이지 않다고 할까요?)

아래와 같은  tcl 이 무얼 하는건지 이해하시나요? 이 책을 보면 알수 있습니다.

* set value [set $reference]




2015년 4월 3일 금요일

2015년 3월 읽은 책들


번뇌 리셋 

번뇌 리셋

이것 우연하게 지인 분이 빌려주셔서 보았습니다.
제가 종교를 믿지 않는 상황이다보니, 이런류의 책은 거의 읽지 않는 편인데 읽어본뒤의 감동은 대단합니다. 감동이라기 보다는 저에게 너무 필요했던 책 같습니다.
좋은 회사를 못만들면 어쩌지? 나는 이렇게 머리가 않좋지?
일은 왜이렇게 많지?
이 모든것이 번뇌로 작용하여 머리를 복잡하게 만들었던 저입니다.
이책을 읽고나서 부처님이 매우 대단한 사람인것을 알게되었습니다.
그리고 아주 감사드립니다.
저는 그동안 기운이 맑은 사람들이 매우 부러웠습니다.
왜냐하면 가까이 가고싶으니까요...
이책을 읽고 어떻게 하면 맑은 사람이 되는지 배우게 되었습니다.



테크니컬리더

테크니컬 리더
이책의 저자는 '프로그래밍 심리학'의 저자입니다.
다시한번 위대한 역작을 내놓았습니다.
이책은 피터드러커의 책을 보면서 막혀있던 부분에 대한 답을 주어서
너무나도 감명 깊었습니다. 그리고 이책의 저자가 매년 여는 컨퍼런스도 꼭 가고 싶습니다.
피터드러커의 책들은 내용은 좋으나 구체적으로 잘 안될때 어떻게 하여야 하는지 등을 알수가 없습니다.
예를들면 직원들 동기부여가 잘 안되면 뭐가 문제지요?
이책에는 그러한 답변들을 얻을수가 있습니다.
프로그래밍 심리학은 코딩자체를 잘하도록 하는 방법을 논의하였다면,
이책은 관리,의사소통,동기부여등을 잘하기위한 심리학을 알려줍니다.
좋아요!



러닝리눅스

러닝 리눅스 RUNNING LINUX
리눅스 를 그냥 몸으로 때우면서 배우다보니 정리가 안되는것 같아서 가볍게 한번 봤습니다. 두껍기 때문에 필요한 부분만 보는것이 도움이 될것입니다.
vim 을 설명한 부분은 매우 좋았던것이 쓸때없이 vim 의 모든 command 를 나열하지 않았다는 겁니다. 필요한것만 강조하여서 매우 좋았습니다.
예를들면
y 로 복사하는 대신 "ay 라고 치면 "a 라는 임시버퍼에 복사된다는 배웠네요.


피터드러커 매니지먼트/자기경영노트/위대한혁신/미래를읽는힘

피터 드러커 - 매니지먼트피터 드러커의 자기경영노트피터 드러커의 위대한 혁신피터 드러커 · 미래를 읽는 힘
중고서점 알라딘에서 피터드커책을 한두장 보았는데 내용이 너무 좋아서
모두 바로 사버렸습니다.
이렇게 좋은 책을 여태까지 몰랐다는것이 너무 아쉽네요.
이미 돌아가셨다고하니 너무 아쉽습니다.
기업을 만들려는 CEO 나 모든 직원들이 봐야하는 책입니다.
좋은내용이 너무 많습니다.
* 회사가 잘되려면 직원들이 스스로 자신을 개발해야한다.
* 잘하는 방법을 배우면 못하던 사람도 따라올수있다.
* 혁신은 새로운것에 있지 않고 누구나 만들수 있다.
돌아가시기전까지도 열심히 강연하고 연구하셨다고 합니다.
피터드러커가 살았던것 처럼 저도 열정적인 삶을 살고싶네요.
이제 목표는 100살까지 열정적으로 개발하기입니다... 하하

head first SQL

Head First SQL
이전에 좀 읽었던 책인데 다시한번 읽었습니다.
table 등을 다루는 방법을 알고싶어서 보았습니다.
SoC 도 언젠간 모든 작업이 SQL 등의 db 로 들어갈 날이 올것같습니다.

서비스 디자인 패턴

서비스 디자인 패턴 Service Design Patterns
인터넷 서비스,(예를들면 인터넷 뱅킹) 등의 구조가 궁금해서 한번 보았습니다.
사물인터넷등이 활성화 되면 대부분 인터넷 서비스가 더 다양해질것 같아서요.
RESTFUL 이라는 인터넷 API 가 대세라는것을 알게되었습니다.
그리고 인터넷 뱅킹이 계속되면서 뒤에서는 유지보수나 업그레이드가 가능한 이유를
알게되었습니다.
바로 ESB (엔터프라이즈 서비스 버스) 라는 개념으로 실시간으로 서비스를 갈아칠수가 있습니다.
제가 rails 로 간단한 서버를 만들면서 문제였던것이 서버를 업그레이드를 하면 서버를 껏다켜야되는것이 문제였습니다. 그런데 ESB 와 같은 패턴을 쓰면 그런것이 해소가 되네요.


작은회사 사장의 전략 


대기업과 싸워서 이기는 작은 회사 사장의 전략
책이 얇지만 도움이 되는 내용들이 좀 많습니다.
아래와 같은 이야기들을 합니다.
* 스스로 일을 하지말고 일을 위임하라
* 쉬운상품을 팔아라
* 수요가 있는 레드오션을 미리 준비하라.
* 자신에게 관대하지 마라

가장 감명깊었던 부분은요.
* 성공을하려면 준비하는 기간이 있어야한다. 라는 부분입니다.
* 성공하는 회사의 수익곡선을 눈여겨 보았습니다.

뽀모도르

시간을 요리하는 뽀모도로 테크닉
이번달에 읽은 책중에가 가장 도움이 되었던 책입니다.
이책대로 시간을 측정한결과 제가 하루에 일하는 평균시간은 단지 2~3 시간이었습니다.
뽀모도로 테크닉을 하고나서 최근에는 5~6시간정도로 늘었습니다.
리더,관리,개발 모든 역할을 하다보면 메일,미팅,타부서에서 인터럽트걸기 등등...
너무 많은 방해를 받습니다.
하지만 가장 놀라웠던것은 가장큰 방해는 제 자신이었습니다.
측정후에 내가 내자신에게 하루에 10번넘게 인터럽트를 건다는 사실을 알게되었습니다.
( 새로운 자동화개발방법이나 패턴이 생각나면 바로 해버리던 습관때문에 집중력이 흐트러지더군요. 이제는 적어놨다가 나중에 합니다.)

rework

똑바로 일하라
유명한 '루비온레일즈' 를 만든 사람이 쓴 책입니다.
작은 기업인데도, 글로벌하게 연결되어 세계적으로 분산해서 일합니다.
미래에 올 기업에 대한 모습이 아닌가합니다. (이미 이사람들은 현재 기업이지만요)


후기

이번달은 책읽는 방법을 좀 바꾸어보았습니다.
목차를 보고 내가 재미있을 부분부터 먼저 읽으니 이해도 더 잘되고 ,
목차를 보면서 게속 전체적인 그림을 보게되니, 속도도 빨라지는것 같습니다.
12권 읽었네요.