본문 바로가기
[책 정리] 5장. 객체 지향 프로그래밍 - Clean Architecture -좋은 아키텍처를 만드는 일은 객체 지향(Object-oriented) 설계 원칙을 이해하고 응용하는 데서 출발한다. 캡슐화? -OO 프로그래밍은 프로그래머가 충분히 올바르게 행동함으로써 캡슐화된 데이터를 우회해서 사용하지 않을 거라는 믿음을 기반으로 한다.OO 를 제공한다고 주장한 언어들이 실제로는 C언어에서 누렸던 완벽한 캡슐화를 약화시켜 온 것은 틀림없다. 상속? -OO 언어가 더 나은 캡슐화를 제공하지는 못했지만, 상속만큼은 OO 언어가 확실히 제공했다.하지만 상속이란 단순히 어떤 변수와 함수를 하나의 유효 범위로 묶어서 재정의하는 일에 불과하다.OO 언어가 완전히 새로운 개념을 만들지는 못했지만, 데이터 구조에 가면을 씌우는 일을 상당히 편리한 방식으로 제공했다고 볼 수는 있다. 다형성? -함수.. 2020. 4. 9.
[컨퍼런스] 드로아드 나이츠 (Droid Knights) 행사 참여! [컨퍼런스] 드로아드 나이츠 (Droid Knights) 행사 참여! 지난 4월 드로이드 나이츠를 방문했다. 장소는 코엑스 몰. 참가증. 회사 동료들은 드로이드 나이츠를 Droid Knights 가 아닌 Droid Nights 라고 해석해서..회사 퇴근하고 밤에 모이는 컨퍼런스 혹은 모임이라고 생각했지만...드로이드 "기사" 라는 의미. 개발자들이 주로 쓰고 있는 여러가지 기술과 컴포넌트들의 트랜드를 볼 수 있는 투표판. 결과에서는..생각보다도 AAC(Android Architecture Components) 를 쓰는 사람들이 많았고,생각보다도 DI(Dipendency Injection) lib 을 쓰는 사람들이 많았고,생각보다도 MVVM (Model, View, VIewModel) 을 쓰는 사람들이 많.. 2019. 6. 11.
[Effective unit Testing] Chap3. 테스트 더블 [Effective unit Testing] Chap3. 테스트 더블 -스텁(stub)과 더미(dummy)가 등장한 가장 큰 이유는 제품 코드가 온전히 준비되기 전까지 사용할 대용품이 필요했기 때문이다.대용품이 있다면 주변 모듈을 다 갖추지 못했더라도 코드 일부만을 따로 컴파일하고 실행해볼 수 있었다. -오늘날에는 쓰임새가 훨씬 다양해졌다.종속 모듈 없이 컴파일하고 실행하려는 애초의 용도는 그 비중이 많이 줄었다.대신 테스트 추종 프로그래머에 의해 다양한 테스트 전용 장치가 만들어지면서 요즘은 테스트 대상 코드를 격리하고, 속도를 개선하고, 예측 불가능한 요소를 제어하고, 특수한 상황을 시뮬레이션하고, 감춰진 정보를 얻어내는 등의 용도로까지 쓰이고 있다.목적에 따라 비슷한 듯하면서도 다른 객체를 사용하는.. 2019. 2. 28.
[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] open source library 비교 분석. android, open source library 비교 분석. * HTTP Client libraryhttp://helloworld.naver.com/helloworld/377316 * ORM Libraryhttp://helloworld.naver.com/helloworld/472196 * Image Loading Libraryhttp://helloworld.naver.com/helloworld/429368 * DI Libraryhttp://helloworld.naver.com/helloworld/342818 di, di library, HTTP, http client, http client library, http open source, image load, image loader, image loa.. 2014. 2. 17.
[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.
[Spring] Spring Framework 의 개요 #1 Spring Framework 개요 #1 스프링이란? Spring = Spring Container + 공통 프로그래밍 모델 + 기술 API SpringContainerApplication Context 라고도 불리는 스프링 런타임 엔진 공통프로그래밍 모델설계 원칙 및 design pattern. IoC / DI오브젝트 생명주기 및 의존관계를 관리서비스 추상화Tech IndependentAOP모듈화 스프링의 성공 원인 1. 단순함 ( Simplicity )EJB의 복잡성을 비판하며 등장.객체지향 개발모델.POJO를 강력 추천 2. 유연성 ( Flexibility )다른 framework와 결합하기 쉽다.항상 framework 기반의 접근과 spring을 확장해서 사용하는 것을 추천한다. 스프링의 효과적 .. 2013. 6. 23.
반응형