분류 전체보기
Springboot restdocs 적용기[1] gradle 7.x
Springboot restdocs 적용기[1] gradle 7.x
2022.06.04프런트와 같이 프로젝트를 효율적으로 진행하려면 API 문서를 공유해야 합니다. restdocs를 통해서 손쉽게 만들 수 있습니다. 1. Springboot restdocs란? Spring Rest Docs는 테스트 코드를 기반으로 자동으로 API 문서를 작성할 수 있게 도와주는 프레임워크입니다. 물론 작성하는 방법이 API 문서를 만들어주는 Swagger보다 쉽지 않습니다. 하지만 반드시 테스트 코드 작성을 요하고, Test를 통과해야 된다는 장점이 있습니다. Test 코드가 필수로 되는 시기에 좋은 기술인 거 같습니다. 한 번 적용해보겠습니다. 2. build.gradle 수정 restdocs를 사용하기 위해서는 디펜던시를 추가하며, 몇 가지 작업을 해줘야 합니다. 추가해보겠습니다. 2-1. plugi..
Git branch, 병합(merge, rebase), commit 수정
Git branch, 병합(merge, rebase), commit 수정
2022.06.031. Branch란? 독립적인 어떤 작업을 진행하기 위해 공간을 만드는 것입니다. 새로 만든 브랜치는 파생해서 만든 브랜치와 동일한 상태를 가집니다. 하지만 브랜치에서 수정하여 커밋한다면, 기존의 브랜치에는 영향을 미치지 않습니다. 예를 들어서 dev 브랜치가 있습니다. 로그인 기능을 만들기 위해서 feature/login 브랜치를 생성해 작업을 완료한 후 commit을 했다면, 아직까진 dev에는 영향이 없습니다. 하지만 merge 작업을 수행한다면 feautre/login에 commit 사항이 dev 브랜치로 넘어오게 됩니다. 이처럼 한 개의 브랜치를 여러 갈래로 나누어서 병렬적으로 작업을 수행하고, 합칠 수 있는 기반을 제공합니다. 1-1. branch 생성 첫 번째 명령어를 통해서 feature/..
Git add, commit, reset, revert, .ginignore
Git add, commit, reset, revert, .ginignore
2022.06.03이전까진 Git 사용법에 대해서 add commit push 밖에 몰랐습니다. 하지만 개인, 팀 프로젝트를 하며, Git에 대한 중요성을 느끼기 시작했습니다. 지금 공부해놓지 않으면, 계속해서 미룰 거 같아서 Git에 대해 공부한 내용을 하나씩 포스팅하려고 합니다. 1. add working directory에서 staging area로 파일을 올리기 위해서는 add를 진행해줘야 합니다. 기본적인 add 명령어를 알아보겠습니다. 1-1. git add . 해당 명령어는 변경된 사항을 모두 staging 단계로 넘겨줍니다. git add . 1-2. git add 위의 명령어가 변경 사항을 모두 넘기는 것이었다면, 아래의 명령어는 원하는 파일만 staging 단계로 넘길 수 있습니다. git add app..
백준 13397[자바] java 구간 나누기 2
백준 13397[자바] java 구간 나누기 2
2022.06.02문제 링크: https://www.acmicpc.net/problem/13397 13397번: 구간 나누기 2 첫째 줄에 배열의 크기 N과 M이 주어진다. (1 ≤ N ≤ 5,000, 1 ≤ M ≤ N) 둘째 줄에 배열에 들어있는 수가 순서대로 주어진다. 배열에 들어있는 수는 1보다 크거나 같고, 10,000보다 작거나 같은 자연수 www.acmicpc.net ▶문제 N개의 수로 이루어진 1차원 배열이 있다. 이 배열을 M개 이하의 구간으로 나누어서 구간의 점수의 최댓값을 최소로 하려고 한다. 구간은 다음과 같은 조건을 만족해야 한다. 하나의 구간은 하나 이상의 연속된 수들로 이루어져 있다. 배열의 각 수는 모두 하나의 구간에 포함되어 있어야 한다. 구간의 점수란 구간에 속한 수의 최댓값과 최솟값의 차이..
Spring-Data-JPA [7] Querydsl 설정 (gradle 7.x)
Spring-Data-JPA [7] Querydsl 설정 (gradle 7.x)
2022.06.02Querydsl을 세팅하기 전에 무엇인지 먼저 알아봅시다. 1. Querydsl이란? 타입에 안전한 방식으로 HQL(Hibernate Query Language)를 실행하기 위한 목적으로 만들어졌습니다. HQL를 작성하다 보면, String 연결 (ex= "select"+ ~~)을 이용하게 됩니다. 이는 가독성의 어려움으로 이어질 수 있습니다. 따라서 가독성과 타입에 안전하도록 도메인 모델로 변경했다. 도메인 모델로 변경함으로써, 도메인 변경이 직접적으로 쿼리에 반영되고, 쿼리 작성 과정에서도 자동완성 기능을 사용할 수 있습니다. 따라서 빠르고 안정적인 쿼리를 만들 수 있습니다. 1-1. Queryds 원칙 1. 타입 안정성(Type Safety): 도메인 타입의 프로퍼티를 반영해서 생성한 쿼리 타입을 ..
백준 5052[자바] java 전화번호 목록
백준 5052[자바] java 전화번호 목록
2022.06.01문제 링크: https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net ▶문제 전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오. 전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다. 예를 들어, 전화번호 목록이 아래와 같은 경우를 생각해보자 긴급전화: 911 상근: 97 625 999 선영: 91 12 54 26 이 경우에 선영이에게 전화를 걸 ..