지금까지 여러 사이드 프로젝트를 하면서 에러를 겪은 적은 많았다. 그러나 대부분의 사이드 프로젝트가 그렇듯 유저가 없었기에 나와 팀원들이 (혹은 지인들이) 발견해서 고쳤다. 또 대부분의 에러가 심각한 문제는 아니었다. 주요 기능을 사용할 수 있는 선에서 조금 불편해지는 정도였다. 그러나 이번엔 메인 기능을 사용할 수 없을 정도의 큰 에러를 제보받게 되었다. 반려동물의 이름 입력이 안된다는 제보였다. 나는 쭉(ZOOC)이라는 팀에서 핏어팻(fitapat)이라는 서비스를 운영하는 안드로이드 개발자다. 핏어팻은 유저 반려동물의 이름, 종, 사진을 입력 받고 AI를 통해 반려동물 커스텀 굿즈를 만들어 판매하는 서비스다. 반려동물을 등록해야 제품을 구매할 수 있는데, 반려동물 이름 입력이 안된다는 것이었다. 즉,..
트러블 슈팅
코틀린과 자바는 한글 네이밍이 가능하다. (변수명, 클래스명 등) 하지만 우리는 주석을 제외하고는 코드에서 한글을 마주치는 경우가 거의 없다. 또 영문으로 코드를 작성하는 것에 익숙하기에, 의미가 잘 전달되더라도 한글 네이밍을 보면 눈살이 찌뿌려질 수 있다. 그렇다면 한글 변수는 나쁜가? 사람들이 한글 변수를 사용하지 않는 이유를 개인적으로 추측해보았다. 코드를 영어로 작성하는데 중간에 한글을 섞으려면 한/영 키를 눌러야한다. (즉 키보드를 한 번 더 눌러야한다.) 영어로 전부 작성되어있는 코드 사이에 한글이 박혀있으면 굉장히 생소하다. 카멜케이스 같은 네이밍 컨벤션을 적용하기 어렵다. 한번쯤 생각해 보았더라도 동료들을 설득할 수 있을지 모르겠다. ... 읽어보면 카멜케이스를 적용하기 어렵다 를 제외하면..
현재 진행중인 반려동물 기록 서비스 'ZOOC'을 개발핟면서 생긴 이슈다. 아래는 우리 앱의 메인 화면이다. 호스팅 액티비티에 바텀 네비게이션이 있고 홈, 마이페이지 두 개의 프레그먼트가 전환되는 형태이다. 가운데 + 버튼을 누르면 기록을 위한 새로운 액티비티가 생성되는데, 해당 액티비티를 갔다오면 홈 프레그먼트의 데이터를 리프레시해야했다. 그래서 Activity Result API를 이용해 기록 액티비티에서 돌아오는 시점을 알고 데이터를 리프레시 하려고했다. 그런데 여기서 문제가 발생했다. 바텀 네비게이션은 호스팅 액티비티에, 리프레시할 데이터는 홈 프레그먼트에 있었기 때문이다. 즉, 바텀 네비게이션이 액티비티에 있으므로 기록 액티비티에서 돌아오는 시점을 프레그먼트가 아닌 액티비티가 아는 것이 문제였다..