반응형

전체 글 287

[SQL] 내포된 SQL

내포된 SQL SQL이 호스트 언어의 완전한 표현력을 갖고 있지 않기 때문에 모든 질의를 SQL로 표현할 수 없음 또한 SQL은 조건문(IF), 반복문(WHILE), 입출력 등과 같은 동작, 사용자와의 상호 작용 등의 기능을 가지고 있지 않음 따라서 DB에 접근하는 부분은 SQL이 맡고 SQL에 없는 기능은 호스트 언어로 작성해야 함 SQL 컴파일 과정 편집기로 호스트 언어 안의 내포된 SQL을 가지는 프로그램을 작성한다. 이 프로그램을 전컴파일러(preprocessor)로 처리한다. 그러면 내포된 SQL이 호스트 언어와 함수 호출문으로 변환이 된다. 변환된 프로그램은 C, java 컴파일러 등에 의해 오브젝트 프로그램을 생성한다. 링커는 오브젝트 프로그램과 SQL 라이브러리를 링크를 해서 .exe 확장..

CS/DB 2022.04.24

[백준 2309] 일곱 난쟁이 C++

문제 백준 2309 일곱 난쟁이 C++ 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 풀이 무난한 브루트 포스 문제이다. 아홉 난쟁이 중에 두 난쟁이는 합에 포함이 안 되고, 100이 되는 경우가 무조건 존재하므로 루프를 돌면서 포함이 안되는 두 난쟁이를 찾고 나머지 난쟁이를 벡터 result에 push해준다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40..

알고리즘/백준 2022.03.30

[백준 1065] 한수 C++

문제 백준 1065 한수 C++ 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 풀이 N까지 루프를 돌면서 N이 등차수열인지 아닌지 검사합니다. 한 자리, 두 자리 수는 무조건 등차수열이므로 주어진 범위에서는 세 자리 숫자만 검사하면 됩니다. (1000은 한수 아님) 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include using namespace std; int ..

알고리즘/백준 2022.03.29

[컴퓨터 구조] 폰 노이만 아키텍처 vs 하버드 아키텍처

개요 폰 노이만 아키텍처와 하버드 아키텍처는 컴퓨터 구조의 한 종류이다. 폰 노이만 구조 존 폰 노이만이 제시한 컴퓨터 구조로 프로그램 내장 방식이라고도 부른다. 폰 노이만 아키텍처에는 다음이 포함된다. 산술 논리 장치와 프로세서 레지스터를 포함하는 처리 장치 명령 레지스터와 프로그램 카운터를 포함하는 컨트롤 유닛 데이터와 명령어를 저장하는 메모리 외부 대용량 저장소 입출력 메커니즘 장점 컴퓨터에 다른 작업을 시킬 때 하드웨어의 교체 없이 소프트웨어만 교체하면 되므로 범용성이 매우 향상된다. 즉, 전선을 일일이 교체하지 않고 프로그램만 교체하는 것으로 다른 작업을 수행할 수 있다. 단점 폰 노이만 구조에서는 나열된 명령을 단순히 순차적으로 실행하는 것을 반복하기 때문에 지연 현상이 발생하고, 이를 폰 노..

CS/컴퓨터 구조 2022.03.26

[DB] 연산자

개요 데이터베이스에서 쓰이는 연산자들을 정리한 문서이다. 연산자는 필수연산자와 편의를 위해 유도된 연산자로 나뉜다. 필수연산자 셀렉션, 프로젝션, 합집합, 차집합, 카티션 곱 편의를 위해 유도된 연산자 조인, 디비전 셀렉션 셀렉션 조건을 만족하는 튜플들의 집합을 생성한다. 입력 릴레이션을 하나 받는 단항 연산자이다. 결과 릴레이션의 차수는 입력 릴레이션의 차수와 같고, 결과 릴레이션의 카디널리티는 입력 릴레이션보다 작거나 같다. 조건을 만족하는 튜플이 없을 수도 있다. (카디널리티가 0이 될 수 있다.) 3번 부서에 소속된 사원(DNO=3)을 셀렉션하는 예시이다. 프로젝션 애트리뷰트의 부분 집합을 생성한다. 입력 릴레이션을 하나 받는 단항 연산자이다. 결과 릴레이션의 차수는 입력 릴레이션의 차수와 작거나..

CS/DB 2022.03.23

[컴퓨터 구조] SRAM vs DRAM

SRAM (Static Random Access Memory) SRAM은 플립플롭으로 작동한다. 플립플롭은 전류신호가 오기 전까진 상태가 변화하지 않으므로 SRAM은 시간이 지나도 내용이 소멸하거나 변화하지 않는다. 따라서 정적인(Static) 메모리라고 한다. DRAM (Dynamic Random Access Memoey) DRAM은 축전기로 작동한다. 축전기는 시간이 지날수록 방전된다. 따라서 일정시간마다 계속해서 충전시켜줘야 한다. 이것을 Refresh라고 한다. 주기적으로 충전시켜주지 않는다면, 시간이 흐름에 따라 데이터가 사라질 수 있다. DRAM을 Refresh하고 있는 동안에는 접근을 할 수가 없다. 따라서 SRAM보다 느린 속도를 가진다. 구분 SRAM DRAM 구조적 특징 플립플롭 축전기..

CS/컴퓨터 구조 2022.03.21

[컴퓨터 구조] CISC vs RISC

개요 CISC와 RISC는 CPU를 설계하는 방식이다. CPU가 작동하려면 명령어가 있어야 하는데, 명령어가 H/W 적인 방식을 RISC, S/W 적인 방식을 CISC라고 한다. CISC 연산을 처리하는 복잡한 명령어를 매우 많이 탑재하고 있다. 명령어 길이가 가변적이고 실행에 필요한 사이클 수가 다르기 때문에 파이프라이닝 설계가 어렵다. 하지만 RISC보다 호환성이 좋다는 장점은 있다. RISC CISC에 단점에 기반하여, 명령어를 최소화해 단순하게 제작하는 방안이 고려되었다. RISC는 하드웨어를 간단하게 만든 대신 소프트웨어는 복잡하고 크기가 커졌기 때문에, 컴파일러 최적화가 요구된다. 비교 구 분 CISC RISC 구조 복잡함 간단함 구성 복잡, 많은 명령어 간단, 최소 명령어 명령어 길이 가변적..

CS/컴퓨터 구조 2022.03.21
반응형