일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- relay
- Compose
- ProGuard
- Python
- 백준
- GitHub
- Codeforces
- android
- 코루틴
- textfield
- androidStudio
- MiTweet
- TEST
- Rxjava
- architecture
- Kotlin
- boj
- Gradle
- 쿠링
- 암호학
- 프로그래머스
- Coroutine
- Hilt
- MyVoca
- pandas
- activity
- Coroutines
- AWS
- livedata
- 코드포스
- Today
- Total
목록Primary (163)
이동식 저장소
위임이란 어떤 클래스의 멤버를 참조 없이 호출하고 싶을 때 사용하는 선언 방식이다. 클래스의 위임 다음의 코드를 보자. // 1 interface Animal { fun eat() } // 2 class Cat : Animal { override fun eat() { println("eat() at Cat") } } // 3 val cat = Cat() // 4 class Robot : Animal by cat 인터페이스 ``Animal``을 정의하였다. 클래스 ``Cat``을 선언하고, ``Animal``을 구현하였다. ``Cat``은 추상 클래스 또는 인터페이스가 아니므로 ``eat()``을 정의해야 한다. ``Cat``의 객체 ``cat``을 만들었다. 클래스 ``Robot``을 선언하고, ``An..
중요: 커스텀 뷰가 안 보이면 ``attachToParent``를 ``true``로 설정해 보자. ``ViewBinding``의 ``inflate()`` 메소드는 세 개의 매개변수를 받는다. ``inflater``: ``LayoutInflater`` ``parent``: 뷰를 붙일 ``ViewGroup``. 사용하는 뷰(액티비티, 프래그먼트, 커스텀 뷰 등)에 따라 다른 값을 사용한다. ``attachToParent``: ``Boolean`` 값. 이 글에서 살펴볼 매개변수는 ``attachToParent``이다. 사실 마이트윗에서 ``ViewBinding``으로 바꾸고 나니 어떤 뷰가 계속 안 보이길래 2시간 동안 삽질했는데, ``attachToParent``를 ``false``에서 ``true``로 ..
아이디만으로 쉽게 뷰에 접근할 수 있었던 ``Kotlin Android Extensions``는 ``RecyclerView``에서 사용할 때 매우 비효율적이며, 그 밖에도 코드 작성 시 여러 가지 문제점이 있어 최근에는 ``ViewBinding`` 사용을 권장하고 있다. 참고: Android Studio 4.1에서 제거된 Kotlin Android Extensions을 알아보자. (thdev.tech) 그런데 ``ViewBinding``을 사용하면 레이아웃이 약간 틀어지는 문제가 있다. 대표적으로 ``layout_width`` 혹은 ``layout_height``가 ``wrap_content``로 고정되는 문제. 분명히 ``match_parent``로 설정했음에도 불구하고 Layout Inspector로..
레이아웃 XML 파일 Java 파일 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityAddVocaBinding.inflate(layoutInflater) setContentView(binding.root) // ... } 신기술 ``ViewBinding``을 사용하다 오류를 하나 찾아냈다. XML 파일에서 설정한 ``layout_margin``이 가로, 세로 모두 적용되지 않는 문제이다. 놀랍게도 구글링해서 답을 찾을 수 없었다. ``Fragment``에서 오류난 사람은 있었지만 ``Activity``에서 오류가 난 사람은 없었던 듯 하다. 해결책은 그냥 ``lay..
프로그래머스 월간 코드 챌린지 시즌1 접수 20년 08월 27일 14:00 ~ 11월 05일 18:00 테스트 20년 09월 10일 19:30 ~ 11월 05일 22:30 programmers.co.kr 시즌 1의 마지막 대회인 11월 대회이다. 하필 준PO 2차전이랑 겹쳐서 고민했는데, 야구를 버리기로 결정. 문제 1 두 벡터 $A$와 $B$가 주어질 때, 내적 $A \cdot B$를 구하는 문제. 그냥 구현하면 된다. 난 51초만에 제출하고 넘어갔다. 이걸 16초만에 코딩하는 사람은 뭐지 ㅋㅋ 예상 난이도: 브론즈2 문제 2 이진 문자열 $x$를 주어진 규칙에 따라 변환하는 문제이다. 문제에서 요구하는 대로만 구현하면 된다. 십진법 정수를 이진법으로 표현하는 방법을 몰랐다면 어려웠을 수도? 예상 난이..