Study

Study/네트워크

[네트워크] NAT 그리고 SNAT/DNAT/FNAT

NAT란?NAT(Network Address Translation)란, 사설 IP 주소를 공인 IP 주소로 바꾸는 주소 변환방식이다.NAT는 Static NAT, Dynamic NAT, PAT로 구분된다. 1. Static NAT : 1:1로 NAT를 하는 방식으로 Port 변환이 일어나지 않고 사설 IP와 공인 IP를 1:1로 매핑한다.2. Dynamic NAT : N:M으로 NAT를 하는 방식으로 IP Pool을 사용하여 내부 사설 IP 다수가 여러 개의 공인 IP로 매핑된다.3. PAT : Port 방식으로 공유기나 방화벽에서 일반적으로 사용되며 내부 사실 IP 다수를 공인 IP 하나로 변환된다. Static NAT 하나의 사설 IP(192.168.10.100)를 하나의 공인 IP(100.100.1..

Study/네트워크

[네트워크] TCP vs UDP

TCP (Transmission Control Protocol) TCP는 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜이다. TCP는 네트워크에 연결된 컴퓨터에서 실행되는 프로그램 간 안정적으로, 순서를 지키며, 에러없이 교환할 수 있게 한다. TCP의 특징은 다음과 같다. 1. 연결형 서비스로 가상 회선 방식 이용 : 3way handshaking 과정을 통해 연결을 설정하고, 4way handshaking 과정을 통해 연결을 해제한다. 2. 흐름 제어 (Flow Control) : 데이터 처리 속도를 조절해 수신자의 버퍼 오버플로우를 방지한다. 3. 혼잡 제어 (Congestion Control) : 네트워크 내 패킷 수가 과도하게 증가하지 않도록 방지한다. 4. 높은 신뢰성을 보장 : 신..

Study/TIL

[TIL] 주석 컨벤션

코딩 컨벤션이란? 그리고 주석 컨벤션? 코딩 컨벤션? - 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약이다. 주석 컨벤션? - 위에서 나오는 코딩 컨벤션의 일종으로 협업을 위한 주석을 처리하는 경우에 파일에 삽입하거나 로직 중간에 삽입할 주석의 형태나 모양, 주제 혹은 카테고리를 정하여 코딩하는 주석 스타일 규약이다. 코드 컨벤션의 장점 코딩 컨벤션을 준수하면 가독성이 좋아지고, 성능에 영향을 주거나 오류를 발생시키는 잠재적 위험 요소를 줄여준다. 특히 규모가 큰 프로젝트일수록 유지보수 비용을 줄이는 데 도움이 된다. 주석 컨벤션 (여러 컨벤션 중 일부) 1. 주석은 설명하려는 구문에 맞춰 들여쓰기 한다. function someFunction() { // statement에 관한 ..

Study/자료구조

[자료구조] 해시테이블과 충돌 해결

Hash Table 해시 테이블을 사용하는 이유? 적은 자원으로 많은 데이터의 효율적인 관리 언제나 동일한 해시 값을 리턴하므로 찾고자하는 값의 index를 알면 빠른 검색이 가능 Hash Function 단방향의 해시 함수를 구현하여 해시 값을 리턴한다. 데이터가 많아지면 다른 데이터가 동일한 해시 값으로 충돌나는 현상이 ‘Collision’ 이다. 좋은 해시 함수란, 데이터는 고르게 분포하고 충돌을 최소화할 수 있는 함수이다. Resolve Collision Open Addressing Linear Probing index에 대한 충돌이 발생했을 때, index 뒤에 있는 버킷 중에 빈 버킷을 찾아 데이터를 넣는 방식 최초 해시값에 해당하는 버킷에 다른 데이터가 저장돼 있으면 해당 해시값에서 고정 폭..

Study/자료구조

[자료구조] 그래프 (BFS, DFS)

Graph (그래프) 현실세계 사물, 개념 간 연결 관계를 수학적 모델로 단순화하여 표현한 것 V : 정점 (Vertex / Node) / E : 간선 (Edge / Link / Arc) 표현 : 그래프 G = (V, E) 그래프 용어 정점, 노드 (Vertex, Node) 간선 (Edge) 무향 간선 (Undirected Edge) : 방향이 존재하지 않는 간선으로 양방향이다. 유향 간선 (Directed Edge) : 방향이 존재하는 간선이다. 인접 (Adjacent) : (정점의 관점에서) 두 정점 사이에 간선이 존재하면 A, B는 인접한다. 부속 (Incident) : (간선의 관점에서) 두 정점 사이에 간선 e가 존재하면 간선 e는 두 정점에 부속한다. 차수 (Degree) : 한 정점에 연결된..

Study/자료구조

[자료구조] Tree와 Heap

Tree (트리) 자료들 사이의 계층적 관계를 나타내는데 사용하는 비선형 자료구조 (부모-자식 관계로 표현) 트리가 만족하는 조건 루트 노드(root node)가 존재 → 트리는 반드시 1개 이상의 노드를 가짐 트리의 부분 트리(sub tree)도 트리 구조를 따름 Tree 용어 루트 노드 (Root) : 트리의 최상위 노드로 unique 부모 노드 (Parent) : 부모-자식에서 상위 계층 노드 자식 노드 (Child) : 부모-자식에서 하위 계층 노드 형제 노드 : 부모가 동일한 노드 조상 노드 : 해당 노드의 부모 노드부터 루트 노드까지 가는 경로에 존재하는 모든 노드들 후손 노드 : 해당 노드를 루트로 하는 부분 트리에 있는 모든 노드들 내부 노드 (internal/nonterminal) : 자..

dDong2
'Study' 카테고리의 글 목록