spring boot REST API Web 프로젝트 (3) - API 관리를 위한 Swagger 적용
·
스프링/스프링부트 RestAPI 프로젝트
스프링 부트 REST API WEB 프로젝트 깃헙 링크 https://github.com/choiwoonsik/springboot_RestApi_App_Project/tree/main/restApiSpringBootApp 수행 목록 환경구성 및 helloworld 출력 H2 DB 연동 Swagger API 문서 연동 REST API 설계 RestControllerAdvice를 이용한 통합 예외 처리 Entity - DTO 분리 MessageSource를 이용해 예외 메시지 다국화 JPA Aduting을 이용해 객체 생성시간/수정시간 적용 스프링 시큐리티 + Jwt를 이용해서 인증 및 권한 체크 스프링 시큐리티 AuthenticationEntryPoint, AccessDenied로 인증 및 인가 예외처리 ..
(백준) 13904 - 과제 [java]
·
알고리즘/백준
https://www.acmicpc.net/problem/13904 🐢 설명 디데이와 포인트가 있는 숙제들에 대해서 가장 높은 점수를 얻었을 때 그 점수를 구하는 문제이다. 먼저 점수를 가장 우선적으로 정렬하고, 점수가 같다면 날짜가 빠른게 더 우선하도록 정렬을 한다. 날짜를 기준으로 하지 않는 이유는 d-1, 1 d-2, 2 d-3, 100 d-3, 100 이 있을 때, d-1, d-2, d-3을 푸는것보다 d-2, d-3, d-3을 푸는게 더 이득이기 때문에 날짜가 아니라 점수를 우선적으로 정렬하는 것이다. 이후 점수가 같으면 날짜가 더 빠른걸 우선하게 하면된다. 모든 숙제들중 가장 늦게 풀수있는 숙제의 d-day 만큼의 숙제를 풀 날짜에 해당하는 배열을 만들어준다. 정렬된 숙제들에 대해서 우선순위대..
(백준) 13422 - 도둑 [java]
·
알고리즘/백준
https://www.acmicpc.net/problem/13422 🐢 설명 N개의 집을 연속적으로 M번 골라서 K원 미만의 금액이 되는 조합을 구하면 되는 문제이다. 집들이 원형 구조라서 N-1번집은 0번집과 연결되어있다는 점과 N과 M이 동일할 경우 N개의 집에서 연속적으로 M개를 고르는 조합은 모두 동일하다는 점을 주의하면 된다. 예를들어 집이 3개가 있고 연속적으로 3개의 집을 털어야하는 경우를 생각해보자. A B C의 집을 돈다면 1) A -> B -> C 2) B -> C -> A 3) C -> A -> B, 총 3가지 경우가 존재한다. 하지만 결국 턴 집은 A, B, C로 동일한 조합이므로 이를 처리해 줘야한다. 그래서 N == M 인 경우만 예외로 빼주고 나머지는 투포인터로 고른 집이 M개..
교정 30개월차
·
일상
교정을 2019년 2월에 첫 시작했었다. 사실 시작이 이때지 2018년 4월에 전역 후 부모님을 설득하고 병원 4군데 정도 들려서 x-ray찍고 구강구조 본뜨고 검사해서 상담받는데만 거의 서너달은 소모됐었다. 그렇게 모든 후보 리스트에서 가격, 위치, 상담내용, 교정 진행 방향을 바탕으로 치과를 골라서 시작하게 되었다. 시작할 때도 원장님이 2년 6개월정도에서 3년? 걸릴거다라고 말하기는 했는데 진짜로 그렇게 되니 신기하다... 이제 2년 6개월차인데 슬슬 뺄거라고 입질을 주시는데 그래도 1~2개월은 더 있다가 빼주지 않을까 싶다. 이왕 오래 기다린거 제대로 후회없이 교정이 되고 끝내고 싶다. 빼고나면 고기먹고 이에 음식물이 안낄려나? ㅋㅋㅋ 궁금하다.
JPA 정리
·
Web/정리글
ORM Object-Relational Mapping, 객체 관계 매핑 객체와 관계형 DB의 데이터를 자동으로 매핑해주는 것을 말한다. 객체 지향 프로그래밍 _ OOP는 클래스를 사용해서, 관계형 DB는 테이블을 사용해서 설계한다. 이런 차이로 인해 객체 모델과 관계형 모델 간 불일치가 존재할 수 있다. ORM 프레임워크가 이 중간에서 SQL을 자동으로 생성해서 불일치를 해결한다. DB 데이터 Object 객체를 통해 간접적으로 DB 데이터를 다룬다. SQL 쿼리가 아니라 메서드로 데이터를 조작할 수 있다. ORM이 객체간 관계를 바탕으로 sql을 자동으로 생성해주는 것이다. 대표적인 ORM 프레임워크로는 Hibernate가 있다. 즉, ORM은 DB와 OOP사이에서 관계를 매핑해주는 기술이고 JPA는 ..
spring boot REST API Web 프로젝트 (2) - h2 연동, SpringDataJPA 사용
·
스프링/스프링부트 RestAPI 프로젝트
스프링 부트 REST API WEB 프로젝트 깃헙 링크 https://github.com/choiwoonsik/springboot_RestApi_App_Project/tree/main/restApiSpringBootApp 수행 목록 환경구성 및 helloworld 출력 H2 DB 연동 Swagger API 문서 연동 REST API 설계 RestControllerAdvice를 이용한 통합 예외 처리 Entity - DTO 분리 MessageSource를 이용해 예외 메시지 다국화 JPA Aduting을 이용해 객체 생성시간/수정시간 적용 스프링 시큐리티 + Jwt를 이용해서 인증 및 권한 체크 스프링 시큐리티 AuthenticationEntryPoint, AccessDenied로 인증 및 인가 예외처리 ..
(백준) 가장 가까운 공통 조상 - 3584 [java]
·
알고리즘/백준
https://www.acmicpc.net/problem/3584 3584번: 가장 가까운 공통 조상 루트가 있는 트리(rooted tree)가 주어지고, 그 트리 상의 두 정점이 주어질 때 그들의 가장 가까운 공통 조상(Nearest Common Anscestor)은 다음과 같이 정의됩니다. 두 노드의 가장 가까운 공통 조상은, 두 www.acmicpc.net 🐢 설명 너무 어려운 트리문제를 맞닥뜨리고 충격을 먹고 골드 하위 문제 트리 문제를 풀려고 했다. 이 문제는 LCA 유형의 문제로 최단거리내 공통 조상을 찾는 문제이다. 문제접근은 먼저 인접리스트를 이용해서 부모 -> 자식의 단방향 그래프를 그리고, 추후 자식들이 부모를 찾아 올라가는 과정을 위해서 (자식 - 부모) 쌍의 map을 사용했다. ro..
(백준) 동전바꿔주기 - 2624 [java]
·
알고리즘/백준
https://www.acmicpc.net/problem/2624 2624번: 동전 바꿔주기 명보네 동네 가게의 현금 출납기에는 k 가지 동전이 각각 n1, n2, … , nk개 씩 들어있다. 가게 주인은 명보에게 T원의 지폐를 동전으로 바꿔 주려고 한다. 이때, 동전 교환 방법은 여러 가지가 있을 www.acmicpc.net 🐢 설명 DP문제이다. 동전 문제처럼 접근하면 될거같지만 조금 다른점이 있는데 금액별 동전들에 대해 개수제한이 있다. 따라서 각 동전별로 개수 내에서 M원까지의 금액에 대해 갱신을 해줘야한다. 개수제한이 없다면 1 ~ M원까지 모든 동전들을 비교하면 되겠지만 개수를 확인해줘야 하므로 2차원 배열을 만들어서 동전번호 별로 DP를 괸리하도록 하자. 먼저 A원동전이 A원을 나타내는 방법..
(백준) 동전 - 9084 [java]
·
알고리즘/백준
https://www.acmicpc.net/problem/9084 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 🐢 설명 다이나믹 프로그래밍 문제로 N번째 결과를 구하기 위해 N - 1번째 결과를 구하는 점화식이 필요하 문제이다. 이런 DP문제는 테이블을 만들어서 접근하는 것이 가장 좋으며 메모이제이션 기법을 활용해야한다. N개의 동전으로 M원을 만들기 위한 가짓수를 출력하는 문제이므로 DP[M] : M원을 만들 수 있는 총 가짓수 형태로 풀어보자. 2, 3, 5원 동전이 존재하고 만들려는 ..
spring boot REST API Web 프로젝트 (1) - 환경구성 및 HelloWorld 출력 테스트
·
스프링/스프링부트 RestAPI 프로젝트
스프링 부트 REST API WEB 프로젝트 깃헙 링크 https://github.com/choiwoonsik/springboot_RestApi_App_Project/tree/main/restApiSpringBootApp 수행 목록 환경구성 및 helloworld 출력 H2 DB 연동 Swagger API 문서 연동 REST API 설계 RestControllerAdvice를 이용한 통합 예외 처리 Entity - DTO 분리 MessageSource를 이용해 예외 메시지 다국화 JPA Aduting을 이용해 객체 생성시간/수정시간 적용 스프링 시큐리티 + Jwt를 이용해서 인증 및 권한 체크 스프링 시큐리티 AuthenticationEntryPoint, AccessDenied로 인증 및 인가 예외처리 ..