본문 바로가기
[책 정리] 7장. SRP(Single Responsibility Principle), 단일 책임 원칙 - Clean Architecture - 좋은 소프트웨어 시스템은 깔끔한 코드(clean code)로부터 시작한다. SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명해준다. SOLID 원칙의 목적은 중간 수준(모듈 수준)의 소프트웨어 구조가 아래와 같도록 만드는 데 있다. 변경에 유연하다. 이해하기 쉽다. 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트 기반이 된다.(재사용성) - SRP: 단일 책임의 원칙. Single Responsibility Principle 각 소프트웨어 모듈은 변경의 이유가 하나, 단 하나여야만 한다. - OCP : 개발, 폐쇄 원칙. Open Closed Principle 기존 코드를 수정하기보다는 반드시 새로운 코드를 추가하는 방식으로 시스템의 행.. 2020. 4. 11.
Efficient Android Threading #11 AsyncQueryHandler 를 이용한 콘텐트 프로바이더 접근 Efficient Android Threading #11 AsyncQueryHandler 를 이용한 콘텐트 프로바이더 접근 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 13.1. 콘텐트 프로바이더에 대한 간략한 소개 -AsyncQueryHandler 는 ContentProvider 에서 비동기적 CRUD 작업 처리를 전문으로 하는 유틸 클래스이다.작업은 별도 스레드에서 실행되고, 결과가 사용 가능할 때는 콜백이 시작하는 스레드에서 호출된다.AsyncQueryHandler 클래스는 UI 스레드에서 CP 로 작업을 떠넘기는데 사용되고, UI 스레드는 백그라운드 태스크가 완료되면 결과를 수신한다. 13.2. 콘텐트 프로바이더.. 2018. 3. 27.
[android] RxAndroid 맛보기 [android] RxAndroid 맛보기 http://www.vogella.com/tutorials/RxJava/article.htmlhttps://code.tutsplus.com/tutorials/getting-started-with-reactivex-on-android--cms-24387https://realm.io/kr/news/rxandroid/ -Observable.just() 는 Observable 을 생성한다.이렇게 생성된 Observable 에 subscribe 가 붙으면 곧바로 just() 에 전달된 녀석이 onNext() 로 전달된다.List list = Arrays.asList(“Android”, “Ubuntu”, “Mac OS”);Observable listObservable = .. 2018. 3. 10.
[android] Resource Merging 에 대한 이야기.. [android] Resource Merging 에 대한 이야기.. http://tools.android.com/tech-docs/new-build-system/resource-merging-Gradle build 에서는 resource merge 에 대해 새로운 규칙이 적용된다. 기존의 build system 에서는 resource folder list 를 aapt(Android Asset Packaging Tool) 에 전달하며,나중에 전달된 것이 overlay 로 작동한다. ( 옵션을 통해서 override 가 아닌 새로운 추가로 작동할 수도 있었다. )overlay 로 작동한다는 것은 새로운 resource 에 대해서 추가되는 방식이다. Gradle 에서는 aapt 에 전달하기 전에 single,.. 2018. 3. 6.
[SourceTree] Resolve conflict using mine, theirs. [SourceTree] Resolve conflict using mine, theirs. 의미상으로만 보면 Resolve conflict using mine 은 사실 내 local 자료를 기반으로 merge 를 하여 conflict 를 해결한다는 의미이고, theirs 는 반대인데..실제 SourceTree 를 통해 해당 merge 를 수행하다 보면 반대로 작동한다. 이것은 잘 알려진 버그라 한다.Conflict 해결할 때 참고하시길...( 버전 업 되면서 해결되었는지는 모르겠지만.. low version 쓰실 때 주의!! ) Conflict, low version, merge, resolve conflict using mine, sourcetree, theirs, theirs., [SourceTree].. 2018. 1. 27.
[iOS Study] 연락처 프로그래밍 가이드 in iOS - BaseObjects [iOS Study] 연락처 프로그래밍 가이드 in iOS - BaseObjects https://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/BasicObjects.html#//apple_ref/doc/uid/TP40007744-CH3-SW1 -Address Book database 를 확실히 이용하기 위해서는 4가지 요소를 잘 알아두어야 한다. 1. Address books2. Records3. Single-value properties4. Multi-value properties Address Books -ABAddressBookRef in.. 2017. 6. 19.
[android] xml 의  tool 을 사용하자 [android] xml 의 tool 을 사용하자 https://medium.com/sebs-top-tips/tools-of-the-trade-part-1-f3c1c73de898https://developer.android.com/studio/write/tool-attributes.html -xmlns:tools="http://schemas.android.com/tools" aapt 는 tools: attribute 를 ignore 한다.그래서 실제 apk 에는 들어가지 않는다. - 위와 같이 tools: 를 사용하면 실제 xml 에서 pre draw 할 때는 tools:text 가 android:text 처럼 작동하지만,apk 는 들어가지 않는다. aapt( android asset packaging .. 2017. 5. 30.
git 을 이용하여 svn repository 사용하기. git 을 이용하여 svn repository 사용하기. 출처 : http://viget.com/extend/effectively-using-git-with-subversion Repository Setup - $ git svn clone -s [svn 주소] [downloadPath] // -s 는 subversion repository 가 trunk/ branches/ tags/ 로 구성된 표준 layout 을 구성한다는 이야기이다. 위 명령어는 downloadPath 에 git repository 정보를 불러온다. 이 때 empty directory 는 불러오지 않는다. ( git 자체가 empty directory 를 track 하지 않는다. ) -svn:ignore 를 통해 ignore 된 파일.. 2016. 4. 24.
[Android] Custom View 를 사용할 때 수동 inflate, merge, attribute setting 피하는 방법. [Android] Custom View 를 사용할 때 수동 inflate, merge, attribute setting 피하는 방법. http://trickyandroid.com/protip-inflating-layout-for-your-custom-view/ 보통의 Custom View 는 ViewGroup ( LinearLayout, RelativeLayout, FrameLayout 등 ) 을 상속하여, 여러가지 component 들을 가지고 있는다. 이 경우 보통은 최초 로딩시 inflate 를 통해서 layout 을 불러온다.이 때 root viewgroup 이 custom view 가 상속한 viewgroup 과 같다면, merge 를 사용하여 view hierarchy 를 조금 더 최적화 할 .. 2014. 4. 12.
반응형