Side Project (9) 썸네일형 리스트형 앱 서명키 미등록으로 인해 Google OAuth 로그인이 깨진 이유 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 개요Google Cloud Console에는 Google OAuth 설정을 할 수 있어요. 제가 해놓은 설정이 아니라서 설정을 수정했어요. 근데 설정을 수정한 이후에 릴리즈 된 앱의 Google OAuth가 동작을 하지 않게 됐어요. 이번 글에서는 이 문제를 어떻게 해결하였는지 공유하려고 해요. 문제 상황저는 웹 클라이언트 ID와 release 키스토어에서 뽑은 업로드 키만 등록해 놓으면 릴리즈 환경에서 OAuth 2.0을 사용할 수 있다고 잘못 알고 있었어요. 그리고 클라이언트 ID의 이름이 구분 없이 기본값으로 설정되어서 클라이언트 ID끼리 구분이 안됐.. Google Play Console 앱 이전 방법 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 개요기존 안드로이드 앱을 관리하시던 개발자 분이 그만두시면서 당분간 제가 앱 유지보수를 맡게되었어요. 그래서 Google Play Console 계정을 구매하였고, 그 분 계정에 있는 앱을 제 계정으로 옮겨야 하는 상황이에요. 오늘은 Google Play Console 계정에서 앱을 이전하는 과정에 대해서 정리해보았어요. 앱 이전 방법우선 Google Play Console에 접속한 후, 설정 탭을 눌러서 앱 이전을 선택하면 되요. 앱 이전에 필요한 트랜잭션 ID, 개발자 ID는 아래와 같은 위치에서 찾을 수 있어요.트랜잭션 ID - Google Play .. 해지 된 Google Play Console 계정에 계정 등록 결제했을 때 환불 받는 방법 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 빠른 결과를 보고 싶으신 분은 맨 마지막 다른 문의 방법을 참고하세요! 개요저희 팀은 팀 전용 Google Play Console 계정 없이 개인 계정으로 앱 배포를 진행했었어요. 근데 저희 안드로이드 앱 개발자 분이 그만두시면서 당분간 제가 앱 유지보수를 맡게되었어요. 그래서 앱 이전을 위해 구글 개발자 콘솔 계정을 구매했어요. 근데 구글 개발자 콘솔 계정을 구매하는 과정에서 문제가 발생해서 환불해야하는 상황이 생겼어요. 그 과정에서 어려웠던 점을 이야기하려고 해요. 내 계정 상태예전에 앱을 출시해보고 싶어서 Google Play Console 계정을 구.. 테스트 코드 도입 배경기 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 개요사이드 프로젝트나 실무에서 버그를 수정했는데, 멀쩡하던 다른 기능이 갑자기 동작하지 않아 QA를 다시 진행한 경험이 있으신가요? Hearu를 개발하면서 저도 같은 경험을 했어요. 개발 중 정책이 변경되거나, 버그를 수정하는 과정에서 다른 기능이 영향을 받는 일이 반복됐어요. 이 글은 그 경험이 어떻게 테스트 코드 도입으로 이어졌는지 정리한 글이에요. 테스트 코드는 처음부터 도입하지 않았다처음부터 테스트 코드를 작성하진 않았어요. MVP 개발 당시에는 기능 개발이 우선이었고, 사이드 프로젝트 특성상 개발하면서 기능이 추가되거나 삭제되는 일이 많았어요. 그.. API 설계에서의 멱등성 문제 해결 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 개요사이드 프로젝트, 실무 등에서 데이터를 저장하는 과정에서 한 번만 저장되는 것을 기대하고 설계하였지만 같은 데이터가 중복 저장된 경험이 있으신가요? Hearu에서는 일기를 저장하는 과정에서 데이터가 중복 저장되었던 경험이 있어 이 문제를 해결하는 과정 정리한 글이에요. 문제 상황일기를 저장하는 과정에서 데이터 중복이 발생했어요. 일기 저장하는 과정은 아래와 같아요.감정 선택 화면에서 "전송하기" 버튼 클릭 | | (버튼 비활성화 누락 → 재클릭 가능 → 중복 저장 발생!) |저장 API 호출 │ ├─ 실패 (.. 로그 레벨 설정 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 개요이전까지 만든 프로젝트는 전부 로컬에서만 돌렸어요. 디버깅도 IDE 툴로 바로 찍어보면 됐으니까요.그런데 Hearu를 실제 서버에 배포하고 나서는 얘기가 달라졌어요. IDE를 붙일 수 없으니 로그가 전부인데, 막상 배포 환경에서는 로그를 어디서부터 어디까지 찍어야할 지 모르겠더라고요.이 글은 그 과정에서 배운 로그 레벨별 설정 방법을 정리한 글이에요. 로그 레벨이란?로그 레벨은 로그에서 중요도나 심각도를 구분하는 기준입니다.레벨사용처예시TRACE함수 진입/종료, 변수값 추적"userId=1 진입"DEBUG개발 중 흐름 확인SQL 쿼리, 분기 결과INFO.. AI 모델 선택 과정 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 개요AI를 사용해보셨다면 응답의 품질을 좋게 받기 위해서 더 좋은 모델을 사용하거나, 토큰 비용을 줄이기 위해서 더 저렴한 모델을 사용해본적이 있으신가요? 저희 Hearu에서 AI 모델을 선택하는 과정에서도 이러한 트레이드 오프 과정을 거쳤는데요. 오늘은 이 트레이드 오프 과정에서 무엇을 고민하였는지에 대해서 말씀드리려합니다! 고민했던 부분1. 정책저희 앱은 정책상 하루에 일기를 10번 쓸 수 있고 한 번 쓸 때 최대 한국어 1,000자(약 2,500토큰)까지만 쓸 수 있습니다. 응답 최대 토큰도 1,000으로 제한해두었습니다. AI 프롬프트도 약 800토.. 프롬프트 테스트 자동화 | Hearu 프로젝트 앱 소개오늘 하루 어땠어? 봉봉이가 묻고있어요. 귀엽고 포근한 리트리버 강아지 봉봉이가 사용자의 일기를 읽고 답장을 보내주는 앱, Hearu예요. 개요AI를 사용해보셨다면 다들 프롬프트를 작성할 때 페르소나를 대입해서 사용해보신적이 있으신가요? 저희 Hearu에서 캐릭터 프롬프트를 작성할 때도 캐릭터 페르소나를 대입해서 사용하는데요. 캐릭터 답장 품질을 향상시키기 위해서 프롬프트를 자주 수정하고는 합니다. 시간을 써도 응답 품질은 그대로인 경우가 많았습니다. 고민했던 부분응답 품질이 나쁜 이유가 프롬프트 문제인지, 모델 한계인지, 서버 처리 문제인지 파악하기 어려웠습니다. 결국 이것도 응답에 대한 시행착오를 많이 해봐야 알 수 있기 때문에 직접 테스트를 했었습니다. 그러다가 찾아보니 프롬프트 테스트를.. 이전 1 2 다음