목록개발자 공부 (221)
개발자꿈나무
10진 연산 언팩(Unpacked) 연산 - 존(zone) 4비트 + 숫자(digit) 4비트를 사용하여 10진수 한 자리를 한 바이트로 표현 - 최하위 바이트의 존 부분을 부호로 사용하여 양수면 16진수 C(1100), 음수면 16진수 D(1101)을 사용 - 입출력 데이터로 사용하고 연산용 데이터롤 사용할 수 없음 - 부호가 없는 숫자는 존 부분에 16진수 F(1111) 사용 팩(Packed) 연산 - 10진수 한 자리를 숫자(digit) 4비트로 표현하는 방식으로 1바이트에 2개의 숫자를 표현 - 최하위 바이트의 4bit를 부호로 사용하며 양수면 16진수 C(1100), 음수면 16진수 D(1101)을 사용 - 연산용 데이터로 사용하고 입출력 데이터로 사용할 수 없음 더보기 Q. 10진수 -456을..

스택 (Stack) 스택의 특성 - LIFO(Last In First Out) : 스택의 모든 작업은 항상 최근의 위치에 국한 - 주요 작업은 삽입, 삭제이며 시작복잡도는 O(1) - 배열로 구현하는 방법은 간단한 반면 스택의 크기가 고정된다는 단점이 있음 - 연결리스트를 이용하면 구현은 약간 복잡하지만 스택의 크기를 필요에 따라 가변적으로 변경할 수 있는 장점이 있음 //배열 구조에서 스택의 삽입 void push(element item) { //전역stack에 item의 삽입 if(top >= MAX_STACK_SIZE-1) stackfull(); stack[++top] = item; } //배열 구조에서 스택의 삭제 element pop() { //stack의 최상위 원소를 삭제하고 반환 if(to..

포인터 -> Java에는 존재하지 않는 개념 포인터의 정의 - 포인터 변수는 다른 변수의 주소를 가지고 있음 사용되는 연산자 - & : 변수의 주소는 & 연산자를 변수에 적용시켜 추출할 수 있음 - * : 포인터 변수가 가리키는 메모리의 내용을 추출하거나 변경할 때 사용 * 포인터에 대한 연산 int A[6], int *p; p = &A[3], A = [10, 15, 20, 22, 26, 28] - p : A[3]의 주소, 포인터를 의미 - *p : 22, 포인터가 가리키는 값 - *p++ : 22를 출력 후 p는 A[4]의 주소를 기억 - *p-- : 22를 출력 후 p는 A[2]의 주소를 기억 동적 메모리 할당 -> Java의 new 연산자 - 동적 메모리 할당은 프로그램에서 필요한 만큼의 메모리를 ..
자료 구조 - 자료 구조 : 자료들의 상호 연관 관계 -> 어떤 연관 관계를 가지냐에 따라 선형구조와 비선형구조로 구분 선형구조 - 데이터의 항목 사이의 관계가 1:1이며, 선후 관계가 명확한 1개의 선의 형태를 갖는 리스트 구조 - 배열, 리스트(연결 리스트, 선형 리스트), 스택, 큐, 덱으로 나뉨 비선형구조 - 데이터의 항목 사이에 1:n 또는 n:m의 관계를 갖는 그래프적 특성을 갖는 형태 - 트리, 그래프가 이에 속함 - 그래프는 사이클을 허용하며, 트리는 사이클을 허용하지 않음 알고리즘 - 컴퓨터로 문제를 풀기 위한 단계적인 절차 - 특정한 일을 수행하는 명령어들의 집합 알고리즘의 특성 - 입력 (Input) : 외부에서 제공되는 자료가 있을 수 있음 - 출력 (Ouput) : 반드시 한 개 ..

암호화 개요 암호화 과정 - 평문: 암호화의 입력이 되는 의미있는 메시지 - 암호화: 이 메시지를 읽을 수 없는 메시지로 암호화한 것 - 복호화: 암호문에서 평문으로 변환하는 것 - 암호화는 알고리즘과 키(K1)로 되어있는데, 키는 평문과는 무관한 값이고 알고리즘은 사용된 키에 따라 다른 출력을 내보냄 암호 방식 분류 대칭키 암호화 대칭키 암호화(= 비밀키 암호화 = 개인키 암호화)의 개념 - 키를 기본으로 한 암호화 시스템 중 가장 오래된 방법 - 보내는 사람과 받는 사람이 같은 키를 가지고 있음 - 암호문이 만들어지고 전송된 후에 암호문을 암호화할 때 사용한 키와 동일한 키로 해독되어 평문으로 바뀜 대칭키 암호화의 특징 - 통신하는 두 당사자가 서로 같은 키를 가지고 있어야 하므로 만약 n명의 상대방..

정보통신 보안의 개념 - 정보통신 보안은 관점에 따라 여러 가지로 구분할 수 있지만, 일단 시스템 보안과 네트워크 보안으로만 구분 - 시스템 보안 : 불법적으로 사용하는 사용자의 위협에서 시스템을 보호하는 것 - 네트워크 보안 : 네트워크를 이용해 데이터를 전송할 때 발생하는 데이터의 누설과 변조에서 데이터를 보호하는 것 불법적인 공격의 유형 가로막기 (Interruption) - 송신자의 데이터를 수신자에게 전달하지 못하도록 시스템의 일부를 파괴하거나 사용할 수 없게 하는 것 가로채기 (Interception) - 송신자의 데이터를 수신자에게 전달할 때 통신 선로 등을 가로채서 송수신자 모르게 데이터를 가로채는 것 변조 (Modification) - 송신자의 데이터를 수신자에게 전달할 때 권한이 없는 ..