포스팅 썸네일 이미지

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

포스팅 썸네일 이미지

코딩테스트

Kotlin Boxing Type 쓰지 마세요 체질이라는게바뀝니다

240409 내용 추가 이 글에서 설명한 시간 측정 차이는 프로그래머스 채점 오류라고 생각합니다. 아래 글을 참고해주세요. https://dodobest.tistory.com/96 프로그래머스 시간 측정 오류와 H-Index 문제 프로그래머스 Kotlin 시간 측정 오류 https://dodobest.tistory.com/86 Kotlin Boxing Type 쓰지 마세요 체질이라는게바뀝니다 프로그래머스 문자열 내림차순으로 배치하기 문제를 풀어보며, String을 다룰 때 어 dodobest.tistory.com ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 프로그래머스 문자열 내림차순으로 배치하기 문제를 풀어보며, String을 다룰 때 어떻게 하면 시간을 단축할 수 있는지 알아보겠습니다. https://s..

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

포스팅 썸네일 이미지

코딩테스트

프로그래머스 햄버거 만들기 Kotlin 빠른 답안

https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제의 테스트 케이스가 모든 경우를 다루고 있지 않아, 꼼수로 소요 시간을 줄일 수 있다. class Solution { fun solution(ingredient: IntArray): Int { var answer: Int = 0 var idx = 0 val stack = IntArray(100) var cursor = 0 for (num in ingredient) { if (num == or..

2024.03.22 게시됨

포스팅 썸네일 이미지

학습

Kotlin companion object vs Kotlin object in class vs Java static

목차 object 키워드는 무엇인가 object class는 무엇인가 companion object는 무엇인가 Java에서의 Kotlin Companion object Companion object에서 const val는 어떻게 변환될까 class 내의 object class와 companion object는 어떤 차이가 있는가 Java static block @JvmStatic @JvmField 자바에서 Kotlin Companion Object와 같은 클래스 만들어보기 1. Kotlin에서의 object 키워드 object 키워드를 이용해서 클래스를 정의하면, 정의와 동시에 인스턴스(객체)를 생성합니다. object 키워드를 사용하는 상황은 아래와 같습니다. 이 중에서 객체 식을 제외한 나머지 2가지..

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

포스팅 썸네일 이미지

학습

EditText가 입력된 text를 복원하는 과정

EditText는 입력한 state를 복원해준다. EditText에 입력한 값은 별도의 State로써 직접 관리하지 않아도, 입력한 값이 복원되어 사용자에게 그대로 보입니다. 단, xml에서 id를 설정해준 경우에만 동작합니다. 로그로 찍어보면 어떨까요? onCreate 함수에서 EditText에 있는 text 값을 찍어본 결과, 입력한 값이 아닌 빈 값이 출력됐습니다. 왜 그럴까요? EditText의 동작 원리 이유는 EditText에 입력된 값이 복원되는 것은 savedInstanceState를 이용한 방식이기 때문입니다. onCreate에서도 savedInstanceState를 파라미터로 입력받고 있기에 onCreate에서 복원될 수도 있지만, onCreate에서 복원되지 않은 경우에는 onRest..

2024.03.20 게시됨