본문 바로가기
[Effective unit Testing] Chap3. 테스트 더블 [Effective unit Testing] Chap3. 테스트 더블 -스텁(stub)과 더미(dummy)가 등장한 가장 큰 이유는 제품 코드가 온전히 준비되기 전까지 사용할 대용품이 필요했기 때문이다.대용품이 있다면 주변 모듈을 다 갖추지 못했더라도 코드 일부만을 따로 컴파일하고 실행해볼 수 있었다. -오늘날에는 쓰임새가 훨씬 다양해졌다.종속 모듈 없이 컴파일하고 실행하려는 애초의 용도는 그 비중이 많이 줄었다.대신 테스트 추종 프로그래머에 의해 다양한 테스트 전용 장치가 만들어지면서 요즘은 테스트 대상 코드를 격리하고, 속도를 개선하고, 예측 불가능한 요소를 제어하고, 특수한 상황을 시뮬레이션하고, 감춰진 정보를 얻어내는 등의 용도로까지 쓰이고 있다.목적에 따라 비슷한 듯하면서도 다른 객체를 사용하는.. 2019. 2. 28.
[android] Dagger2 tutorial part2 Dependency Injection in Android https://blog.mindorks.com/introduction-to-dagger-2-using-dependency-injection-in-android-part-1-223289c2a01b - Dependency Injection = Inversion of Control - 한 java class 에서 다른 java class 를 new operator 로 생성하면 test 하는 것이 쉽지 않다. 이를 hard dependency 라고 부른다. - Dagger1 은 reflection 을 사용해서 DI 를 수행했었다. 이는 많은 단점을 가지는데, 우선 느리고, 두번째는 작업이 runtime 에서 수행이 되며, 세번째는 예상치 못한 crash .. 2018. 12. 5.
[android] Dagger2 for Android Beginners - Dagger 는 static, compile-time dependency injection framework 이다. 기존 버전(1.x)은 Square 에 의해 만들어졌고, 새 버전은 (2.x) Google 에 의해 유지보수되고 있다. - Hard dependency 는.. reusability 를 감소시킨다. testing 을 어렵게 한다. 코드의 scale up 이나 유지보수를 어렵게 한다. - Dependency 에는 다음의 type 이 있다. class, interface ,method/field, direct/indirect - java 에서 new operator 로 instance 를 생성하면, 독립적으로 test 되기가 어렵다. 이를 dependency 라 불린다. - Dependency.. 2018. 12. 3.
[Kotlin Tutorial] The Kotlin ecosystem [Kotlin Tutorial] The Kotlin ecosystem 참조 : Kotlin in action -비록 Kotlin 의 역사는 오래되지 않았지만, 이미 lib, framework, tool 들로 구성된 ecosystem 이 잘 마련되었다.그리고 그들은 대부분 외부 개발 커뮤니티에서 개발된 것이다. https://kotlin.link/ 여기 가면 많은 정보를 얻을 수 있다. -Kotlin 은 Java 와 함께 사용가능하기 떄문에,lib 검색할 떄 Kotlin lib 으로 한정지을 필요가 없다. 당연히 Java lib 을 가져다 써도 된다. 1. Testing -JUnit, TestNG 도 좋지만, 아래 DSL 들은 더 표현력이 풍부하다. KotlinTest https://github.com/k.. 2017. 9. 22.
Android 와 DI ( Dependency Injection ) 이야기. Android와 DI ( Dependency Injection ) 이야기 의존 관계 주입 ( dependency injection ) 을 활용한 프로그래밍에서는 객체가 자신이 사용할 객체를 스스로 선택하지 않고, 제 3의 객체가 사용할 객체를 주입한다.이를 의존 관계 역전 ( Inversion of control ) 이라고 부른다. DI 의 이점은? 1. 객체의 생성 주기를 제어한다. 이전에는 객체의 생성 지점 통제를 위해 singleton 패턴을 직접 구현했다. ( private 생성자, getInstance() method 등 ) DI 프레임워크에서는 ApplicationContext, Injector, ObjectGraph 등으로 불리는 통합 객체 저장소에 일반적인 객체 등록하고, 이를 사용하는 쪽.. 2014. 3. 23.
[android] AndroidAnnotations 와 Otto 를 이용한 빠른 앱 개발. AndroidAnnotations 와 Otto 를 이용한 빠른 앱 개발 휴휴님의 강좌에서 좋은 open source library 들을 알게 되어 내용을 공유하고자 한다. PPT 링크 아래녀석은 PPT 내용을 pdf 로 뽑은 것. 링크와 pdf 파일 등 공유에 문제가 있다면 댓글이나 방명록을 통해 알려주세요. 조치하겠습니다.! CleanAndroidCode? CleanAndroidCode 는 Dagger, Otto, AndroidAnnotations 의 장점을 합쳐놓은 녀석. https://github.com/pyricau/CleanAndroidCode AndroidAnnotattions? http://androidannotations.org/ open source framework 으로 여러가지 idi.. 2013. 7. 15.
[Spring] Spring framework 개요 #4 Spring framework 개요 #4 의존관계 주입 ( DI, Dependency Injection ) * Dependency Injection 의 약자로 IoC로 명확한 의미가 전달되지 않아 만들어진 용어이다. * 의존관계( Dependency relationship)은 UML 에서 ---> 로 나타낸다.A ---> B 는 B가 변하면 A 에 영향을 미친다는 의미.대표적인 경우가 A가 B를 사용할 경우이다. * Dependent ObjectRuntime 시 의존관계를 맺는 대상 혹은 실제 사용대상인 object. * 의존관계 주입은 다음 세 가지 조건을 충족한다.1. 클래스 모델이나 코드에는 runtime 시점의 의존관계가 드러나지 않는다. 즉 interface 에만 의존한다. 2. 런타임 시점의 .. 2013. 7. 3.
반응형