전체 글(35)
-
99클럽 2일차 TIL: Spring Boot 에러 핸들링
#1. 오늘의 학습 키워드 자바스프링부트에서 커스텀 된 에러 메시지를 controller 로 보내고 싶을 때 방법 api 호출 → controller → service로 이어질 때, 일반적인 exception 이 아닌, 사용자 request 의 논리적 오류를 핸들하고 싶을 때: 이런 상황에서의 Exception은 RuntimeException 을 상속한 커스텀 Exception 클래스인 ApiException으로 던져진다. 실질적인 오류가 아닌 논리 오류로 validation fail에 해당하기 때문에 이렇게 처리를 하였다. 프론트엔드 단과 합의된 반환 코드(사용자의 입력값 오류 (클라이언트 error 4xx))와, 커스텀된 메시지로 오류를 throw 한다. public int method(Boolean..
2024.04.05 -
99클럽 1일차 TIL: 쿼리 성능
#1. 오늘의 학습 키워드 SQL 쿼리에서 between 과 부등호의 성능 차이 myBatis 에서 쿼리로 어떤 날짜를 뜻하는 컬럼값을 가지는 테이블에서 날짜 범주 ( start_date 와 end_date ) 사이 조건에 부합하는 행들만 뽑아오고 싶을 떄: 아래와 같은 두 가지 방식이 있다. 이때 좋은 가독성을 가지는 코드는 between 을 사용한 조건문이지만, pr Review 로 부등호가 더 낫다는 피드백을 받았다. SELECT * FROM table_ WHERE date BETWEEN '20240101' AND '20241231' SELECT * FROM table_ WHERE date >= '20240101' AND date
2024.04.04 -
Java Spring - 공부 여정
HTML 삽입 미리보기할 수 없는 소스 #1. 스프링 / 스프링 부트란 스프링 자바 기반 웹 앱 프레임워크 스프링 구조 spring은 자바 객체와 라이브러리들을 관리해주며, 톰켓과 같은 WAS 가 내장되어 있어 자바 웹 앱을 구동할 수 있음 경량 컨테이너 (bean) 로 자바 객체를 spring 안에서 관리. 객체의 생성 및 소멸과 같은 생명 주기를 관리하며, spring 컨테이너에서 필요한 객체를 가져와 사용. spring의 특징 IOC / DI IOC - 제어의 역전 DI - 의존성 주입 어떤 객체를 사용하는 주체가 객체를 직접 생성하는 게 아니라 객체를 spring에서 생성해서 사용하려는 주체 객체에 주입시켜주는 방식. 직접 생성하는 것보다 외부에서 생성 관리하는 이 방식이 주체 객체와 대상 객체의..
2024.03.16 -
Git - 간단한 명령어 모음집
HTML 삽입 미리보기할 수 없는 소스 #0. 개요 본인을 위한 깃허브 명령어 모음집. 웬만한 것은 UI로 해결이 가능하지만 커맨드도 익숙해지면 편한 것 같다. #1. 기본 연결 git clone //링크 git config --global user.name git config --global user.email 커밋 UI로 해결 가능 //수정사항 전부 체크 git add . git commit -m "커밋 메시지" // 커밋 되었는지 확인 git status // 깃 푸시 git push origin 브랜치명 //(main / develop 등, 혹은 생략해도 됨) 원격과의 연동 주의! 여기서 확인하는 원격은 로컬에서 기억하고 있는 원격 브랜치다. 그렇기에 원격과 깃서버의 싱크를 수시로 맞춰주는 것이 ..
2024.03.15 -
아마존 EC2 인스턴스를 통한 서버 배포
HTML 삽입 미리보기할 수 없는 소스 #0. 개요 아마존 ec2 서비스로 서버를 실제로 만들어 서버를 구축하고 싶은데, 매번 할 때마다 조금씩 찾아봐야 했어서 졸업프로젝트를 진행하는 과정에서 겪었던 문제와 함께 서버 구축 과정을 정리하였다. 커맨드 위주 #1. 초기 세팅 1. 아마존 ec2 인스턴스 시작 https://codemonkyu.tistory.com/entry/AWSEC2-인스턴스-생성하기-12 우분투 선택 키페어 챙기기 보안그룹설정 탄력적 ip 설정 https://velog.io/@mintmin0320/AWS-EC2를-활용한-Nest.js-서버-배포 인바운드 규칙 포트번호 유의! 💡 진입 명령어: (window: cmd 창) ssh -i "키페어 이름.pem" ubuntu@ec2-ip.ip...
2024.03.15 -
스웨거(Swagger) - @ExampleObject value 속 긴 String 분리 과정 정리
HTML 삽입 미리보기할 수 없는 소스 #0. 개요 controller에서 put / post method API 를 swagger 에 작성할 때, 스키마 뿐만 아니라, ExampleObject 코드로도 request body 가 어떤 모양이어야 하는 지 프론트엔드에게 설명을 해주고 싶다. 원할한 프론트 - 백 소통을 위해 그러나, controller의 코드가 swagger example value 문자열 때문에 너무 길어져서 백엔드 코드 가독성이 떨어졌다 심지어 exampleObject가 controller 마다 여러개 일 수도 있고, request Body Dto Class가 property 가 많으면 종잡을 수가 없다. @PostMapping("/item") @Operation(description..
2024.03.15