일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mock
- 안드로이드
- rxjava
- git
- 테스트의 장점
- Observable
- 안정성
- MVVM
- 코틀린
- 안드로이드 디자인패턴
- ViewModel
- Room
- 파이썬
- Jetpack
- 코딩테스트
- Android
- 제한함수
- 디자인패턴
- UnitTest
- 공격적 프로그래밍
- 단위테스트
- Kotlin
- Di
- dagger2
- 자료구조
- 컴포즈
- 유닛테스트
- compose
- Python
- 깃
- Today
- Total
목록안드로이드/Kotlin (18)
세상을 바꾸는 개발자

안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 변수의 스코프를 최소화 하라 상태를 정의 할 때는 변수와 프로퍼티의 스코프를 최소하하는 것이 좋다 프로퍼티 보다는 지역 변수를 사용하는 것이 좋다 최대한 좁은 스코프를 갖게 변수를 사용해야한다 반복문 내부에서만 변수가 사용된다면, 변수를 반복문 내부에서 작성하는 것이 좋다 나쁜 예) var user: User for(i in users.indices){ user = users[i] p..

안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다 저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다. 안정성 - 가변성을 제한하라 사람들이 많이 사용하는 앱이더라도 가끔 생각대로 동작하지 않거나 크래시가 발생하는 경우가 있습니다 이때 사용자들은 앱에 대한 신뢰도가 크게 떨어지게 됩니다 그래서 프로그래밍에 있어서 안정성은 정말 중요한 요소입니다 안정성으로 인해서 좋은 서비스, 나쁜 서비스로 나뉠 수 도 있다고 생각합니다 코틀린은 다양한 개발자들의 경험을 토대로 만들어진 언어이기때문에 사용자들의 신..

안드로이드는 자바와 코틀린 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..

안녕하세요 헬창 코딩입니다. 오늘은 플로팅 뷰를 만들어 볼 건데요 플로팅 뷰가 무엇이냐면 앱을 끄든지 말든지 계속 떠 있는 뷰를 말합니다. 아이콘이 앱과 상관없이 떠있는거 보이시죠? 모비즌이라는 실제 서비스 중인 앱을 예로 볼게요~ 모비즌 아이콘이 막 떠다니죠? 이렇게 실제 서비스에서도 많이 쓰이는 기능입니다. 이제 플로팅 뷰가 어떤 것인지 아시겠죠? 그럼 본격적으로 한번 만들어볼까요~ 1. 가장 먼저 프로젝트를 생성합니다. 2. Gradle에서 저희가 사용할 라이브러리를 implement 합니다. 1 2 implementation 'com.github.recruit-lifestyle:FloatingView:2.4.4' cs 3. repositories에 https://jitpack.io을 추가시켜줘야합..

안녕하세요 헬창코딩입니다. 이번에는 4번째 시간으로 이전 시간에 더해서 추가한 데이터를 리사이클 러뷰를 통해 사용자에게 보여주도록 하겠습니다. 1. 가장먼저 리사이클러뷰 XML 레이아웃을 만들어보겠습니다. 1.1 item_user_list.xml 파일을 생성합니다. 1.2 item_user_list 안에 저장된 이름과 이메일을 보여줄 텍스트뷰를 생성합니다. Item_user_list.xml 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 6..

안녕하세요 헬창코딩입니다. 이번에는 3번째 시간으로 앞서 만든 데이터베이스를 이용해서 CRUD를 수행해보겠습니다. 그렇게 하기위해서는 사용자에게 보여질 UI와 ViewModel을 만들어줘야합니다. 1. 먼저 사용자에게 보여줄 레이아웃을 만들어 줍니다. activity_main.xml 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 cs 2. UI를 만들어줬다면 UI를 컨트롤 할 ViewModel을 만들어줘야합니다. 2.1 DB 패키지에 UserViewModel...