포스팅 썸네일 이미지

TIL

240402 TIL - 앞으로의 TIL, Theme과 context, adjustViewBounds, 권한 요청

앞으로의 TIL 앞으로 문서로써 작성할만큼의 내용을 새롭게 배우지 않은 경우, TIL을 작성하지 않을 계획입니다. TIL을 작성하지 않는다고 해서 제가 학습을 하지 않는 것은 아닙니다. 다만, 블로그에 내용이 없는 글의 빈도를 줄이고자 합니다. Theme과 Context Context에는 Theme에 대한 정보가 없습니다. 그래서 Theme 정보를 필요로 하는 곳에 baseContext나 applicationContext를 전달하면 아래와 같은 에러가 발생합니다. MaterialAlertDialogBuilder(baseContext) .setTitle("이미지 권한 안내") .setMessage("갤러리에 있는 이미지에 접근하려면 저장소 권한이 필요합니다.") java.lang.IllegalArgumen..

2024.04.02 게시됨

포스팅 썸네일 이미지

TIL

240328 TIL - 공공데이터 포털 버스 API 돌아보기

오늘도 이전 프로젝트 코드들을 다시 점검했으며, 주된 목표는 API 확인 및 로직 간소화였습니다. 초정밀 버스 구현을 위한 API 다시 확인해보기 이전에 카카오에서 제공하는 초정밀 버스를 서울시와 경기도 API를 이용해 구현하고자 했습니다. 경기도는 버스 좌표를 제공하지 않아 구현하지 못했지만, 서울시는 API를 통해 버스의 실시간 GPS 좌표를 제공하여 구현을 시도했습니다. 아래 영상은 당시 API를 이용해 서울시 버스의 실시간 좌표를 추적하며 테스트해본 것입니다. API를 통해 위치를 업데이트할 때마다 버스 마커가 깜빡이도록 설정했습니다. 최소한 5초는 지나야 위치가 업데이트 되어, 갱신 주기를 5초로 설정했습니다. 당시에는 이 기능을 빼는 것으로 결정했습니다. 구로디지털단지 주변의 일부 버스는 30..

2024.03.29 게시됨

포스팅 썸네일 이미지

TIL

240327 TIL - 학습 방향 수정

기존 학습 방향 아래의 내용들을 1~2시간 씩 시간을 쪼개서 매일 학습하고 있었습니다. Hilt 주입 강의 Kotlin In Action 책 코틀린 코루틴 책 인프런 CS 강의 LeetCode Android 구현(사이드 프로젝트) 피드백 받은 부분과 지금 학습할 내용 부족하다고 생각되는 모든 것을 학습하는 것이 아니라, 취업을 위해 당장 부족한 부분을 하나 하나 채워가는 것이 좋다는 피드백을 받았습니다. 현재 저의 서류는 거의 백지와도 같은데, 이전에 진행했던 팀프로젝트에서 적을 내용이 없다고 생각했기 때문입니다. 그런 생각에서 멈추지 말고, 그러면 적을 내용이 있도록 프로젝트를 개선하고, 다른 팀원이 구현한 내용들도 보면서 서류를 우선 완성하는 것이 좋겠다는 피드백을 받았습니다. 그래서 기존에 학습하던..

2024.03.27 게시됨

포스팅 썸네일 이미지

TIL

240326 TIL - Volatile, Custom View 그리고 String 문자열 다루기

오늘 학습한 내용 인프런 CS 강의 DEEP DIVE : 싱글톤 패턴을 구현하는 7가지 방법 #2 ( Volatile 관련 개념 ) 사이드 프로젝트 - PickPick Custom View에서 Layout이 View를 어떻게 그리는지 분석 프로그래머스 문자열 내림차순으로 배치하기 문제 다시 풀어보기 Volatile 멀티쓰레딩 환경에서 쓰레드가 2개 이상 생성되면 각 쓰레드는 변수가 케시메모리에 존재하면 그 값을 사용하며, 존재하지 않을 때 메인메모리에 접근하여 가져온다. 만약 쓰레드 A가 특정 Flag가 false로 바뀌기 전까지 while문을 반복할 때, 다른 쓰레드가 해당 값을 바꿔도 쓰레드 A는 캐시 메모리에 있는 값만 바라봄으로써 영원히 while문을 벗어나지 못할 수 있다. 예를 들어, 아래 코..

