alt
Home
hungryjayy
Cancel

Red Black Tree

: 이진 탐색 트리(BST)는 조회, 삽입, 삭제시 O(logN)== O(h) == O(depth) 의 시간이 걸린다. 그런데, 운이 좋지 않아 편향된 모양을 갖게 되면 될수록 시간복잡도는 O(N)에 가까워진다. 따라서 균형잡힌 이진탐색트리를 유지하는게 좋은데, 그 중 하나로 대표적인게 RBT이다. 특징 자가 균형잡힌 이진트리 실 사용...

이진 탐색 트리(BST)

: 이진 트리의 일종이고, 효율적인 탐색을 위한 자료구조 규칙 각 노드의 키는 유일하다. 부모가 왼 자식보다 크고, 오른 자식보다 작다. 각 서브노드도 이진탐색트리이다. 탐색 : root부터 시작해, 원하는 key가 작으면 왼쪽 서브트리, 크면 오른쪽 서브트리로 이동 시간복잡도: O(log n) . 정확히는 O(h)...

이진트리(Binary Tree)

: Root를 중심으로 두 개의 서브 트리로 나뉘는 트리. 이 때 나눠진 두 서브트리도 이진트리여야 한다. leaf node에 도달했을 때 해당 leaf node를 root로 하는 (마지막의) 서브트리도 이진트리여야 하기 때문에 Node 하나인 것도 이진 트리. -> 같은 논리로 공집합도 이진 트리. ...

HTTP 완벽가이드 5장 - 웹 서버가 하는 일

웹 서버는 목적에 따라 다양하지만, 기본적으로 리소스에 대한 HTTP 요청을 받아 콘텐츠를 클라이언트에게 돌려주는 일을한다. 간단한 일을 처리하는 작은 임베디드 서버(프린터, 가전기기, IoT 등)을 생각해보자 커넥션을 맺고, 요청을 받고, 처리(해석)하고, 리소스에 접근하고, 응답을 만들고 보낸다. ...

파라미터의 역할

문제상황 private foo(data: { id: string }) { const { id } = data; if(typeof id === 'string') { // ... } else { debug('invalid data type'); } } 타입스크립트 언어를 사용...

SQL Injection

공격 방법 인증 우회 아이디를 입력하고 비밀번호 창에 “1234 or 1=1” 과 같은 비밀번호를 전달해주면, 이게 쿼리로 변환되면서 WHERE 절에서 항상 true 결과를 불러오는 쿼리가 되고, admin 페이지로 접근하게 됨. 에러 유발 기본적으로 웹...

HTTP 완벽가이드 4장 - 2. HTTP 커넥션

Connection 헤더란? 헤더 보호하기 : 한 Connection 작업에서만 사용되어야 하는 토큰 값들을 쉼표로 구분해 갖고 있는다. 다른 커넥션(다른 홉)에 전달되는 것 방지 HTTP/1.1 200 OK Cache-control: max-age=3600 Connection:...

프로세스의 상태변화

new -> ready : 장기 스케줄러에 의해 Ready Queue에 올라감 ready -> running : 단기 스케줄러에 의해 CPU에 할당된 상태.(dispatch) running -> ready : 다른 프로세스에 의해 선점당하면(interrupt) 다시 Ready Que...

모던 JavaScript 튜토리얼 - 'use strict'

: 엄격한 모드로, 기존에 무시해왔던 것들을 엄격하게 잡아낸다고 이해. About 2009년 ES5에서 새로운 기능이 추가되면서 기존 기능 일부가 변경되어 호환성 이슈가 있었다. JS에서는 그 변경 사항을 항상 활성화시키지 않고, 'use strict'라는 지시자를 사용하는 경우에만 활성화되도록 했다. 따라서...

JPA와 Proxy

Proxy사용 이유 : 엔티티를 실제 사용하는 시점에 DB에서 가져오기 위해 사용한다. e.g ) Team과 Member 클래스가 있다고 가정할 때, 1 : n 연관관계를 갖게 되고, 각 멤버는 해당하는 팀 객체를 ManyToOne으로(FK) 갖는다. 이 때 Member에 대한 정보를 조회하기 위해 Team 정보까지 조회하는 것은...