디자인 시스템의 필요성을 못 느꼈는데 최근 들어 많이 느끼고 있어 정리를 해본다. 디자인 시스템에 회의적이었던 나전 회사에선 웹뷰 비중이 커서 앱 단에서 적용할 디자인 시스템이랄 게 없었다. 앱바나 바텀시트 등을 컴포넌트화 해서 쓰는 정도였다. 디프만에서 했던 사이드 프로젝트에선 디자인 팀원들이 엄청 작은 단위까지 디자인 시스템을 만들어줬는데 다 만들기엔 시간이 너무 오래 걸릴 것 같아서 자주 쓰일 것 같은 몇개만 컴포넌트화 해서 썼었다 이렇게 처음 해보고는 "좋긴 한데 만드는 시간을 고려하면 배보다 배꼽이 더 큰 거 아닌가?"라는 생각이 들었다. 그래서 디자인 시스템에 회의적이었고 지금 회사에 들어오고 나서도 "정말 효용이 있는 것이 맞는가? 전체적으로 보면 오히려 생산성이 떨어진 결과가 나올 수 있지..
배경작년에 어느 한 회사의 면접에서 "ANR을 모니터링 및 대응하는 본인만의 노하우가 있나요?"라는 질문을 받았었다. 그동안 개발하면서 한 번도 ANR을 만들어본 적이 없는데 얼마전에 처음으로 만들어봤다. 파베 crashlytics에 집계가 됐고 마지막으로 찍힌 이벤트와 로그를 보면서 추적했다. ANR이라는 것 자체가 메인 스레드 블락을 암시하기 때문에 어떤 게 문제가 됐을지 추려보는 건 어렵지 않았다. 대응"사용자의 디바이스 성능이 너무 떨어지는 건 아닐까?" 싶었는데 거의 최신 기종이라 이건 아닌 것 같았고 시간복잡도가 큰 로직이 메인 스레드에서 돌고 있어서 발생한 것으로 파악했다. 해시맵을 사용해서 로직의 시간복잡도를 n^2 -> n으로 개선했고 Dispatcher.Default에서 돌려주는 것으..
Row() 함수는 modifier라는 매개변수를 받는다. modifier는 젯팩 컴포즈의 핵심 기술로 컴포저블 함수의 외형과 행위에 영향을 준다. 3장에서 자세히 다룬다. Recomposition : 컴포저블 함수를 다시 그리는 것. MutableState 타입의 값을 변경하면 컴포저블 함수는 다시 그려지거나 다시 채색된다. Box()는 한 개 이상의 자식 컴포저블 함수를 포함할 수 있다. remember, mutableStateOf는 모두 상태를 생성하고 관리하는 데 매우 중요한 역할을 한다. 컴포저블 함수가 상태를 갖는다면 상태가 변경될 경우 컴포저블 함수는 재구성된다. mutableStatesStateOf()를 사용해 상태를 생성하고 remember를 사용해 상태를 기억한다. 그리고 상태를 다른 ..
회사에 들어온지 곧 2주가 되고 이번달이 지나면 2년차에 접어듭니다.'개발자취'라는 카테고리는 개발+발자취의 합성어로 개발자로서 제가 걸어온 길을 기록으로 남기는 공간입니다. 신입 생활코드 파악 어려움실무에서 몇년간 쌓여온 만큼 볼륨이 크고 depth가 깊은 코드가 많았는데 당시 신입이었던 저는 이런 경험이 처음이라 어려움을 느꼈습니다.xml에 렌더링 프리뷰가 없는 경우엔 어떤 뷰인지 바로 파악이 안 돼서 헤맸던 기억도 납니다. 그리고 자기가 작성한 코드도 몇달 지나면 기억이 잘 안 나는데 주요 로직들이 함수가 너무 길게 작성돼있어서 큰 맥락을 바로 파악할 수가 없었고 각 잡고 뜯어봐야 했었습니다. 함수 분리에 대한 필요성을 크게 느끼기도 했습니다. 업무 생산성과 커뮤니케이션에 대한 고민또 저는 디버깅..
11개월 간의 첫 회사 생활을 마치고 새로운 회사로 이직을 하게 되었습니다. 간단히 회고록을 작성해보려고 합니다. 서류를 냈을 그 시기엔 원래 이직 생각이 별로 없었습니다. 이직을 원하지 않다기보단 기회가 와도 못잡는다는 생각에 반년 정도는 공부가 더 필요하다고 생각했기 때문입니다. 주말에도 학생 때처럼 하루종일 카페에서 공부하던 무렵에 우연히 디프만 단톡방에서 재직자분께서 공유해주신 채용 공고를 보고 지원하게 되었습니다. 그리고 다음날 점심에 갑자기 카톡이 왔습니다. 지원한지 12시간도 안 됐었기 때문에 "이렇게 빨리?"라는 생각에 놀랐던 기억이 납니다. 지원은 했지만 3년 이상 공고였기 때문에 큰 기대를 하지 않고 있었는데 갑자기 면접 일정이 잡혀버리니 부랴부랴 준비하기 시작했습니다. 스터디룸을 빌..
멘토링픽플 9월에 동아리 후배님으로부터 메일 하나가 왔습니다. 자유 주제로 스픽커 활동을 해줄 수 있는지에 대한 내용이었는데요.안면도 없는 사이인 저에게 컨택을 주신 용기와 행동력에 꼭 도움을 드리고 싶었지만 한편으로는 고민이 됐습니다. "나도 아직 갈 길이 먼데 누군가에게 뭔가를 알려줄 정도가 되나?"라는 생각이 들었기 때문입니다. 그러다 지식이 아닌 경험을 공유하는 주제에 대해서는 할 수 있겠다 싶었습니다. 그래서 제가 실무 기회를 얻기 전까지 했던 고민들, 준비해왔던 과정들을 소개하는 자리를 만들었습니다. 신청자가 아무도 없을 줄 알았는데 클래스에 총 7분이 참석을 해주셨습니다. 전혀 부담을 못 느끼다가 당일이 돼서야 긴장이 조금 됐습니다. 일산, 수원, 파주 등에서 오셨다는 얘길 듣고 그렇게 먼..