2025 Naver Boost Camp 챌린지 2주차 회고
·
회고록
드디어 네부캠의 2주차가 마무리 되었다. 1주차는 네부캠 챌린지 과정에 적응하는 주차였다면, 2주차는 안정기 초기 상태였다고 생각한다. 라고 하고 싶었지만, 바로 난이도 최상인 객체 지향 보드게임 문제가 나오면서 많은 캠퍼들의 머릿속을 어지럽혔다.(실제로 1주차의 프로세스 메모리 분석 문제보다 어려웠다고 생각한다) 특히나 요구사항 분석이 너무 어려웠다. Day 06의 객체지향 보드게임 문제에서는 타노스와 영웅들의 관계들을 정립하고 이에 따라 객체와 객체들 간의 관계를 설정하는 것부터 객체지향 보드게임의 서비스 플로우를 정립하는 것이 매우 어려웠다. 그렇게 하루 하루 파일 시스템, 함수형 프로그래밍, race condition에 대해 PBL (네부캠에서 추구하는 Learning By Doing)을 진행하면..
2025 Naver Boost Camp 챌린지 1주차 회고
·
회고록
네부캠 챌린지 첫 주를 맞이하면서 Day1 때부터 Day4까지 쉴틈 없이 달려왔던 것 같다. 독서실에 9시부터 문제를 해결할 때까지 집에 들어가지 못했고, Day4의 프로세스 메모리 구조 미션에서는 거의 밤을 새서 체력이 가면 갈수록 떨어지는 느낌이었다. 네이버 부스트캠프 챌린지 과정2주 간의 베이직 과정을 지나고, 네부캠이 챌린지 과정을 시작하게 됐다. 드디어 4학년 과정에서 새롭게 도전하는 콘텐츠가 생길 수 있어서 기분이 매우 좋았다. 베이직 과정에서는 10시부터 17시까지 스스로 문제를 해결하고 스스로 다른 캠퍼분들의 코드와 README를 회고하는 방식이었다면, 이번 챌린지에서는 모두와 함께 하는 4주간의 도전 과정이었다. 네부캠이 지향하고자 하는 것은 바로 "Learning By Doing". ..
2025 Naver Boost Camp 베이직 과정 후기 & 수료 후기
·
회고록
네이버 부스트 캠프를 지원하게 된 계기저는 2024년 하반기부터 지금까지 꾸준히 대기업 IT 인프라에 대한 경험을 쌓고자, 많은 체험형 인턴 공고에 문을 두드려봤어요. 상반기 기간 동안 총 15개 정도의 서류를 넣으면서 '당연히 취업할 순 없겠지' 라는 생각을 하며 귀하게 면접을 볼 수 있었던 기회를 얻고, 서류의 보완할 점을 계속 찾으며 발전시켜나가는 과정을 연습하고 있었다고 생각했습니다. 그리고 2025년 상반기에 4학년 1학기 캡스톤 디자인 프로젝트를 성공적으로 수행하게 된 뒤에, 어김없이 여러 인턴의 문을 두드려봤지만 결국 성공하지 못했습니다. 그래서 초심으로 돌아가 제가 무엇이 부족한지 생각을 해보았습니다. 꾸준히 도전하고자 하는 제 열망에 비해 CS 지식이나, 코딩 테스트 역량, 프로젝트 ..
[DataBase] 퍼블릭 액세스 제한 후 RDS와 EC2 연결하기
·
Infra & Cloud
문제 상황RDS 퍼블릭 액세스를 차단하고 난 뒤, EC2에서 DB 접속에 문제가 발생함docker-compose와 ci-cd 로직 및 rds와 ec2의 보안그룹 문제라고 판단함. 1. RDS 생성→ 생성 시 퍼블릭 액세스 차단으로! (퍼블릭 IP로 인한 Virtual IP 비용 청구됨)→ Postgresql DB를 활용할 예정이므로, psql을 기준으로 설명하겠음. 2. RDS와 EC2의 네트워크 환경 확인AWS 콘솔 → EC2 → 해당 인스턴스 선택 → 네트워크 인터페이스 확인AWS 콘솔 → RDS → 해당 DB 인스턴스 선택 → VPC 및 서브넷 정보 확인EC2와 RDS가 같은 VPC 및 서브넷에 있는지 확인 3. EC2 와 RDS 간의 보안 그룹 설정퍼블릭 액세스를 차단한 경우, EC2에서만 접..
[Spring] WebClient 라이브러리를 활용한 외부 API 호출 시 발생하는 scanAvailable 에러
·
Back-end/Spring
1. WebClient 라이브러리를 활용하여 GPT 서버 API 호출사용자가 prompt를 입력하면, 이 prompt를 Request Body로 담아주고 GPT 서버 API를 호출하면 API는 응답 값으로 String 배열을 리턴해준다. 이 API의 response body를 받아와서 배열 내 문자열을 바탕으로 각 Bubble이라는 엔티티 객체를 만들어 DB에 저장하는 로직을 구현하고자 하였다.@PostMapping("/create")@Operation(summary = "버블 생성 API", description = "프롬프트를 기준으로 GPT API에서 뽑아준 청크 단위로 버블 생성 후 반환")public ApiResponse> createBubbles( @AuthenticationPri..
[Spring] React에서 Set-Cookie가 보이지 않아요
·
Back-end/Spring
문제 상황현재 상황은 다음과 같다. FE : http://localhost:3000BE : https:// ~~ FE에서 BE에 로그인 요청을 보내는 과정인데 다음과 같은 에러가 발생했다. 즉, OAuth2 로그인 과정 자체에서 실패해버리는 것. 과정은 다음과 같다. 1. server_domain/oauth2/authorization/kakao 접속2. localhost:3000/api/auth/callback?code={code} 로 리디렉션3. 해당 임시 코드를 가지고 서버에 Token 발급 API 호출4. Response Body에 AT를, Set-cookie 헤더에 Refresh Token을 발급 쿠키 정책에서 문제가 생긴다. 쿠키를 응답에 추가하는 방식이 문제일 가능성Cookie refres..
[Redis] RedisReadOnlyException: READONLY You can't write against a read only replica.
·
Back-end
문제 상황팀원으로부터 로그인이 되지 않는다는 보고를 받게 되었다... 현재 로그인 로직이 어떻게 되어있냐면 소셜 로그인 진입소셜 로그인 성공 시 임시 코드를 발급하고 콜백 URL에 리디렉션 시켜준 뒤, redis에 만료기한을 1분으로 하여 저장클라이언트는 해당 code를 쿼리 파라미터에 넣어서 API를 호출함. 호출 시 서버에서 AT, RT를 발급하여 반환해주는 로직 그런데, cloudwatch의 로그를 보니까 다음과 같이 로그인은 성공하는데 Redis에서 에러가 발생한다. 즉, Redis에 값을 삽입할 때 나는 문제였다 해결 과정1. Redis Read Replica 설정 문제현재, docker redis image를 pull 받아와 컨테이너에서 돌아가고 있는 상황이다.따라서, redis-cli에..
[AWS] Docker Logs -f 로그를 CloudWatch에서 확인하기
·
Infra & Cloud/AWS
현재 문제 상황- ec2 내 spring application log를 참고하려면, 직접 EC2에 접속하여 docker logs -f {containerID} 명령어를 실행해야 함.[너무 번거로움] - CI CD할 때마다 컨테이너가 중지되어 log가 사라지는 문제 발생 그래서, 1. logback.xml 및 의존성 주입, aws iam access Key를 등록하여 spring application에서 cloudwatch로 로그를 전송하고자 함2. 하지만 이뤄지지 않았고, 구글링 결과 docker logs를 cloudwatch로 전송하여 해결하면 됨.3. 근데, 컨테이너가 중지될 때까지 로그가 쌓이는 문제가 생기니까, CI/CD가 이뤄지는 시점을 기준으로 로그 스트림을 나눌 필요가 있었음.4. 따라서,..