전체 글65 [EatToFit] API 설계 과정에서의 고민 (1) 안녕하세요 dev_writer입니다. 이번에는 EatToFit 서비스의 API 설계를 진행한 과정에서의 고민점을 기록하려고 합니다. 큰 목록 구성은 이전 글에서 작성한 에서 보실 수 있고, 이 글에서는 고민이 되었던 API에 대해서만 기록하는 식으로 작성하겠습니다. 1. 회원의 정보를 등록하고 수정할 때에는 응답을 어떻게 해야 할까?본 서비스에서는 회원의 정보를 등록하고, 수정하는 기능이 존재합니다. 이 기능을 이용하여 사용자의 닉네임, 신체 정보, 운동 경력, 선호 스포츠, 선호 헬스 등 다양한 정보를 저장시키도록 합니다. 물론 수정할 때에는 이 모든 값들을 요구하지 않고, 선택적으로 값을 수정하게끔 진행하려고 합니다. 하지만 이 API를 설계하는 과정에서 멘토님과 이견을 가진 부분이 존재했습니다. 바.. 2024. 8. 9. [EatToFit] 프로젝트 아이디어 소개 안녕하세요 dev_writer입니다. 이번에는 F-Lab에서 멘토링을 수강하며 진행할 프로젝트인 EatToFit 프로젝트에 대해 소개드리려 합니다. 클라이언트와의 협업은 없으나, 멘토링이 종료된 이후 F-Lab 안에서든 아니면 외부 팀원을 구해서든 화면 구성으로도 연결해보고 싶은 생각은 있습니다. 프로젝트 간단 소개먼저 EatToFit 프로젝트는 다이어트 등을 하면서 운동을 하는 사람들이, 치킨/피자 등 먹고 싶은 음식을 아예 먹지 않아 결국에는 중간에 먹게 되고, 그로 인해 의지에 대한 스트레스를 받고 있는 상황을 개선할 수 있도록 해 주는 프로젝트입니다. 음식을 아예 먹지 않기보다는 음식을 먹되 그 대신 어떤 운동을 어느 정도 (ex: 달리기 30분)로 하면 충분히 음식의 칼로리를 소모할 수 있다는 .. 2024. 8. 5. [ATWOZ] FCM 알림 기능 개발 기록기 (3) - 안드로이드 에뮬레이터로 알림 검증하기 이번 글에서는 안드로이드에서 실제로 수행되고 있는지를 테스트해 보겠습니다. 안드로이드 코드 과정에 대해서는 자세히 파악하지 못했기 때문에 ChatGPT를 함께 이용하였습니다. 본 코드를 테스트해 보기 위해서는 안드로이드 스튜디오가 필요합니다. FCM 안드로이드 파일 다운로드우선, 만들어 둔 FCM 프로젝트로 이동한 뒤 플랫폼 (안드로이드 등)을 선택합니다. 패키지 명 작성안드로이드 스튜디오에서 프로젝트를 만들고, 프로젝트의 패키지 명을 작성합니다. FCM 파일 다운로드FCM 클라이언트 파일 (google-services.json)을 다운로드합니다. 다운로드 한 google-services.json 파일을 위의 사진이 안내하는 것처럼 앱 수준 루트 디렉터리에 보관합니다. build.gradle 등록프로젝트.. 2024. 8. 1. [ATWOZ] FCM 알림 기능 개발 기록기 (2) - FCM 토큰 관리 방법 및 스프링 코드 설명 이번에는 FCM 토큰 관리 방법 및 스프링에 FCM을 작성하는 방법에 대해 알아보겠습니다. FCM 토큰FCM을 이용하기 위해서는 토큰 (token)을 관리해야 합니다. FCM은 클라이언트가 앱을 처음 시작할 때 토큰을 만들고, 이 토큰을 활용해서 토큰의 소비자에게 코드를 전달하는 방식을 이용하고 있습니다. 토큰 재발급은 새 기기에서 앱을 복원하거나 앱을 제거/재설치하는 경우, 사용자가 앱 데이터를 소거하는 경우 이뤄집니다. 토큰을 어디에 저장할까? (RDB vs Redis - Redis)토큰을 저장하는 데에는 크게 RDB와 Redis가 있습니다. RDB를 이용하면 토큰이 데이터베이스에 저장되어 있기 때문에 애플리케이션이 꺼지더라도 정보가 저장될 수 있습니다. 그러나 알림을 보내는 과정마다 RDB에 접속하.. 2024. 7. 31. [ATWOZ] FCM 알림 기능 개발 기록기 (1) - FCM 도입 이유와 아키텍처 구조 개요안녕하세요. 이번에는 그동안 프로젝트에서 FCM (Firebase Cloud Messaging)을 통한 알림 기능을 개발하기 위해 공부했던 과정을 기록해보고자 합니다. 고민할 점이 많고, 시행착오도 많았어서 전달드릴 게 많을 것 같다는 생각이 들었습니다. 왜 FCM을 선택하였나?먼저 기술을 선택할 때에는 가능한 후보가 어떤 것들이 있는지 나열해 본 뒤 그중에서 판단에 따라 선택해야 한다고 생각합니다. 알림 기능을 전송해야 하는 과정에서, 후보 및 FCM을 도입하게 된 이유는 아래와 같았습니다. 폴링 (Polling) / 긴 폴링 (Long Polling) / 스트리밍 (Streaming)HTTP는 일반적으로 비연결성 (Connectionless)의 특성을 가지기 때문에, 수신자에게 알림을 보내기 위해.. 2024. 7. 30. [회고 #7] 24년 6월 회고 마지막 여름방학의 첫 회고어느덧 4학년 여름방학이라 대학 생활의 마지막 여름방학을 맞이하게 되었습니다. 이번 달에 대해서도 기록해 보겠습니다. 종강 및 첫 전공 4.06월 13일부로 학교에서 4학년 1학기가 종료되었고, 이후 성적이 나왔습니다. 전체 학점은 3.82, 전공 학점은 인생 처음으로 4.0이 나왔습니다. 저번 학기에 우아한테크코스 준비를 하며 처음으로 2점대를 찍은 후 깎아져 있던 전체 학점 (3.39)을 3.45까지 끌어올리는 데 성공해서, 기회가 된다면 마지막 학기도 최대한 준비하여 평균 평점 3.5로 복구해 두고 졸업하고 싶네요. 사실 이번 학기도 학교 공부에는 많이 신경 쓰지 못했었는데, 끝까지 포기하지 않고 시험 기간에 공부를 한 게 효과 있었던 것 같아 다행이었습니다. 부트캠프를 시.. 2024. 6. 30. 이전 1 2 3 4 5 6 7 ··· 11 다음