Rest Controller 를 구현할 때 비즈니스 로직 수행 중 문제가 발생할 경우 이를 핸들링 하기 위한 기능이다.서버의 문제인지 클라이언트의 문제인지 원인을 클라이언트에게 응답할 수 있다.만약 예외처리를 하지 않는다면 모든 exception 이 500 에러로 발생
Swagger 는 REST 웹 서비스의 설계, 빌드, 문서화, 소비하는 일을 도와주는 오픈소스 프레임워크이다.간편하게 프로젝트에서 지정한 URL 들을 HTML 파일로 정리해준다.spring boot 3.x.x 부터는 spring doc 을 사용해야 한다.참고로 1.7.
git hub 의 계정은 개인 계정과 단체계정 (Organizations) 으로 나눌 수 있다.개인계정에서도 저장소를 만들어 다른 계발자와 협업이 가능하지만, 소유주 한명에게 의존적인 형태로 작업이 진행된다는 단점이 있다. \- Organizations 은 권한
Google 에서 앱 비밀번호 설정 → Google 메일 설정google → 계정관리 → 보안 → 2단계 인증 → 앱 비밀번호 설정앱 선택 : 메일기기선택 : 비밀번호16자리 기기용 앱 비밀번호를 저장해준다.Gmail → 우측상단 톱니바퀴 → 모든 설정 보기 → 전달
runner 는 github action 을 CD 하기 위해 워크플로우가 실행되는 환경을 제공하고,필요한 의존성을 설치하고 작업을 수행할 수 있도록 도와주는 실행환경이다.배포하려는 가상 instance 서버를 runner 와 연결해야한다.연결이 완료되면 instance
다양한 사람들과 협업을 할 때 에러 또는 테스트가 실패한 상태로 원격 branch 에 push 하지 않도록 막을 수 있다.즉, 기본적인 검증이 완료된 상태로 merge 할 수 있다.git hub action 설정파일을 관리하는 디렉토리이다.아래 경로에 원하는 파일을 생
Map 을 JSON 으로 변환시켜주는 객체Claims (Client 정보) 를 Map 에 저장하기 때문에 변환 과정이 필요하다.Map<String, Object> claimsJWT 에 저장하려는 client 의 정보int seconds토큰의 만료 시간claims
시크릿 키 생성시크릿 키는 되도록 길게 만드는 것이 좋다.시크릿 키는 절대로 외부에 노출되어선 안된다.git ignore 나 암호화를 사용해 보안을 유지시키자🔗 Jaypt 로 암호화 하기시크릿 키의 존재 유무를 확인하는 test 케이스 생성시크릿 키는 applicat
🔗 repositoryGradle - GroovyJava 17Spring boot 3.0.6JarDependenciesSpring WebLombokSpring Boot DevTools
모바일 앱이 없던 시절엔 브라우저와 서버간의 통신이 대부분 이였다.클라이언트는 ID, PW 로 인증을 완료하고 브라우저에 저장된 세션값을 쿠키에 담아서 요청하는 방법으로 로그인을 유지했다.이렇게 하면 간단한 CPU 연산만으로 로그인을 유지시킬 수 있었다.모바일 앱은 기
🔗 Toss 개발자 센터🔗 spring boot 토스 페이먼츠 연동 샘플 공식 Git repository🔗 Spring boot 만 따로 분리한 Repository모바일에서 Toss 앱 가입개발자 센터에서 Toss 아이디로 로그인우측 상단에 내 개발자 정보 → A
외부 서버와 통신을 하기위해선 HTTP 메시지를 이용해야 한다.기존에는 메시지를 작성하고 요청, 응답 받기 위해 RestTemplate 을 사용했었다.ReestTemplate 을 직접 사용할 때 매우 복잡하고, 응답 받은 값을 직접 하나하나 매핑해줘야 되는 점이 불편했
JSON Web Token 라이브러리JWT 토큰을 발급받기 위해 사용했던 추상 객체로, Spring Security 라이브러리를 의존하면 사용할 수 있었다.2022 년 2월 21일에 업데이트된 Spring Security 5.7.0-M2 버전 이후부터 서비스가 종료되었
객체의 필드값 변화를 그래프로 만들기 위해서 Spring boot event 를 적용한 Snapshot 객체를 만들어 그래프를 구현하고 있었다.그래프는 일주일까지 기록되기 때문에 하나의 객체당 Snapshot 7 개의 객체만 있으면 되서,새로운 Snapshot 이 생성
객체의 변화를 Spring Event Lestener 를 통해 Snapshot 객체에 기록🔗 적용 방법기록한 Snapshot 객체를 List 에 담아 Model 을 통해 HTML 에 전달Google Charts 를 사용해 Snapshot 에 기록된 수치를 차트로 변환
클라이언트가 특정 작업을 한 뒤,특정 시간동안 같은 작업을 하지 못하게 막기위한 기능이다.사용자 편의를 위해 다음 작업 가능시간까지 초단위로 보여줄 수 있는 기능도 구현하면 좋다.custom 을 사용해 원하는 금지 시간을 입력해준다.이렇게 구현하면 java 코드로 구현
작업 순서파일 생성build 폴더가 위치한 디렉토리에서 생성해야 한다.이미지 생성빌드가 완료되면 docker images 로 gram 이 생성되었는지 확인이미지 실행만약 환경변수가 있다면 -e 속성으로 환경변수를 추가해주면 된다.명령어 실행 후 docker ps 에 g
git repository 에 기록된 프로젝트를 server 에서 clone 해 build 하면 배포가 완료된다.혹시 기존에 디렉토리가 있다면 삭제해준다.tmp 디렉토리 기준디렉토리 생성디렉토리로 이동프로젝트를 clone 한다.배포할 브랜치로 변경한다.git clone
NCP 서버를 세팅하면 아무것도 없는 빈 컴퓨터가 생성된다.원하는 작업을 하기위해서 필요한 프로그램들을 설치해줘야 한다.EPEL 은 CentOS 의 소프트웨어 패키지를 제공하는 저장소이다.이 패키지엔 Node.js , Docker 등이 포함되어있다.설치한 패키지를 up