본문 바로가기
[Effective Java] 새로 작성하는 코드에서는 원천(raw) 타입을 사용하지 말자. [Effective Java] 새로 작성하는 코드에서는 원천(raw) 타입을 사용하지 말자. - 하나 이상의 타입 매개변수(type parameter)를 선언하고 있는 클래스나 인터페이스를 제네릭 클래스 또는 제네릭 인터페이스라고 한다. 제네릭 클래스와 인터페이스를 합해서 제네릭 타입이라고 부른다. 각 제네릭 타입에서는 매개변수화 타입(parameterized type)들을 정의한다. ( 이용 ) 실 타입 매개변수(actual type parameter)들은 제네릭 타입의 형식 타입 매개변수(formal type parameter)와 각각 대응된다. ( List 에서 String 이 실 타입 매개변수이고, 기존 T 혹은 E 가 타입 매개변수이다. ) - 각 제네릭 타입에서는 원천(raw)타입을 정의하는데.. 2016. 11. 21.
[iOS Study] NSUserDefaults [iOS Study] NSUserDefaults 출처 : 아론 힐리가스의 iOS 프로그래밍 -사용자의 환경설정(preferences) 을 가진 plist 가 각 앱 번들 안에 저장된다.개발자는 NSUserDefaults 클래스를 사용하여 이 plist 에 접근할 수 있다.또한 앱의 환경설정 plist 는 설정 앱에서 수정할 수 있다.이를 허용하려면 앱 안에 설정 번들(settings bundle)을 만들어야 한다. -사용자의 기본 설정(default) 집합은 키-값 쌍의 모음이다.키는 기본 설정의 이름이고 값은 키에 해당하는 사용자가 선호하는 것을 나타내는 데이터이다.공유 사용자 기본값 객체에 그 키의 값을 요청한다.이것은 딕셔너리에서 객체를 가져오는 것과 다르지 않다. NSUserDefaults *de.. 2016. 3. 27.
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] 런타임에 다른 apk 소스 ( dex 파일 ) 읽어오기. 안드로이드, 런타임에 다른 apk 소스 ( dex 파일 ) 읽어오기. Dalvik VM 은 런타임에 다른 dex 파일을 로딩할 수 있다.dex 파일 로딩은 일반적으로 사용되는 방법은 아니다. 하지만, 다음과 같은 경우에 필요하다. 1. 64,000개 이상의 메서드를 포함한 앱의 경우 빌드에 문제가 발생할 수 있다. 이 경우 여러 개의 dex 파일로 나누어서 dex 를 동적으로 로딩해야 한다. 2. 런타임 중 동적으로 기능이 확장되는 프레임워크 형태의 앱은 커스텀 클래스 로딩 기능을 활용할 수 있다. 여러개의 dex 로 나누어 빌드 하는 경우는 이클립스 ADT 상에서 빌드될 수 없고, Ant 빌드 스크립트를 활용하여 빌드해야 한다. DexClassLoader dcl = new DexClassLoader( .. 2013. 12. 16.
[android] Nexus7 에서 잘 작동하는 앱 만들기. 안드로이드, Nexus 7 에서 잘 작동하는 앱 만들기. 1. 반응형 디자인을 적용하여 하나의 APK 로 폰은 물론 탭도 지원 가능하도록 만들자. 2. res/layout-sw600dp 와 res/layout-sw720dp 를 활용하여 7인치 /분만 아니라 10인치 타블렛도 지원하자. 만약 폰 레이아웃을 그대로 사용하고, 텍스트와 이미지가 차지하는 공간만 확대할 예정이라면 dimens.xml 을 잘 활용하자. 3. 하드웨어 기능에 대한 주의가 필요하다.넥서스 7은 저해상도 전면 카메라만 가지고 있다.넥서스 7은 전화 기능과 진동 기능이 없다.따라서 반드시 필요한 경우가 아니면 의 required 속성 값을 false 로 두자. 꼭 필요한 녀석이 아닐 경우에는 런타임에 해당 앱이 있는지 확인하여 유두리 있.. 2013. 9. 9.
[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.
반응형