gunn96.hashnode.devPod 사망 사건 - (1) 사인은 I/O BoundNAME READY STATUS RESTARTS AGE ... sqm-receiver-6bb8858fc7-ctp2h 1/1 Running 5 (55m ago) 59m ... 해당 Pod이외에도 여러 Pod에서 재시작이 발생하고 있었습니다. k8s로 배포한 프로젝트에서 API서버의 부하 테스트를 진행하던 중 Pod가 간헐적으로 재시작되는 문제가 발생했습니...Dec 30, 2025·5 min read
gunn96.hashnode.devrfc 959 읽어보면서 ftp이해하기들어가며 프로젝트에서 FTP를 통해 파일을 전송하는 클라이언트를 개발했을 때 이야기입니다. 프로토콜에 대한 이해 없이 개발을 진행하다 보니 불필요하게 시간을 소모한 경험이 있어서 RFC 원문을 읽어보게 되었습니다. 읽게 된 계기 당시 FTP 프로토콜에 대한 이해가 부족한 상태로 개발을 시작했습니다. '제어를 위한 포트와 데이터 전송을 위한 포트가 분리되어 있다' 정도만 알고 있었고 Active 모드와 Passive 모드의 차이를 제대로 이해...Dec 5, 2025·7 min read
gunn96.hashnode.dev교통모니터링 프로젝트에서 겪은 FTP Passive Mode 포트 고갈 문제이탈리아 베로나의 교통 혼잡 구역 모니터링 프로젝트에서 교통데이터를 FTP로 전송하는 시스템을 운영하며 겪었던 Passive Mode 포트 범위 초과 문제와 해결 과정을 공유합니다. 아래는 모니터링 대상인 교통 혼잡지인 Porta Nuova입니다. 베로나 포르타 누오바(Verona Porta Nuova)는 이탈리아 베로나의 주요 기차역입니다. 베로나 중심부를 운행하는 두 역 중 하나입니다.(위키백과) 배경 프로젝트 개요 이탈리아 베로나에 ...Nov 17, 2025·6 min read
gunn96.hashnode.devmapstruct 로 보일러플레이트 코드 줄이기배경 사내에서 교통 모니터링용 레이더 디바이스를 관리하는 API를 개발했을때 이야기입니다. 반복되는 코드에서 느꼈던 피로를 개선하고자 mapstruct를 적용해봤습니다. 실황 우선 일부 필드만 추출한 Device에 대해 간단히 이야기해야할 것 같습니다. 교통 모니터링용 레이더 디바이스로 신호등이나 가로등에 설치하며 설치된 좌표를 기록하는 위도, 경도와 레이더가 바라보는 방향을 의미하는 heading_angle필드 등이 있습니다. public...Nov 13, 2025·6 min read
gunn96.hashnode.devPreSigned-Url로 서버 오버헤드 줄이기2024년3월11일 현재 최신버전인 Spring 3.1.9버전과 spring-cloud-aws 3.0.0버전의 공식문서를 읽고 구현했습니다. Spring cloud aws 2.x 버전과 다른 부분이 여럿 있었습니다.(ex)application.yml에 설정할 값 등)이전 버전을 사용하시는 경우 버전에 맞는 글을 참고해주셔야 합니다! [참고](Spring Cloud AWS 문서) 🟢Presigned URL? 인증이 끝난 사용자에게 제공하는 S...Mar 12, 2024·6 min read