일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- mutable
- 자료구조
- transaction
- 인덱스
- Database
- index
- 깊은복사
- 프록시서버
- acid
- binarySearch
- 방어적복사
- 얕은복사
- 이진탐색
- java
- proxy
- 정규화
- 알고리즘
- RDBMS
- ERD
- immutable
- 불변객체
- reverse프록시
- forward프록시
- 데이터베이스
- NoSQL
- 조인
- Today
- Total
목록Cs (14)
jacketList

백준 문제를 푸는데 Arrays.sort를 활용해 정렬을 했더니 시관 초과가 났다. Arrays.sort는 dual pivot QuickSort 알고리즘을 사용해 평균 시간복잡도가 O(nlong)인 매우 빠른 알고리즘에 속한다고 한다. 하지만 최악의 경우 O(n^2) 이 될 수도 있다는데.. 해당 백준 문제에서는 Arrays.sort()를 쓰지 못하게 O(n^2)이 걸리도록 저격한 데이터가 있었고... 여기서 알게된 계수정렬(Counting Sort)을 정리해보고자 한다. 계수정렬(Counting Sort) 가 뭔데? 계수정렬은 수많은 알고리즘 중 시간복잡도가 O(n)으로 엄청난 성능을 보여주는 알고리즘이다. 대표적인 빠른 정렬 알고리즘으로 퀵 정렬(Quick Sort), 힙 정렬(Heap Sort), ..

HTTP/IP/TCP/UDP 는 모두 프로토콜 프로토콜은 클라이언트와 서버가 정보를 교환할 수 있도록 하는 메시지 형식에 대한 규칙이다. HTTP는 브라우저의 개발자 도구의 네트워크 탭에서 HTTP메시지의 헤더를 통해 어떤 구조로 메시지를 주고 받는지 눈으로 확인이 가능하고 IP 같은 경우 192.168.10.1과 같이 숫자로 주소값을 나타내고 있다는 것을 알 수 있다. 그러나! TCP/UDP같은 경우 실질적으로 눈에 보이는게 없다보니 잘 와닿지 않는다. TCP/UDP에 대해 자세히 알아보자 TCP(전송 제어 프로토콜)? IP(Internet Protocol)가 인터넷 프로토콜로써 복잡한 인터넷 망 속에서 클라이언트와 서버간에 통신할 수 있게 IP주소와 패킷과 같은 규칙을 통해 통신을 하게 하는 것이라면..

SOP가 무엇인가요? same object policy의 약자로 동일 출처 정책을 의미한다. 동일 출처 정책? -> 같은 출처(Origin)의 리소스만 공유가 가능하다는 정책 출처(Origin)이 뭔가요? 출처는 프로토콜(Protocol or Scheme), 호스트(Host), 포트(Port)로 구성되어 있고 모두 같아야 동일한 출처라고 말한다. 1번은 프로토콜이 다르고 3번은 호스트가 다르다 2번은 http의 기본 포트가 80이라 생략이 가능하므로 같은 출처이고 4번은 api/cors 부분은 path이므로 같은 출처이다. 동일 출처 정책(SOP)는 어떤 출처(Origin)에서 불러온 문서(Document)나 스크립트(Script)가 다른 출처에서 가져온 리소스와 상호작용 하는 것을 제한하는 보안 방식이..

프록시(proxy)는 '대리' 라는 의미를 갖고 있음 즉 프록시 서버는 서버와 클라이언트 사이의 '중계자'로써의 역할을 수행한다. 웹과 서버간 통신을 하는데 왜 중간에 프록시 서버를 거쳐 통신을 해야할까? 프록시 서버를 사용하는 이유로는 아래와 같은 이유가 있다. 보안 클라이언트에서 다이렉트로 서버로 요청을 보낸다면 서버의 주소가 쉽게 노출되기 때문에 익명의 사용자가 서버로 접근하기 쉬워진다. 이를 방지하기 위해 프록시 서버를 중간에 거치도록 하여 서버의 IP를 숨김으로써 외부로부터의 위험을 막아준다. 프록시 서버를 방화벽으로 사용하기도 한다. ※방화벽(FireWall) 보안 규칙에 기반하여 오고가는 네트워크 트래픽을 모니터링 하고 제어하는 네트워크 보안 시스템 신뢰할 수 있는 내부 네트워크 신뢰할 수 ..

HTTP는 클라이언트의 상태 정보를 저장하지 않는 Stateless한 특징과 요청에 응답한 후 연결을 끊는 Connectionless한 특징을 갖고 있다. 그렇다면 매번 요청이 들어올때마다 올바른 사용자인지 검사하고 연결하는 작업을 반복해야 한다는 것이다. 이는 매우 비효율적인 작업이고 이를 해결하기 위해 쿠키(Cookie)와 세션(Session)이 등장하게 되었다. 쿠키(Cookie)는 무엇인가요? 쿠키는 사용자가 웹 사이트에 방문했을 경우 사용자의 컴퓨터에 저장되는 작은 기록 파일을 의미한다. 클라이언트의 상태정보를 쿠키형태로 클라이언트의 PC에 저장해 놓고 필요시 해당 정보를 참조하거나 재사용 할 수 있다. 쿠키는 어떻게 동작하나요? 사용자가 서버로 로그인 요청을 보낸다 서버는 요청을 확인한 후 응..

자료구조란? 데이터 값의 모임. 각 원소들이 정의된 규칙에 의해서 나열되어 있고 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것 목적 데이터를 효율적으로 저장, 관리하여 메모리를 효율적으로 사용하기 위해 - 실행시간 단축, 메모리 용량 절약 자료구조와 알고리즘 알고리즘 = 문제 해결을 위한 방법 자료구조 = 효율적인 알고리즘을 사용할 수 있게 해주는 수단 자료구조의 종류 선형 구조: 순차적으로 나열 되어있는 형태의 구조 비선형 구조: 나열되어 있지는 않지만 하나의 자료가 다른 자료와 연결된 구조 파일 구조: 같은 성질을 가지는 레코드들끼리 모아 놓은 파일을 일정한 규칙에 따라 저장하는 것 필수 자료구조 1. Array(배열) 동일한 타입의 데이터 저장 , 고정된 크기 인덱싱 되..