포스팅 썸네일 이미지

TIL

240309 TIL - 면접을 위한 공부를 하지 말자

오늘 학습한 내용 Kotlin In Action 5.4 자바 함수형 인터페이스 활용, 5.5 수신 객체 지정 람다: with와 apply - 안드로이드에서 setOnClickListener의 인자를 람다 {}로 간단하게 적을 수 있는 이유는 인자에 무명 클래스의 인스턴스를 전달하는 대신 람다를 넘길 수 있기 때문이다. 이것이 가능하려면 인자는 추상 메소드가 단 하나만 있는 인터페이스여야 한다. 이러한 인터페이스를 함수형 인터페이스 또는 SAM 인터페이스라고한다. - with는 파라미터가 2개 인 함수다. 면접을 위한 공부하지 말기 유튜브 추천 영상에 나와 보게 됐다. 채용공고에서 클린코드를 우대한다는 곳에 지원하여, 클린코드에 대한 답변을 잘 했는데, 떨어진 경우가 있다고 한다. 그 이유는 "안다"의 기..

2024.03.09 게시됨

TIL

240308 TIL

오늘 학습한 내용 Kotlin In Action 9.3 변성: 제네릭과 하위 타입 Udemy 강의 - partition : 조건에 따라 collection을 두 개의 리스트로 분리하는 연산 - group: 데이터를 구분할 수 있는 값을 key로 갖는 map 타입으로 변환해주는 연산 - Nested class는 Outer class의 paramter에 접근할 수 없다. - Nested class는 Outer.Nested()와 같이 Outer 클래스를 통해 객체를 생성하지만, Inner class는 Outer().Nested()와 같이 Outer 객체를 통해서 생성한다. - A 클래스의 확장함수를 B 클래스의 body에서 정의할 수 있다. 생성된 A의 확장함수를 B만 호출할 수 있고, A는 호출하지 못한다...

2024.03.08 게시됨

TIL

240307 TIL - 네이버에 합격하는 분들은 어떤 사고를 하실까

오늘 학습한 내용 내일배움캠프 1주차 개인 과제 - 계산기 마무리 사용자가 한 줄로 연산식을 입력하도록 했고, +, -, *, /, % 연산자와 (, ) 괄호를 허용했다. 또한 소숫점을 포함한 실수의 입력도 허용했다. 구현은 6시 쯤에 완료했으나, 테스트 케이스를 작성할 때마다 fail이 추가됐다. 만약 이러한 구현 문제가 코딩테스트로 나왔다면 탈락하지 않았을까? https://github.com/DoTheBestMayB/NBC-calculator 저녁 시간에는 네이버 부스트캠프를 수료한 분들 중 네이버에 입사하신 분들이 입사 준비 과정 경험을 말씀해주시는 웨비나에 참여했다. CS의 중요성을 배웠다. 단순히 한 줄로 설명하는 정도의 짧막한 지식이 아닌, 면접관 분과 해당 지식에 대해 대화를 할 수 있을 ..

2024.03.07 게시됨

TIL

240306 TIL

오늘 학습한 내용 Kotlin In Action 5.3 지연 계산(lazy) 컬렉션 연산 - sequnece CS 학습 - if-else vs when https://dodobest.tistory.com/63 Udemy 강의 계산기 로직 구현 - 내일배움캠프 1주차 개인 과제로 계산기 구현을 진행 중인데, 괄호와 +,-,*,/를 지원하는 로직이 떠오르지 않아 관련 리트코드 문제를 풀어봤다. calculator3가 요구 조건과 비슷한 문제인데, 유료 결제 회원만 볼 수 있다. https://leetcode.com/problems/basic-calculator-ii/ https://leetcode.com/problems/basic-calculator/description/ https://leetcode.co..

2024.03.06 게시됨

포스팅 썸네일 이미지

학습/CS

If I can use if, when to use when

