트랜잭션 분석
원자성, 일관성, 독립성, 지속성
curd 분석 (curd 매트릭스)
index
클러스터드 index
넌클러스터드 index
분산 데이터베이스 설계
위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성
클러스터링
2개 이상 서버를 한 서버처럼 운영
감사추적
데베의 모든 활동 기록
undo : 과거 상태로
redo : 현재 상태로
스토리지
DAS 전용 케이블, NAS 네트워크, SAN 전용 네트워크
SOAP
XML 교환 위한 프로토콜
아키텍처 패턴
레이어 패턴, 클라이언트-서버 패턴, 파이프-필터 패턴, 모델-뷰-컨트롤러 패턴
단위 모듈
한 가지 동작 수행하는 기능 -> 모듈
IPC (Inter Process Communication)
통신 위한 인터페이스 집합
Shared Memory, Socket, Semaphores, Pipes&named pipes, Message Queueing
코드
순차, 블록, 10진, 그룹 분류, 연상, 표의 숫자, 합성
UI
CLI, GUI, NUI
기본 원칙 : 직관성, 유효성, 학습성, 유연성
설계 도구 : 와이어프레임(뼈대), 목업(정적 형태 모형), 스토리보드(와이어+콘텐츠), 프로토타입(동적), 유스케이스
애플리케이션 테스트 기본 원리
파레토 법칙 (20%, 80%), 살충제 패러독스 (동일 테스트), 오류-부재의 궤변 (요구사항이 중요!) ,
테스팅은 정황 의존, 테스트와 위험은 반비례, 완벽한 테스트 불가능
애플리케이션 테스트 분류
프로그램 실행 -> 정적, 동적 테스트
테스트 기반 -> 명세 기반, 구조 기반 , 경험 기반 테스트
시각 -> 검증(개발자), 확인(사용자) 테스트
목적 -> 회복, 안전(security), 강도(stress), 성능(performance), 구조(structure), 회귀(regression, 결함확인), 병행(parallel 결과 비교)
테스트 기법 -> 화이트 박스, 블랙 박스 테스트
개발 단계 -> 단위, 통합, 시스템, 인수 테스트
혼합식 통합 테스트
하위 = 상향식, 상위 = 하향식
테스트 케이스 = 명세서
테스트 시나리오 = 케이스 묶은 집합
테스트 오라클 = 참(ture), 샘플링(Sampling), 추정(Heuristic), 일관성 검사(Consistent)
애플리케이션 성능 분석 by
처리량, 응답시간, 경과시간, 자원 사용률
select * from 사원
union(중복x)/union all/intersection/except
select * from 직원;
SW 개발 보안 요소
기밀성, 무결성, 가용성, 인증, 부인방지
시큐어 코딩
보안 요소들 고려하며 코딩
보안 약점- 입력 데이터
SQL 삽입, 경로 조작 및 자원 삽입, 운영체제 명령어 삽입
크로스 사이트 스크립팅 (XSS) : 웹 + 악의적 스크립트 -> 방문자 정보
메모리 버퍼 오버플로
키사의 정보보호 관리 체계 : ISMS
페이지 교체 알고리즘
OPT, FIFO, LRU 최근 사용x, LFU 빈도x, NUR LRU비슷, SCR FIFO보완
Locality
일부 페이지만 집중
시간 구역성, 공간 구역성
워킹 셋
자주 참조하는 페이지 집합 - 데닝
스래싱
프로세스 처리시간 < 페이지 교체 시간
PCB
운영체제가 중요 정보 저장 곳
스레드
실행 프로그램 단위
Windows 명령어
dir/p 현 파일 목록, del, type 파일내용, ren 이름변경, md 디렉생성, cd 디렉 위치 변경, cls 화면클리어
attrib 파일속성변경, find문자열찾기, chkdsk 디스크상태, format 디스크초기화, move 파일이동
UNIX/LINUX 명령어
chown, chmod 읽쓰실, find 파일 찾기, ps 현재 실행 중, pwd 현 경로, top 메모리 현황,
mkdir, rmdir, mv, ls, cp, rm, who, kill all 이름종료
네트워크 구축
성형Star, 링형, 버스형, 계층형Tree, 망형Mesh
NAT
네트워크 주소 변환
SW 신기술
증강현실, 블록체인, 해시, 그레이웨이(유용,악의), 매시업(다양 조합), 리치 인터넷 애플리케이션(플래시), 시맨틱 웹(차세대 지능형, 사람 대신), 서비스 지향 아키텍처 SOA, 소프트웨어 에스크로(제3기관), 디지털 트윈(항공,자동차)
뉴럴링크, 전문가 시스템, 분산 원장 기술DLT
교착 상태 Dead Lock
서로 다른 프로세스가 점유 자원 요구 -> 무한 기다림
상호배제, 점유와 대기, 비선점, 환형 대기
해결 : 예방기법, 회피기법(은행원), 발견기법, 회복기법
릴리즈 노트
Header, 개요, 목적, 문제요약, 재현항목, 수정/개선 내용, 사용자 영향도, SW자원 영향도
노트, 면책 조항
디지털 저작권 관리 DRM
콘텐츠 제공자(메타데이터), 콘텐츠 분배자, 콘텐츠 소비자(DRM컨트롤러, 보안 컨테이너), 클리어링 하우스(라이선스)
빌드 자동화 도구
Ant, Make, Maven, Gradle(그루비 기반), Jenkins(자바기반)
ISAM
자료 내용은 주 저장부, 자료 색인은 기록위치와 함께인 파일 관리 시스템
VSAM
대형 운영 체제에서 사용되는 파일 관리 시스템
객체지향분석 OOA
사용자 요구사항 관련된 객체,속성,연산,관계 등 정의하여 모델링 for 클래스 식별
방법론 : Rumbaugh 방법, Bouch 방법(미시적, 거시적), Jacobson 방법(유스케이스 강조),
Coad와 Yourdon 방법(E-R다이어그램), Wirfs-Brock 방법(분석 설계 구분x)
배치 프로그램
여러 작업들 순서 -> 일괄처리
RTO 목표 복구 시간
RPO 목표 복구 시점
print(a++);
출력하고 증가하기!! 즉, 증가 전 값이 출력됨
하위 클래스 생성자 호출되면 묵시적으로 super()실행
DB 보안
임의 접근 통제 DAC, 강제 접근 통제 MAC, 역할기반 접근 통제 RBAC
XML
다목적 마크업 언어
럼바우의 분석 기법 = 객체 모델링 기법
모든 소프트웨어의 구성 요소 <= 그래픽 표기법
객체 모델링(object 객체 간 관계), 동적 모델링(dynamic 상태다이어그램->제어,작용,..), 기능 모델링(functional 자료흐름도)
객체 지향 설계 원칙 SOLID
SRP 단일 책임 원칙, OCP 개방 폐쇄 원칙, LSP 리스코프 치환 원칙, ISP 인터페이스 분리 원칙, DIP 의존 역전 원칙
결합도
내용 : 직접 참조
공통 : 전역변수
외부 : 외부 모듈 참조
제어 : 제어
스탬프 : 자료 구조
자료 : 자료 요소
응집도
우연적
논리적 : 특정 형태
시간적 : 특정 시간
절차적 : 순차
교환적 : 동일 입출력 -> 다른 기능
순차적 : 출력 -> 입력
기능적 : 기능
생성 패턴 - 디자인 패턴
추상 팩토리 : 서브 묶어서 한 번에, 클래스 의존x
빌더 : 인스턴스 조합, 동일 객체 다른 결과
팩토리 메소드 : 서브 캡슐화, 가상 생성자 패턴
프로토타입 : 원본 복제
싱글톤 : 동시참조x, 어디서든 참조, 1클1객
구조 패턴 - 디자인 패턴
어댑터 : 호환 달라도 가능하게
브리지 : 추상층 분리 in 구현부
컴포지트 : 객체들 트리 구조, 부분-전체, 단위+복합 객체
데코레이터 : 능동적 기능 확장, 오버라이드
퍼싸드 : Wrapper, 단순화된 인터페이스
플라이웨이트 : 공유-> 메모리 절약
프록시 : 접근 어렵 객체, 메모리 대용량, 대리자 역할
행위 패턴 - 디자인 패턴
옵서버 : 상태 변화 전달!!
템플릿 메소드 : 상위엔 골격, 하위엔 세부
상태 : 동일 동작 다르게 처리
전략 : 동일 알고리즘 교환
방문자 : 처리 기능 분리
책임 연쇄
커맨드 : 기능 캡슐화 -> 재사용
인터프리터 : 알고리즘 정의, 문법
반복자 iterator : 하나씩 순차적으로 지정 처리
중재자 : mediator상호작용 캡슐화
메멘토 : 특정 시점의 내부 상태 객체화, 값 미리 저장-> 복구
EAI (Enterprise Application Integration)
1. point-to-point
2. Hub&Spoke
3. Message Bus (-> ESB)
4. Hybrid
인터페이스 구현 - JSON
속성-값. 개방형 표준 포맷
AJAX에서 XML 대체 사용
AJAX
xml 주고 받는 비동기 통신 기술.
전체 page 말고 일부만 update o
화이트 박스 테스트
원시 코드의 논리적 모든 경로 테스트
종류 : 기초 경로 검사 (Base Path test), 제어 구조 검사(Control Structure test, 조건 검사, 루프 검사, 데이터 흐름 검사)
검증기준 : 문장, 분기, 조건 검증 기준, 분기/조건 기준
블랙 박스 테스트 = 기능 테스트
종류 : 동치 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사
V-모델
단위 테스트 : 모듈/컴포넌트
통합 테스트 : 모듈 결합
시스템 테스트 : 개발 SW가 완벽 수행?
인수 테스트 : 사용자 요구사항 ㅇ? ex. 알파, 베타 테스트
하향식 통합 테스트
ex. 깊이, 넓이 우선 통합법
모듈 = 스텁 stub
상향식 통합 테스트
하위 = 클러스터
더미모듈 = 드라이버
DDL
- CREATE : schema, domain, table, view, index(ON 테이블)
- ALTER TABLE 학생 ADD/ALTER(디폴트 변경)/DROP COLUMN 주소 char(20);
- DROP : schema, domain, table, view, (unique ) index, constraint ----> [cascade, restrict 참조 있으면 취소]
create table 직원
( 사번 char(15), 이름 char(4) not null,
primary key(사번),
foreign key(부서 번호) references 테이블2(부서번호),
unique(전화번호)
check(기본급 >= 100) );
DCL
- COMMIT
- ROLLBACK TO s2;
- GRANT all/select/insert/delete/update ON 개체 TO 사용자 [with grant option]
- REVOKE [옵션] all/select/insert/delete/update ON 개체 FROM 사용자 [cascade]
DML
- SELECT 속성1 as new이름, count(속성), stddev(속성), variance(속성), rank(속성) over, dense_rank(공동x) over
FROM 테이블
WHERE 상여금 >= 100
GROUP BY 부서 HAVING count(*) >= 2 /////////// ROLLUP(부서, 상여내역)
ORDER BY 이름 DESC; - INSERT INTO 테이블명(속성1, 속성2) values(값1, 값2);
- DELETE FROM 테이블명;
- UPDATE 테이블명 SET 속성명=값;
LIKE 연산자
%모든 연산자 대표, _ 문자 하나 , # 숫자 하나
'%신%' 신 포함
하위 질의
where 이름 = (select 이름 from ~);
where 이름 not in ( , , , );
where 점수 < ALL (하위 질의 ) ;
is null
cross join, inner join, natural join
OUTER JOIN
left outer join, right outer join, full outer join(null도)
from 테이블1 LEFT OUTER JOIN 테이블2 ON 테이블1.속성=테이블2.속성;
from 테이블1, 테이블2 where 테이블1.속성=테이블2.속성(+);
암호 알고리즘
양방향 -- 공개키
-- 개인키 -- Stream방식, Block 방식
단방향 -- Hash
양방향 알고리즘 종류
개인키 : SEED, ARIA, DES, AES, IDEA, Skipjack, TKIP
공개키 : Diffie-Hellman(최초), RSA, ECC(대안), Elgamal(유사), DSA(정부용)
서비스 공격 유형
Ping of Death : 패킷 크기를 프로토콜 넘어서
Smurfing : ip/icmp 악용 -> 엄청난 data - > 한 사이트
SYN Flooding : 3-way-handshake 의도적 중단 -> 대기
TearDrop : fragment Offset 값 변경
LAND Attack : 수신을 자신의 ip 주소 -> 무한 응답
DDos 공격 : 여러 분산dmf gks tjqj 공격 ->
네트워크 침해 공격
세션 하이재킹, 스니핑(패킷 도청), 사회공학, 스피어 피싱, 무작위 대입 공격,
크로스 사이트 스크립팅 XSS(페이지 정보),
ARP Spoofing(자신 MAC을 공격대상), 스미싱(문자 apk), 다크 데이터, 타이포스쿼팅
APT(기업 활동 외부로), 큐싱(QR코드), SQL 삽입 공격(전문 스캐너 프로그램)
정보 보안 침해 공격
워터링 홀(사전 감염), 좀비 pc, c&c 서버, 봇넷, 웜(복제), 제로 데이 공격(빨리 공격해버림)
키로거 공격, 랜섬웨어(잠입), 백도어(비밀통로), 트로이 목마(정상 위장)
보안 솔루션
방화벽, 침입 탐지 시스템, 침입 방지 시스템, 데이터 유출 방지, 웹 방화벽, VPN, NAC(넷 접속 주소 제어), SIEM(이벤트)
파이썬
추가, 확장 : extend()
삭제, 반환 : pop()
역순 : reverse()
운영체제
windows : GUI, 선점형, PnP, OLE, Single-User
unix : 벨 연구소, 커널, 쉘, 유틸리티 프로그램
Linux, MacOs, Android, iOS
스케줄링 알고리즘
FCFS, SJF, HRN 대기시간,실행시간 RR 다음 cpuㄱㄱ, SRT 비교해서 짧은 거
OSI 참조 모델
물리 계층(실제), 데이터링크 계층(오류,흐름,동기화), 네트워크 계층(경로설정),
전송 계층(주소설정, 다중화), 세션 계층(대화제어), 표현 계층(변환), 응용계층(정보교환,파일전송)
TCP/IP
구문 Syntax, 의미 Semantics, 시간 Timing
TCP : 전송계층, 가상 회선 방식 - 연결형
IP : 네트워크계층, 데이터그램 방식 - 비연결형
응용 : FTP, SMTP, TELNET, SNMP, DNS, HTTP
전송 : TCP, UDP, RTCP
인터넷 : IP, ICMP, IGMP, ARP(ip->MAC), RARP
네트워크 : Ethernet, HDLC(데이터링크제어), IEEE802, X.25, RS-232C
네트워크 신기술
IoT, M2M(사물 통신), 모바일 컴퓨팅, 클라우드 컴퓨팅, 그리드 컴퓨팅, 모바일 클라우드 컴퓨팅, 인터클라우드
메시 네트워크(차세대 이동통신), 와이선(Wi-SUN장거리무선), NGN(차세대, 이동), UWB(초광대역), 피코넷(독립,블투), SON(자기구성넷), 애드혹네트워크(재난), 개방형링크드데이터(LOD), SSO(통합관리)
NDN, SDN(SW정의넷), WBAN(웨어러블), GIS(지리), USN(유비쿼터스센서넷), 네트워크 슬라이싱(고객맞춤), 저전력 블루투스 기술(절전모드), 지능형 초연결망(4차시대), 파장 분할 다중화(광섬유), 소프트웨어 정의 데이터센서(가상화,인력)
경로제어 프로토콜
IGP 내부 게이트웨이 프로토콜 : RIP, OSPF(링크 상태 알고리즘)
EGP 외부
BGP Border ~, 초기, 이후
트래픽 제어
흐름 제어 : 정지-대기, 슬라이딩 윈도우(미리 패킷)
폭주제어 : 느린 시작(지수), 혼잡 회피(선형)
HW 신기술
RAID(0, 1미러링, 2~4, 5오류 여럿, 6오류 2개 여럿), 트러스트존 기술, 멤스MEMS(초정밀 반도체), M-Disc(영구보관)
멤리스터, 고가용성, 3D Printing, 컴패니언 스크린, 패블릿
DB 신기술
빅데이터, 브로드 데이터, 메타 데이터, 디지털 아카이빙(장기보존), 하둡(분산,오픈), 맵리듀스(대용량 분산처리),
타조(아파치), 데이터 다이어트, 데이터 마이닝, OLAP(다차원 요약->의사결정)
회복
연기 갱신 기법, 즉각 갱신 기법, 그림자 페이지 대체 기법, 검사점 기법
병행제어
로킹(상호배타), 타임 스탬프 순서, 최적 병행수행, 다중버전기법
소프트웨어 버전 등록
형상 관리 : Git, SVN, CVS
기능 : 형상식별, 버전제어, 형상통제, 형상감사, 형상기록
IPsec
무결성,인증 보장하는 AH + 암호화 ESP = 양 종단 보안 서비스 프로토콜
SSH
포트번호 22, 원격 접속 프로토콜
SSL/TLS
전송,응용계층 사이에서 클-서 암호화, 데이터 무결성 보안 프로토콜
DHCP
호스트 ip 구성 관리를 단순화하는 표준
ip 주소를 중앙에서 관리하고 할당 프로토콜