전체 글

전체 글

    4월 24일 ~ 5월 21일 회고 및 5월 21일 ~ 6월 25일 목표

    2022.04.24 ~ 2022.05.21 목표 수위키 - 리팩토링 (완료) 코틀린 완벽 가이드 - 6장 (완료) (CMC 합격) 해당 활동 시작 2022.05.21 ~ 2022.06.25 목표 수위키 - 마무리하기 코틀린 완벽 가이드 - 6장 (완료) CMC

    [Android/Kotlin] 푸시 알림이 팝업으로 뜨지 않을 때 Notification won't show up as a heads up notification

    https://stackoverflow.com/questions/71482843/android-notification-wont-show-up-as-a-heads-up-notification Android notification won't show up as a heads up notification I am using the following code to show my notification: NotificationCompat.Builder builder = new NotificationCompat.Builder(context, context.getString(R.string. stackoverflow.com PRIORITY_HIGH, IMPORTANCE_HIGH를 적용해도 팝업이 뜨지 않아서 삽질을 ..

    3월 20일 ~ 4월 23일 회고 및 4월 24일 ~ 5월 21일 목표

    2022.03.20 ~ 2022.04.23 목표 알고리즘 백준 - 골드4 이상으로 매일 풀기 (중단) 코드포스 - 매주 일요일 한 문제 풀기 + 문제 해석 후 블로그 업로드 (중단) 중단 사유 : 기초를 다질 필요성 느낌. 억지로 하다 보니 역효과 수위키(강의평가 프로젝트) 개인정보처리방침 (완료) 이용약관 (완료) 수위키 서버 연결까지 끝내기 (완료) 소마 (소마 붙으면) 포토폴리오 작성 (소마 떨어지면) 비트모 리팩토링 --> CMC로 대체 2022.04.24 ~ 2022.05.21 목표 수위키 - 리팩토링 코틀린 완벽 가이드 - 6장 (CMC 합격) 해당 활동 시작

    CMC 10기 안드로이드 면접 후기

    결론부터 말하자면 완전 털렸다... 기술 면접이 안 나올 거라 생각한 잘못도 있지만 가장 큰 잘못은 평소 개발을 할 때 왜 사용하는지도 모르고 여러 기능(?)들을 사용한 것이다. data class를 사용할 때도 그냥 남들 다 쓰니까... 사용하고 companion object도 그냥 사용하고... (추가로 object와 companion object의 차이점도 잘 모른다.) mutablelivedata와 livedata를 사용하면서도 둘의 차이점을 전혀 고려하지 않았다. 그 외에도 털린 게 많았는데 기억이 나지 않는다. 면접이 끝나니 더 좋은 답변이 생각나기도 했다. (만약 CMC 기술 면접을 준비한다면 본인의 github에서 사용한 기술을 토대로 물어보니 참고하면 좋을 거 같다...!) 스스로 만족스..

    [Kotlin/코틀린] Infix 함수 (Infix notation)

    Infix 두 개의 변수 사이에 오는 함수 조건 멤버 함수이거나 확장 함수여야 함 하나의 매개변수를 가져야 함 기본 값을 가질 수 없으며 varargs 사용 불가 예시 1 infix fun Int.shl(x: Int): Int { ... } // calling the function using the infix notation 1 shl 2 // is the same as 1.shl(2) 예시 2 fun main() { infix fun Int.times(str: String) = str.repeat(this) // 1 println(2 times "Bye ") // 2 val pair = "Ferrari" to "Katrina" // 3 println(pair) infix fun String.onto(..

    [Kotlin/코틀린] 타입 체크, 자동 형변환 (Type checks and automatic casts)

    is is 연산자를 통해 타입 체크를 할 수 있다. 또한 immutable 로컬 변수(val)이거나 property가 어떤 타입인지 확인되었다면 자동으로 형 변환이 이뤄진다. 예시 1 fun getStringLength(obj: Any): Int? { if (obj is String) { // 'obj' 가 String 타입임이 확인됨. // `obj` 를 String 타입으로 자동 형변환 return obj.length } // `obj` 가 String 타입이 아니라면 여전히 Any 타입 return null } 예시 2 !is과 같은 형태로도 사용 가능하다. fun getStringLength(obj: Any): Int? { if (obj !is String) return null // `obj` ..

    4/8 회고

    소프트웨어 마에스트로, 매쉬업 불합격 소프트웨어 마에스트로 1차 코딩 테스트는 합격했지만 2차 코딩 테스트에서 떨어졌다. 대안으로 매쉬업에 지원했지만 역시 떨어졌다. 소마의 경우... 백준 플레 5이고, SQL 역시 프로그래머스 고득점 SQL Kit를 5회 이상 풀었기에 코딩 테스트는 당연히 붙을 줄 알았다. 떨어지더라도 면접 가서 떨어질 거라 생각했다. 생각보다 타격이 컸다... 떨어진 이유를 생각해봤다. 소프트웨어 마에스트로 열심히 준비했던가? 아니, 1차 코테 합격 후 2차 코테까지 남은 기간이 좀 있었지만 알고리즘 문제를 게을리 풀었다. "당연히 붙겠지"라는 생각이었다. 코테 기간에만 게을렀는가 하면 그건 또 아니다. 알고리즘 문제를 풀 때, 풀이가 바로 생각나는 문제만 골라서 풀었다. 자주 풀어..

    [Android/Kotlin] Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE ...

    안드로이드 12로 넘어오면서 생긴 문제. 해결 방법 1 dependencies { implementation 'androidx.work:work-runtime-ktx:2.7.1' ... } 해결 방법 2 val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_MUTABLE); PendingIntent를 사용하는 곳에 PendingIntent.FLAG를 설정해준다. Android 12 이후 부터 반드시 설정해야한다. 저는 1번의 방법이 안되서 2번 방법으로 해결했습니다...!

    2월 20일 ~ 3월 19일 회고 및 3월 20일 ~ 4월 23일 목표

    2022.02.20 ~ 2022.03.19 목표 알고리즘 구간 합 졸업하기 (기준 골2 ~ 3) (성공) 매일 실5 ~ 골5 2시간 안에 6문제 풀기 (실패) web js Ajax 까지 (포기) 프로젝트 강의평가 - ui 마저 완성 (성공) 소마 준비 (성공) html, css - 매일 한 문제씩 (포기) sql - 프로그래머스 sql 고득점 kit 3회 풀기 (성공) 개인정보처리방침 & 이용약관 (진행중) 클린 코드 챌린지 (성공) 2022.03.20 ~ 2022.04.23 목표 알고리즘 백준 - 골드4 이상으로 매일 풀기 코드포스 - 매주 일요일 한 문제 풀기 + 문제 해석 후 블로그 업로드 수위키(강의평가 프로젝트) 개인정보처리방침 이용약관 수위키 서버 연결까지 끝내기 소마 (소마 붙으면) 포토폴리..