코틀린 1.1에 추가된 코루틴(Coroutine)은 서로에게 제어를 넘겨주면서 협력하는 방식으로 작업을 처리하는 기법이다 이를 사용하면 async/await 패턴을 통해 비동기 연산을 기술할 때 복잡한 콜백 구조를 활용하지 않고 일반 함수처럼 비동기 호출을 활용할 수 있는 로직을 작성할 수 있다 비동기 처리를 수행하는 로직은 async로 표시해야 다른 곳에서 await로 이 로직의 결과를 기다릴 수 있다 // 비동기 작업 시작 val number1 = async(CommonPool) { delay(1000); 1 } // 1초 걸리고 결과가 1인 작업 val number2 = async(CommonPool) { delay(2000); 2 } // 2초 걸리고 결과가 2인 작업 // 기다리면서 메서드 블록..
리플렉션(Reflection)은 런타임 때 프로그램의 구조(객체, 함수, 프로퍼티)를 분석해 내는 기법을 이야기합니다. 코틀린에서 리플렉션을 위해서는 라이브러리가 필요합니다. kotlin-reflect.jar 라는 라이브러리를 의존성(dependency) 설정을 통해 준비해야 합니다 dependencies { compile "org.jetbrains.kotlin:kotlin-reflect" } 1. 클래스 타입과 레퍼런스 런타임 때 동적으로 클래스를 분석하려면 클래스에 대한 정보가 필요한데 이 클래스에 대한 정보를 클래스 레퍼런스라고 표현하며, 클래스 레퍼런스를 대입하는 곳은 클래스 타입으로 선언해야 합니다. 클래스 타입은 KClass로 표현하며 대입하는 클래스 레퍼런스는 "클래스명::class"로 표현..
제네릭(Generics) 혹은 제네릭 타입(generic type)은 인자로 사용하는 타입에 따라 구체화되는 클래스나 인터페이스를 말합니다 1. 제네릭 클래스/인터페이스 정의 // java class Car { ... } // 항목을 담거나 뺄 수 있는 제네릭 인터페이스 Container 정의 interface Container { void put(T item); T take(); } // 자동차(Car)를 담거나 뺄 수 있는 클래스 Garage 정의 class Garage implements Container { @Override public void put(Car item) { ... } @Override public Car take() { ... } } // kotlin class Car { .....
1. 안드로이드 Q 개인정보 보호를 위한 변경 사항 정리 2. 안드로이드 Q Scoped Storage 이해하기 3. 안드로이드 Q 기기 고유 식별자(IMEI 등) 제한 4. 안드로이드 Q 새로운 기기 위치 접근 제한 5. 안드로이드 Q 백그라운드 액티비티 실행 제한 6. 안드로이드 Q Scoped Storage에서 살아남기 7. 안드로이드 Q DRM 기기 식별자 활용하기 출처 : https://brunch.co.kr/magazine/androidq 개발자를 위한 안드로이드 Q 정리 매거진 #안드로이드 #개발자 #호환성 brunch.co.kr [출처] [안드로이드] 개발자를 위한 안드로이드 Q 정리|작성자 조원호의 행복한 인생
순서상 Google Developer Keynote 이후 What’s New Android가 나온다. 그래서 중복적인 내용이 있으나, 36분간 안드로이드 이야기로 꾸려지며, 이번 Google I/O 기간 Android에서 어떤 내용이 나올지가 여기에서 소개된다. 올해는 그중 Android에서 코틀린 First가 메인 소식 중 하나인데 여기에서 가볍게 소개하고 있다. Android Q 추가 사항 Android Q UI 관련 추가사항 몇 가지를 소개하고, 관련 세션을 소개하였다 그 중 Bubbles, Dark theme, Sharing, Notification priority, Notification actions, Gesture navigation에 대해서 정리한다. Notification 관련 내용은 아..
1.13 분석의 종류 - 주어진 알고리즘을 분석하기 위해서는 어떤 입력에 대해 더 적은 시간이 걸리고( 잘 수행되고 ), 어떤 입력에서 더 오랜 시간이 걸리는지 알아야 한다. -알고리즘을 수식으로 표현하여 점근적(asymptotic) 분석/표기법의 기초를 이루는 일종의 문법이 필요하다. 세 가지 종류의 분석이 있다. - 최악의 경우 - 알고리즘이 오래 걸리는 경우이다. - 알고리즘이 느리게 수행되도록 하는 것을 입력으로 한다. - 최선의 경우 - 알고리즘이 제일 적은 시간이 걸리게 하는 경우이다. - 알고리즘이 가장 빨리 수행되도록 하는 것을 입력으로 한다. - 평균의 경우 - 알고리즘의 예상 수행 시간을 제시한다. - 입력이 무작위라고 가정한다. 하한 시간 ≤ 평균 시간 ≤ 상한 시간 - 주어진 알고리..
1-1 데이터 형 - 변수들이 가질 수 있는 값의 종류 1-2 시스템 정의 데이터형 - 원시 데이터형 - int, float, char, double, bool 등 1-3 사용자 정의 데이터형 - 시스템 정의 데이터형으로 충분하지 않을 때 대부분의 프로그래밍 언어는 사용자가 직접 데이터형을 정의할 수 있게 해준다. ex) C/C++의 구조체, Java 의 클래스 1-4 데이터 구조 - 효율적으로 데이터를 사용하기 위해 컴퓨터에 데이터를 저장하고 정리하는 특별한 방법 ( 일반적인 데이터 구조에는 배열, 파일, 연결 리스트, 스택, 큐, 트리, 그래프 등 ) 항목을 정리하는 방법에 따라 두가지로 나뉨 - 1) 선형 데이터 구조 : 항목들이 순차적 차례에 따라 접근되지만 순차적으로 저장되어야 하는 것은 아니다..
- Total
- Today
- Yesterday
- 안드로이드 9.0
- ScrollView
- Material
- 개발
- KAKAO
- Java
- 액티비티
- 중첩
- 코틀린
- 유니티
- Android
- google I/O
- Kotlin
- NestedScrollView
- 백그라운드
- kakaotalk
- ScrollView in ScrollView
- 알고리즘
- Unity
- 자바
- 카카오톡
- 카톡
- 신규기능
- 안드로이드
- 구글IO
- 과제
- 앱
- 백준
- 대학교
- 안드로이드Q
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |