일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- Android
- 테스트의 장점
- 제한함수
- Python
- MVVM
- 유닛테스트
- mock
- 디자인패턴
- 안정성
- 안드로이드 디자인패턴
- dagger2
- Room
- compose
- 안드로이드
- 코틀린
- git
- 깃
- Kotlin
- UnitTest
- 단위테스트
- Observable
- ViewModel
- 코딩테스트
- 공격적 프로그래밍
- Di
- Jetpack
- 컴포즈
- 파이썬
- rxjava
- Today
- Total
목록코틀린 (7)
세상을 바꾸는 개발자
방어적 프로그래밍 모든 가능성을 올바른 방식으로 처리하는 것(예를 들어 null일때는 출력하지 않기 등) 방어적 프로그래밍은 코드가 프로덕션 환경으로 들어갔을때 발생할 수 있는 수많은 것들로부터 프로그램을 방어해서 안정성을 높히는 방법을 나타내는 굉장히 포괄적인 용어 상황을 처리할 수 있는 올바른 방법이 있을때 굉장히 좋다 공격적 프로그래밍 모든 상황을 안전하게 처리하는 것은 불가능하기 때문에 등장 예상하지 못한 상황이 발생했을때, 이러한 문제를 개발자에게 알려서 수정하게 만드는 것 require, check, assert 가 공격적 프로그래밍을 하기 위한 도구 --> 둘은 충돌되는 것처럼 보이지만, 둘다 안전을 위해 모두 필요하기 때문에 적절하게 사용해야한다 참고 : 이펙티브 코틀린 https://ww..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 사용자 정의 오류보다는 표준 오류를 사용하라 표준라이브러리의 오류는 대부분의 개발자들이 알고 있으므로 이를 재사용하는 것이 좋다 잘 만들어진 규약을 가진 널리 알려진 요소를 재사용하면, 다른 사람들이 API를 더 쉽게 배우고 이해할 수 있다 일반적으로 사용되는 예외 IlegalArgumentException, IllegalStateException : require, check를 이용..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 최대한 플랫폼 타입을 사용하지 말라 자바에서는 모든 것이 nullable일 수 있으므로 최대한 안전하게 접근한다면, 이를 nullable로 가정하고 다뤄야한 다 코틀린에서는 어떤 메서드는 null을 리턴하지 않을 것이 확실할 수 있다. 이러한 경우에는 마지막에 !! 을 붙인다 플랫폼 타입이란 다른 프로그래밍 언어에서 전달되어서 nullable인지 아닌지 알 수 없는 타입을 말한다 코틀..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 변수의 스코프를 최소화 하라 상태를 정의 할 때는 변수와 프로퍼티의 스코프를 최소하하는 것이 좋다 프로퍼티 보다는 지역 변수를 사용하는 것이 좋다 최대한 좁은 스코프를 갖게 변수를 사용해야한다 반복문 내부에서만 변수가 사용된다면, 변수를 반복문 내부에서 작성하는 것이 좋다 나쁜 예) var user: User for(i in users.indices){ user = users[i] p..
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 예외를 활용해 코드에 제한을 걸어라 확실하게 어떠한 형태로 동작해야 하는 코드가 있다면, 예외를 활용해 제한을 걸어주는 것이 좋다 코틀린에서 코드 동작에 제한을 거는 여러가지 방법 require 블록 : 아규먼트를 제한 할 수 있다 check 블록 : 상태와 관련된 동작을 제한할 수 있다 assert 블록 : 어떤 것이 true인지 확인 할 수 있다. assert 블록은 테스트모드에서..
평소에 잘 생각안하고 많이 사용하는 =, get()의 차이는 무엇 일까요 ? 먼저 코드로 알아보도록 하겠습니다! class Customer { private var _id = 1 // get() 을 사용 val id: Int get() = _id // = 을 사용 val id: Int = _id } 블로그나 깃허브를 돌아다니다 보면 위와 같이 2가지 방법중 하나를 사용해서 가변성을 제안하는 코드가 있습니다 어떤 차이가 있을까요??? 자바 코드로 변경해보면 답이 알 수 있습니다. 먼저 get() 을 사용한 코드를 자바로 변경하면 public final class Customer { private int _id = 1; public final int getId() { return this._id; } ..
안녕하세요 ~ 헬창코딩입니다. 오늘은 안드로이드에서 자주 사용하는 날짜를 구하는 함수를 알아보겠습니다. 엄청 기초적인 내용이라서 꼭 숙지해야합니다 ㅎㅎ // 현재시간출력 var currentTime = LocalDateTime.now(); Log.d("dateTest", "1) 현재시간:: " + currentTime) // 년, 월, 일, 시, 분, 초 출력 var formatter = DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 HH시 mm분 ss초") Log.d("dateTest", "2) 현재시간(한글):: " + currentTime.format(formatter)) // 3일후 , 3달전 currentTime.plusDays(3) currentTime.minus..