일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 공격적 프로그래밍
- git
- 제한함수
- 깃
- 단위테스트
- 코틀린
- Observable
- 테스트의 장점
- Jetpack
- 컴포즈
- rxjava
- 안정성
- 안드로이드
- mock
- 디자인패턴
- 자료구조
- Di
- 안드로이드 디자인패턴
- Room
- compose
- 코딩테스트
- Android
- 파이썬
- Python
- MVVM
- UnitTest
- 유닛테스트
- ViewModel
- Kotlin
- dagger2
- Today
- Total
목록안드로이드/Kotlin (18)
세상을 바꾸는 개발자
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 단위테스트를 만들어라 코드를 안전하게 만드는 다양한 방법이 있지만 가장 궁극적인 방법은 다양한 종류를 테스트 하는 것이다 하지만 비즈니스적인 관점의 테스트는 개발자 관점에서 애플리케이션 내부적으로 올바르게 작동하는지 확인하는 것이 아니라, 사용자의 관점에서 애플리케이션 외부적으로 제대로 동작하는지 확인하는 것이 목표이다 그렇기 때문에 개발자에게 유용하지만 충분하지는 않다. 이러한 문제..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - use 를 사용하여 리소스를 닫아라 더 이상 필요하지 않을 때 close 메서드를 사용해서 명시적으로 닫아야하는 리소스가 있다 예를 들어 - InputStream, OutputStream - java.sql.Connection - soket, Scanner 등등 이러한 리소스들은 AutoCloseable 을 상속받는 Closeable 인터페이스를 구현하고 있다 이러한 모든 리소스들은 ..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 적절하게 null 을 처리하라 기본적으로 nullable 타입은 세 가지 방법으로 처리한다 ?., 스마트 캐스팅, Elvis 연산자 등을 활용해서 안전하게 처리한다. 오류를 throw 한다 함수 또는 프로퍼티를 리펙터링해서 nullable 타입이 나오지 않게 바꾼다 null 을 처리할때 가장 좋은 방법은 스마트캐스팅이나 elvis 연산자를 사용해서 처리하는게 가장 좋지만 requir..
방어적 프로그래밍 모든 가능성을 올바른 방식으로 처리하는 것(예를 들어 null일때는 출력하지 않기 등) 방어적 프로그래밍은 코드가 프로덕션 환경으로 들어갔을때 발생할 수 있는 수많은 것들로부터 프로그램을 방어해서 안정성을 높히는 방법을 나타내는 굉장히 포괄적인 용어 상황을 처리할 수 있는 올바른 방법이 있을때 굉장히 좋다 공격적 프로그래밍 모든 상황을 안전하게 처리하는 것은 불가능하기 때문에 등장 예상하지 못한 상황이 발생했을때, 이러한 문제를 개발자에게 알려서 수정하게 만드는 것 require, check, assert 가 공격적 프로그래밍을 하기 위한 도구 --> 둘은 충돌되는 것처럼 보이지만, 둘다 안전을 위해 모두 필요하기 때문에 적절하게 사용해야한다 참고 : 이펙티브 코틀린 https://ww..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 결과 부족이 발생할 경우 null과 failure를 사용하라 함수가 원하지않는 경과랄 만들어내는 경우에 이를 처리하는 2가지 매커니즘 1. null 또는 실패를 나타내는 sealdclass(failure 등) 리턴 2. 예외를 throw 한다 -> 지양해야하는 경우 예외는 정보를 전달하는 방법으로 사용해서는 안된다 많은 개발자가 예외가 전파되는 과정을 제대로 추적하지 못한다 코틀린의..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 사용자 정의 오류보다는 표준 오류를 사용하라 표준라이브러리의 오류는 대부분의 개발자들이 알고 있으므로 이를 재사용하는 것이 좋다 잘 만들어진 규약을 가진 널리 알려진 요소를 재사용하면, 다른 사람들이 API를 더 쉽게 배우고 이해할 수 있다 일반적으로 사용되는 예외 IlegalArgumentException, IllegalStateException : require, check를 이용..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 최대한 플랫폼 타입을 사용하지 말라 자바에서는 모든 것이 nullable일 수 있으므로 최대한 안전하게 접근한다면, 이를 nullable로 가정하고 다뤄야한 다 코틀린에서는 어떤 메서드는 null을 리턴하지 않을 것이 확실할 수 있다. 이러한 경우에는 마지막에 !! 을 붙인다 플랫폼 타입이란 다른 프로그래밍 언어에서 전달되어서 nullable인지 아닌지 알 수 없는 타입을 말한다 코틀..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - inferred 타입으로 리턴하지 말라 타입을 확실하게 지정해야 하는 경우에는 명시적으로 타입을 지정해야 한다는 원칙을 가지고 있어야한다 이는 굉장히 중요한 정보이다, 안전을 위해서 외부 API를 만들때는 반드시 타입을 지정하고, 이렇게 지정한 타입을 특별한 이유와 확실한 확인 없이는 제거하지 말아야한다 inferred 타입은 프로젝트가 진전될 때, 제한이 너무 많아지거나 예측하지 못..