일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리브어보드
- SwiftUI #Skeleton #데이터갱신
- Concurrency #Swift #Combine
- 괌 자유여행
- 시밀란
- 스페인광장
- 러브자그레브
- swiftUI
- Swift #Concurrency #쓰레드
- 강릉
- 도심공항
- 세비야
- 그라나다
- 러브스플리트
- cocoapod
- xcode
- Device 등록
- 공기먹는다이버스
- 라이브러리
- Gradle
- 아시아나
- Cocoapods #PrivateRepo #SpecRepo
- 대한항공
- 연금저축펀드
- 푸켓여행
- 스쿠버다이빙
- 크로아티아
- 지팍스페인
- 스플리트
- 스페인여행
- Today
- Total
목록Development (68)
JEP's Diary
JSON-RPC*(Remote Procedure Call) JSON으로 인코딩된 원격 프로시저 호출이다. 매우 간단한 프로토콜로서, 소량의 데이터 타입과 명령들만을 정의하고 있다. 다수의 호출이 서버로 전송되고 순서없이 응답되는 것을 허용한다. 특징 TCP위에서 동작하므로 좀 더 다양한 프로토콜에서 사용할 수 있다. 하나의 엔드포인트 URL에서 모든 요청과 응답을 받는다. JSON-RPC가 HTTP에서 동작하는 경우 하나의 Method를 통해서 통신하게 된다. CRUD를 포함한 다양한 action을 나타내는 작업을 표현할 수 있다. 요청 하나의 리모트 메소드는 HTTP 혹은 TCP/IP 소켓을 사용해 리모트 서비스로 요청을 보내는 것에 의해 호출된다. 하나의 요청은 리모트 시스템에 의해 제공되는 특정한 ..
참고링크 : developer.android.com/training/animation/vp2-migration?hl=ko ViewPager에서 ViewPager2로 이전 | Android 개발자 | Android Developers ViewPager2는 ViewPager 라이브러리의 개선된 버전으로, 향상된 기능을 제공하며 ViewPager 사용 시 발생하는 일반적인 문제를 해결합니다. 앱에서 ViewPager를 이미 사용하고 있는 경우 이 페이지에서 ViewP developer.android.com
코틀린 헷갈리는 함수 정리. let, apply, run, with 1. letlet 함수를 호출하는 객체를 블록의 인자로 넘기고, 블록의 결과값을 반환한다.또한 널 처리(if (a != null) 를 대신할 수 있다. inline fun T.let(block: (T) -> R): R - 사용규칙: 널체크후 코드실행하고 싶을 경우,: 블록 내의 결과물을 반환하고 싶을 경우.: 단일 지역 변수의 범위를 제한하고싶을 경우. @Test fun blockTest() { val person = Person("park", "jieun") val result = person?.let { printPerson(it.lastName + it.firstName) } Assert.assertEquals(result, "pa..
3.자바와는 다른 코틀린의 특징 클래스: 자바와 달리 코틀린에서만 제공하는 클래스에 대한 기능을 살펴본다. - 데이터 클래스: 자료를 구성하는 프로퍼티만 선언하면 컴파일러가 equals(), hashCode(), toString()함수를 자동으로 생성해준다.data class Person(val lastName: String, val firstName: String): 객체.toString()을 하면 다음과 같은 출력결과가 나온다.val me = Person("John", "Park") println("Me = $me" )Me = Person(lastName=John, firstName=Park) - 한정클래스(sealed class): enum 클래스를 확장한 개념으로, 각 종류별로 하나의 인스턴스만 ..
2. 자바와 비교해 보는 코틀린 2 자료/자료형의 확인 및 변환 - 자료의 동일성 확인: ==, === 연산자 : == 연산자는 객체냐 객체의 값이냐를 구분할 필요 없이 ==연산자를 사용한다. 또한 비교하는 값의 널 여부를 함께 확인한다.: === 연산자는 객체 자체가 동일한지 여부에 대한 비교 연산자이다. - 자료형 확인: is 연산자: is연산자는 자료형을 확인하기 위해 사용한다. (자바의 instanceOf): !is 연산자는 자료형이 아닌지는 확인할때 사용한다. - 자료형 변환: as 연산자123fun processNumger(number: Number) { val foo : Int = number as Int}Colored by Color Scriptercs - 스마트 캐스트: 자료형 추론이 가..
2. 자바와 비교해 보는 코틀린 기본 자료형코틀린은 모든 타입을 객체로 표현하므로 원시 타입(int, double)과 래퍼 클래스(Integer, Double)를 구분하지 않는다.kotlin.Bytekotlin.Shortkotlin.Intkotlin.Longkotlin.Charkotlin.Floatkotlin.Doublekotlin.Boolean - 숫자: 숫자와 타입, 진법을 함께 표현하기 위해 사용하는 리터럴 표기법은 자바와 대부분 동일하다.: Long타입은 대문자만 지원한다. 12val longValue: Long = 100L cs - 연산자: 숫자 연산자는 자바보다 더 직관적이다.: and, or, xor, inv, shl, shr, ushr - 문자: 코틀린에서는 문자만 대입할 수 있다.12va..
1.코틀린이란?코틀린은 젯브레인(JetBrains)에서 만든 언어로, 2016년에 정식 버전이 출시 되었다.코틀린은 간결한 문법과 풍부한 기능, 높은 안정성을 토대로 높은 생산성을 보장하는 것을 목표로 개발되었고, 자바와 100%호환된다. 코틀린의 특징- 간결한 문법: 문장 끝에 세미콜론(;)이 없다.: new 키워드를 쓰지 않고 객체를 생성한다.: 타입 추론을 지원하므로 보통 타입을 적지 않아도 된다. - 널 안전성: 객체 타입의 변수에서 널 값 허용 여부를 구분하며, 널 값의 허용 여부를 컴파일 단계에서 검사하므로 런타임에서 발생하는 오류를 줄일 수 있다. - 가변/불변 구분: 변수의 값에 대해 가변/불변 여부를 구분한다. 또는 컬렉션 자료형에 대해서도 가변/불변 여부를 구분한다.: val(value..
Android ViewModel Android Architecture Component의 ViewModel은 액티비티와 프래그먼트에서 사용되는 UI관련 데이터를 보관하고, 관리하기 위해 디자인 되었다.액티비티가 재생성 될때도 ViewModel의 인스턴스가 유지되어 데이터가 보관이되고,데이터의 소유권을 ViewModel이 가지고 있기 때문에 코드분리가되어 액티비티와 프래그먼트는 UI를 업데이트 하는 역할을 하게된다. 액티비티의 생성, 화면전환, 종료에 이르는 수명주기에도 ViewModel 스코프는 일관되게 유지가된다.따라서 프래그먼트들 사이에서 ViewModel을 이용해 데이터를 쉽게 공유할 수 있어, 프로그먼트 간 데이터 공유에 액티비티가 관여하지 않아도 된다. 액티비티가 완전히 종료되는 시점에 View..
스케줄러: 스케줄러는 스레드를 지정할 수 있게 해준다. 스케줄러를 활용한 비동기 프로그래밍의 핵심은 데이터 흐름이 발생하는 스레드와 처리된 결과를 구독자에게 전달하는 스레드를 분리 할 수 있다.: subsribeOn()함수는 구독자가 Observable에 subscribe()함수를 호출하여 구독할 때 실행되는 스레드를 지정한다.Observable에서 구독자가 subscribe()함수를 호출했을 때 데이터 흐름을 발행하는 스레드를 지정.한번 호출했을때 결정한 스레드를 고정하며 이후에는 다시 호출해도 스레드가 바뀌지 않는다.: observeOn()함수는 Observable에서 생성한 데이터 흐름이 여기저기 함수를 거치며 처리될 때 동작이 어느 스레드에서 일어나는지 지정할 수 있다.처리된 결과를 구독자에게 전..
리액티브 연산자2 생성연산자는 Observable로 데이터 흐름을 만들고 변환 연산자와 필터 연산자는 데이터 흐름을 내가 원하는 방식으로 변형한다.: 생성 연산자 just(), fromXXX(), create(), interval(), ranger(), timer(), intervalRange(), defer(), repeat(): 변환 연산자map(), flatMap(), concatMap(), switchMap(), groupBy(), scan(), buffer(), window(): 필터 연산자filter(), take(), skip(), distinct(): 결합 연산자zip(), combineLastest(), merge(), concat(): 조건 연산자amb(), takeUntil(), sk..