2024.03.26 게시됨

포스팅 썸네일 이미지

TIL

240325 TIL

오늘 학습한 내용 Kotlin In Action - 6.3 컬렉션과 배열 - 7.1 산술 연산자 오버로딩 일부 인프런 CS 강의 - 디자인패턴 소개 - 라이브러리와 프레임워크의 차이 - 싱글톤 패턴 DEEP DIVE : 싱글톤 패턴을 구현하는 7가지 방법 #1 Hilt 주입 강의 - 5-4. Hilt를 이용한 의존성 주입 예제 사이드프로젝트 - SwipeDeck Repository Kotlin으로 변환하면서 로직 흐름 살펴보기 240325 23:05 기준으로 Notion이 고장나서, 오늘 학습한 내용을 정리한 노션 페이지에 접근할 수 없다. 내일 아침에 노션이 고쳐지면 학습한 내용 목록을 업데이트할 것이다. PDT는 한국 표준시보다 16시간 느리다고 한다.

2024.03.25 게시됨

포스팅 썸네일 이미지

TIL

240322 TIL

Kotlin Companion Object와 Java static에 대해 학습했습니다. 가독성이 좋지 않은 것 같아, 주말에 부족한 내용(object와 companion object의 차이, Kotlin의 const 키워드에 따른 차이 등)을 보충하면서 글을 정돈할 예정입니다. https://dodobest.tistory.com/82 Kotlin의 companion object vs Java의 static Kotlin에서의 object 키워드 object 키워드를 이용해서 클래스를 정의하면, 정의와 동시에 인스턴스(객체)를 생성합니다. object 키워드를 사용하는 상황은 아래와 같습니다. 이 중에서 객체 식을 제외 dodobest.tistory.com 처음에는 Stack을 이용했으며, 그 다음에는 Mu..

2024.03.22 게시됨

포스팅 썸네일 이미지

TIL

240321 TIL - Kotlin Weekly

Kotlin Weekly Lint를 이용해 코드 리뷰의 redundant 제거하기 https://proandroiddev.com/stop-debating-in-code-reviews-start-enforcing-with-lint-rules-6632c907ea94 Stop Debating in Code Reviews. Start Enforcing with Lint Rules. How to enforce architecture and best practices as unit tests with Konsist proandroiddev.com 코드리뷰를 하다보면, 코딩 convention과 관련된 내용을 언급할까 말까 고민되는 부분이 있다. 예를 들어, Kotlin Coding Convetion에서는 forEa..

2024.03.21 게시됨

TIL

240320 TIL - 학습한 내용 목차만 작성하는 이유

오늘 학습한 내용 Kotlin In Action 6.3 컬렉션과 배열 일부 Leetcode daily 외 추가 문제 풀기 인프런 CS 강의 클라우드 #1. 가상머신(virtual machine) 클라우드 #2. 오프프레미스(off-premise)와 온프레미스(on-premise) 클라우드 #3. IaaS와 PaaS와 SaaS 클라우드 #4. 컨테이너(container)와 도커(docker) EditText의 state 복원 원리 알아보기 https://dodobest.tistory.com/79 안드로이드 권장 아키텍처 문서 읽기 https://developer.android.com/topic/architecture Hilt 강의 보기 4-5. 멀티 바인딩기법 5-1. Hilt ViewModel 내일배움캠..

2024.03.21 게시됨

TIL

240319 TIL

오늘 학습한 내용 코틀린 코루틴 책 - 19장 플로우란 무엇인가? - 20장 플로우의 실제 구현 Hilt 주입 강의 4-4 바인딩 기법 사이드 프로젝트 계획하기 - 틴더와 같은 Swipe Layout을 가진 이상형 월드컵 인프런 CS 강의 보기 - 데이터교환형식 #2.XML -> eXtensible Markup Language의 약자로 마크업 형태를 쓰는 데이터 교환 형식 마크업은 태그등을 이용하여 문서나 데이터의 구조를 나타낸 것 HTML과 XML, JSON과 XML의 차이 - API #1. 개념 -> 컴퓨터 사이의 데이터 교환을 위한 약속이 정의된 인터페이스

2024.03.19 게시됨