[올려올려 라디오] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (3)
·
Project
이번 포스팅에선 네임드 락을 이용해 데드락을 해결하는 과정을 담았습니다. 이전 포스팅이 궁금하시다면 아래 링크를 참고해 주세요!2024.11.25 - [Project] - [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (1) [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (1)이번 포스팅은 분석 서비스를 개발하다 만난 데드락을 해결하는 과정을 담았습니다.감정 분석 서비스 미리 보기기존 서비스에 이용자를 모으기 위해 고도화하는 프로젝트 중 하나가 `감정 분석dev-gallery.tistory.com2024.11.26 - [Project] - [포텐데이 409-1pick] 분석 서비스 개발 중 만난 데드락 해결기 (2) [포텐데이 409-1pick] 분석 서..
[올려올려 라디오] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (2)
·
Project
이번 포스팅에선 Testcontainers 내용이 잠깐 나옵니다.Testcontainers 환경을 구성하는 방법은 이전 포스팅을 참고해 주시면 됩니다.2024.09.16 - [Project] - [예약 대기 시스템] 4. 컨테이너 환경에서 테스트하기 (Testcontainers) [예약 대기 시스템] 4. 컨테이너 환경에서 테스트하기 (Testcontainers)이전 포스팅에서 애플리케이션을 컨테이너화 하기 위해 도커를 사용했습니다.(이전 포스팅 : 2024.09.13 - [Project] - [예약 대기 시스템] 3. 프로젝트 설정 (어드민 시스템)) [예약 대기 시스템] 3. 프dev-gallery.tistory.com데드락 원인 찾기데드락의 원인을 찾기 위해 MySQL을 확인해 볼 필요가 있습니다...
[올려올려 라디오] 분석 서비스 개발 중 만난 데드락과 동시성 문제 해결기 (1)
·
Project
이번 포스팅은 분석 서비스를 개발하다 만난 데드락을 해결하는 과정을 담았습니다.감정 분석 서비스 미리 보기기존 서비스에 이용자를 모으기 위해 고도화하는 프로젝트 중 하나가 `감정 분석 서비스`입니다.참고) 도메인 모델이 리팩토링 되었습니다.프로젝트 리팩토링 (2) - 도메인 모델 리팩토링에서 도메인 모델 리팩토링에 대한 이유가 있습니다.핵심 기능사용자가 작성한 편지를 `Clova API`를 이용해 `감정 분석`을 수행하고, 하루에 작성한 편지들을 바탕으로 `데일리 리포트`를 발행하는 서비스입니다.제약 사항: 비용이 발생하는 외부 API인 `Clova API` 를 최소한으로 사용한다.핵심 기능은 비용이 발생하는 외부 API를 사용하기 때문에 최소한으로 사용해야 하는 제약 사항이 있습니다.편지마다 감정 분석..
[Spring] 회원탈퇴 시 Kakao OAuth2 연결끊기: REST API로 연결끊기 (OpenFeign)
·
Spring
이 포스팅은 회원탈퇴 로직을 구현할 때 kakao REST API 로 `연결 끊기`를 Spring 프로젝트에서 적용하는 방법에 대한 글입니다.kakao rest api 공식 문서 바로가기 Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 공식 문서에 따르면 REST API로 `연결 끊기`를 하려면 카카오 인증 서버(https://kapi.kakao.com/v1/user/unlink)에 요청을 보내야 합니다.요청과 응답 예시는 공식 문서에서 가져왔습니다. 사용자 로그인 시 액세스 토큰을 세션이나 RDB, Memory DB 등에 저장할 수 있지만, 서비스..
[Spring] 직렬화/역직렬화 시 'is' prefix 가 안붙는 이유
·
Spring
분명 DTO 에 'is'가 있거든요유저의 정보 변경 `DTO` 에 `boolean` 타입의 필드들이 있습니다.Lombok의 `@Getter`도 붙여줬기 때문에 이 DTO가 직렬화되면 JSON 필드 이름은 `isAgreeToTerms` 같이 될 것이라고 예상했습니다.직렬화는 됐는데 'is'가 없어요직렬화된 JSON 필드를 `swagger ui`를 통해 확인해 보겠습니다. 확인해 보니, `is` prefix 가 제외돼서 직렬화된 것을 확인할 수 있었습니다.예상과 다른 필드 이름은 백엔드와 프론트엔드의 데이터 교환에서 장애를 발생시킵니다.프론트엔드 개발자는 `swagger`에 있는 대로 필드 이름을 사용하기 때문입니다. 위의 예시 코드에선 `boolean` 타입이 문제가 될 수 있습니다.`is`가 없는 JSO..
SvelteKit 어드민 페이지 Docker + Nginx 배포하기
·
Docker
2024.10.08 - [Project] - [포텐데이 409-1pick] 올려올려 라디오 서비스 개발기 - 2 [포텐데이 409-1pick] 올려올려 라디오 서비스 개발기 - 22024.10.07 - [Project] - [포텐데이 409-1pick] 올려올려 라디오 서비스 개발기 - 1 [포텐데이 409-1pick] 올려올려 라디오 서비스 개발기 - 1우리가 만든 서비스https://upup-radio.site/ 올려올려 라디오언제 어디dev-gallery.tistory.com서론올려올려 라디오 서비스의 전체적인 관리를 위한 어드민 페이지를 만들게 됐습니다.FE는 SvleteKit, BE는 Spring Boot로 구성했습니다. SvelteKit은 Svlete보다 편리하게 페이지 라우팅을 할 수 있는 ..
[올려올려 라디오] 올려올려 라디오 서비스 개발기 - 2
·
Project
2024.10.07 - [Project] - [포텐데이 409-1pick] 올려올려 라디오 서비스 개발기 - 1 [포텐데이 409-1pick] 올려올려 라디오 서비스 개발기 - 1우리가 만든 서비스https://upup-radio.site/ 올려올려 라디오언제 어디서나 DJ가 여러분에게 따뜻한 위로를 전해드립니다.upup-radio.site글을 쓰고 있는 현재, 우리 팀이 만든 서비스가 1Pick을 받았습니dev-gallery.tistory.com이전 포스팅에 이어서 글을 작성합니다. 우리 팀이 만든 서비스는 아래 링크를 통해 이용이 가능합니다.https://upup-radio.site/ 올려올려 라디오언제 어디서나 DJ가 여러분에게 따뜻한 위로를 전해드립니다.upup-radio.siteAPI 요청 처리..
[올려올려 라디오] 올려올려 라디오 서비스 개발기 - 1
·
Project
우리가 만든 서비스https://upup-radio.site/ 올려올려 라디오언제 어디서나 DJ가 여러분에게 따뜻한 위로를 전해드립니다.upup-radio.site글을 쓰고 있는 현재, 우리 팀이 만든 서비스가 1Pick을 받았습니다!이 서비스는 위로를 받고싶은 누구나, 언제 어디서든 따뜻한 위로를 받을 수 있는 서비스입니다.포텐데이에 참여하게 된 계기예약 대기 시스템 프로젝트를 진행하면서 중간중간에 힘이 빠지는 날들이 있었습니다.지금 다시 생각해보면 핵심은 `예약 대기 시스템`인데, `어드민 시스템`을 먼저 구현해서 힘이 빠졌던 것 같습니다.욕심이 화를 부른다고 했나요? '`어드민 시스템`과 함께 동작하는 `예약 대기 시스템`을 만드는 게 나에게 더 도전적인 일이야.'라는 욕심이 문제였다고 생각해요. ..