본문 바로가기

콩's EDUCATION/콩's BASIC IT

데이터 베이스 정규화, 모델링 정규화: 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라 한다. (1) 제1정규형: 모든 속성이 원자값을 가짐 (2) 제2정규형: 제1정규형이면서 키가 아닌 모든 애트리뷰트가 기본 키에 완전하게 함수적으로 종속 (3) 제3정규형: 제2정규형이면서 키가 아닌 모든 애트리뷰트가 기본 키에 직접종속 (4) BCNF: 제3정규형이면서 모든 결정자가 후보키 1 - 도메인 원자값 2 – 부분종속. 3 – 이행적 함수 제거 BCNF – 결정자와 후보키 제거 데이터베이스 모델링은 데이터베이스를 만들어 가기 위한 첫 단계인 사용자 요구사항 분석부터 마지막 단계인 물리적 구현에 이르기까지 데이터베이스를 만들어 가는 과정을 논리적이고 체계적으로 정리하여, 유용한 최적의 데이터 베이스 .. 더보기
자바의 특징, 장점 자바의 특징 자바의 특징은 4가지로 요약할수 있는데 객체지향성, 언어의 안전성, 언어의 간결성, 폭넓은 표준 라이브러리 이렇게 있습니다 0. 가비지컬렉터 1.Java는 객체지향형 프로그래밍 ( OOP ) 객체지향을 바탕으로 하고 있는 언어이다. 자바가 처음 나왔을 때 이미 C와 C++언어가 존재했으며 기본 언어의 특징들을 모두 받아 들이면서 보다 네트웍 지향적인 언어로 탄생하게 된것이다. JAVA = C + 네트웍크 + C++ 2. Java는 플랫폼 독립적이다. 자바의 가장 큰 장점으로 나타나는 것은 바로 플랫폼에 독립적이다는 것이다. 플랫폼에 독립적이도록 만드는 것은 바로 자바 가상머신의 덕택이다. 기존의 운영체제들은 하드웨어에 시스템을 탐재한 뒤 운영체제를 기동하는 방식을 택한다. 하지만 자바는 기존.. 더보기
SAN 과 NAS SAN ; Storage Area Networks SAN이란 호스트 컴퓨터의 종류에 구애받지 않고 별도의 연결된 저장장치 사이에 대용량의 데이터를 전송시킬 수 있는 고속 네트워크이다. 시리얼 인터페이스(Serial Interface)인 파이버 채널(Fibre Channel)을 이용하여, 구성되는 저장장치 네트워크라고 할 수 있다. 기존의 네트워크에서의 서버는 모든 데이터가 파일 단위로 이루어지는 반면, SAN에서는 모든 데이터가 블럭 단위로 이루어진다는 것이다. SAN은 중앙집중적인 관리와 유지보수의 편의성, 초고속의 데이터 전송, 높은 가용성을 제공한다. NAS ; Network Attached Storage 네트워크에 직접 연결되는 저장장치를 말한다. 장치 자체에 운영체제와 네트워크 설정 장치를 가지.. 더보기
세마포어와 뮤텍스(Mutual Exclusion) 교착상태(Deallock) 뮤텍스(Mutex); 상호배제(Mutual Exclusion) - 제어되는 섹션에 하나의 쓰레드만을 허용하기 때문에 해당 섹션에 접근하려는 다른 쓰레드들을 강제적으로 막음으로써 첫 번째 쓰레드가 해당 섹션을 빠져나올 떄 까지 기다린다. 예) Niclas Winquits씨가 2005년에 쓴 화장실 비유 뮤텍스는 화장실에 들어가기 위한 열쇠로 비유할 수 있다. 즉 화장실에 들어갈 수 있는 열쇠를 한 사람이 갖고 있다면 한번에 그 한 사람만 들어 갈 수 있다. 화장실에 들어간 사람이 나오면 줄을 서서 기다리는 다음 사람(대기열-큐)에게 열쇠를 주게 된다. 보통 쓰레드 상태에서. 세마포어(Semaphore) - 공유 리소스에 접근할 수 있는 최대 허용치만큼 동시에 사용자 접근을 할 수 있게 한다. 쓰레드들은 리.. 더보기
시간 복잡도 시간복잡도 시간복잡도라는 것은 알고리즘이 데이터를 처리하는 시간과 데이터양과의 관계를 나타내는 한 방법입니다. 여러 가지 표현 방법이 있는데 많이 쓰이는 것은 O표기법입니다. 영어로 O-notation이라고 합니다. 다른 표기법으로는 o-notation(small O입니다), Ω-notation, Θ-notation 등이 있습니다. 이 중 우리가 주로 쓸 O는 조건에 만족하는 최악의 데이터가 들어왔을 때의 처리속도입니다. 즉, 데이터에 대해 '아무리 오래 걸려도 이 이상은 걸리지 않는다'입니다. 그렇다면 왜 다른 것을 놓아두고 이 것을 쓰느냐. 이 문제는 이렇게 생각할 수 있습니다. 데이터는 항상 같은 상태로 들어오지 않습니다. 어떤 알고리즘이 대부분의 데이터에 대해서는 1초만에 처리하다가 특정한 형태의.. 더보기
해싱 알고리즘의 최고의 예 번호 이름 101 김일동 302 김이동 303 김삼동 104 김사동 304 김오동 202 김육동 해쉬를 사용하지 않는 경우 데이터 구조는 아래와 같습니다. head : 101->302->303->104->304->202 이때 304번에 대한 이름을 찾기 위해서는 5번 비교를 해야 합니다. 해쉬를 사용하는 경우 데이터 구조는 아래와 같습니다. hash[1] : 101 hash[2] : 302->202 hash[3] : 303 hash[4] : 104->304 이 때 304번을 찾으려면 304를 10으로 나누고 그 나머지인 4에 대한 리스트 hash[4]에서 찾으면 되지요. 이때는 2번만에 찾을 수 있습니다. 이것이 hash를 사용하는 이유입니다. 출처 : 링크 클릭 더보기
메모리 관리 기법 가상 메모리 할당 관리 기법에는 First-fit, Best-fit, Worst-fit, Next-fit 이 있습니다. First-fit : 최초 사용 가능 공간 Best-fit : 크기가 가장 적합한 공간 Worst-fit : 가장 큰 공간 Next-fit : 탐색이 끝나고 사용 가능한 공간 A 8K FREE B 10K IN USE C 12K FREE D 14K FREE E 16K IN USE F 18K FREE 9K가 요구되는 프로그램 실행을 할 때 First-fit 은 ? C영역 Best-fit 은 ? C영역 Worst-fit 은 ? F영역 Next-fit 은 ? C영역 [조건이 추가되어야 함] 메모리 관리 기법에는 호출(FETCH)기법(요구,예측)과 교체 기법(주기억 장치가 없을 때 어느 블록 교.. 더보기
프로세스, 프로세서, 프로그램 차이 프로세서 : 처리장치 하드웨어 관점으로는 보통 중앙연산 처리장치를 말하고, 소프트웨어 관점으로는 BASIC 등의 프로그램 언어로 쓴 프로그램 기계어로 변환하는 번역기 즉 인터프리터, 컴파일러, 어셈블러를 총칭해서 프로세서라고 하는데, 다시 말해서 하드웨어, 소프트웨어의 어떠한 처리를 하는 것을 프로세서라고 부른다. 프로세스 : 컴퓨터 내에서 실행중인 프로그램을 일컫는 용어. 프로그램 : 컴퓨터에 처리시키는 작업의 순서를 명령어로 작성하는 것. 실제로는 프로그래머(programmer)가 그 작업을 충분히 이해하여 처리 순서를 틀림없도록 결정하고, 프로그래밍 언어(programming language)를 사용하여 기술한다. 정말 기초중의 기초이지만 항상 헷갈리는 개념이다. 프로세스에 대해서는 좀더 개념을 더.. 더보기
SSTF 스케줄링 방식 운영체제 파트에서 주로 나오는 스케줄링 기법의 하나의 예이다. SSTF : 현재 헤드에서 가장 가까운 거리에 있는 요청을 먼저 서비스 하는 기법 예를 들어, 디스크 대기 큐 : 30, 80 , 122 , 65 , 76 (현재 헤드 53) 이동순서는 53 - 65 - 80 - 122 - 30 이 된다. 이동거리는 뺄셈과 덧셈을 잘 적용하면 된다. 더보기
연산자들의 우선 순위와 표기 참고로 저 ^ 연산이... 모 회사 테스트에 나왔지요. 이 부분은 참 중요한 것 같아요. 16진수(오퍼랜드) ^ 16진수(오퍼랜드)를 구하시오. 비트 논리 중요 연산자는 아래와 같습니다. & 는 AND, 비트단위 AND연산 | 는 OR, 비트단위 OR연산 ^ 는 XOR, 비트단위 XOR연산 ! 는 NOT, NOR 비트단위 NOT, NOT연산 ~ 는 Complement, 비트단위 1의 보수 연산 AND 연산은 쉽게 생각하면 두 연산이 모두 1(참)이면 1(참)이다. A B R 0 0 0 1 0 0 0 1 0 1 1 1 OR 연산은 하나라도1(참)이면 1(참)이다. A B R 0 0 0 1 0 1 0 1 1 1 1 1 XOR 연산은 같으면 0(거짓), 다르면 1(참)이다. A B R 0 0 0 1 0 1 0.. 더보기