포스팅 썸네일 이미지

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 게시됨

TIL

240318 TIL

오늘 학습한 내용 프로그래머스 체육복 문제 풀의 작성 - 리트코드처럼 풀이 시간이 더 짧은 사람의 코드를 볼 수 있으면 하는데, scope function을 이용해서 짧고 멋있어 보이는 코드에만 👍이 찍혀서, 도움이 되지 않는다. 빨리 개선좀 했으면 좋겠다. - MinHeap, MaxHeap이 내부에 구현되어 있는 PriorityQueue를 이용해 정렬 시간 단축 https://dodobest.tistory.com/75 Kotlin In Action 6.2 코틀린의 원시 타입 - 함수가 exception을 던지기만 할 경우에 명시할 수 있는 타입인 Nothing을 배웠다. - 코틀린은 원시타입과 참조 타입을 구분하지 않는다. 다만 JVM에서 동작하기 위해 자바 코드로 변환되는데, 제네릭 타입에 원시 타입..

2024.03.18 게시됨

포스팅 썸네일 이미지

TIL

240315 TIL

오늘 학습한 내용 코틀린 코루틴 책 읽기 - 16장 채널, 17장 셀렉트, 18장 핫 데이터 소스와 콜드 데이터 소스 - Sequence(결과를 바로 반환, Hot Channel)와 Flow(사용자 요청이 있을 때, 연산 후 결과를 반환, Cold Channel)의 차이에 대해 배웠다. 현재 상황 Leetcode를 꾸준히 풀기 시작한지 약 2달 반 정도 지났는데, Medium 중간 이하 난이도 문제는 어느 정도 풀이의 흐름이 보이기 시작했다. Hard에 가까운 Medium이나 Hard 문제는 BruteForce 방식은 떠오르나, BruteForce의 반복되는 부분 또는 부분 문제로 분할하여 이전 값을 더 큰 문제에 적용하는 아이디어는 아직 떠오르지 않고 있다. 이전에 아이디어가 안 보이던 문제가, 자연스..

2024.03.16 게시됨

TIL

240314 TIL

오늘 학습한 내용 Kotlin In Action 10.2 리플렉션 일부 내용 내일배움캠프 2주차 개인과제 키오스크 구현 마무리 - 결제 잔액 확인 및, 서버 점검 시간 로직 구현 - Level5에 쓰레드 개념을 이용하는 요구사항이 있는데, 아직 코루틴에 대한 이해가 충분하지 않아 해당 요구사항은 구현하지 않았습니다. https://github.com/DoTheBestMayB/NBC-kiosk/tree/develop 의존성 주입 강의 4.3 Lazy와 Provider - Lazy는 Hilt Component에 Lazy 객체를 저장하고, Lazy 객체의 get 메소드 최초 호출하는 시점에 Lazy의 제네릭 T 클래스의 인스턴스를 생성한다. 최초 호출 이후에는 이미 생성한 인스턴스를 반환한다. - Provid..

2024.03.14 게시됨