본문 바로가기

Study

SQLD 완전 요약본 (시간이 없을 때... 이것만 보고 들어가자...) 핵심 개념(Key Concept) * 데이터 모델링 유의점 (아래의 것들을 피해야한다) - 중복 (Duplication) 같은 정보를 여러번 저장하는 것 - 비유연성 (Inflexibility) 데이터의 정의와 데이터의 사용 프로세스를 분리하지 않은 것 - 비일관성 (Inconsistency) 데이터 간 일관성이 떨어지는 것 * 데이터베이스 스키마 구조 3단계 - 외부스키마 (External Schema) 사용자 단계에서 접근하는 스키마. 사용자가 보는 DB니까 외부라고 생각하자. - 개념스키마 (Conceptual Schema) 사용자 관점을 통합한 조직 전체의 DB. 통합관점이라는 게 중요하다. - 내부스키마 (Internal Schema) DB가 물리적으로 저장된 형식. 내부 단계라서 내부 스키마라.. 더보기
팩토리 메소드 패턴(Factory Method Pattern) 정의(Definition) 객체를 생성하기 위한 인터페이스를 정의함에 있어서 객체를 생성하는 부분을 서브 클래스(Sub-Class)에 위임하는 객체 지향 패턴. 쉽게 생각해 객체를 만들어내는 공장을 만드는 패턴이라 할 수 있다. [UML로 표현된 팩토리 메소드] 특징(Features) - 장점 : 구조와 구현을 분리할 수 있어서 클래스 간의 결합도를 낮출 수 있다. 팩토리 클래스만 관리하면 되므로 객체 생성에 대한 확장도 쉽게 구성할 수 있다. - 단점 : 객체가 늘어날 때마다 서브 클래스 재정의로 인한 불필요한 클래스를 생성해야할 수 있다. 예제(Example) - 요구 사항* 김치와 김치 생성 과정을 구현김치를 생성하기 전, 데이터베이스에서 김치 정보를 요청중복된 김치 생성을 막기 위해서 데이터베이스.. 더보기
소프트웨어 공학 핵심 개념(Key Concept) * 결합도의 종류 (결합도는 오름차순으로 정리)- 자료 결합도 (Data Coupling)모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도- 스탬프 결합도 (Stamp Coupling)모듈 간의 인터페이스로 배열이나 레코드 등의 자료구조가 전달될 때의 결합도- 제어 결합도 (Control Coupling)한 모듈에서 다른 모듈로 논리적인 흐름을 제어하는 데 사용하는 제어 요소가 전달될 때의 결합도- 외부 결합도 (External Coupling)어떤 모듈에서 외부로 선언한 데이터를 다른 모듈에서 참조할 때의 결합도- 공통 결합도 (Common Coupling)공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도- 내용 결합도 (Content Coupling.. 더보기
운영체제 핵심 개념(Key Concept) * 디렉터리 구조- 1단계 디렉터리가장 간단한 형태하나의 디렉터리 내에 위치하여 관리되는 구조- 2단계 디렉터리중앙에 마스터 파일 디렉터리그 아래에 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조- 트리 구조 디렉터리하나의 루트 디렉트리와 여러 개의 종속 디렉터리로 구성된 구조UNIX에서 사용- 비순환 그래프 디렉터리하나의 파일 따위를 공동으로 사용할 수 있다사이클이 허용되지 않음- 일반 그래프 디렉터리비순환과 다르게 사이클이 허용 * 교착상태 (Deadlock) 발생의 4가지 필요 충분조건- 상호 배제 (Mutual Exclusion)한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있다.- 점유와 대기 (Hold and Wait)하나 이상의 자원을 점유하면.. 더보기
데이터베이스 핵심 개념(Key Concept) * E-R 다이어그램 기호- 마름모 (다이아몬드)관계 타입- 사각형개체 집합- 타원속성- 밑줄 타원기본 키 속성- 선, 링크개체 타입과 속성을 연결 * 릴레이션 관련 용어- 개체 타입속성들로만 기술된 개체의 정의- 튜플릴레이션을 구성하는 행레코드와 같은 의미카디닐리티 (Cardinality) == 튜플의 수- 속성 (Attribute)데이터베이스를 구성하는 가장 작은 논리적 단위데이터 필드와 같은 의미디그리 (Degree) == 속성의 수 == 차수- 도메인 (Domain) 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합 * 데이터베이스 회복 기법- 즉각 갱신 기법트랜잭션이 부분 완료되기 전이라도 즉시 실제 DB에 반영하는 기법로그 (Log) 필요- 대수적.. 더보기
전자계산기 구조 핵심 개념(Key Concept) * 모듈러스-N 카운터- N가지의 상태를 가지는 카운터- 이 때 필요한 플립플롭의 개수는 2^(k-1) 더보기
데이터 통신 핵심 개념(Key Concept) * HDLC (High-level Data Link Control) 의 링크 구성 방식에 따른 세 가지 동작모드- NRM (Normal Response Mode) 표준 응답 모드 반이중 통신 종국은 주국의 허가가 있을 때만 통신- ARM (Asynchronous Response Mode) 비동기 응답 모드전이중 통신종국은 주국의 허가가 없어도 송신 가능. 제어 기능은 주국만 가능- ABM (Asynchronous Balance Mode)비동기 균형(평형) 모드균형링크에서 사용혼합국끼리 허가 없이 언제나 전송할 수 있다. * 전송 속도(bps) = 변조 속도(Baud) x 변조 시 상태 변화 수 * ARQ (Automatic Repeat reQuest) - 자동 반복 요청.. 더보기
string을 integer로 변환(stringstream 사용) 참고(Reference) - stringstream에 대한 설명 : http://word.tistory.com/24 ※ 정확하고 부드러운 태클은 언제나 환영입니다. 더보기
DFS를 이용해서 사이클 탐색 쉽게 설명하면 순환하는 정점들의 집합을 V(G)이라 할 때, ①인접한 정점들의 간선은 그래프 내에 있어야하고,②사이클 내에서 정점은 중복되면 안된다. ※ 저 중에서 닫힌 보행이라는 말과 혼동하지 말라는 데, 닫힌 보행은 단순히 시작점과 끝점이 같은 경로를 말한다. 알고리즘 무향 그래프와 유향 그래프 모두 DFS(깊이 우선 탐색) 알고리즘을 이용해서 탐색할 수 있다. - 무향 그래프 : 시간 복잡도 O(N) - 유향 그래프 : 강결합 요소와 위상 정렬로도 구할 수 있다. 참고 링크 - http://vjerksen.tistory.com/32 (BOJ 2668 - 숫자고르기) - http://vjerksen.tistory.com/33 (BOJ 2526 - 싸이클) 참고 사이트 - https://ko.wikip.. 더보기
올림, 내림, 반올림, 반내림 참고 링크http://www.cplusplus.com/reference/cmath/ 올림(ceil()) - 참고로 소수점 이하를 모두 올린다. 내림(floor()) - 역시 소수점 이하를 모두 내린다. 반올림(round()) - 소수점 첫째 자리에서 반올림한다. 반내림(trunc()) - 역시 소수점 첫째 자리에서 반내림한다. 한계- 소수점 첫째 자리에서만 올리거나 내리는 함수이므로, 소수 n번째 자리에서 반올림해서 구하는 것이 불가하다. 소수 N번째에 반올림 구현- floor(x*pow(10,N-1)+0.5)/pow(10,N-1) 를 이용해서 구하면 된다. 소스 없음 ※ 정확하고 부드러운 태클은 언제나 환영입니다. 더보기