- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 책리뷰
- 진짜학습지후기
- KotlinInAction
- posting
- Android
- 진짜학습지
- androidstudio
- errorhandling
- 책추천
- blog
- 일본어기초
- 학습지
- Kotlin
- webflux
- github
- 코틀린
- 인공지능
- 일본어문법
- GIT
- 안드로이드
- ai
- jlpt
- PR
- CustomTab
- 진짜일본어
- rxjava
- suspend
- coroutine
- n3문법
- pullrequest
목록안드로이드/KOTLIN (20)
코딩하는 개굴이
여러 사람들과 동일한 프로젝트로 협업을 진행하다보면, 어떤 사람들은 엔터를 어디에 치고 줄바꿈은 어떻게 하는지 이런 사소한 것들부터 전반적인 구현 방식이 달라지는 경우가 종종 생긴다. 이를 통일성 있게 만들고 가독성과 유지보수성을 높이기 위해서 팀에서 문서를 공유하거나, PR 등의 커뮤니케이션으로 개발자들이 직접 확인하기도 하지만, 하나하나 세세히 확인하기란 불가능에 가깝다. 이런 경우, 특정 언어 혹은 가이드의 컨벤션을 따를 수 있도록 하고 구조적인 문제가 없는지 검사해주는 Lint 도구를 사용할 수 있다. 그 중에서도 KtLint 라는 것을 Android 프로젝트에 적용하는 방법에 대해 이번 포스팅에서 정리해보고자 한다. KtLint란? KtLint 는 Kotlin 언어의 공식 컨벤션을 준수하여 코드..
해당 글을 정리하게 된 이유를 본론에 들어가기 앞서 잠시 얘기해보자면, 코드 작성 시 당황했던 것이 있었기 때문이다. 서론에 관심이 없다면 아래 Return 에 대한 정리로 바로 넘어가도 된다. 아래 코드의 1번과 같이 코드를 작성하고, “EFGH” 가 출력될 것이라고 생각하고 테스트는 따로 해보지 않은 상태로 PR 을 올렸었다. 그러나, 차후 PR 을 통해 return 이 sample 을 반환할 것이라는 코멘트를 받았다. 그제서야 실행해본 결과 1번이 let을 반환하지 않는다는 것과, 2번처럼 라벨을 명시한 return 을 해야 의도적으로 동작시킬 수 있다는 것을 알게 되었다. 그리하여 본인은 Return 에 대해 좀 더 명확하게 정리 할 필요성을 느끼게 되어서 해당 포스팅을 작성하게 되었다. // 1..
Picasso 를 사용하다가 Coil 라이브러리로 마이그레이션을 하기로 함에 따라 Coil 의 사용법 및 에러 핸들링 관련하여 포스팅을 해보려한다. Coil 이란? coil 은 Kotlin Coroutin 으로 만들어진 Android 백엔드 이미지 로딩 라이브러리이다. coil 외에 url 및 File path 등의 이미지를 로딩하기 위한 라이브러리는 Picasso, Glide 등 다수 존재하지만, 본인은 Coil 을 적용해보려한다. Migration 및 적용하기 implementation("io.coil-kt:coil:2.2.2") implementation("io.coil-kt:coil-gif:2.2.2") //coil 에서 gif 적용을 위한 implementation 으로 선택사항 기존의 31 이..
코틀린에는 return 하지 않아도 되는 반환 유형이 2가지 존재한다. Unit 과 Nothing 이 그것인데, 이 두개의 차이점에 대해 알아보도록 하자. Unit 이란? Kotlin 은 반환 유형을 지정하지 않는 경우 반환 유형이 기본적으로 Unit 이 된다. Unit은 Kotlin 에서 값을 반환하지 않음을 의미하며, java 의 void 와 동일하다. fun returnUnitType1(): Unit { //return 을 명시적으로 하지 않아도 된다. } fun returnUnitType2(): Unit { return } fun returnUnitType3(): Unit { return Unit } 따라서, 위의 3 경우 다 무방하다. Unit 을 반환하는 함수는 return을 생략한다고 해도 ..
Kotlin IN ACTION 6강 : 코틀린 타입 시스템 본 내용은 Kotlin IN ACTION (드미트리 제메로프, 스베트라나 이사코바 지음 / 에이콘 출판사) 책을 기반으로 작성되었습니다. Kotlin IN ACTION 6강 : 코틀린 타입 시스템 null 가능성 null이 될 수 있는 타입 안전한 호출 연산자: ?. 엘비스 연산자: ?: 안전한 캐스트: as? null 아님 단언: !! let 함수 나중에 초기화할 프로퍼티 null이 될 수 있는 타입 확장 타입 파라미터의 널 가능성 null 가능성과 자바 코틀린의 원시 타입 원시 타입 널이 될 수 있는 원시 타입 숫자 변환 Any, Any?: 최상위 타입 Unit 타입: 코틀린의 void Nothing 타입 컬렉션과 배열 null 가능성과 컬렉..
Kotlin IN ACTION 4강 : 클래스, 객체, 인터페이스 본 내용은 Kotlin IN ACTION (드미트리 제메로프, 스베트라나 이사코바 지음 / 에이콘 출판사) 책을 기반으로 작성되었습니다. 클래스 계층 정의 코틀린 인터페이스 코틀린 인터페이스 정의 및 구현하는 방법은 자바 8과 유사하다. 코틀린 인터페이스 안에는 추상 메소드와 구현이 있는 메소드도 정의할 수 있다. (자바 8의 디폴트 메소드와 유사) 코틀린에서 인터페이스는 interface 키워드를 사용하여 정의한다. 인터페이스를 구현하는 모든 비추상 클래스(구체적 클래스)들은 추상 메소드를 구현해야 한다. 자바에서는 클래스의 확장에서는 extends를, 인터페이스 구현은 implements 키워드를 사용하지만, 코틀린은 클래스 네임 뒤 ..
Kotlin IN ACTION 3강 : 함수 정의와 호출 본 내용은 Kotlin IN ACTION (드미트리 제메로프, 스베트라나 이사코바 지음 / 에이콘 출판사) 책을 기반으로 작성되었습니다. Kotlin 의 Collection 코틀린에서 모든 컬렉션은 자바 컬렉션을 활용하고 있어 자바 코드와의 상호작용 및 호환이 용이하면서, 더 많은 기능들을 쓸 수 있는 장점을 지닌다. println(set.javaClass) //javaClass는 자바 getClass에 해당한다. //코틀린의 모든 컬렉션은 독자적인 컬렉션이 아닌 자바 컬렉션을 활용한다. Collection : 여러 데이터를 모아놓은 하나의 단위로, 불변(immutable/read-only) 혹은 가변(mutable/read&write) 중 하나의..
본 내용은 Kotlin IN ACTION (드미트리 제메로프, 스베트라나 이사코바 지음 / 에이콘 출판사) 책을 기반으로 작성되었습니다. Kotlin IN ACTION 2강 : 코틀린 기초 Hello World! fun main(args: Array) { println("Hello World!") } 해당 코드에서 코틀린의 특징을 알아보자. 함수를 선언 시에, fun 키워드를 사용한다. 파라미터 이름 뒤에 파라미터의 타입을 쓴다. (변수 선언 시에도 마찬가지) 함수를 최상위 수준에 정의할 수 있다. (클래스 안에 함수를 넣어야 할 필요가 없다.) 배열 처리를 위한 문법이 따로 존재하지 않는다. 출력 시 println을 사용한다. (표준 자바 라이브러리 함수를 간결하게 사용 할 수 있도록 감싼 wrappe..
본 내용은 Kotlin IN ACTION (드미트리 제메로프, 스베트라나 이사코바 지음 / 에이콘 출판사) 책을 기반으로 작성되었습니다. Kotlin IN ACTION 1강 : 코틀린이란 무엇이며, 왜 필요한가? Kotlin 이란? 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어 대표적으로 서버상의 코드 (웹 애플리케이션의 백엔드 등), 안드로이드의 모바일 애플리케이션에 활용 가능 자바와 같이 정적 타입 (statically typed) 지정 언어 정적 타입 지정 언어 : 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있으며, 프로그램 안에서 객체의 필드, 메소드 등의 사용시에 컴파일러가 타입을 검증해 준다. 동적 타입 지정 언어 : 타입과 관계없이 모든 값을 변수에 넣을 수 있고, 객..
코틀린의 확장 함수들 kotlin 은 확장함수들을 제공하여 객체를 사용 시 명령문들을 블록으로 묶어 간결하게 사용할 수 있게 해준다. let 매개 변수화 된 타입 T의 확장함수로, 자기 자신을 받아서 반환하는 람다 식의 형태이다. let 함수를 사용하여 해당 객체의 상태를 변경할 수 있다. ?.let {} 형태에서 let 블럭 안에는 non-null 만 들어올 수 있기 때문에 not-null 체크에 사용할 수 있다. elvis operator 를 사용해서 기본 값을 지정할 수 있다. 반환하는 값이 명시적으로 없을 경우, Unit 타입을 반환한다. val introducePerson = person.let { it.name = "Gaegul" it.height = 158 it } //Return 으로 본인..