본문 바로가기

전체 글

[데이터베이스] 전공 필기 시험 정리 ✔️ 데이터베이스 종류 데이터를 보존하는 형식에 따라 나뉨 1. 계층형 데이터베이스 데이터를 폴더와 파일등의 계층 구조로 데이터를 저장하는 방식 하드디스크나 DVD 파일시스템, IMS 최초로 등록된 데이터베이스 타입 2. 관계형 데이터베이스 데이터를 2차원 표 형식으로 관리하는 데이터베이스 데이터를 Column과 row를 이루는 하나 이상의 테이블로 정리해 Primary key가 각 row를 식별 row는 레코드나 튜플로 부르며, 일반적으로 각테이블[관계]는 하나의 엔티티 타입을 대표 Column은 엔티티 종류의 인스턴스의 속성이 되는 값을 대표 예 : Oracle, MySQL, Access 3. 객체지향 데이터베이스 '가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것'이 객체지향 데이터베이스 .. 더보기
[운영체제,OS] 전공 필기시험 정리 ✔️ 운영체제 기능 프로세서, 기억장치, 입출력장치, 파일 등의 자원 관리 스케줄링 기능 제공 사용자와 시스템 간 인터페이스 기능 제공 시스템 오류 검사 및 복구 ✔️ 링커와 로더 1. 링커와 로더 링커 - 컴파일된 목적 프로그램과 라이브러리, 다른 실행 프로그램들을 연결편집기 링커를 이용하여 로드 모듈로 만드는 시스템 소프트웨어 로더 - 프로그램의 실행을 위해 보조기억장치로부터 주기억장치에 프로그램을 적재하는 시스템 소프트웨어 2. 로더 기능 할당(allocation) 연결(linking) 재배치(relocation) 적재(loading) 3. 로더의 종류 ▶Compile and go loader 번역기가 로더의 기능까지 담당하여 수행하는 방식 프로그램이 크고 한 가지의 언어로만 프로그램 작성이 가능 .. 더보기
[알고리즘] 전공 필기시험 정리 ✔️ 정렬 1. 수행 장소 별 정렬 분류 2. 시간 복잡도 별 정렬 분류 O(n²)의 시간 복잡도 (정렬할 자료의 수가 늘어나면 제곱에 비례해서 증가) 버블 정렬(Bubble Sort) 선택 정렬(Selection Sort) 삽입 정렬(Insertion Sort) O(n log n)의 시간 복잡도 병합 정렬(Merge Sort) 퀵 정렬(Quick Sort) 3. 정렬 종류 1) 버블 정렬(Bubble Sort) 인접한 두 수를 비교하며 정렬해나가는 방법으로 O(n²)의 느린 성능 앞에서부터 시작하여 큰 수를 뒤로 보내 뒤가 가장 큰 값을 가지도록 완성해나가는 방법 또는 뒤에서부터 반복하여 앞의 작은 값부터 정렬을 완성해나가는 방법 2) 선택 정렬(Selection Sort) 한 바퀴 돌 때 가장 작은 .. 더보기
[소프트웨어공학] 전공 필기 시험 정리 ✔️ 모듈 1. 모듈과 모듈화 모듈화란 소프트웨어를 각 기능별로 나누는 것을 의미한다.그리고 그 결과로 각 기능별로 분할된 것을 모듈이라고 한다. 2. 독립성 좋은 모듈화는 용도에 맞게 잘 구분된 기능을 가진 독립적인 모듈로 나누는 것이다. 모듈의 독립성을 판단하는 것은 결합도와 응집도가 있다. 3. 결합도(Coupling) 결합도는 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성을 나타내는 정도 결합도는 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도 1) 결합도의 특징 모듈 연관성 없음 인터페이스 의존성 복잡성 감소 파급효과 최소화 2) 결합도의 유형 결합도의 유형은 내용>공통>외부>제어>스탬프>자료 결합도 순으로 결합도가 낮아진다. ▶ 내용 결합도(Content Coupling) - 내용 결.. 더보기
[컴퓨터 구조] 전공 필기 시험 정리 ✔️레지스터 PC : 다음에 수행할 명령어 주소 IR : 명령어 저장 MAR : 실행 데이터 주소 저장 MBR : 메모리 버퍼 ALU : 산술 논리 연산 장치 ✔️기억장치 1. 주기억장치 : RAM 2. 보조기억장치 : 하드 디스크, USB, CD-ROM, 외장 하드 ✔️캐시 기억 장치 1. 캐시 기억장치 - 중앙처리장치(CPU)에 명령어와 데이터를 빠르게 제공하기 위해 주기억장치에 저장되어 있는 명령어와 데이터 일부를 복사해서 임시로 저장하는 장치 - 주기억장치보다 명령어와 데이터를 저장하고 인출하는 속도가 빠름 - 빠르게 동작하는 중앙처리장치와 느리게 동작하는 주기억장치 사이에서 속도 차이를 줄여주는 완충제 역할을 하는 기억장치 - CPU는 주기억장치에 접근하기 전에 캐시 기억장치를 먼저 확인 2. .. 더보기
메모리 1 - 구조 / 종류 / 관리 / 정책 / 단편화 1. 메모리 - 컴퓨터에서 작업을 수행하기 위해 처리 대상이나 결과 등을 저장하기 위한 공간 - 프로그램을 실행하기 위한 정보들은 메모리에 저장되어 처리 2. 메모리 구조 Code, Data, Heap, Stack의 네 가지 영역으로 나누어져 있으며, 이들 각각을 세그먼트라고 함 Code : 실행할 프로그램 코드가 저장되는 영역. 프로세스가 종료될 때까지 유지 (정적 세그먼트) Data : 프로그램의 전역 변수와 정적 변수가 저장되는 영역. 프로세스가 종료될 때까지 유지 (정적 세그먼트) Heap : 동적으로 사용할수 있는 영역. Heap 영역에 메모리를 할당하는 것을 동적 할당이라고 함 (동적 세그먼트) Stack : 지역 변수, 매개 변수, 복귀 주소 등이 저장되는 영역. 프로세스 종료 시 반환 (동.. 더보기
MySQL튜닝6) 튜닝 심화 예제 1. 실습 데이터 세팅 - 실습 데이터 URL : https://github.com/7ieon/SQLtune - 실습 데이터 정보 2. JOIN / 서브쿼리 변형하여 SQL문 재작성으로 착한 쿼리 만들기 1) 처음부터 모든 데이터를 가져오지 않기 # 쿼리문 - 사원번호가 10001 ~ 10100번까지인 사원들의 평균연봉, 최고연봉, 최저연봉을 구하는 쿼리 # AS_IS -- 3.593 sec / 0.000 sec select 사원.사원번호, 급여.평균연봉, 급여.최고연봉, 급여.최저연봉 from 사원, ( select 사원번호, round(avg(연봉),0) as 평균연봉, round(max(연봉),0) as 최고연봉, round(min(연봉),0) as 최저연봉 from 급여 group by 사원번호 .. 더보기
MySQL튜닝5) 튜닝 기본 예제 1. 실습 데이터 세팅 - 실습 데이터 URL : https://github.com/7ieon/SQLtune - 실습 데이터 정보 2. SQL문 단순 수정으로 착한 쿼리 만들기 1) 사원번호가 1100으로 시작하면서 사원번호가 5자리인 사원 정보 출력 # AS_IS -- 0.329 sec / 0.000 sec SELECT * FROM 사원 WHERE SUBSTRING(사원번호,1,4) = 1100 AND LENGTH(사원번호) = 5 # Tuning - 기본키인 사원번호 접근 시 WHERE 절에서 가공하여 접근 => Table Full Scan이 발생 (type = 'ALL') # TO_BE -- 0.000 sec / 0.000 sec SELECT * FROM 사원 WHERE 사원번호 BETWEEN 11.. 더보기