문제 상황Internal server 에러가 발생했을 때, 500번 상태코드가 나와야하는데 401이 계속해서 나왔다.상태코드를 더욱 정확하게 표시하고, 서버에서 발생한 에러를 응답으로 보내주도록 바꿔야겠다. 해결 과정1. 의도적으로 서버에 에러 발생시키기Controller에 다음 코드를 추가해서 일단 에러를 발생시킨다. 2. JwtAuthFilter 확인로그를 확인한다..JwtAuthFilter.java에서 걸렸다. package com.gamegoo.gamegoo_v2.account.auth.security;import com.gamegoo.gamegoo_v2.account.auth.jwt.JwtProvider;import jakarta.servlet.FilterChain;import jakarta..

예전부터 주구장창 이 에러가 discord back-monitoring 채널에 올라왔다. gamegoo 백앤드 서버는 back-git-pr, back-deploy, back-monitoring을 통해 Github, CICD, AWS를 연동해서 서버 상태를 확인한다. 에러가 발생할 경우 back-monitoring에 다음과 같이 에러 메세지가 올라온다.예외 메시지를 보자마자 @Version 안 썼는데 왜... 동시성 오류가 났을까라는 생각이 들었다. 문제 원인 파악 문제의 중심은 로그인 시 발급되는 RefreshToken 저장 로직이었다. /** * 리프레시 토큰 생성 * * @param member 로그인한 회원 * @param refreshToken 리프레시토..

문제 상황프론트 개발자님으로부터 매칭 중 문제가 발생했다는 연락을 받았다.- sender(A)는 matching-fail 발생- receiver(B)는 matching-found-success emit까지 완료- 그러나 sender에게 matching-found-sender가 전송되지 않음 즉, receiver만 매칭 flow가 진행되었고 sender는 중간에 매칭이 진행되지 않는 상황이었다.문제 확인곧바로, 해당 시간대의 8080 Java Spring API 서버와 3000 NodeJS socket.io 서버 로그를 확인했다. 다음은 그 중 해당 에러와 관련된 로그만 캡쳐해온 사진이다. 다음 UML은 각 매칭 flow를 figma에 그린 것이다. 다음 flow는 매칭 성공 flow의 일부분이다. 실시..
안녕하세요! 열심히 서비스를 만들었지만,, 트러블슈팅도 많이 해봤지만,, 노션에만 정리하고 정작 블로그에 포스팅한 트러블 슈팅이 없다는 것을 깨닫고 하나씩 작성해보려합니다. 처음엔 단순한 매칭 실패처럼 보였는데, 깊이 파고들다 보니 null 처리 누락, DB 접근 예외, 컬렉션 수정 중 예외, 구조 분리 등제법 복잡하고 중요한 문제들이 얽혀 있더라고요. 이번 글에서는 그 과정을 어떻게 추적하고, 해결했는지를 공유해보려 합니다.문제 상황매칭 요청을 보냈는데, 클라이언트에서는 응답이 오지 않고, 소켓 서버(3000번 포트)에서도 matching-started가 emit되지 않는 현상이 발생했습니다.딱 봐도 어딘가 중간에 끊긴 것 같았죠. 그래서 API 서버 로그와 Docker 로그를 확인해봤습니다.org.s..
안녕하세요! API를 만들고, 서버를 운영하며 과연 제가 만든 API는 성능이 어떨까 궁금해졌습니다.그래서!!! 성능테스트를 하기로 마음 먹었습니다.오늘은 성능테스트에 대해서 공부한 겸, 공부한 내용을 정리해볼까합니다. 성능 테스트를 왜 할까? 개발을 하다 보면 “우리 서버는 몇 명까지 감당할 수 있을까?” “어떤 API가 병목일까?“와 같은 고민을 하게 됩니다.이를 확인하기 위해 필요한 것이 바로 성능 테스트입니다. 성능을 어떻게 측정할까?1. Latency (지연 시간)요청자가 보낸 요청이 응답을 받을 때까지 걸리는 시간예: 고속도로의 제한 속도에 비유할 수 있어요.2. Throughput (처리량)서버가 단위 시간 안에 처리한 요청의 수 (RPS: Request Per Second)예: 고속도로..
모빌리티모빌리티 == 이동성교통수단에 IT가 접목된 것사전적 의미 : 어디든 자유롭게 이동할 수 있다는 것단순한 교통수단을 넘어 도시 인프라, 에너지, 데이터 기술과 맞물린다.키워드전기화자율화연결성ex) 킥보드 : 모바일 폰으로 킥보드를 예약하고, GPS 기반으로 위치 정보를 알 수 있도록 되어있다.주요기술1. 자율주행사람의 개입 없이 차량이 스스로 주행하는 기술차량이 스스로 인지→판단→제어하는 능력을 갖는 것장점교통사고 감소 (인간 오류 제거)운전 시간 절약노인·장애인 등 교통 약자 지원 가능단점윤리적 문제 (사고 시 책임 소재)도심 환경에서의 인식 오류인프라 부족 및 법·제도 미비해결 방안고정밀 지도와 AI의 강화학습 결합, 윤리 기준 마련, 시범지역 확대 통한 실증 강화단계 명칭 설명Level 0비..
1. 블록체인의 등장 배경중앙 집중형 시스템은 오랜 기간 주요 서비스 구조로 사용되어 왔지만, 다음과 같은 구조적 문제를 안고 있었습니다. 보안 취약성 → 단일 서버가 공격당하거나 장애가 발생할 경우 전체 시스템이 마비됨투명성 부족 → 데이터의 처리 방식이나 이력이 일반 사용자에게 공개되지 않아 신뢰에 한계가 있음신뢰 비용 → 거래나 검증 시 제3자(은행, 기관 등)의 개입이 필요하여 수수료와 절차가 증가 이러한 문제를 해결하기 위한 대안으로 블록체인 기술이 제안되었으며, 비트코인의 핵심 기술로 전 세계적으로 주목을 받기 시작했습니다. 2. 블록체인의 개념데이터를 일정한 크기의 블록 단위로 묶고, 이를 시간 순서대로 연결하여 분산 저장하는 데이터베이스 구조 네트워크 참여자 전체가 동일한 원장(장부)을 ..
1. 배경 (도입 · 개념 · 장점)개념:5G는 4G LTE의 다음 세대 이동통신 기술로, 초고속, 초저지연, 초연결을 핵심으로 합니다.도입 배경:또한, LTE의 속도·지연 한계를 넘기 위해 고안되었습니다.데이터 사용량 급증, IoT/자율주행/스마트팩토리 등 차세대 서비스 요구 대응을 위해 등장.장점:속도: 최대 10Gbps 이상으로 LTE(1Gbps 이하) 대비 10배 이상 빠름지연시간: 1~10ms 수준으로, 실시간성이 중요한 자율주행/원격수술 등에 적합동시접속성: 수많은 기기 연결 가능 → 스마트시티, 산업 IoT 기반 확보2. 활용자율주행차: 실시간 교통정보·센서 데이터 공유 (초저지연 필수)스마트팩토리: 로봇 제어 및 자동화에 안정적인 고속 연결 제공원격진료/수술: 지연 없는 영상과 제어로 원격..
- Total
- Today
- Yesterday
- 스페인
- SQL
- C++
- 개발
- 혼공학습단
- JS
- 교환학생
- 스페인 교환학생
- MySQL
- Signal
- googleapis
- 혼공단
- Linux
- nodejs
- 혼공단 SQL
- JavaScript
- 프로그래머스
- 자바스크립트
- Process
- 운영체제
- 개발일지
- 공룡책
- 해커톤
- AWS
- 혼공
- 리눅스
- 깃 예제
- 백준
- 프로젝트
- 혼공단 9기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |