전체 글

Never stop acting like the new one on the team
한달에 교양 책 한권

젯팩 컴포즈로 개발하는 안드로이드 UI

약 300 페이지의 두껍지 않은 책인데, 글 간격과 글자 크기도 꽤 카서 빠르게 읽기 좋다. 아마 다른 분들은 이틀이면 보지 않을까 싶은데, 육아 하고 남은시간 보면서 5일이상 걸린 것 같다 ㅋ..ㅋ 회사에서 업무에 도움이 되는 읽고 싶은 책을 구매해서 볼 수 있도록 지원해줘서 굉장히 좋다. 읽으면서 중요한 내용이나 몰랐던 내용들에 포스트잇을 붙여놨는데 굉장히 많았다..! (그만큼 모르는 것이 많음) 곧 있을 컴포즈 스터디에도 도움이 많이 될 것 같다. 처음에 봤을 때는 내가 원하는 내용들에 너무 간소하게 나와있어서 아쉽다라고 생각했는데 다 보고나니 오히려 가볍게 읽고 궁금한 부분은 좀더 찾아볼 수 있도록 저자가 잘 가이드해뒀다고 생각이 들었다. (동료 추천을 받아 구매했는데 만족+_+) 아직 국내에는 ..

Android/Compose

Tips. Compose stable, unstable 상태와 자주 사용하는 어노테이션 정리

