전체 보기

·Backend/Spring
Hateoas 기존의 API 응답 방법에서 만약 특정 URL에 대한 요청을 했는데, 해당 URL이 바뀌었다면 404 NotFound를 반환하기 때문에 이를 동적으로 Hypermedia 링크를 삽입된 응답을 반환하기 위한 메커니즘이 Hateoas 이다. Hateoas(Hypermedia As The Engine Of Application State)는 Hypermedia를 Application의 상태를 관리하기 위해 도입된 개념. 즉 , 클라이언트는 서버와 동적으로 상호작용이 가능하도록 해야함. ⇒ 요청에 필요한 URI를 응답에 포함시켜 반환 RestAPI 구현레벨 RestAPI에도 구현 레벨이 있는데 Hateoas 는 마지막 Level3 의 단계이다. [참고링크] 의존성 추가하기 implementatio..
·Backend/Spring
HTTP 통신과 관련된 Annotation들 @RequestMapping (요청을 받을 때) 특정 URL에 요청을 보내면 Controller에서 이를 처리하는데, URL과 HTTP Method에 따라 맞는 요청을 받아 처리한다. @Controller @Slf4j @SessionAttributes("order") @RequiredArgsConstructor @RequestMapping("/orders") public class OrderController { @GetMapping("/current") // @RequestMapping(value = "/current",method = RequestMethod.GET) public String orderForm(@AuthenticationPrincipal U..
·Backend/Spring
YML YML 은 ‘사람이 쉽게 읽을 수 있는’ 데이터 직렬화 양식이고 원래 Yet Another Markup Language 였는데 핵심은 마크업이 아닌 데이터임을 보여주기 위해 YAML Ain't Markup Language 라는 재귀적요소를 더한 이름으로 바꾸었음. YML의 장점 가독성 자료형과의 결합 주석 사용가능 1. 가독성 xml의 경우엔 태그기반 markup으로 속성을 표시해 주는데 조금만 복잡해도 사람이 읽기가 힘들다. json 의 경우도 마찬가지로 어디까지가 Object이고 Array 인지 보기가 힘듬. 그에 반해 yml은 계층구조로 표현하여 가독성이 좋으며 .properties 에 비해 불필요한 중복제거도 가능. 2. 자료형과의 결합 YML의 기본 자료형 스칼라 : number, Str..
·Backend/Spring
Spring Secutiry 구성하기 WebSecurityConfigurerAdapter SpringSecutiry 의존성을 추가하게 되면 기본적으로 WebSecurityConfigurerAdapter 클래스가 실행. WebSecurityConfigurerAdapter 는 SpringSecutiry 의 웹(http) 보안 기능 초기화 및 설정들을 당담하는 내용이 담겨있고 인증/인가 관련 설정을 제공. configure() 메서드를 Override 하여 설정정보를 구성할 수 있다. @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig extends WebSecurityConfigurerAdapter { p..
·Backend/Spring
스프링시큐리티를 공부하던 도중 책에서 이런 코드가 있었다. SecutiryConfig 구성 클래스 안에서 configure를 orverride 하는 코드이다. .hasRole() 을 호출할 때 ROLE_USER 로 설정하는것. 그리고 이는 밑의 코드와 동일하게 돌아간다고 하지만 막상 돌려보면 ? ?????? 오류를 찾아봤더니 친절하게 설명을 해준다. ROLE_ 은 자동생성해주니깐 prefix의 ROLE_ 을 쓰지말라고 .. hasRole()의 내부는 이렇게 생겨먹었다. 저 rolePrefix는 자동으로 ROLE_ 이라는 prefix를 붙여주기 때문에 ROLE_ 이라는 prefix를 제외한 권한을 적으라는 것이다. 여기서 ROLE_ 이라는 prefix를 자동으로 붙여준다. 별도의 설정을 하지 않는 이상 따..
https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 📝문제 📝풀이 단순히 문자열 완전탐색으로 풀 수 있었다. 우선, anta tica 부터 5개의 알파벳을 차지하고 시작하므로 k>5 인경우에만 진행해야 한다. pattern matching 함수를 사용하여 만약, 해당 패턴의 단어가 있으면 anta tica를 제외한 부분만 문자열 리스트에 추가한다. 알파벳 방문 체크 배열 visit 을 하나씩 체크하다가 k 개의 갯수가 되었다면 문자열 리스트..
https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 📝문제 📝풀이 탐색문제인데 , 탐색할 때 마다 다른 노드에 영향을 끼치는 유형이며 큐를 이용해야 하는 문제이다. isSeprated() 함수로 분리가 되었는지에 대한 검사를 계속 시행하면서 만약 분리가 되지 않은 경우 전 좌표를 살피면서 동서남북으로 바다가 있는지 검사한다. 검사한 결과가 0보다 클 경우 큐에 삽입. if 큐가 비어있을 경우 => 분리 불가능. break import java..
https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 📝문제 📝풀이 1. 각 시험장 마다 총 감독원이 꼭 있어야 함 2. 시험장 인원을 부감독 수로 나눔 import java.io.*; import java.math.BigInteger; import java.util.*; import java.util.stream.Collectors; import java.util.stream.IntStrea..
김까따
'분류 전체보기' 카테고리의 글 목록 (3 Page)