Work(97)
-
Internet Protocol Suite(프로토콜 모음)
Internet Protocol Suite (프로토콜 모음)! 네트워킹 표준은 TCP /IP 모델 보다 OSI 7계층 모델 사용 (그림 출처 : WIKIPEDIA)응용 프로그램 계층통신 표준화, Host-To-Host 데이터 전송 채널 설정, Client-Server 또는 Pear-To-Pear 데이터 교환 관리 (Deep 01)전송 계층Host-To-Host 간 통신 서비스 제공, TCP 가 가장 잘 알려진 전송 프로토콜, 인터페이스를 통해 전송 계층 프로토콜로 응용 프로그램으로 전달인터넷 계층인터넷을 형성하거나 서로 다른 네트워크를 접속, IP 기반 패킷 사용, 들어오는 패킷의 오류 감지 및 진단, 패킷을 적절한 전송 계층 프로토콜로 Packet Payload를 전달 (Deep 02)링크 계층호스트가..
2018.01.29 -
Android 앱 구성 요소(Component)
Android 앱 구성 요소(Component)Activity사용자 인터페이스 단일 화면 1. Fragments -> Honycomb 이상, 한 화면에 다양한 인터페이스 또는 응용 프로그램 확장 및 구축 2. Activity Life-cycle -> 액티비티의 상태에 따라 동작 메소드가 다름, 동작에 따라 Entire, Visible, Foreground Lifetime으로 구분 (그림 출처 : 안드로이드 공식 홈페이지) 3. Configuration Changes -> 액티비티의 환경 변화에 따라 변경, 런타임 변경시 onDestroy() 호출과Activity 다시 시작, Manifest의 android:configChanges 속성에 따라 수행 (Deep 01) 4. Starting Activitie..
2018.01.29 -
Android Async
Android Async(HandlerThread, AsyncTask, RxAndroid)* 병렬 처리가 가능하지만 스레드가 과도하면 속도를 느리게 할 수 있다.HandlerThread- Looper 보유한 클래스 제공- 내부에 Message Queue 함께 생성- 액티비티의 수명주기를 벗어나 실행되므로 정리 필수- 결과를 메인 스레드에 반환하지 않음AsyncTask- 캡슐화가 잘 되어 있음- 사용시의 가독성 좋음- UI 갱신 및 스케쥴 관리- 메인 쓰레드 에서만 호출 및 실행 필요- 이미 사라진 UI 참고로 메모리닉 발생 가능성 있음- 병렬 메서드(executeOnExecutor)를 사용 안하면 순차적 처리로 진행 RxAndroid- 순차적으로 실행되는 비동기 통신- 연속 클릭 이벤트 중복 실행 제어-..
2018.01.17 -
Android ART & DVM & JVM
Android ART - DVM - JVMART(Android Run Time) - Compile : AOT(Ahead Of Time)- Register Architecture : 모든 피연산자가 메모리 & 레지스터 조합 (레지스터 + 메모리)- java.io, java.net, android.*, com.goolge.*- run : OAT(ART)- GC : Customized Mark-Sweep(CMS) Algorithm(DVM GC 일시정지에 비해 1/2 번 작용)DVM(Dalvik Virtual Machine)- Compile : JIT(Just In Time)- Register Architecture : 모든 피연산자가 메모리 & 레지스터 조합 (레지스터 + 메모리)- java.io, java...
2018.01.12 -
Android Platform (Architecture)
Platform ArchitectureArchitecture(아키텍처) : 안드로이드 플랫폼 아키텍처변경 사항 : android 4.4 kitkat(베타) 5.0(Lollipop) 부터 대체, 달빅(Dalvik) -> ART(AndroidRunTime) 시스템 앱 : 일반적으로 설치 되는 앱Content Providers (콘텐츠 제공자) : 표준 인터페이스(A 프로세스 데이터 B 프로세스 코드) - 기본사항 (작동원리, 데이터 검색, 삽입 & 업데이트 & 삭제)- 생성 (1. 원시 저장소 설계 2. 클래스 & 필수 메서드 정의 3. 권한 정의)- 캘린더 (캘린더 이벤트 저장)- 연락처 (주소록에서 개발자에게 표시되는 데이터)View System (콘텐츠 제공자) : 화면의 직사각형 영역을 차지, 그리기..
2018.01.09 -
Kotlin 참조평등(Referential equality)
참조평등(Referential equality)완전한 비교 연산var a: Int = 10000 println(a === a) // true var boxedA: Int? = a println(boxedA === a) // false var anotherBoxedA: Int? = 10 var setBoxed: Int? = anotherBoxedA println(anotherBoxedA === setBoxed) // true var b: Int = 10 boxedA = a println(boxedA === anotherBoxedA) // false b = a println(a === b) // trueInt Types 예외 : int의 경우 -128 ~ 127 사이는 캐시에 등록됨으로 값이 같게된다.) 링..
2018.01.08