CS

·CS
워드(word)란? CPU가 한 번에 처리할 수 있는 데이터 크기 CPU가 한 번에 16비트를 처리할 수 있다면 1워드 = 16bit 한 번에 32비트를 처리할 수 있다면 1워드 = 32bit 하프 워드(half word) : 워드의 절반 크기 풀 워드(full word) : 1배 크기 더블 워드(double word) : 2배 크기 워드 크기가 큰 CPU는 한 번에 처리할 수 있는 데이터가 많다. 현대 컴퓨터의 워드 크기는 대부분 32 비트 또는 64 비트. 인텔의 x86 CPU는 32비트 워드 CPU, x64 CPU는 64비트 워드 CPU
·CS
동적 언어와 정적 언어의 차이개요어떤 언어든, 언어를 배울 때 가장 먼저 배우는 것이 무엇일까?바로 자료형(type)이다.이런 자료형이 언제 결정되느냐에 따라 동적 언어인지 정적 언어인지로 나뉘는데,이번 포스팅에서 알아보려고 한다. 정적 언어정적 언어는 자료형을 컴파일 타임에 확인하는 언어를 말한다.컴파일에 관해 잘 모른다면 다음 글을 참고하자.쉽고 간단하게 설명하자면, 정적 언어에는 컴파일(compilation) 과정이 있다.컴파일은 일종의 번역이라고 생각하면 되는데,나는 영어를 잘 못 하는데, 길거리를 걷다가 외국인이 영어로 어떤 얘기를 하면 굉장히 당황한다.이때 통역해주는 친구가 옆에서 외국인이 한 말을 다 듣고 이해를 한 후에 전체 메세지를 나에게 통역해주는 것이 바로 compilation이다.만..
·CS
목차 컴파일이란? 컴파일 과정 1. 전처리 과정 2. 컴파일 과정 3. 어셈블러 과정 4. 링킹 과정 + 컴파일타임과 런타임 C언어에서 소스코드가 실행파일이 되어 실행되기까지의 과정은 어떻게 될까?? 그냥 소스 코드를 실행 시키면 뿅! 자동으로 실행 파일이 되는 걸까?? 전혀 아니다..! 이번 포스팅에서는 C언어의 컴파일 과정을 알아보려 한다. 📌 컴파일이란? C, C++, Java같은 언어로 작성하는 소스 코드는 우리 눈에 컴퓨터 언어같아보일지라도 진정 컴퓨터 언어는 아니다. 우리의 소스 코드는 컴퓨터가 절대 이해할 수 없다. 컴퓨터는 0과 1로 이루어진 기계어만 이해할 수 있다. 따라서 우리의 소스 코드를 기계어로 번역하여 전달해 주어야 하는데, 이 번역 과정을 바로 컴파일이라고 한다. 쉽게 말해, ..
·CS
데이터베이스의 무결성 제약 조건무결성 제약 조건이란?무결성은 쉽게 말해 데이터에 결함이 없는 상태를 말해요.데이터베이스에 있는 데이터들에 어딘가 문제가 있으면 안 되겠죠?따라서 무결성 제약조건을 두어 데이터베이스에 저장된 데이터의 무결성을 보장하고, 데이터베이스의 상태를 일관되게 유지합니다. 무결성 제약조건은 크게 아래의 그림처럼 나뉩니다. 도메인 제약조건(Domain Constraint)도메인 제약조건은 쉽게 말해 가질 수 있는 값들에 대한 제약조건이라고 보시면 돼요.각 애트리뷰트 값이 반드시 원자값이어야 함.릴레이션 내의 튜플들이 각 속성의 도메인 값만을 가져야 함. 예) 학번에는 숫자만 올 수 있음CHECK 제약조건 : 애트리뷰트 값의 가능한 값의 범위 등을 지정할 수 있음DEFAULT : 애트리뷰..
·CS
키(key)는 각 튜플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트의 모임을 말합니다. 크게 다섯개의 종류가 있습니다. 슈퍼 키(super key) 후보 키(candidate key) 기본 키(primary key) 대체 키(alternate key) 외래 키(foreign key) 슈퍼 키(super key) 슈퍼키란 한 릴레이션 내의 특정 튜플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합을 말합니다. 예를 들어 신용카드 회사의 고객 릴레이션에서 (신용카드번호, 주소) 또는 (주민등록번호) 또는 (주민등록번호, 이름)이 슈퍼 키에 해당됩니다. 후보 키(candidate key) 후보키란 각 튜플을 고유하게 식별하는 최소한의 애트리뷰트의 모임입니다. 신용카드 회사의 고객 릴레이션의..
·CS
📌 관계 데이터 모델이란? 관계 데이터 모델은 여러 장점으로 인해 큰 성공을 거둔 데이터 모델 중 한 유형입니다. 관계 데이터 모델에는 다음과 같은 큰 특징 두가지가 있습니다. 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 구성 : 연관된 데이터 연결 위해 링크나 포인터를 사용하지 않음 선언적인 질의어를 통한 데이터 접근 제공 : 사용자는 원하는 데이터가 무엇인지(what)만 명시하고, 어떻게 이 데이터를 찾을 것인가(how)는 명시할 필요가 없음. 📌 기본적인 용어 사원의 사원번호, 사원이름, 직급, 부서번호, 월급의 정보들을 포함하고 있는 EMPLOYEE라는 테이블이 있습니다. 부장님 월급이 300만원이라니.........굉장히 옛날 건가봐요 릴레이션(Relation) : 2차원의 테이블..
·CS
들어가기 전에 이번 포스팅에서는 각 알고리즘을 구현하는 게 아니라 검색과 정렬 알고리즘들을 이해하고 시간 복잡도를 비교한다. 구현 코드를 찾으시는 분들껜 죄송합니다!! 이 글엔 구현 코드가 없어용!!! 알고리즘의 시간 복잡도 알고리즘의 시간 복잡도는 Big-O 표현법과 Big-Omega 표현법으로 표현할 수 있다. Big-O 표현법은 알고리즘을 실행 했을 때, 최악의 경우의 시간 복잡도를 표현하는 것이고 Big-Omega 표현법은 최선의 경우의 시간 복잡도를 표현하는 것이다. theta는 최악의 경우와 최선의 경우의 시간 복잡도가 같은 경우 사용한다. 선형 검색 다섯개의 박스가 있다. 박스 안에는 각각 숫자가 하나씩 들어가있다. 이런 식으로 말이다. 이제 이 박스에서 2를 찾아보려 한다. 컴퓨터의 눈에는..
·CS
들어가기 전에컴퓨터에서 프로그램의 정보들이 저장되는 곳은 메모리다.메모리의 용량은 한정되어 있기 때문에 컴퓨터가 할 수 있는 일에도 근본적인 한계가 있다.저장 공간이 유한하므로 저장 가능한 숫자 역시 한계가 있고, 당연히 연산에도 한계가 있을 수 밖에 없다.부동 소수점 부정확성실수 x, y를 인자로 받아 x 나누기 y를 하는 프로그램을 생각해보자. #include #include int main(void){ // 사용자에게 x,y값 받기 float x = get_float("x: "); float y = get_float("y: "); // 나눗셈 후 출력 printf("x/y = %.50f\n", x/y);} %.50f는 나눈 결과를 소숫점 50자리까지 출력하는 코드이..
정쫀쪼
'CS' 카테고리의 글 목록 (2 Page)