트랜잭션(Transaction)
데이터를 보장하기위해 시스템에서 하나의 논리적 기능을 정상적으로
수행하기 위한 작업의 기본 단위이다.
트랜잭션의 특성
원자성: 하나라도 실패하면 전체가 취소되는 특성
일관성: 삽입,삭제,갱신 이후에도 일관되게 데이터가 유지되는 성질
고립성(격리성): 트랜잭션 중에는 그 어떤 작업도 방해 받을수 없는 성질
영속성(지속성): 한번 넘어온 데이터는 영구적으로 유지되는 성질
트랜잭션의 상태변화
부분 완료 - 완료
실패 - 철회
트랜잭션 제어
Commit : 영구적 저장 명령
Rollback : 저장 무효화 시키는 명령 ( 원래대로 돌아감 )
checkpoint: Rollback 되는 시점을 지정
병행 제어
여러 트랜잭션을 수행할 때 데이터베이스를 일관성을 유지하기 위해 상호작용 하는 기법
병행 제어 미 보장시 문제점
(갱현아 모연냐~?)
갱신 손실 : 먼저 수행된 트랜잭션 결과를 다른 트랜잭션이 덮어쓰면 발생
현황파악오류 : 먼저 수행된 트랜잭션의 중간결과를 다음 트랜잭션이 참조하면서 발생
모순성 : 두 트랜잭션이 동시에 시작되어 발생하는 일관성 결여 오류
연쇄복귀 : 취소가 안되는 상황
병행제어 기법
로킹: 트랜잭션 순차적 직렬화 기법
낙관적검증: 트랜잭션이 다 끝나고 검증을 진행
타임스탬프순서: 작업마다 타임스탬프를 부여하여 제어하는 기법
다중버전 동시성제어: 버전 선택하는거
회복기법:
로그기반 회복기법
-지연갱신 : 트랜잭션 완료 후 반영하는 기법
-즉각갱신 : 그 즉시 바로바로 반영 기법
체크포인트 회복기법 : 체크포인트를 걸어두고 오류나면 체크포인트 시점으로 돌아감
그림자 페이징 회복기법: 복사본 만들어 놓고 잘못되면 복사본 사용
DDL
도메인, 스키마(외부,개념,내부),테이블,뷰,인덱스
스키마
외부 - 논리적
개념 - 전체적인
내부 - 물리적
테이블 생성
CREATE TABLE [테이블명] (
IfmmSeq PRIMARY KEY NOT NULL;
)
테이블 삭제
DROP TABLE [테이블명]
📌CASCADE 연관된 것 연쇄적 모두 삭제
📌RESTRICT 참조 중이면 제거 하지 않는 옵션
📌TRUNCATE 테이블 내 데이터 모두 삭제
인덱스 생성
CREATE INDEX [인덱스명] ON [테이블명]
인덱스 삭제
DROP INDEX[인덱스명]
데이터 삽입
insert into 사람 VALUES ("박찬희", "F");
컬럼 추가
ALTER TABLE 사람 ADD 나이 int(3);
컬럼 속성 변경
ALTER TABLE 사람 MODIFY 나이 varchar(100);
컬럼 이름 변경
ALTER TABLE 사람 CHANGE 나이 age varchar(255);
데이터 삭제
DELETE FROM 사람 WHERE 이름 = '김진짜';
뷰 생성
CREATE VIEW 기머뷰 AS SELECT 이름, 나이 FROM 사람 WHERE 이름 = '김진짜';
뷰 조회
SELECT * FROM 기머뷰;
뷰 삭제
DROP VIEW 기머뷰;
컬럼삭제
ALTER TABLE 사람 DROP 나이;
SELECT [컬럼]
FROM [테이블명]
GROUP BY [컬럼명]
HAVING [컬럼명] 조건식
ORDER BY [컬럼명] DESC or ASC ; (DESC 내림차순, ASC 오름차순)
WHERE [컬럼명] 조건식 ;
마지막에 세미콜론 잊지말기
WHERE LIKE '이%' 맨앞에 '이'
LIKE '%이%' 이가 들어간 것 찾기
LIKE _psy 앞에 한칸 비우고 psy가 들어간것
조인문도 중요함
SELECT A.컬럼 , B.컬럼
FROM [테이블명] AS A
LEFT JOIN [테이블2명] AS B
ON A.[컬럼명] = B.[컬럼명]
Union = 중복 배제
UNION ALL = 중복포함
INTERSACT = 교집합
MINUS = 차집합
GRANT [명령어] ON [테이블명] TO [사람이름]
REVOKE [명령어] ON [테이블명] FROM [사람이름]
절차형 SQL
프로시저 : 쿼리의 집합
사용자 정의함수: 절차형 SQL
트리거 : 이벤트 수행
웹 서버 : HTTP 이용한 요청 /응답처리
웹 애플리케이션 서버 : Tomcat
데이터베이스 서버 : MYSQL
파일 서버: HDD,SSD
형상관리
SW가 만들어지는 시작부터 끝까지 일련의 과정을
관리해주는 것을 말한다.
형상식별 : 정의 및 식별하는 기능
형상통제 : 형상 통제위원회
형상감사 : 베이스라인의 무결성 평가
형상기록 : 일련의 과정을 기록하는 것
공퓨 폴더 - RCS 한사람만 수정 가능
서버- 클라이언트 - CVS : 여러사람 수정가능
분산 저장소 - GIT : 로컬과 웹을 나눈 분산처리방식
모듈:
하나의 완전한 기능을 수행할수 있는 독립된 실체이다.
응집도: 모듈의 독립성을 나타내는 정도, 모듈 내부 구성요소간 연관 정도
(기순교 절에서 시간,논리가 우연적이었다)
기능적 응집도 : 모듈 내 단일 목적으로 작동하는 응집도
순차적 응집도 : 모듈 내 한 활동을 다른 활동에 사용
교환적 응집도 : 동일한 입력과 출력을 다른 활동에 사용함
절차적 응집도 : 순차적으로..
시간적 응집도 : 시간적으로 겹치는 경로들끼리 처리
논리적 응집도 : 유사한 비슷한 것끼리 한꺼번에 처리
우연적 응집도 : 연관성이 없음
📌응집도는 높을 수록 좋은 품질이다.
결합도: 모듈 내부가 아닌 외부의 모듈과 연관도 또는 모듈간의 상호의존성이다.
(자스민 제외하고 공내놔)
자료 결합도 : 파라미터 내에서만 사용
스탬프 결합도 : 배열, 기능....
제어 결합도 : 어떻게 처리해야하나
외부 결합도 : 외부의 디바이스 인터페이스 이용
공통 결합도 : 파라미터가 아닌 모듈밖에 선언되어있는 전역변수
내용 결합도 : 다른 모듈 내부에있는 변수나 기능을 사용
결합도는 낮을수록 높은 품질이다.
FAN-IN : 주는~ 보통 A0
FAN-OUT : 받는~ A0은 아님
DAO: 세부내용 노출 없이 데이터 조작
DTO: 데이터를 전송하는 개체로 데이터 저장 회수외 다른 기능없음
VO : DTO와 달리 고정 클래스를 가짐
백엔드: 프론트엔드와 연동하여...
프론트엔드: 사용자 화면에 나타는 웹..
크론표현식
0 0 12 * * : 매일 12시 실행
0 * 12 * * : 12시 ~ 12시 59분까지 매 분마다 실행
SW 개발 보안의 3대요소
(기무사 가~)
기밀성: 인가받지 못하면 개인으로부터 노출을 막음
무결성: 부적절한 경로의 데이터 변경을 변경되지 않음
가용성: 권한이 있는 사용자의 사용을 보장
SW 개발보안용어
자산 : 가치를 부여하는 것
위협 : 악영향을 끼치는 행위
취약점 : 약점
위험 : 취약점으로부터 피해가 올 가능성
DOS : 해커 혼자서 피해자를 공격해 트래픽 자원을 소모시켜 정상적인 작동을 못하게 만드는것
SYN 플로딩 : ICMP의 구조적 문제를 공격
스머핑 : 브로드캐스팅을 직접 마비공격
죽음의핑 : 핑을 비정상적으로 크게하여 공격
랜드어택 : 시작점과 출발점을조작하여 트랙피자원소비
보잉크,봉크 : 과부하 유발 패킷전송과 재전송
DDOS 공격 :
DOS공격보다 업그레이드 형태로 공격자가 여러대의 컴퓨터를 감염시켜 명령을 내려 감염된 컴퓨터들이 공격 분산공격이라고도함
핸들러
에이전트
마스터
Attacker
Daemon
Trinoo: UDP flood 서비스 거부 공격
Tribe Flood network : 좀더 쌘 버전 ㅋ
DROS : DDOS보다 업그레이드 된 버전으로 위치추적조차도 불가능함.
애플리케이션 공격
HTTP GET FLOODING : 과도한 GET 메세지, 케시 옵션을 조작
Slowloris: HTTP GET메서드를 이용하여 ...
RUDY: content-length
네트워크 공격
스니핑 : 몰래 정보를 들여다보고 가는것
네트워크 스캐너 = 스니퍼 : 취약점을 스윽 보고탐색하고 가는것
패스워드 크래킹
-사전 크래킹 : ID와 PW
-무차별 크래킹 : 영문자
-패스워드 하이브리드 공격 : 무차별 대입공격
-레인보우 테이블 공격 : 해시 공격 (안나올거같음)
IP 스푸핑 : IP 주소를 몰래바꿈
ARP 스푸핑 : MAC의 주소를 바꿈
트로이 목마 : 정상적인척 하면서 비정상적 활동
버퍼 오버 플로우
스택 오버 플로우
힙 오버 플로우
스택가드 : 키나리
스택쉴드 :GLOBAL RET
이블트윈 : 와이파이 공격
난독화: 보기어렵게 난독하는거
악성 봇 : 좀비 피씨
랜섬웨어: 파일 잠기
인증
지식기반 : ID, PW
소지기반 : OTP , 공인인증서
생체기반 : 지문, 홍채
특징기반 : 서명
접근통제기법
식별Identification - 자신을 알림
인증Authentication - 신원을 검증
인가Authorization - 허가 해줌
책임추적성Accountablility - 추적
DAC 그룹신분
MAC 허용등급
RBAC
접근통제 보호모델
벨-라파듈라 - 기밀성
비바 - 무결성
암호 방식
대칭키 : 블록 + 스트림
DES: 1975 연방 표준국(NIST)에서 만든 64, 56 기가 짜리
SEED : 1999 한국진흥국에서 만듬
AES : 2000년 미국표준연구소에서 만든 128 기가 128 192 256 기가
ARIA: 국가정보원 + 산합기술협회에서 만듬
IDEA : 스위스 에서만듬
LFSR: 선형, XOR 배타적, 임
비대칭키
디퍼-헬만: 최초의 공개키 알고리즘
RSA: MIT 수학교수가만듬 소수인분해 수학적 알고리즘
ECC : 타원형
ELGAMAL: 엘가말이 만듬 전자서명
해시알고리즘
MD-5: MD-4를 업그레이드 시킴 1991년 R-rivest가 MD4 개선함, 512비트
SHA-1 : 160 비트의 해시값 생성, 1993년 NSA에서 미 정부 표준으로
SHA-256 : sha-1과 다른 종류의 버전음
HAS-160: 국내표준서명알고리즘
IPSEC : 3계층에서 무결성
AH: 인증
ESP: 암호화
IKE: 키 관리
SSL/TLS 4~7계층에서 무결성 관리
S-HTTP 뭐.. 알아서 나오겟지?
SDLC 모범사례 - Seven touch points
XSS
CSRF
SQL injection
결함집중 : 파레토 법칙
살충제 패러독스 : 비슷한 것만 자주 검사하면 오히려 무의미함
오류-부재의 궤변 : 요구사항을 못맞추면 오류나는것보다 못한거임
정적 테스트 : 구조를 분석하여 논리성 검증
동적 테스트 : 직접 테스트하여 수행 결함을 검출: 화이트박스 ,블랙박스, 경험기반
화이트박스 테스트: 내부구조 와 동작를 검증하는 테스트
블랙박스 테스트 : 명세기반 테스트
구문 커버리지 : 다 한번씩 해보는거
결정 커버리지 :
동등분할테스트: 유효값, 무효값을 그룹핑
경계값 분석: 경곗값을 포함하여
'정보처리기사실기' 카테고리의 다른 글
[정보처리기사] 오답노트 (0) | 2022.05.03 |
---|---|
[정보처리기사실기] 헷갈리는것 모음 (0) | 2022.04.30 |
[정보처리기사실기] 응집도 (Cohesion) (0) | 2021.07.11 |
정보처리기사실기 2021년 2회 실기 가답안 (0) | 2021.07.10 |
[정보처리기사실기] 침입방지시스템(IPS) (0) | 2021.07.09 |