CS 18

[마이크로서비스 이해하기] 1. 마이크로서비스란?

DDD란? 마이크로서비스시장변화에 빠르게 대처하고, 항상 안정적이며, 비용 최적화를 할 수 있는 제품/서비스를 제공한다.- 서비스를 잘게 쪼갠 뒤, API로만 통신하도록 한다. -> 마이크로서비스를 구현하기 위해 필요한 방법론 => DDD- 서비스를 나누는 기준 마이크로서비스로 나누어서 설계하고 개발하는 방법론비즈니스 도메인 중심으로 마이크로서비스를 나누고 설계하여 개발할 수 있는 일련의 방법론을 제공한다. 마이크로서비스를 개발, 배포, 운영할 수 있는 아키텍처 -> MSA(Microservice Architecture) 마이크로서비스를 운영할 시 발생할 수 있는 이슈를 해결하기 -> 마이크로서비스 패턴 마이크로서비스의 문제점ComplexConsistency DDDDomain Driven Design..

CS 2025.02.10

SSL 인증서 체인이란?

이번에 우리 시스템 SSL 인증서 교체 작업을 하면서 SSL에 대한 개념을 좀 더 공부해야겠다 싶어 찾아보았다. 예전에 취준하면서 HTTP와 HTTPs에 대해서 공부한 적이 있는데 이 내용으로는 좀 부족하다는 생각이 들었다.https://garysummers.tistory.com/129 HTTP와 HTTPSHTTP - HyperText Transfer Protocol - 웹 페이지를 보내고 받기 위한 인터넷 기반 프로토콜 - 애플리케이션 레벨의 프로토콜로, TCP/IP 위에서 작동한다. - 80번 포트를 사용한다. HTTP 요청 메서드(HTTP 동사) GEgarysummers.tistory.com SSL이란?인터넷 트래픽을 암호화하고 서버 신원을 확인하기 위한 프로토콜이다.쉽게 말해 SSL는 HTTPS..

CS 2025.01.18

Base64란?

Base64이진(Binary) 데이터를 64개의 ASCII 문자로 구성된 문자열로 변환하는 인코딩 방식이다. ASCII 코드는 원래 128개의 문자를 사용할 수 있지만, base64 인코딩은 그 중에서 '64개의 숫자'만을 사용한다. base64는 HTTP 헤더로 안전하게 텍스트로 전송할 수 있게 해준다. 따라서 base64는 인증서, 인증 키를 인코딩할 때도 많이 사용된다.base64는 바이너리 데이터를 6비트 단위로 잘라서 각 6비트 값(0~63)을 이 64개의 문자 중 하나로 매핑한다. 텍스트 기반 시스템에서도  binary 데이터를 안전하게 구성할 수 있다는 장점이 있다.예를 들어, 이메일과 같은 텍스트 기반 프로토콜에서 이미지를 첨부할 때, 이미지를 base64로 변환해서 전송하면 손실 없이 ..

CS 2024.09.27

Graph

그래프 - vertex와 edge로 구성된 한정된 자료구조 - vertex : 정점 - edge : 정점과 정점을 연결하는 간선 Undirected Graph - 방향성이 없는 그래프 * Degree : 각 정점에 연결된 edge의 개수 Directed Graph - 방향성이 간선에 있는 그래프 - Outdegree : 각 정점으로부터 나가는 간선의 개수 - Indegree : 각 정점으로부터 들어오는 간선의 개수 Weight Graph(가중치 그래프) - 간선에 가중치 정보를 두어 구성한 그래프 Sub Graph(부분 그래프) - 본래의 그래프의 일부 정점 및 간선으로 이루어진 그래프

CS 2022.10.08

HTTP와 HTTPS

HTTP - HyperText Transfer Protocol - 웹 페이지를 보내고 받기 위한 인터넷 기반 프로토콜 - 애플리케이션 레벨의 프로토콜로, TCP/IP 위에서 작동한다. - 80번 포트를 사용한다. HTTP 요청 메서드(HTTP 동사) GET 메서드 - 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다. HEAD 메서드 - GET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다. POST 메서드 - 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다. PUT 메서드 - 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다. DELETE 메서드 - 특정 리소스를 삭제합니다. CO..

CS 2022.10.08

Network 기본

