본문 바로가기
[android] Secure Coding Guide [android] Secure Coding Guide -Android Secure Coding Guide 라는 간략한 세미나를 듣고 왔다.새로운 내용은 없지만, 그냥 Remind 하는 차원에서 정리해본다. 최소 권한 : 불필요한 퍼미션 사용하지 말자. 안드로이드 6.0(MOS) 부터 Runtime Permission 이 되면서 문제가 적어지지만, 이전에는 과도한 권한을 사용하는 문제가 있었다.꼭 필요한 권한만 정의해서 사용하라.위치정보를 사용할 때는 국내 위치정보법에 따라 필수 5대항목 고지 등의 의무사항이 있으니 확인해야 한다. (기획적인 내용) 소스코드 보안 : 난독화 여부 Proguard 난독화를 사용해라.기본 Proguard 말고도 난독화를 해주는 보안강화 솔루션 들도 있다. ( 옵션을 잘 확인하.. 2018. 5. 24.
[iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) [iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationObjects/OperationObjects.html#//apple_ref/doc/uid/TP40008091-CH101-SW1 Operation Object 에 대한 이야기 -Operation object 는 NSOperation class 의 인스턴스를 이야기한다.NSOperation class 는 abstract base class 로 subclass 를 구현해야 한다. -NSInvocationOperation 과 NSBlock.. 2017. 7. 2.
[Java Concurrency] 명시적인 락 13.1. Lock 과 ReentrantLock - Lock 인터페이스는 암묵적인 락과 달리 조건 없는(unconditional)락, 폴링 락, 타임아웃이 있는 락, 락 확보 대기 상태에 인터럽트를 걸 수 있는 방법 등이 포함돼 있으며, 락을 확보하고 해제하는 모든 작업이 명시적이다. - public interface Lock{ void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException; void unlock(); Condition newCondition(); } - Reentran.. 2017. 5. 5.
[Effective Java] toString 메소드는 항상 오버라이드 하자. [Effective Java] toString 메소드는 항상 오버라이드 하자. - 일반적인 toString() 메소드는 "ClassName@HashCode" 와 같은 형식으로 표시된다. - toString 의 보편적 계약은 간결해야 하지만 사람이 읽기 쉬운 형태의 정보 표현이어야 한다 - 가능하다면 toString 메소드에서는 객체의 모든 중요한 정보를 반환해야 한다. - toString 에서 출력하는 문자열이 한 눈에 무엇인지 파악하기 어렵다면, 문서화를 정확히 해야 한다. className, default, Effective JAVA, hashcode, human readable, override, toString, [Effective Java] toString 메소드는 항상 오버라이드 하자., 간결.. 2016. 10. 7.
[iOS Study] 상태 복원 [iOS Study] 상태 복원 출처 : 아론 힐리가스의 IOS 프로그래밍 -앱의 수명은 제한돼 있다.만약 시스템이 더 많은 메모리가 필요하고 자신의 앱이 백그라운드 상태에 있다면, iOS는 아마 그 앱을 죽여 시스템에 메모리를 반환하도록 할 것이다.사용자는 이러한 사실을 알 필요가 없다.항상 앱의 마지막 장면으로 돌아가야 할 것이다. -앱에 상태 복원(state restoration)을 적용해야 한다.상태 복원은 데이터를 저장하는 데 사용했던 아카이빙과 매우 비슷하게 작동한다.앱이 잠시 중단 상태로 들어가면 뷰 컨트롤러 계층의 스냅샷(snapshot)이 저장된다.사용자가 다시 열기 전에 앱이 죽었다면 시작 시에 그 상태가 복원될 것이다.(만약 앱이 죽지 않았다면 모든 것은 메모리에 남아있고 상태를 복원.. 2016. 3. 26.
[iOS Study] 웹 서비스와 UIWebView [iOS Study] 웹 서비스와 UIWebView 출처 : 아론 힐리가스의 iOS 프로그래밍 -NSURL URL 포맷에 웹 프로그램의 위치를 담고 있다. URL 은 여러 웹 서비스를 위해 기본 주소, 통신하고 있는 웹 프로그램, 전달 인자로 구성된다. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/ -NSURLRequest 웹 서버와 통신할 때 필요한 모든 데이터를 가진다. NSURL 객체와 캐시 정책, 웹 서버의 응답 제한 시간, HTTP 프로토콜을 통해 전달되는 추가 데이터 등을 가진다. NSMutableURLRequest 는 NSURLRequest 의 변경 가능한 .. 2016. 3. 15.
[iOS Study] 유동글자 [iOS Study] 유동글자 출처 : 아론 힐리가스의 iOS 프로그래밍 -유동 글자(Dynamic Type)는 iOS7 에 도입된 기술이다.이는 읽기 편하도록 최적화되어 설계된 텍스트 스타일(text styles)을 제공한다.설정(Settings) 앱에서 일곱 가지의 선호하는 텍스트 크기 중 하나를 선택할 수 있고 유동 글자를 지원하는 앱이 폰트를 적절히 조절한다는 것이 매력이다. -유동 글자 시스템은 텍스트 스타일 중심이다.이 시스템은 텍스트 스타일을 요청받으면 적합한 폰트를 반환하기 위해 해당 텍스트 스타일과 연관된 사용자의 선호 텍스트 크기를 사용한다. -다음과 같은 코드로 쉽게 font 를 적용할 수 있다. UIFont *font = [UIFont preferredFontForTextStyle:.. 2016. 3. 9.
[iOS Study] UIGestureRecognizer 와 UIMenuController [iOS Study] UIGestureRecognizer 와 UIMenuController 출처 : 아론 힐리가스의 iOS 프로그래밍 -때때로 핀치나 스와이프와 같은 제스처를 만들기 위해 특정 패턴의 터치를 감지해야 한다.이 때 UIGestureRecognizer 인스턴스를 사용할 수 있다. -UIGestureRecognizer 는 뷰의 방식에 따라 처리되는 터치를 가로챈다. UIGestureRecognizer 가 특정 제스처를 인식하면 선택한 객체에 메시지를 보낸다. -UIGestureRecognizer 자체는 인스턴스를 만들 수 없다.대신에 UIGestureRecognizer 는 많은 하위 클래스를 가지며 그 각각은 특정 제스처를 인식하는 역할을 한다. UIGestureRecognizer 하위 클래스.. 2016. 2. 25.
[iOS Study] 카메라 [iOS Study] 카메라 출처 : 아론 힐리가스의 iOS 프로그램 -UIImageView 는 contentMode 프로퍼티에 따라 이미지를 표시한다.이 프로퍼티는 이미지뷰의 프레임 안에서 이미지를 어디에 위치시키고 어떻게 크기를 조절할지를 결정한다.UIImageView 에서 contentMode 의 기본값은 UIViewContentModeScaleToFill 이다.이 값은 이미지 크기를 이미지뷰의 bounds 와 정확히 일치하게 조절한다. 이미지가 원본과 같은 종횡비로 표시되도록 하려면 Aspect Fit 으로 설정해야 한다. -소스 파일을 옵션 - 클릭 하면 보조 편집기로 소스가 열린다. -xib 에서 소스파일로 컨트롤 - 드래그 하면 바로 IBOutlet 이나 IBAction 을 연결할 수 있다... 2016. 2. 23.
반응형