| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 앱개발
- java
- Jetpack Compose
- 안드로이드스튜디오
- 프로그래밍
- PS
- Coding
- data class
- 비전공자를위한이해할수있는IT지식
- 코딩
- compose
- 백준
- DP
- 씨쁠쁠
- 코딩테스트
- 코틀린
- 자료구조
- kotlin
- 자바
- IT도서
- algorithm
- 리액트네이티브
- 알고리즘
- androidstudio
- 동적계획법
- 프로그래머스
- 안드로이드
- C++
- 개발자
- Android
- Today
- Total
목록전체 글 (35)
한 발짜국
일단 오픽을 보게된 이유는 당연히 공채에 지원하고 싶어서다. 주요 기업들이 오픽 없이는 지원도 안되는 것을 보고 부랴부랴 시험을 봤었다. 오픽 성적은 NH → IL → IM1 → IM2 → IM3 → IH → AL 순인데, 기본적으로 IM1, IM2 정도는 나와야하고, 많이들 IH, AL를 목표로 한다. 어떤 기업은 기본 커트라인이 IH인 곳도 있었다 ㄷㄷ 5개월 전 첫 시험에서는 어떻게 공부해야할지 몰라서 오픽노잼 영상 보면서 빈출 질문 몇가지만 집중적으로 연습해보고 시험을 봤었다. 역시나 횡설수설 답변을 했고 내용도, 문법도 엉망이었다. 결국 IM2를 받았었다. 하반기에는 성적을 좀 올릴 필요가 있었다. 지난번 시험에서 문장을 만들고 답변을 구성하는 데에 부족함을 느꼈기 때문에 이번에는 질문에 대해 ..
Android Weekly #684의 'Compose stability tips and tricks (Compose 안정성을 위한 팁과 트릭)' 를 읽고 작성하는 글이다. Compose stability tips and tricksJetpack Compose uses stability to decide whether it can skip a composable during recomposition. If your app uses too many unstable types, you might run into performance issues. That’s why it helps to understand what stability means in Compose, how to cheleedwon.github...
이번 글은 Android Weekly #686의 "Understanding Kotlin Coroutines: A Deep Dive into Blocking vs Non-blocking and Concurrent vs Asynchronous Execution"을 이해하며 적는 글이다. Understanding Kotlin Coroutines: A Deep Dive into Blocking vs Non-blocking and Concurrent vs…If you’ve ever felt confused about when coroutines actually run concurrently versus asynchronously, or why some operations seem to block…proandro..
캡슐화를 위해 항상 asStateFlow()를 사용해야 할까?Android Weekly #687 "Hot take : When Encapsulation Becomes Ceremony (캡슐화가 형식적인 절차로 전락할 때)" 를 읽고 작성하는 글이다.글의 내용과 함께 캡슐화, StateFlow 타입 캐스팅과 asStateFlow()의 차이에 대해서도 간단하게 정리해봤다.캡슐화 (Encapsulation)?객체 지향 프로그래밍에서 외부에 필요한 기능만 공개하고 내부 구현은 숨겨 외부에서 접근하거나 확인할 수 없도록 하는 것을 말한다. 이를 통해 외부로부터 내부 상태가 예상치 못하게 변경되는 것을 막고, 내부 구현의 변화에도 외부에 미치는 영향을 최소화할 수 있다.asStateFlow() vs StateFlo..
안드로이드 앱을 개발할 때, 디자인의 요구에 따라 기본 버튼의 크기를 조정해야하는 경우가 있다. 크기를 키워야 하는 경우에는 문제가 없지만, 크기를 줄여야 하는 경우, 줄일 수 있는 크기의 제한이 있음이 느껴질 것이다. 그 이유는 Android가 접근성을 고려하여 Material Design의 접근성 가이드라인에 따라 터치 영역의 최소 크기(48dp*48dp)를 준수하기 때문인데, 이 내용은 Android 공식 문서에서 확인할 수 있다. API 기본값 | Jetpack Compose | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. API 기본값 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Materia..
데이터를 표현하기 위한 클래스, 데이터 클래스(Data Class)를 왜 사용하는지에 대해 정리해본 내용을 간략하게 적어볼까 한다.간단한 이해를 위주로 했으니, 가볍게 읽어보기를 추천한다. Kotlin에서는 일반 class를 사용해도 똑같이 데이터를 저장할 수 있는데, 왜 굳이 data class를 사용할까? 결론부터 말하자면, data class는 데이터 전체를 값처럼 다루기 위해 필요한 기능(비교, 복사, 출력 등)을 컴파일러가 자동으로 제공한다.먼저 데이터 클래스(Data Class)는 어떤식으로 정의하나?data class Sample(val data1: String, val data2: Int)정의하는걸 봐서는 일반 클래스와 다를바가 없어보인다.하지만, data class는 class와 달리 필..
지난주부터 본격적인 코딩 테스트 공부와 깃허브 잔디채우기를 시작했는데 새로운 데스크탑에서 eclipse로 커밋 및 푸쉬를 했는데 잔디에 반영이 안됐다;;; 며칠을 그냥 보내고 오늘에서야 에러를 해결해보려고 했는데, 생각보다 이것저것 오류가 많았고 지식이 부족해서 굉장히 오래걸렸다. 결론적으로 에러 원인은 로컬의 이메일 문제였다. 너무 오랜만에 새로운 컴퓨터를 사용하다보니 git 이메일 설정도 안하고 default값으로 커밋하고 푸쉬하니 반영이 안된 것이었다. 커밋을 잔디에 반영하려면 Github 계정에서의 이메일 값 == 로컬 이메일 값 이어야 한다. 잔디 에러는 https://wellbell.tistory.com/43 github 잔디밭 안 심어지는 현상 해결 및 이미 커밋한 내용 반영하기 1. git..
lateinit var recyclerView: RecyclerView lateinit (늦은 초기화) 전역변수로 선언 후 null 값을 지정하지 않고 초기화하는 방법 일반적으로, null 타입이 아닌 프로퍼티는 반드시 생성자에서 초기화되어야 한다. 하지만 프로퍼티가 의존성 주입을 통해 혹은 단위 테스트 셋업 함수에서 초기화 되어야 하는 경우 이러한 방식은 편리하지 않다. 이러한 경우 생성자에 null이 아닌 초기화를 제공할 수 없지만, 클래스 본문 내에서 속성을 참조할 때 null 검사를 피하고 싶을 때 lateinit를 사용한다. 계속해서 값이 변경될 수 있다는 속성을 위해 무조건 var을 사용해야 하며, String을 제외한 Primitive Type (Int, Float, Double, Long ..