네트워크란? - 리소스(ex. 프린터, CD 등)를 공유하거나, 파일을 교환하거나, 전자 통신을 허용하기 위해 연결된 두 대이상의 컴퓨터로 구성된다 - 케이블, 전화선, 전파, 위성, 적외선 광선을 통해 연결될 수 있다. 네트워크의 종류 LAN(근거리 통신망) - Local Area Network의 줄임말 - 비교적 작은 영역에 제한된 네트워크 - 일반적으로 실험실, 학교, 건물과 같은 지리적 영역으로 제한된다 - 단일 LAN에서 컴퓨터와 서버는 케이블 또는 무선으로 연결될 수 있다. - 유선 네트워크에 대한 무선 액세스는 WAP(무선 액세스 포인트)를 통해 가능하다. *WAP(Wireless Access Point) - 무선 지원 장치를 유선 네트워크에 연결할 수 있도록 하는 네트워킹 장치 - 와이어와..

CS 2022.10.07

Hash Table

해싱(Hashing) - key-value를 해시 함수를 이용하여 매핑하는 것 - 빠르게 요소에 접근할 수 있다. 해시 테이블(Hash Table) - 해시 함수를 이용하여 변환한 값들을 index 삼아 key-value 쌍으로 저장한 자료 구조 - 저장/검색을 하는 데 있어 복잡도가 평균적으로 O(1)로, 가장 낮다. - 매우 빠른 응답 - 파이썬의 Dictionary, 루비의 Hash, 자바의 Map이 이에 해당한다. - IP와 이에 해당하는 컴퓨터 이름, 주민등록 시스템 등 다양한 방식으로 응용 가능하다. - 최소 원소를 찾는 등의 작업은 지원 X Load factor ⍺ - 해시 테이블의 검색 효율과 밀접한 관련 - 해시 테이블 전체에서 얼마나 원소가 차 있는지를 나타내는 수치 - n개의 원소가 ..

CS 2022.10.01

Red-Black Tree

- 자가 균형 이진 트리(self-balancing binary tree) 연관 배열이나 집합(set)을 내부적으로 구현할 수 있다. Red-Black Tree의 특성(Properties) 1. 노드는 레드 혹은 블랙 중의 하나이다. 2. 루트 노드는 블랙이다. 3. 모든 리프 노드들(NIL)은 블랙이다. 4. 레드 노드의 자식노드 양쪽은 언제나 모두 블랙이다. (즉, 레드 노드는 연달아 나타날 수 없으며, 블랙 노드만이 레드 노드의 부모 노드가 될 수 있다) 5. 어떤 노드로부터 시작되어 그에 속한 하위 리프 노드에 도달하는 모든 경로에는 리프 노드를 제외하면 모두 같은 개수의 블랙 노드가 있다. 4번 특성에 의하면 - 블랙 노드는 연속해서 나타나도 된다. - 루트 노드부터 가장 먼 리프노드 경로까지의..

CS 2022.10.01

Binary Heap

이진 힙(Binary Heap) = heap - 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전 이진트리(complete binary tree)를 기본으로 한 자료구조 - 시간 복잡도는 O(log n) 이다. 이진 힙 특징 - 완전하다 : 트리가 왼쪽에서 오른쪽으로 다 채워짐 = 완전 이진 트리(Complete Binary Tree) https://garysummers.tistory.com/124 Tree - 비선형 자료구조 - 계층적 관계(Hierarchical Relationship)를 표현하는 자료구조 - 가지를 늘려가며 표현하게 된다. Tree의 구조 - 노드(node) : 2, 7, 5, 2, 6, 5, 11, 4, 9와 같은 요소들 - 간선(edge) : 노.. garysum..

CS 2022.09.30

Tree

- 비선형 자료구조 - 계층적 관계(Hierarchical Relationship)를 표현하는 자료구조 - 가지를 늘려가며 표현하게 된다. Tree의 구조 - 노드(node) : 2, 7, 5, 2, 6, 5, 11, 4, 9와 같은 요소들 - 간선(edge) : 노드와 노드를 연결하는 연결선 - 루트 노드(root) : 트리 구조에서 최상위에 존재하는 노드. 2와 같음 - 단말 노드, 잎사귀 노드(terminal node, leaf node) : 아래로 또 다른 노드가 연결되어 있지 않은 5, 11, 4와 같은 노드 - 내부 노드(internal node) : 단말 노드를 제외한 모든 노드 - 레벨(level) : 각 층별 위치 - 높이(height) : 트리의 최고 레벨, 이 트리의 높이는 3이다. ..

CS 2022.09.24