Developer Log
-
Spring Security CORSFrameWork/Spring Security 2020. 6. 2. 16:15
CORS란? - HTTP 요청은 기본적으로 Cross-Site HTTP Requests가 가능합니다. Simple 하게 다른 도메인의 Resource를 사용하는것을 말합니다. 하지만 Cross-Site HTTP Requests는 Same Origin Policy를 적용 받기 때문에 요청이 불가합니다. 즉 프로토콜, 호스트명, 포트가 같아야만 요청이 가능하다. SPA(Single Page Application) 개발이 보편적으로 이루어 지고있어서 Front , Back사이에 도메인이 달라지는 경우가 많다 이경우에는 CORS 허용 정책이 필요하다. CORS 요청의 종류 - CORS요청의 경우 Simple/Preflight, Credential/Non-Credential 4가지의 요청이존재합니다. 브라우저가 ..
-
Double Linked List (이중 연결 리스트)Computer Science/Data Structure 2020. 4. 9. 14:48
- Double Linked List (이중 연결 리스트) 에대한 기록. Double Linked List란!? - 이중 연결 리스트라고도 부른다. - Linked List에 확장이 되어진 자료구조 - 한노드에 이전노드와 이후 노드에 대한 정보를 가지고있어, 양방향으로 연결이 되었있는 구조. Double Linked List의 장,단점 장점 - 양쪽 방향으로 연결이 되어있어, 앞에서 부터의 검색 및 맨 뒤부터의 검색도 가능하다. 단점 - 노드 중간에 삽입 및 삭제에대한 복잡성이 높아짐. ( 노드들의 각 링크들을 재조합 해줘야함 ) Sample Code: - GIthub : https://github.com/Lion-Park/Algorithm.git - path: /src/datastructure/Doub..
-
Linked List (링크드 리스트 [연결 리스트] )카테고리 없음 2020. 4. 9. 14:40
- 알고리즘 및 자료구조에 대해 공부하는 내용을 남겨보려한다. - 자료구조중 Basic한 Linked List에대해 기록. Linked List란!? - 연결 리스트라고도 한다. - 링크드 리스트경우 메모리상에 떨어진 곳에 존재하는 데이터들을 주소를 참조하여 연결시킨후 관리하는 데이터 구조이다. Linked List의 기본 구조와 용어 - 노드(Node) : 데이터 저장 기본 단위 (데이터, 주소[포인터])로 구성되어있다. - 포인터란 각 노드안에서 다음 이나 이전의 노드에대한 연결 정보를 가지고 있는 공간이다. Linked List의 장,단점 장점 - 미리데이터 공간을 할당하지 않아도된다. 단점 - 연결을 위한 별도의 데이터 공간이 필요하므로, 저장공간 효율이 높지는 않다. - 연결 정보를 찾는 시간이..
-
선택정렬 (Selection Sort)Computer Science/Algorithm 2020. 4. 7. 08:48
[ 선택정렬 ] - 맨 앞부터 차례대로 데이터 수만큼 비교하여 작은값을 앞으로 보내면서 정렬하는 방법. - 시간복잡도 : O(n^2) - sample code /** * 선택정렬 알고리즘: 배열중 가장 작은수를 앞으로 보내면서 정렬 * 시간복잡도 : O(n^2) * 비효율적인 정렬 알고리즘. */ public class SelectionSort { public static int[] selectSort(int[] inputArrays) { int min, index = 0, temp; for(int i=0; i
-
Spring Boot 외부설정 우선순위FrameWork/Spring Boot 2020. 3. 12. 18:50
Spring Boot에서 외부설정으로는 아래와같이 사용 할수있다. properties YAML 환경 변수 커맨드 라인 Argument 프로 퍼티 우선순위 1. 유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties 2. 테스트에 있는 @TestPropertySource 3. @SpringBootTest 애노테이션의 properties 애트리뷰트 4. 커맨드 라인 아규먼트 5. SPRING_APPLICATION_JSON (환경 변수 또는 시스템 프로티) 에 들어있는 프로퍼티 6. ServletConfig 파라미터 7. ServletContext 파라미터 8. java:comp/env JNDI 애트리뷰트 9. System.getProperties() 자바 시스템 프로퍼티 10. ..
-
제네릭(Generic)Computer Language/Java 2020. 3. 1. 21:50
출처 : http://tcpschool.com/java/java_generic_concept - 자바에서의 제네릭이란 데이터의 타입을 일반화 하는것을 말한다. 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일시 미리 지정하는 방법이다. 제네릭을 사용함으로써 얻는 장점은 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일수 있다. 반환값에 대한 타임 변환 및 타입 검사에 들어가는 노력을 줄일수 있다. JDK 1.5이전에는 Object 타입을 사용하였지만. 이경우 반환되는 Object를 원하는 타입으로 타입캐스팅이 필요했으며, 이때 오류가 발생할 가능성이 존재했다. 하지만 JDK 1.5부터 도입된 제네릭을 사용하면 컴파일 시에 미리 타입이 정해지므로, 타입검사나 타입 변환과 같은 번거로운 작업을..
-
스택 (Stack)Computer Science/Data Structure 2020. 2. 28. 17:14
Do it! 자료구조와 함께 배우는 알고리즘 입문 자바편 review - 스택은 데이터를 일시적으로 저장하기 위해 사용하는 자료구조이며, 데이터의 입력과 출력 순서는 후입선출(LIFO, Last In First Out) 이다. 스택에 데이터를 넣는 작업을 푸시(push)라 하고, 스택에서 데이터를 꺼내는 작업을 팝 (pop) 이라 하한다. push & pop을 하는 위치를 꼭대기(top) 이라하며, 스택의 가장 아랫부분을 바닥(bottom)이라고 한다. - int stack code 기능 : 1. 스택의 모든 요소를 삭제 clear 2. 스택의 용량 확인 capacity 3. 스택의 데이터 수를 확인 size 4. 스택이 비어있는지 검사하는 isEmpty 5. 스택이 가득찼는지 검사하는 isFull pa..