RequestDto에 여러 어노테이션 기반으로 제약을 걸고, 이를 Controller 단의 RequestBody에 @Valid 어노테이션을 추가하는 방안입니다.Controller 진입 전 Dto 내부 필드의 유효성을 간단하게 검사할 때 주로 사용하며, 유효성 검사 실패
현재 사내 서버에서는 AWS AuroraDB를 활용한 ReaderDB/WriterDB를 설정하고 비즈니스 로직에서 DB에 대한 접근을 제어하고 있습니다.Springboot으로 마이그레이션 도중 ReaderDB/WriterDB에 대한 접근 제어 방법을 기록하였습니다. H
프로젝트를 개발하다 보면 로컬 개발 환경과 실제 배포 환경을 분리해야 할 때가 있다.이를 위해 Spring에서는 Profile을 통해 빌드 시 활용할 appplication.yml을 지정해줄 수 있다. spring.profiles.default: 별도의 Active
팀 프로젝트 중에 AWS EC2에 부여한 Role을 바꾼 적이 있었는데, 갑자기 “인스턴스 프로파일에 연결된 역할 없음” 이라는 문구가 뜨면서 관련 Role이 적용되지 않기 시작했다.심지어 <IAM 역할 없음>을 선택해도 에러가 발생하여 아예 수정조차 되지 않는
현 프로젝트에는 Mocktio 기반의 단위 테스트와 mySQL DB에 실제로 접근하는 통합 테스트가 섞여 있다.CI 파이프라인에 테스트 성공 여부를 담아서 프로젝트의 신뢰성을 높이고자 하는데, DB에 의존하는 통합 테스트를 CI 파이프라인에 그대로 띄우기엔 추후 의존성
로그 수집 및 모니터링은 애플리케이션의 상태를 모니터링하고, 문제를 신속하게 해결하는 데 필수적인 요소이다. Docker-compose 환경으로 Promtail과 Spring Boot 애플리케이션을 함께 빌드하여 로그를 수집하고, 별도의 모니터링 서버에 있는 Grafa
현대자동차 소프티어 부트캠프의 프로젝트 요구사항에 욕설 및 부정적인 문장을 필터링하라는 정책이 있어, 네이버 클라우드 플랫폼에서 제공하는 감정분석 API를 활용하여 간단하게 이를 구현해보았다.먼저 네이버 클라우드 플랫폼의 client-id와 client-secret를
소프티어 부트캠프 프로젝트 환경을 위해 AWS VPC로 Public Subnet에는 Springboot를, Private Subnet에는 DB 서버를 배치할 것이다.먼저 VPC - VPC 생성을 눌러 CIDR 블록을 설정하고 VPC를 생성하자.Springboot 서버는
https://school.programmers.co.kr/learn/courses/30/lessons/72412효율성을 떠올리게 만들었던 문제.문제에서 추출할 수 있는 정보는 다음과 같다.Info에서 4개의 범주와 점수가 담긴 문자열이 입력되며, 이를 파싱하
https://school.programmers.co.kr/learn/courses/30/lessons/176962스택에 대한 이해가 필요했던 문제.문제에서 추출할 수 있는 정보는 다음과 같다.입력되는 과제 배열은 시간 오름차순으로 정렬해야 한다.현재 과제 종
https://school.programmers.co.kr/learn/courses/30/lessons/17683카카오는 시간계산을 참 좋아한다.문제에서 추출할 수 있는 정보는 다음과 같다.<시작시각,종료시각,음악제목,악보>의 문자열이 차례대로 주어진다.
https://school.programmers.co.kr/learn/courses/30/lessons/60057침착하게 규칙을 찾으면 해결되는 문제.문제에서 추출할 수 있는 정보는 다음과 같다.같은 값이 연속해서 나타나는 부분을 (숫자)(값)으로 처리해야 한
https://school.programmers.co.kr/learn/courses/30/lessons/42890조합을 떠올리지 못해서 굉장히 시간을 많이 잡아먹었던 문제.문제에서 추출할 수 있는 정보는 다음과 같다.릴레이션의 컬럼 중 후보키가 될 수 있는 조
https://www.acmicpc.net/problem/216092021년 삼성 코딩테스트 2번 문제였다.정말 호흡이 길었던 빡센 구현 문제여서 풀었을 때 도파민이 엄청났다..중간 그림은 생략하였다.정보량이 정말 많아서 세심하게 정리하지 않으면 뻘짓으로 가득
https://www.acmicpc.net/problem/216082021년 삼성 코딩테스트 1번 문제였다.다행히 N이 작아서 큰 부담은 없다.문제에서 추출할 수 있는 정보는 다음과 같다.우선순위가 가장 높은 좌표로 순서대로 학생이 배치된다.우선순위를 위한 정
오늘은 이분탐색에 이어 스위핑을 알아보겠다. 스위핑이란? 스위핑 (Sweeping)은 영어로 "쓸다"라는 뜻이며, 보통 한 쪽 방향부터 시작해서 다른 방향으로 진행하며 탐색하는 과정을 구현하는 상황을 의미한다. 자료형이 1차원인 경우 라인 스위핑, 2차원인 경우
산전수전 Docker CI/CD 적용기
Docker로 Springboot + postgreSQL 프로젝트 빌드해보기!
https://ictintern.or.kr/main.do학교에서 벗어나고 싶어 ICT 인턴십에서 Springboot 위주로 지원하였고, 코딩테스트에 응시한 후기를 남기려 한다.우선 프로그래머스와 다르게 <해커랭크> 라는 외국 PS 사이트에서 코딩테스트를
https://www.acmicpc.net/problem/17140침착하게 따라가면 풀 수 있는 문제이다.문제에서 추출할 수 있는 정보는 다음과 같다.r과 c의 대소관계에 따라 두가지 형태의 연산을 진행한다.행 기준으로, 한 행에 있는 수를 정렬하는 방식은 {