Kotlin 공식문서에서도 if 대신 when을 사용할 것을 권장하고 있습니다. 그런데 왜 if 대신 when을 사용해야 하는지 아시나요? Prefer using when if there are three or more options. https://kotlinlang.org/docs/coding-conventions.html#if-versus-when Coding conventions | Kotlin kotlinlang.org Kotlin의 when은 Java의 switch 문으로 변환된다. Kotlin에서 when을 사용하는 코드는 Java의 switch 문으로 변환됩니다. 직접 확인해봅시다. 아래와 같이 사용자가 입력한 값에 따라 Grade를 반환하는 함수가 있습니다. enum class Grade..

2024.03.06 게시됨

TIL

240305 TIL - sealed class

오늘 학습한 내용 Kotlin In Action 9.3 공변성 복습 및 반공변성에 대한 학습 - 제네릭을 제대로 활용하기 위해 꼭 필요한 개념이다. CS 학습 - sealed class, sealed interface, enum class의 차이와 언제 사용하면 좋은지에 대해 학습해봤다. https://dodobest.tistory.com/61 Udemy 강의 - 최상위 클래스 Any의 함수인 toString, equals, hashCode 예시를 통해 알아보는 Data class의 장점 Jetpack Compose Tutorial - Compose Essentials - 7. Get started with state 의존성 주입 강의 - Hilt 의존성 추가 오타로 시간을 많이 소모했다. 직접 타이핑 ..

2024.03.05 게시됨

포스팅 썸네일 이미지

학습/CS

Sealed class vs Sealed interface vs Enum

Sealed classsealed class는 같은 모듈의 같은 패키지에서만 상속할 수 있는 클래스로, 유한한 개수의 subclass로 구성된 closed type hierarchy를 제공하는 클래스다. 또한 상속은 런타임이 아닌 컴파일 타임에만 허용된다. 그래서 third-party 코드에서 sealed class를 상속하는 클래스를 정의할 수 없다. abstract class와 대비되는 것을 알 수 있다. 아래와 같이 MyResult가 정의되어 있는 패키지와 다른 a 패키지에 정의되어 있는 MyResponse 클래스가 MyResult Sealed class를 상속하지 못하는 것을 볼 수 있다. Inheritor of sealed class or interface declared in packa..

2024.03.05 게시됨

TIL

240304 TIL

오늘 학습한 내용 Kotlin In Action 5.1, 5.2 Android 의존성 주입 강의 1-3, 2-1 Android 구현 연습 - RecyclerView ViewHolder의 viewLifecycleOwner에 따라 CoroutineScope 실행하기 : 아래 링크는 참고했던 블로그 글인데, 앞으로 Trouble Shooting과 android deep dive 학습 방향의 기준으로 삼을 것이다. https://hodie.tistory.com/116 - Data class를 Json String으로 변환해서 SharedPreferences에 String으로 저장하기 : 클린 아키텍처와 관련된 문제로 이 구현은 잠시 미루고, 의존성 주입 강의를 빨리 수강한 후, 아키텍처를 다시 적용해야 함 오늘..

2024.03.04 게시됨

TIL

1주차 KPT

Keep : 잘하고 있는 점. 계속 했으면 좋겠다 싶은 점. 나에게 익숙한, 편한 공부가 아닌, 어려운, 하기 싫은, 불편한 것 위주로 학습하기 -> 현재 잘하는 것을 더 잘하기 위해서는 못하는 것을 잘하는 수준까지 끌어올리는 것이 필요한 것 같다 Problem : 뭔가 문제가 있다 싶은 점. 변화가 필요한 점. 코테 효율적으로 많이 풀어보기 : 10분 정도 생각해봐도 안 풀리는 문제는 답안을 보면서 생각하는 과정을 익히자. 아직 나는 많이 풀어본 경험이 부족하다. 경험을 통한 사고 과정을 익히는 것이 필요하다. Android 구현에서 막히는 부분이 있으면 멈추고 관련 개념 학습하기 : 구현을 하다가 내가 아직 학습하지 않은 아키텍처를 요구하는 부분이 나왔을 때, 배우지 않은 부분을 배제하고 구현하려다 ..

2024.03.04 게시됨