2021/09 56

04. 재귀함수 (Recursive Call)

정의 재귀용법(=재귀함수) 란? - 함수 안에서 동일한 함수를 호출하는 형태 - 재귀 호출은 스택의 전형적인 예이다 - 함수는 내부적으로 스택처럼 관리된다 TIP 고급 정렬 알고리즘에서 재귀용법을 사용하므로 고급 정렬 알고리즘을 익히기 전에 재귀용법을 먼저 익히는 것이 좋다 재귀 용법의 이해 (예시 - 팩토리얼) - factorial(num) 은 서번의 factorial 함수를 호출해서 곱셈을 한다 - 일종의 num - 1 번의 반복문을 호출한 것과 동일하다 - factorial () 함수를 호출할 때 마다 지역변수 num 이 생성된다 - 시간 복잡도 O(num-1) , 공간 복잡도 O(num) 이므로 둘 다 O(n) 이다 재귀함수 (Recursive Call) public class RecursiveC..

03. 삽입 정렬 (Insertion Sort)

정의 - 삽입 정렬은 두 번째 인덱스 부터 시작한다 - 해당 인덱스 (key 값) 앞에 있는 데이터 (B) 부터 비교해서 key 값이 더 작으면 B 값을 뒤 인덱스로 복사한다 - 이를 key 값이 더 큰 데이터를 만날 때 까지 반복하고, 큰 데이터를 만난 위치 바로 뒤에 Key 값을 이동 버블정렬이 조금 비효율적인 면이 있기에 비교횟수를 효율적으로 줄이기 위해서 고안된 방법이 삽입정렬입니다. 삽입 정렬은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 정렬 방법입니다. 버블정렬은 비교대상의 메모리 값이 정렬되어 있음에도 불구하고 비교연산을 하는 부분이 있는데 삽입정렬은 기본적으로 버블정렬의 비교횟수를 줄이고 크기가 적은 데이..

07. Spring Security TestRestTemaplte PatchMapping 오류

문제 org.springframework.web.client.ResourceAccessException: I/O error on PATCH request for "http://localhost:50660/api/v1/me/profile": Invalid HTTP method: PATCH; nested exception is java.net.ProtocolException: Invalid HTTP method: PATCH at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:785) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711) at ..

04. Spring Boot 2.4 Profile 적용 안되던 문제

문제 원인 Spring Boot 2.4 버전 부터 application profile 을 작성하는 방식이 달라졌습니다 (아래 참고) http://honeymon.io/tech/2021/01/16/spring-boot-config-data-migration.html [spring-boot] 2.4 부터 변경된 구성파일 처리방식 살펴보기 - I'm honeymon(JiHeon Kim). 스프링 부트 2.4(https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.4-Release-Notes) 출시노트를 살펴보면 인상적인 2가지가 있다. 애플케이션 구성파일(application.yml 혹은 application.properties)의 작동방식 hon..