혹시나 잘못된 내용이 있다면 정정해주세요 (항상 헷갈리더라구요) Stable vs Unstable 상태 Stable : Recomposition 일 발생했을 때 parameter 가 Stable 하다면 Compose Runtime 에서 Recomposition 을 건너뛰는 것(Skippable)이 가능한 상태를 말해요 Unstable : 상위 Composable 함수에서 Composition, Recomposition 이 발생했을 때, 항상 Recomposition 이 발생하는 상태를 말해요 Stable 어노테이션 vs Immtable 어노테이션 를 알아보기 전에, 내부/외부로부터 상태 변경 에 대한 부분을 꼭 알아야해요 fun ContactRow(contact: Contact) { var selecte..

한달에 교양 책 한권

클린 코더(The Clean Coder)

진정한 소프트웨어 장인이 갖추어야할 마인드셋에 대한 책 지은이의 경험으로 풀어가는 전개로 공감도 가고 재미도 있었다. 그래서 개발자라면 읽어보는 것을 강추한다. 충돌, 빡빡한 일정 조율 등 다양한 주제가 담겨있다. 그중 기억나는 부분은 "규율에 의지하자" 항목이 있다. 상황이 어려워질 때 프로젝트, 팀, 나 자신이 정한 규율을 믿어야 한다는 점이다. 규율을 세운 이유가 압박이나 어려운 상황에서 길잡이로 삼기 위해서다. 규율을 의심하거나 포기해야할 때란 없다. 일정관리에 대한 노하우도 인상 깊었다. 7일 걸리는 업무라고 판단하고 이야기했는데, 매니저나 이해관계자가 5일 이내로 끝내 달라고 하면 어떻게 행동할 것인가 ? 잘 모르겠지만 주말이나 저녁시간을 모두 충당하면 가능할 수도 있으니 알겠다라고 할 것인가..

Android/Development Tips

간단 Tips. Retrofit2 을 사용할 때 언제 WorkerThread 에서 동작할까 ?

Retrofit2 사용할 때 혹은 코루틴과 함께 사용할 때 기본으로 WorkerThread 에서 동작한다는 이야기 들어보신적 있으시나요? 항상 WorkerThread 에서 동작한다고 기대하면 안되는 케이스와 기대해도 되는 케이스에 대해 알아보려해요~! 대략 Retrofit2 의 기본 처리, 코루틴의 기본처리, jakewharton 이 제공하는 CoroutineCallAdapterFactory 처리, RxJava 의 기본처리 방식에 대해 알아볼꺼에요. Retrofit2 로 요청을 보내는 로직에 Thread.currentThread().name 을 출력해보면, "OkHttp ${RequstUrl}" 형식으로 출력되고 있을꺼에요. 이는 OkHttp 에서 가지고 있는 WorkerThread 로 동작하고 있다고 ..

한달에 교양 책 한권

이펙티브 코틀린

2회독 했던 개발책이 손이 꼽을정도인데 그중 하나인 책 다만 1회차에서는 이펙티브자바랑 겹치는 내용이나, 다른 개발 서적과 중복되는 내용이 많아서 겹치는 목차나 알고 있다고 생각했던 목차는 넘어갔었는데, 2회차에서는 차근히 읽어봤다. 1회차보다는 많은 부분을 이해한 것 같은데, 아직 완벽하게 이해했다고 생각들지 않는 부분들도 꽤 있었다..! 382 페이지의 두꺼운 책은 아닌데 시간날 때 보면서 중간중간 검색이나, 이해하면서 읽어야 하는 부분들이 존재해서 시간이 꽤 걸렸다 (대략 3주 정도) 결과만 이야기하자면, 코틀린을 주력으로 하는 개발자라면 읽어봐야할 서적으로 생각된다. 리팩토링이나 이펙티브 자바를 처음 읽을 때의 머리를 띵~ 하고 맞는 정도의 충격은 없었지만 읽는 의미가 충분하다. 회사 팀원분의 추..

한달에 교양 책 한권

안드로이드 뜻밖의 역사

오늘의 시작은 영상 하나와 함께 하고 싶다. https://youtu.be/XxbJw8PrIkc?t=41 위의 비디오는 스티븐 발머가 마이크로소프트에서 .NET 에 대해 연설하는 영상이다. 스티븐 발머는 땀에 흠뻑 젖은채로 .NET 의 성공의 열쇠는 ? "개발자들(Developer)!"이라는 단어를 무려 14번동안이나 외친다. 개발자들에게 쓸 만한 도구를 제공해야한다는 것이다. 안드로이드가 성장한 이유 하나는 함께 만들어진 개발자 생태계로, 이러한 생태계는 저절로 생기지 않는다. 따라서 안드로이드 개발자들의 진입 장벽을 낮추고 개발자들이 자기 어플리케이션을 쉽게 작성하고 판매할 수 있도록 개발자 도구를 제공해야했다. 안드로이드를 주업으로 삼고있는 나에게는 대학교에서 꼭 읽어야하는 전공 필수 책처럼 느껴졌..

Android/Development Tips

Compose. StateFlow + List 를 활용하여 Recomposition 할 때 Tips

오픈 카톡방에서 질문이 올라와서 공유를 위해 작성해둡니다. List(MutableList)를 사용할 때, 갯수가 동일하고 특정 요소의 프로퍼티만 변경하는 경우 StateFlow 의 setValue 까지는 동작하지만, Recomposition 이 발생하지 않아 화면이 업데이트 되지 않는 경우가 존재 합니다. 이는 기본적으로 Kotlin의 List를 Compose 컴파일러는 불안정한 자료구조로 보기 때문에, 사이즈가 동일하고, 한 프로퍼티만 변경된 경우라면, 리스트 자체는 바뀌지 않은 것으로 간주되어 Compose가 이를 감지하지 못할 수 있습니다 그래서 따로 핸들링 해줘야 합니다. (Stable 과 흡사합니다.) 그런 경우 검색해보면, https://velog.io/@jsoh/Jetpack-Compose-..

한달에 교양 책 한권

금융 초보자가 가장 알고싶은 최다 질문 feat. 크레마S

책 읽는 습관이 조금식 생기는 것 같아서, 크레마S 를 구매했다! 만족감은 높은 편이다. 가볍고 한손에 들기 편해서 마음만 먹는다면 핸드폰(크레마S 가 액정은 좀더 크지만 크기는 비슷하다)을 사용하는 어디서든 활용할 수 있다. 그리고 구독상품을 사용하려 했으나, 모교에서 열린 도서관을 지원해줘서 공짜로 책을 보고 있다 +_+ (졸업한지 굉장히 오래되었는데 고마울따름이다) 크레마를 구매하고 가장 먼저 읽은 책이다. 약 400 페이지가 조금 넘어간다. 사람들이 궁금해할 질문에 대한 답변을 하는 형식으로 전개된다. 이따금식 질문이 다른 책에서 나오는 질문과 완전히 겹치거나 문단 자체가 비슷한 부분들이 있어서 이후에 참고도서를 보니 이해되었다. (최근에 읽었던 책들이 몇개 있었다) 비교적 답변을 길게 하지 않기..

한달에 교양 책 한권

헤드 퍼스트 디자인 패턴 with ChatGPT

책의 흐름 : 패턴을 설명하기 전에 알아야 하는 원칙이 있다면 미리 설명하면서 패턴을 그 이후에 설명하는 방식으로 전개 하고 있습니다. 그림이 많아 이해하기 쉽습니다. 1차적으로는 책의 내용을 요약 하였고, ChatGPT 에게 보완 받았습니다. 디자인 패턴 객체지향 기초지식만 가지고는 훌륭한 객체지향 디자이너가 되기 어렵습니다. 훌륭한 객체지향 디자인이라면 재사용성, 확장성, 관리의 용이성을 갖춰야 합니다. 패턴은 훌륭한 객체지향 디자인 품질을 갖추고 있는 시스템을 만드는 방법을 제공하곤 합니다. 패턴은 오랜시간 많은 사람들에게 검증받은 객체지향 경험의 산물 입니다. 패턴이 코드를 바로 제공해주는 것은 아님, 디자인 문제에 대한 일반적인 해법을 제공해줍니다.(특정 어플리케이션 패턴을 적용하는 것은 우리가..

Nanamare
TEAM > SELF