전체 글 679

[네트워크] DNS의 구조

DNS(Domain Name System) 호스트명(컴퓨터의 이름)과 IP 주소를 매핑해주는 시스템 이름 해석의 주요 시스템 중 하나 네트워크상에서 통신을 할 때 반드시 상대의 IP 주소를 지정해야 하는데 IP주소는 기억하기 어려워 호스트명으로 통신 상대를 지정한다. 이름 해석: 호스트명으로 IP주소를 나타내는 시스템 DNS 서버에 네임 쿼리를 송신해서 목적 호스트명의 매핑된 IP주소를 질의하는 과정 PC가 웹 서버에 접근할 때 자동으로 DNS 서버에 질의 구조 리소스 레코드: 호스트명과 IP주소의 매핑. DNS로 이름을 해석하기 위해 등록해야 함 도메인: 호스트명의 집합. 계층화하여 관리 존: DNS 서버에 등록된 리소스 레코드의 집합 동작 호스트명에 매핑할 IP 주소의 정보를 DNS 서버에 등록해두면..

CS/네트워크 2022.12.11

[네트워크] IP 주소란?

IP 주소 PC나 서버와 같이 TCP/IP로 통신하는 기기를 식별하기 위한 주소 호스트: TCP/IP로 통신하는 기기 ex)PC,서버,라우터 32비트로, 네트워크 ID와 호스트 ID로 구성 IP주소를 클래스로 나눠 어디까지가 네트워크ID이고 호스트 ID인지 판별할 수 있다. 이렇게 클래스에 기초한 IP주소를 클래스풀 주소라고 하는데, 이는 IP주소의 이용 효율이 나쁘기 때문에 서브넷 마스크를 사용한다. 서브넷 마스크: IP주소의 네트워크 ID와 호스트 ID가 구분되는 위치를 나타낸다. 네트워크 ID와 호스트ID를 구분하는 위치를 유연하게 설정할 수 있다. 공인 IP 인터넷상에서 중복되지 않은 IP 주소. 인터넷 통신을 하기 위해 필요하다. 인터넷에서 사용한다. 사설 IP 외부와 연결되지 않는 네트워크(홈..

CS/네트워크 2022.12.11

[네트워크] 네트워크의 종류, 형태, 구성

네트워크의 구성 요소 네트워크는 컴퓨터, 네트워크 장비, 전송 매체로 이루어져 있다. 컴퓨터: 데이터를 송수신하는 애플리케이션이 구동 PC나 서버 네트워크 장비: 데이터를 전송하기 위한 기기 라우터(네트워크를 서로 연결) 스위치(네트워크 내부의 데이터 전송) 전송 매체: 컴퓨터와 네트워크 장비를 연결 유선(케이블) 무선(전파) 홈 네트워크를 인터넷에 연결하려면 홈 네트워크를 인터넷에 연결하기 위해 ISP와 인터넷 공급 계약을 맺어야 함 홈 네트워크와 인터넷(계약을 맺은 ISP와의 사이)는 브로드밴드 라우터에 의해 연결되어 있음 ISP(Internet Service Provider): 인터넷 접속을 제공하는 기업 브로드밴드 라우터: 인터넷에 연결하는 기능을 가진 개인용 라우터 LAN LAN(Local Ar..

CS/네트워크 2022.12.11

[컴퓨터구조] 입출력장치

입출력장치 입출력장치는 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고 받음 장치 컨트롤러 CPU와 입출력장치 간의 통신 중개 오류 검출 데이터 버퍼링(전송률이 높은 장치와 낮은 장치에 주고받는 데이터를 버퍼에 저장해 전송률을 비슷하게 맞춤) 데이터 레지스터, 상태 레지스터, 제어 레지스터로 구성 장치 드라이버 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램 입출력 방법 프로그램 입출력 방식 프로그램 속 명령어로 입출력장치를 제어 메모리 맵 입출력: 메모리에 접근하는 명령어와 입출력 장치에 접근하는 명령어가 동일 고립형 입출력: 메모리에 접근하는 명령어와 다른 입출력 명령어를 사용 ​ 인터럽트 기반 입출력 장치 컨트롤러가 입출력 작업을 끝낸 뒤 CPU에게 인터럽트 요청 신호를 보내면..

CS/컴퓨터구조 2022.12.11

정렬 알고리즘: 선택, 삽입, 버블, 쉘, 합병, 퀵 정렬

선택 정렬 오른쪽 리스트에서 가장 작은 숫자를 선택하여 왼쪽 리스트로 이동하는 작업을 반복한다. 1. 입력 배열에서 최솟값을 발견한 다음, 이 최솟값을 배열의 첫번째 요소와 교환한다. 2. 첫번째 요소를 제외한 나머지 요소들 중에 가장 작은 값을 선택하고 이를 두번째 요소와 교환한다. 3. 이 절차를 숫자 개수-1 만큼 되풀이 한다. #define SWAP(x, y, t) ((t) = (x), (x) = (y), (y) = (t)) void selection_sort(int list[], int n) { int i, j, least, tmp; for (i = 0; i < n - 1; i++) { least = i; // 최솟값 인덱스 for (j = i + 1; j < n; j++) { // 인덱스 i+..

ALGORITHM/이론 2022.12.06

최단 경로 알고리즘: Dijkstra, Floyd

Dijkstra 최단 경로 알고리즘 하나의 시작 정점으로부터 모든 다른 정점까지의 최단 경로를 찾는 알고리즘 n개의 정점이 있다면 O(n^2)의 시간복잡도를 가진다. #include #include #define TRUE 1 #define FALSE 0 #define MAX_VERTICES 100 #define INF 1000L typedef struct GraphType { int n; // 정점의 개수 int weight[MAX_VERTICES][MAX_VERTICES]; }GraphType; int distance[MAX_VERTICES]; // 시작 정점으로부터의 최단경로 거리 int found[MAX_VERTICES]; // 방문한 정점 표시 // 선택되지 않은 정점 중 distance 값이 가..

ALGORITHM/이론 2022.12.06

최소 비용 신장 트리(MST): Kruskal, Prim 알고리즘

신장 트리(Spanning Tree) 그래프 내의 모든 정점을 포함하는 트리 모든 정점들이 연결되어 있고 사이클을 포함하면 안된다. 그래프의 최소(간선의 수가 가장 작은) 연결 부분 그래프 n개의 가지는 그래프는 최소한 (n-1)개의 간선을 가진다. 간선에 비용을 붙여 링크의 구축 비용까지를 고려해 최소 비용의 신장 트리를 선택해야함 통신 네트워크 구축에 많이 사용 최소 비용 신장 트리(MST) 네트워크에 있는 모든 정점들을 가장 적은 수의 간선과 비용으로 연결 신장 트리 중에서 사용된 간선들이 가중치 합이 최소인 신장 트리 Kruskal, Prim 알고리즘이 대표적 반드시 n-1 개의 간선만 사용하고, 사이클이 포함되어서는 안된다. Kruskal 의 MST 알고리즘 탐욕적인 방법(greedy metho..

ALGORITHM/이론 2022.12.06

[AWS] Auto Scaling

시작 템플릿 생성 Auto Scaling 그룹 생성 Auto Scaling 그룹 생성 목표 수의 인스턴스를 시작한다. 두개의 인스턴스가 실행중이다. 실행중인 인스턴스에 대해 주기적으로 상태를 모니터링 할 수 있다. 인스턴스 1개를 강제 종료 시켰을 때, 새로운 인스턴스가 자동으로 생성된다. 그룹 선택 -> 세부 정보 -> 편집을 통해 최소, 최대 인스턴스 개수를 바꾸면 인스턴스 개수가 바뀌게 된다.

DEVOPS/CLOUD 2022.12.05

[AWS] Lambda 실습

Run Serverless Code AWS - Lambda - 함수 생성 블루 프린트 사용 선택 블루프린트: hello-world-python 검색 함수 생성 템플릿: Hello World 테스트해보기 테스트 결과 코드 변경 - 파일 저장 - 배포 과정을 통해 코드를 수정하고 테스트를 해볼 수 있다. 모니터링 삭제 과정 함수 삭제 로그 그룹 삭제 - CloudWatch -> 로그 -> 로그 그룹 역할 삭제 - IAM -> 액세스 관리 -> 역할 palindrome 검사하는 함수 생성 함수 생성 함수 코드 작성 exports.handler = async (event, context, callback) => { const string = 'abcd'; const reverse = string.split(''..

DEVOPS/CLOUD 2022.12.03
반응형