[FCM] FCM 백그라운드 알림 에러, 안드로이드에서 백그라운드 알림이 가지 않을때
·
TroubleShooting
문제제가 입사했을때 FCM을 통해 알림이 구현되어 있는 상태였습니다.특정 사용자에게 알림이 가지 않는 문제를 해결하는 과정에서 IOS는 백그라운드 알림이 제대로 가지만 Android에서는 가지 않는 문제를 발견했습니다.가장 먼저 확인한 것은 FCM 토큰입니다. 위의 사진은 알림 설정 Entity의 일부분 입니다.토큰은 제대로 저장되어 있었고 기기정보로 이를 구분하고 있었습니다.만약 호출시 에러가 난다면 validToken 필드를 false로 갱신하면서 유효하지 않은 토큰으로 설정하도록 해놓았기에 토큰이 잘못되었을 가능성은 적다고 판단하였습니다. private String sendMessaging(String token, Message message) { try { ..
[Jenkins] Built-In Node 오프라인 에러, Disk space is below threshold of 1.00GiB
·
TroubleShooting
1. 문제1) 문제 상황Jenkins의 Built-In Node가 Disk space is below threshold 경고와 함께 오프라인 상태로 바뀌었습니다.빌드는 대기상태로 바뀌었고 Jenkins 화면에는 디스크 부족 경고가 떠 있었습니다. Jenkins의 내부 모니터링 로직이 /var/jenkins_home에 충분한 공간이 없다고 판단하고 오프라인 상태로 바꿔버린것 이었습니다.Jenkins로 빌드할때 주로 Docker를 사용하기에 Docker 사용상태를 확인해보았습니다.# docker 사용상태 확인docker system df 확인 결과 Build Cache가 엄청나게 쌓여있는것을 확인하였습니다. 2) 문제 발생 원인먼저 Docker로 이미지를 빌드할때는 레이어라는게 계층적으로 쌓여서 최종 이미..
[Infra] Docker Certbot 인증서 발급 에러, Connection refused status: 400 에러, docker compose certbot 에러
·
TroubleShooting
요즘 회사 서비스에 blue, green 무중단 배포를 적용하고 있습니다.오늘 터진 문제는 개발 환경을 만드는 상황에서 터진 문제입니다. 문제docker compose를 이용해 Let's encrypt 인증을 받고, nginx를 띄우려는데 400에러가 발생하였습니다.docker-compose 파일에는 spring project, nginx, certbot, redis 컨테이너에 대한 내용이 있었습니다.docker-compose.yml, nginx.conf 파일을 도메인 부분을 변경하는 등 테스트 환경에 맞게 수정 후 실행했습니다.docker ps 명령어로 제대로 작동하는지 확인했지만 nginx에서 문제가 발생하는듯 했습니다. 자꾸 nginx가 재시작 하고있었습니다.nginx 로그를 확인했습니다.로그를 확..
[Spring] Failed to load driver class org.mariadb.jdbc.Driver 에러
·
TroubleShooting
오늘도 일하면서 터진 문제입니다.언제나 처럼 제 포스팅은 적용 방법만 보시고, 어떤 상황에 적용할지는 고민을 좀 더 하셨으면 좋겠습니다.사용중인 기술은 다음과 같습니다.Java 21Spring Boot 3.2.1JPAGradleMariaDB문제 잘 작동하던 로컬 프로젝트가 갑자기 작동하지 않았습니다.설정이 바뀐것도 없었고 거의 동일한 설정의 운영서버도 제대로 돌아가고 있었습니다.콘솔에 뜨는 오류는 다음과 같았습니다. Failed to load driver class org.mariadb.jdbc.Driver이 문제의 핵심인 것 같았습니다.빌드나 실행 과정에서 MariaDB JDBC 드라이버를 찾지 못했다는 뜻이였습니다. 설정이 바뀐게 없어서 DB에 문제가 있나 확인했습니다.먼저 Docker 컨테이너를 확..
[Spring, SQL] Data too long for column '칼럼명' at row 1 에러, SQL Error: 1406, JPA
·
TroubleShooting
일하면서 터진 문제 중, 올려도 될만한 문제들을 포스팅하려고 합니다.공부하면서 개인 플젝 또는 팀 플젝할때는 기능이 제대로 돌아가는지만 확인하면 되었습니다.개발중에는 사용자도 없고 JPA를 사용중이니 ddl-auto create나 update 팍팍 쓰고 진짜 안되면 밀어버리고 다시하면 됐거든요 현재는 사용자가 있고 제 실수로 운영 DB가 날아가는등의 장애가 생길수도 있기에 손 벌벌 떨면서 일하고있습니다. 사수가 없으니 서럽네요.드리고 싶은 말씀은 제 포스팅은 적용 방법만 보시고, 어떤 상황에 적용할지는 고민을 좀 더 하셨으면 좋겠다는 것 입니다.취준생일때나 개인 프로젝트 할때 보시면 크게 문제는 안될것같습니다. 사용중인 기술은 다음과 같습니다.Java 21Spring Boot 3.2.1JPAGradleM..
[Infra] npm Unable to authenicate 에러, npm ERR! code401, .npmrc 에러
·
TroubleShooting
현재 관광데이터 활용 공모전에 참가중입니다.저는 인프라, 백엔드를 맡았습니다.오늘은 배포 과정에서 있었던 문제에 관해 포스팅 해보겠습니다. 문제문제는 프론트엔드 프로젝트 빌드 중 일어났습니다. 배포 실패 알림이 왔고 Jenkins를 확인해 보았습니다. 보면 npm install을 하던 도중 authenticate 관련 오류가 발생한것을 확인할 수 있었습니다. 프론트엔드의 Dockerfile은 다음과 같이 작성되어 있었습니다.FROM node:18.17.1-alpine AS builder# 컨테이너 내부 작업 디렉토리 설정WORKDIR /usr/src/app# 컨테이너 내부로 package.json 파일들 복사COPY package* .# package.json 및 package-lock.json 파일에..
[Spring] CORS policy에러, 'localhost:3000' has been blocked by CORS policy
·
TroubleShooting
두번쨰 프로젝트가 끝이났습니다... 배운것도 많고 아쉬움도 많은 프로젝트였습니다. 프로젝트에서 겪은 문제들을 정리해보자 합니다. 먼저 프론트엔드 1명, 백엔드 3명 풀스택 2명으로 구성되어 있으며저는 풀스택을 맡게되었습니다프로젝트의 주제는 여행용 모임통장입니다.다음과 같이 진행중입니다.Java 17Spring Boot 3.2.0GradleReact문제문제는 Cors에러 였습니다. 저희 개발 순서는 다음과 같습니다.백엔드 API 개발 -> Swagger 테스트 -> 프론트에서 적용Swagger에서는 정상작동을 확인했기에 로직의 문제 보다는 설정이나 프론트 axios가 잘못됐다고 판단하였습니다. 에러를 보니 Cors 에러가 맞는것 같습니다. 저희 프로젝트는 로그인 이후에는 JWT 토큰을 header에 담아..
[Spring] Caused by: java.lang.IllegalStateException: Duplicate key 에러, Swagger GroupedOpenApi 사용
·
TroubleShooting
현재 저는 팀원들과 두번쨰 프로젝트를 진행하고 있습니다. 프론트엔드 1명, 백엔드 3명 풀스택 2명으로 구성되어 있으며저는 풀스택을 맡게되었습니다...허허...프로젝트의 주제는 여행용 모임통장입니다.다음과 같이 진행중입니다.Java 17Spring Boot 3.2.0GradleReact문제Caused by: java.lang.IllegalStateException: Duplicate key 계좌 (attempted merging values org.springdoc.webmvc.api.OpenApiWebMvcResource@1602ab86 and org.springdoc.webmvc.api.OpenApiWebMvcResource@7707c2bb) 문제는 모임통장 생성기능 구현 중 일어났습니다. Sprin..