toby
-
[toby의스프링] 2장 - 테스트
프로그램을 개발할 때 테스트가 얼마나 중요한지에 대해서는 말해봐야 입만 아프다. 하지만 테스트가 얼마나 중요한지 아는 것과, 테스트를 실제로 수행하는 것과는 약간의 차이가 있다. 프로젝트를 진행할 때 당장 코드 써내려가기만도 바빠 죽겠는데 테스트까지 면밀하게 하기가 여간 어렵지 않기 때문이다. 통상적으로 웹프로그램 테스트를 한다고 하면 WEB UI위에 올려 놓고 하는 경우가 많다. 하지만 이는 클래스나 모듈에 대한 단위테스트로는 매우 부적절하다. 프로그램이 오류가 났을 때 이게 지금 개발한 클래스나 모듈의 문제인지, 브라우저의 문제인지, 서버의 문제인지 기타 다른 부분의 문제인지 알기가 쉽지 않기 때문이다. 따라서 작성코드에 대한 단위테스트는 WEB UI가 아닌 실행 가능한 자바 클래스 자체에서 수행해야..
-
[toby의스프링] 1장 - 오브젝트와 의존 관계
클래스간에 의존관계를 주입하는 방법에 대해서 설명하고 있다. 클래스 모델이나 코드에서 각각의 클래스들간의 관계를 직접 지정하게 되면, 향후 클래스나 코드의 변경이 일어날 때 마다 관련된 모든 코드를 손봐야 한다. 이는 소프트웨어 개발 시 높은 응집도와 낮은 결합도를 고려해야 한다는 원칙에 위배된다. 따라서 클래스를 개발 할 때 IoC(Inversion of Control)과 DI(Dependency Injection)을 고려해 개발한다. 사실 뭐 이 정도는 그리 대단한 내용이 아니다. 스프링 아니어도 기존에 개발할 때 마다 늘 하던 일이기도 하다.(xml이나 배열등의 노가다로) 하지만 스프링을 쓰면 이런 작업들을 하나하나 수동으로 하는 대신, 스프링의 특정 기술을 쓰면 된다. 거기에 더해, 싱글톤 레지스..