Programming/오류 일지 (4) 썸네일형 리스트형 [Java] 대용량 엑셀파일 다운로드 (Sxssf, ResultHandler) 약 3주 간의 엑셀 다운로드 오류 해결, 개선 과정에 대한 포스팅이다. 말로만 듣던 OOM을 직접 겪고 CPU와 메모리 점유율을 모니터링하면서 주요 로직을 왜 백엔드에 위치해야 하는지 직접 체감한 경험이 되었다. 😅 초기 코드 문제점 기존 코드는 전체 데이터 조회, 엑셀 출력 시 화면 단의 라이브러리를 활용했고, 페이징이나 스트리밍 방식이 적용되지 않았다. 이때 데이터 1개월 치(약 30만 건 데이터, 약 15MB)를 조회/출력하면 하단과 같은 현상이 발생했다. 조회 데이터 로딩 속도가 느리고 클라이언트의 CPU, 메모리 점유율이 증가함 => 페이징 없이 한번에 대용량 데이터를 불러오면서 메모리 위에 계속 누적되기 때문 출력 출력할 데이터가 메모리에 올라가는 동안 CPU, 메모리 점유율이 계속 상승하다가.. [Git] github ssh 인증 실패 "git@github.com: Permission denied (publickey)" feat. config 확장자 실수.. 문제 상황 git bash에서 ssh 키들을 생성하고 (파일명: id_rsa_github, id_rsa_gitlab) 각 계정에 공개키를 등록했는데, gitlab 인증키만 인식되고 github 키는 인식이 안 되는 오류가 발생했다. 이에 연결 테스트를 진행하며 인증 과정을 디버깅하며 문제를 해결했다. 해결 과정 ssh 연결 테스트 ssh -T git@github.com ## 오류 메시지 git@github.com: Permission denied (publickey) 메시지에서 볼 수 있다시피 ssh 공개키 인증 실패로 인한 오류이다. ssh 연결 테스트 - 로그 확인 ssh -vT git@github.com ## > debug1: identity file /Users/YOU/.ssh/id_rsa typ.. 별개의 AWS 계정으로 서브도메인 설정하기 사이드 프로젝트에서 각각의 AWS 계정으로 프론트엔드, 백엔드 서버를 따로 구축했는데, 이때 Route53을 사용한 서브도메인 설정에서 큰 오류를 범했었다. 문제 상황 가비아와 AWS Route53을 통해 도메인을 등록, 연결한 후 서버가 불안정해 검색해보니 오류 원인은 DNS 설정 또는 프리티어 RAM 메모리 부족으로 좁혀졌다. EC2 서버 로그 확인 시 CPU 사용률에 문제가 없었지만 혹시 몰라 메모리 관련 설정도 했다. 하지만 서버 끊김은 해결되지 않았고 결국 DNS 설정을 다시 살펴보기로 했다. 오류 원인 파악 처음 서브도메인을 지정하는 방법을 찾아봤을 때, 하나의 AWS 계정으로 도메인, 서브도메인을 설정하는 블로그들을 참고한 것이 오류의 발단이 되었다. 해당 정보를 참고했던 초기에는 프론트, .. [AWS Elastic Beanstalk, Github Actions] EC2 배포 자동화 설정 시 주의할 점 AWS EB, Github Actions를 통한 배포 자동화는 주로 향로님의 글을 보면서 설정했다. 처음 자동 배포를 시도하면서 미숙한 부분들, 놓친 부분들이 많아 다양한 오류 메시지를 봤다. 아래 정리한 글으로 다른 초심자 분들도 오류가 발생한 원인을 잡아내 해결할 수 있길 바란다. 깃허브 환경 - 로컬 환경 비교하기 문제: 스프링부트 환경설정 파일인 application.yml, application-prod.yml 파일을 보안상 깃허브에 올리지 않았는데, 배포 시 이를 놓쳐 jwt 시크릿 키 값을 찾을 수 없다는 오류 메시지가 발생했다. 해결: 1. 깃허브 Settings - Secrets and Variables - Actions - New repository secret 이름 : APPLICAT.. 이전 1 다음