전체 글
-
(1) 클린코드와 리팩토링CS 지식/▷ Software Engineering 2021. 8. 4. 18:33
1. 클린코드란? 1-1) 정의 클린코드는 가독성이 높은 코드, 잘 읽히는 코드 1-2) 구현 방법 네이밍이 잘 되어야 함 오류가 없어야 함 중복이 없어야 함 의존성을 최대한 줄여야 함 클래스 혹은 메소드가 한가지 일만 처리해야 함 1-3) 예시 public int AAA(int a, int b){ return a+b; }public int BBB(int a, int b){ return a-b; } (a) 문제점 (1) 함수 네이밍 : 무슨 역할을 하는 함수인 지 알 수 있는 이름을 사용 (2) 함수와 함수 사이의 간격 : 간격을 나누지 않으면 시작과 끝을 구분하는 것이 매우 힘들고, 결과적으로 잘 읽히지 않음 (b) 개선후 public int sum(int a, int b){ return a+b; } ..
-
(7) 로드 밸런싱 Load balancingCS 지식/○ Network 2021. 8. 4. 16:56
1. 로드 밸런싱이란? 1-1) 정의 둘 이상의 CPU/저장장치/주메모리 등의 자원을 분배하여 작업을 나누는 것 1-2) 어디서 동작하는가? (a) 배경 근래 웹사이트 접속이 급격히 늘며 Scale-up / Scale-out 의 두가지 대응방식 중, Scale-out이 더 장점이 있는 서버 업그레이드 방식인데, 이때, 여러 서버에 균등하게 트래픽을 분산시켜주는 것이 로드 밸런싱의 역할 Scale-Out과 함께 동작하여 매우 효율적인 방식 2. 로드 밸런싱 서버 선택 방식 2-1) 방식 라운드 로빈 - CPU 스케줄링의 라운드 로빈 방식을 활용 - 내글 참조 : https://korshika.tistory.com/145 1) 선점 알고리즘 2) 라운드로빈(Round-Robin)스케줄링: 각 프로세스는 같은..
-
(6) HTTP / HTTPSCS 지식/○ Network 2021. 7. 27. 14:24
1. HTTP / HTTPS 통신규약 1-1) HTTP 정의 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 1-2) 특징 HTTP는 텍스트 교환이므로, 네트워크 spoofing등 신호를 가로채면 내용이 노출되는 보안 이슈가 존재함 1-3) 해결 1-2)의 해결에 대해 보안 문제를 해결해주는 것이 HTTPS 1-4) HTTPS 인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용하여 클라이언트와 서버가 자원을 주고 받을 때 사용하는 통신 규약 HTTPS는 텍스트를 공개키-SSL 암호화 방식으로 암호화를 함 2. HTTPS 통신 과정 2-1) 흐름 애플리케이션 서버(A)를 만드는 기업은 HTTPS를 적용하기 위해 공개키와 개인키를 만든다. 신뢰할 수 있는 CA 기업을 선택하고, 그..
-
(5) 대칭키 & 공개키(비대칭키) & SSLCS 지식/○ Network 2021. 7. 27. 14:08
1. 대칭키란? 1-1) 정의 암호화와 복화에 같은 암호키(대칭키)를 사용하는 알고리즘 1-2) 특징 (a) 장점 동일한 키를 주고 받기 때문에 매우 빠르다는 장점이 있음 (b) 단점 대칭키 전달 과정에서 해킹 위험에 노출될 수 있음 2. 공개키(비대칭키) 2-1) 정의 암호화와 복호화에 사용하는 암호키를 분리한 알고리즘 2-2) 특징 자신이 가지고 있는 고유한 암호키(비밀키)로만 복호화할 수 있는 암호키(공개키)를 대중에 공개 관용 암호(대칭 키) 공개키 암호(비대칭 키) - 암호/복호에 동일한 키와 동일한 알고리즘이 사용 - 암호/복호에 동일한 알고리즘 사용하지만 서로 다른 키를 이용 - 수신자와 송신자는 키를 교환(이 과정에서 해킹 당할 수도 있음) - 수신자와 송신자는 키 교환이 필요없음 (공개키..
-
(4) UDP & DNSCS 지식/○ Network 2021. 7. 25. 15:58
> 내글 참조 https://korshika.tistory.com/134?category=974498 (2) 인터넷 통신 - IP / TCP,UDP / PORT 1. 인터넷 통신 복잡한 인터넷 망을 통해 두대의 컴퓨터가 연결됨 이러한 통신을 하기 위한 규약이 있고 이가 IP(Internet Protocol) 임 1-1) IP (internet protocol) 통신하기 위한 규약의 총칭 통신규약을 따 korshika.tistory.com https://korshika.tistory.com/136?category=974498 (3) 인터넷 통신 - PORT, DNS 1. Port 란? 1-1) 정의 한 IP에 여러 연결이 필요한 경우 사용하게 되는 것, 패킷이 Port로 구분 됨 받을 때와 전송할 때 마찬..
-
(3) TCP/IP (흐름제어 & 혼잡제어)CS 지식/○ Network 2021. 7. 23. 16:19
> 내글 참조 https://korshika.tistory.com/134 (2) 인터넷 통신 - IP / TCP,UDP / PORT 1. 인터넷 통신 복잡한 인터넷 망을 통해 두대의 컴퓨터가 연결됨 이러한 통신을 하기 위한 규약이 있고 이가 IP(Internet Protocol) 임 1-1) IP (internet protocol) 통신하기 위한 규약의 총칭 통신규약을 따 korshika.tistory.com 1. TCP 통신이란? 1-1) 정의 네트워크 통신에서 신뢰적인 연결방식 TCP는 기본적으로 unreliable할 수 있는 network에서 reliable network를 보장할 수 있도록 하는 프로토콜 TCP는 network congestion avoidance algorithm 사용 1-2) ..