java

    스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 2 [Plugins]

    Plugins 프로젝트를 진행하면서 여러 플로그인을 깔아서 좀 편하게 쓰는데 다음과 같은 플러그인들을 써보았다. .ignore : git ignore를 작성할때 좀 편하게 idea 폴더나 이외 필요없는 파일들을 빼는 목록을 작성해주는 플러그인 Lombok : Getter, Setter, 기본 생성자, toString 들을 어노테이션을 선언함으로써 자동 생성해주는 플러그인 ex) @Getter, @Setter, @RequiredArgsConstructor 등 ... 롬복을 설정할때도 gradle에 수정이 필요한데 책에는 다음과 같이 쓰여져 있다. compile('org.projectlombok:lombok') 하지만 버전 상승에 따라 좀더 추가를 해야할 부분이 필요하다. implementation('org..

    스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 1 [Gradle]

    스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 1 [Gradle]

    이동욱 저자님의 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'라는 책이 내가 공부하려했던 Spring-boot, JPA, JUnit, OAuth2.0, AWS까지 모두 포함이 되어있어 적절하다 판단해서 시작을 했다. 하나 어려웠던 점이 있다면 책에 나온 내용은 JUnit4를 사용하고 Spring-boot도 과거에서 지금버전으로 오면서 라이브러리 위치가 달라졌다던가 아니면 사용하는 메소드의 이름이 달라졌다던가 그런점에서 오류가 여러차례 발생해서 수정하려했는데 익숙치가 않아서 좀 어려웠다. (오히려 공부가 된 거 같기도...) Build Gradle Gradle의 경우 안드로이드를 하면서 여러차례 써본적이 있지만 'dependency를 추가해서 라이브러리를 가져다 쓴다.' 정도만 알고있었지, 한줄 한줄..

    [BOJ] 17298번 : 오큰수 (JAVA/자바)

    [BOJ] 17298번 : 오큰수 (JAVA/자바)

    문제 알고리즘 고민 해당 문제는 n번째 숫자를 n+1 번부터 n번째 숫자 보다 큰 숫자중에 가장 왼쪽에 있는 숫자를 출력하는 문제이다. 처음에는 투포인터 방식으로 right가 큰숫자를 찾고 left를 진행하고 도달하면 right가 큰숫자를 찾고 left를 다시 진행하고 하는 방식을 생각했다. 하지만, 하나 문제가 있었는데 만약 left를 진행하면서 right 숫자를 써주던 중에 left숫자가 left+1 숫자보다 크다면 right가 갱신될 가능성이 있다는 것이다. 예제 입력 중 2번을 통해 확인할 수 있다. 4 9 5 4 8 먼저, 4개의 숫자 9, 5, 4, 8을 입력받게 된다. 이후 left = 0, right = 0 에서 시작하고 left == right 이므로 right를 진행시킨다. 하지만 현재..

    [BOJ] 2981번 : 검문 (JAVA/자바)

    [BOJ] 2981번 : 검문 (JAVA/자바)

    문제 알고리즘 고민 처음에는 단순하게 모든 숫자를 다 나눠보면서 나머지가 같은 숫자들을 나열하는 방식으로 하려했으나 당연스럽게도 시간초과로 인해 실패했다. 그 이후에 여러가지 방법을 시도하다가 실패하고 https://st-lab.tistory.com/155 사이트의 풀이를 참고하여 풀었다. (정말 잘푸시는거 같다...) 먼저, 수학적인 수식으로 접근을 해서 공통적인걸 뽑아내는 과정을 거쳤다. 특정한 숫자로 나눴을때 모든 숫자가 나머지가 같아야 하는 문제의 조건에 식을 맞춰서 작성한다면 다음과 같이 수식을 만들 수 있다. 최대 공약수를 M 이라고 하고 n번째의 숫자를 N, 나머지를 r 이라고 하였다. $N_1 = M * n_1 + r$ $N_2 = M * n_2 + r$ $N_3 = M * n_3 + r$..