일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- spring formatter
- method refetence
- 생성자주입
- 스프링
- ioc컨테이너
- 도커 이미지 빌드
- open-session-in-view
- jpa lazy
- 비기능적 요구사항
- 스프링시큐리티
- kotlin ::
- 스프링 시큐리티 설정
- jpa no session
- 스프링di
- 기능적 요구사항
- 토비의 스프링
- java predicate
- 정적팩토리메서드
- Atomicity
- fetch join
- 동적파라미터
- Spring
- 스프링부트 도커
- 스프링 포매터
- 그래프큐엘
- IOC
- 자바 필터
- 수정자주입
- kotlin 리팩터링
- 소프트웨어의 품격
- Today
- Total
목록Computer Science (22)
공부기록
합병정렬(merge sort) 분할정복법을 이용한 정렬이다. 분할정복법 ? 분할 : 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 정복 : 각각의 작은 문제를 순환적으로 해결 합병 : 작은 문제의 해를 합하여(merge) 원래문제에 대한 해를 구함. 데이터가 저장된 배열을 절반으로 나눔 각각을 순환적으로 정렬 정렬된 두 개의 배열을 합쳐 전체를 정 {'A','L','G','O','R','O','T','H','M','S'} {'A','L','G','O','R'} , {'O&#..
기본적인 정렬(선택정렬, 버블정렬, 삽입정렬) 선택정렬 가장 큰 값을 찾는다. 맨 마지막 자리의 값과 자리를 바꾼다 가장 큰 값이 마지막에 위치한다. selectionSort(A[], n) { -> 배열 A[1...n]을 정렬한다. for last A[k]와 A[last]의 값을 교환 ---3 } 1의 for 루프는 n-1 번 반복. 2에서 가장 큰 수를 찾기 위한 비교횟수 : n-1, n-2, ... , 2, 1 (last개 최대값 last-1) 3의 교환은 상수시간 작업 -> 시간 복잡도 T(n) = (n-1)+(n-2)+...+2+1 = O(n^2) 버블소트 첫번쨰 값과 다음 인덱스의 값을 비교해 첫번째 값이 크면 스왑. 두번째 값과 다음 인덱스의 값을 비교해 두번쨰 값이 크면 스왑. ... 가장 ..
쿠키와 세션. 최초의 웹에서는 단순히 문서를 전달받거나 정보를 공유하는 목적으로 사용했기 때문에 상태 유지 및 관리가 필요없었다. 하지만 웹이 발전해가며 로그인이라던지 장바구니에 담긴 상품 등 상태 유지및 관리가 필요하게 됐다. 이러한 배경 때문에 쿠키가 등장한다. 상태 유지 및 관리 , 사용자 인증 수단 -> 쿠키 쿠키 지속쿠키 일반적으로 우리가 부르는 쿠키. 클라이언트 하드 디스크에 텍스트형태로 저장. 클라PC 사용자들은 해당 쿠키 정보 열람가능. 세션쿠키 일반적으로 우리가 부르는 세션. 클라이언트 웹 브라우저 캐시에 저장. 예를 들어 정상적인 로그인을 하면 was는 서버측에 해당 세션정보를 저장함. 쿠키 헤더 구조 서버에서 클라로 쿠키 발급시 Set-Cookie 헤더를 통해 클라이언트에 쿠키 값을 ..
TCP란? 계층으로 말하자면 트랜스포트(전송) 계층에 해당된다. 신뢰성있는 바이트 스트림 서비스를 제공한다. 바이트 스트림 서비스: 용량이 큰 데이터를 보내기 쉽게 TCP 세그먼트라는 단위 패킷으로 작게 분해하여 관리하고 상대에게 서비스한다 결론 TCP는 대용량의 데이터를 보내기 쉽게 작게 분해하여 상대에게 보내고 정확하게 도착했는지 확인하는 역할을 한다. 쓰리웨이 핸드셰이킹(Three way handshakiing) 상대에게 확실하게 데이터를 보내기 위한 방법. 패킷을 보낸 뒤 확실하게 보내졌는지 여부를 상대에게 확인한다. 'SYN'와 'ACK'라는 TCP플래그를 사용한다. 송신측에서 최초 'SYN' 플래그로 상대에게 접속함과 동시에 패킷을 보낸다. 수신측에서..