레지스터란 CPU 내에서 데이터를 일시적으로 저장하는 작고 빠른 저장 장소(기억 장치)로 다양한 종류가 있다. 범용레지스터 먼저 레시스터들 중 범용레지스터란 말 그대로 용도를 특별히 정해두지않고 다양하게 쓸 수 있는 레지스터를 뜻한다. 범용레지스터에는 8개(x64 에서는 16개)의 종류가 있고 운영체제에 따라 이름이 조금씩 변하는데 16bit일 경우 : ax,bx,cx,dx ~ 32bit일 경우 : eax,ebx,ecx,edx ~ 64bit일 경우 : rax,rbx,rcx,rdx ~ 이런식으로 표기하게 된다. x64의 구조로 레지스터들의 역할을 알아보겠다. rax : 함수가 실행된 후 리턴값을 저장합니다. → 반환되기 전까지 범용 레지스터로 자유롭게 사용된다. rcx,rdx,r8,r9 : 범용 레지스터들..
정적라우팅과 다르게 여러가지 종류가 있다. -> RIP,OSPF,EIGRP,IGRP,IS-IS 등등으로 구성되어 있다. RIP 거리 백터 라우팅 프로토콜 중 하나인 RIP 는 경유할 수 있는 라우터의 개수를 홉 카운트로 수치화하여 호스트와의 경로를 동적으로 교환한다. 모든 동적 라우팅이 그러하듯 목적지 네트워크 주소까지의 최단 경로를 결정한다. RIP 에는 V1 과 V2 가 있는데 V2만 알아보도록 하겠다. (사실 둘이 별 차이가 없다 v1 은 flsm 을 지원하지 않는다는 점만 기억해도 충분하다.) 장점 - 설정이 간단하다. - 작은 규모의 네트워크나 대형 네트워크의 말단 지점에서 사용하기 좋다. - 표준 라우팅 프로토콜이라 모든 곳에서 사용가능 단점 - Metric 을 Hop-count 로 사용한다 ..
네트워크는 2가지 주소체계 IP address 와 MAC address 두 가지로 나뉘게 된다. 간단한 이론들은 https://404notonc.tistory.com/12 에 기록해 두었지만 네트워크 구축에 대해 배우게 되면서 다시 한번 배우게 되어 정리 해본다. 먼저 ARP 는 전 게시물에서도 말했다싶이 IP address와 MAC address를 매핑 시켜주는 역할을 하는 프로토콜이다. 그리고 들어가기전 MAC address 는 고유한 주소고 IP address 는 변경이 가능한 주소 체계라는것을 알 필요가 있다. 그렇다면 왜 굳이 ARP 가 필요할까요. 이걸 알기 전에 우린 네트워크가 패킷을 받는 방법에 대해 알아야 한다. PC에서 PC로 패킷을 보낼때 IP address 와 MAC address ..
Flex 속성이란? 사진으로 보다싶이 하나의 큰 Container(부모요소) 라고 불리는 박스안에 여러개의 Items 가 있는 형식으로 구성이 됩니다. Flex container 의 속성 : 이런 flex 속성 안에는 items 를 만져줄 수 있는 Container의 속성이 여러가지가 있다. display : flex container 를 정의한다. flex-direction : items 의 주축을 설정한다. flex-wrap : items 의 묶음, 즉 영역을 설정한다. flex-flow : flex-direction 과 flex-wrap 을 모아놓은 것으로 items가 여러행으로 많이 있을때 사용한다. justify-content : items의 주축의 정렬 방법을 설정한다. align-conten..
FLSM 이란? 고정길이 서브넷 마스크로 사람들이 가장 먼저 접하게 되는 서브넷팅이다. 한 대역을 동일한 크기로 나누는 것을 말하며 예를들어 192.168.32.0/24 의 대역을 2^7개로 이용하고자 바꾼다면 서브넷 마스크의 프리픽스 /25로 바뀌게 된다. 하지만 이렇게 바꾸어도 IP 주소 범위나 서브넷 마스크는 네트워크마다 똑같은 길이를 유지하기 때문에 이를 FSLM, 즉 고정길이 서브넷팅이라고 한다. FLSM 하는 방법 1. 60개가 필요하다고 가정했을때 192.168.32.0/24의 IP가 있다고 가정하자 60개는 2^N 으로 생각했을때 64와 가장 가까우니 192.168.32.00 ㅣ 00 0000 파이프를 기준으로 네트워크 아이디와 호스트 아이디가 나뉘는 것이다. 최초 비트 최대 192.168..
서브넷 마스크 IP = 네트워크 아이디(고정된 bit) + 호스트 아이디(고정 되지 않은 bit) 일단 위에서 보다싶이 IP 주소는 네트워크 부분과 호스트 부분으로 구분되는데 이 것을 수행 해주는 것이 바로 우리가 부르는 서브넷 마스크입니다. 네트워크를 배우시다 보면 205.1.7.0/24 이런식의 형식을 많이 보셨을 것입니다. /24 가 바로 PREFIX 라고 부르는것이며 IP 주소의 4개의 옥텟을 앞에서부터 1로 채우라는 뜻입니다. /24 라면 11111111.11111111.11111111.00000000 이 되는 것이죠. 이러한 특징을 가진 IP 주소에는 5가지의 구분이 있는데 CLASS A 부터 CLASS E 까지 구분하게 됩니다. CLASS A 첫 옥텟 1-126 네트워크 숫자 128개 2개는..
네트워크란 장비와 장비를 통신매체로 연결해서 정보나 자료를 전달하는 조직이나 망으로 정보와 자료, 자원의 공유가 편해지는 장점이 있어 사용됩니다. 쉽게 이해하자면 여러개의 무언가를 연결해주는 것입니다. 네트워크의 분류 네트워크는 2가지의 방법으로 분류할 수 있습니다. 1. 네트워크의 크기 2. 통신방식에 따른 네트워크의 분류 먼저 네트워크의 크기에 따른 분류에 따른 네트워크의 종류에는 1. LAN(Local Area Network) - 근거리 통신망 - 초기 투자 비용이 높지만 유지 보수비가 낮다. - 구성 장비로는 Switch 등이 있다. 2. WAN(Wide Area Network) - 원거리 통신망 - ISP 업체에서 관리를 담당하게 되며 초기 투자 비용이 낮지만 유지 보수비가 높다. - LAN 과..
https://www.acmicpc.net/problem/2167 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 먼저 이번 문제의 커리큘럼을 이해보자면 최대 300 까지의 인덱스를 가진 이차원 배열에서 시작합니다. 1. 입력받을 인덱스의 최대값을 입력해줍니다 2. 인덱스에 넣어줄 값을 입력 받습니다. 3. 몇번 더 해줄지 입력 받습니다. 4. 예를 들어 1 1 2 3 이면 A[1][1] 부터 A[2][3] 반복문을 돌리면서 인덱스 값들을 더 해주고 출력합니다. #define _C..
배열 선언 js 의 배열 선언은 c 와 많이 다를것이 없다. 일단 배열을 선언해줄때의 방법은 2가지가 있으며 첫번째로는 [] 를 이용한 것이고 두번째는 Array() 함수를 이용한 방법인데 [] 를 이용한 방법만 먼저 알아보도록 하겠다. 보다시피 const 변수명 = [변수값]; 을 이용해 선언해주며 같은 방법으로 비어있는 배열도 선언해줄 수 있다. 이런 비어 있는 배열에 값을 넣어주는 방법엔 여러가지가 있지만 하나의 방법으론 변수명.push(배열에 입력해줄 값) 를 이용해주는 방법이 있다. 배열명.push 는 배열의 마지막 부분에 원하고자 하는 값을 넣게 해주는 함수다. ImHandsomeBabe.push("I am idiot on C"); document.write(ImHandsomeBabe); 이런..
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 동전 0 문제는 그리디 알고리즘을 이용한 문제입니다. 그리디 알고리즘이란? 간단히 말해서 하나의 트리에서 최종 출력값이 가장 큰 것이 아닌 지금 바라보고 있는 상태에서 가장 큰것을 가져가면서 트리를 타고 내려가게 되는 알고리즘입니다. #define _CRT_SECURE_NO_WARNINGS #include int main() { in..