병행제어 기법 종류:
Locking 로킹 :
같은 자원을 액세스 하는 다중 트랜잭션 환경에서 DB 의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
로킹 단위가 작아지면 데이터 베이스 공유도 증가.
로킹 단위가 작아지면 로킹 오버헤드 증가
한번에 로킹할 수 있는 크기를 로킹단위라고 한다
낙관적 검증 :
트랜잭션이 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행, 트랜잭션 종료시 검증을 수행해 데이터 베이스에 반영
타임 스탬프 순서:
트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임스탬프를 부여해 부여된 시간에 따라 트랜잭션을 수행하는 기법
다중버전 동시성 제어 MVCC (Multi Version Concurrency control ):
트랜잭션의 타임 스탬프와 접근하는 데이터의 타임 스템프를 비교, 직렬 가능성이 보장되는 적절한 버전을 선택해 접근하도록 하는 기법
----------------------------------
행성 테이블서 거리가 5와 같거나 큼, 무게가 10이상 이거나 큰 레코드 삭제
delete from 행성 where 거리 >=5 and 무게 >=10;
모든 레코드를 삭제할 때는 where 없이 delete 만 사용
----------------------------------------------
alter table :테이블을 수정하는 명령어 , add 는 컬럼 추가
alter table studnet add gender char(1) check (gender ='f' or gender =m');
학생 테이블에 성별이라는 컬럼을 추가. 그런데 성별 칸에는 f or m만 입력 가능
alter table tablename colname datatype [제약조건 : primary key, unique, foriegn key, not null,check, default];
-----------------------------
소켓 socket:
네트워크를 경유하는 프로세스간 통신의 접속점으로 클라이언트와 서버 프로그램 사이에 데이터를 송수신 할 수 있는 기능
---------------------------------
sw개발 보안의 3대 요소:
Confidentially 기밀성 :
인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단
Intergrity 무결성 :
정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/ 악의로 변경 혹은 파괴되지 않음을 보장하는 특성
Availabilty 가용성 :
권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용 할 수 있도록 보장하는 특성
--------------------------------
소프트웨어 아키텍쳐 패턴 유형
Layered pattern 계층화 패턴 :
시스템을 계층으로 구분하여 구성
각 하위 모듈들은 특정한 수준의 추상화를 제공, 각 계층은 다음 상위 계층에서 서비스를 제공
계층화 패턴은 서로 마주보는 두 개의 계층 사이에서만 상호작용이 이루어진다.
client-server pattern 클라이언트 서버 패턴 :
하나의 서버와 다수의 클라이언트로 구성된 패턴
사용자가 클라이언트를 통해 서버에 서비스를 요청하면 서버는 클라이언트에게 서비스를 제공
서버는 계속 클라이언트로부터 요청을 대기
pipe filter pattern 파이프 필터 패턴 :
데이터 스트림을 생성하고 처리하는 시스템에서 사용가능한 패턴
서브 시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복
재사용성이 좋고 추가가 쉬워 확장성이 좋음
MVC pattern :
대화형 어플리케이션을 모델 ,컨트롤러, 뷰 세개의 서브 시스템으로 구조화한 패턴
모델 : 핵심 기능과 데이터 보관
뷰 : 사용자에게 정보 표시
컨트롤러: 사용자로부터 요청을 입력받아 처리
Broker pattern 브로커 패턴 ;
분산 시스템에서 사용되고 이 컴포넌트들은 원격 서비스 실행을 통해 상호 작용이 가능한 패턴
브로커 컴포넌트는 컴포넌트간의 통신을 조정하는 역할을 수행.
-----------------------------------
분석 자동화 도구
상위 upper case :
계획 수립, 요구 분석, 기본 설계 단계를 다이어그램으로 표현
모델들 사이의 모순 검사 및 모델의 오류 검증, 일관성 검증 지원
자료 흐름도 프로토타이핑 작성 지원 및 UI 설계 지원
하위 lowe case :
구문 중심 및 정적, 동적 테스트 지원
시스템 명세서 생성 및 소스 코드 생성 지원
---------------------------------
NAT network address translation :
사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 ip 주고를 사용해 인터넷에 접속하기 위한 네트워크주소 변환 기술
------------------------
revoke on from [CASADE constraints];
revoek 권한 on tablename from usename;
관리자가 사용자에게 부여했던 테이블에 대한 권한을 회수
CASADE CONSTRAINTS는 연쇄적인 권한을 해제할 떄 입력 (WITH GRANT OPTION 으로 부여된 사용자들의 권한까지 취소)
관리자가 usename 이라는 사용자로부터 score 테이블에 대해 delete 할 수 있는 권한을 회수할 수 있는 쿼리 (username 사용자로부터 with grant option 이 부여된 사용자들의 권한까지 취소 )
revoke delete on score from username cascade constraints;
----------------------------
DBMS 의 특징
데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대한 다른 데이터가 저장되는 것을 허용 안함
데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함 없이 일정
데이터 회복성 : 장애 발생 시, 특정 상태로 복구되어야 하는 성질
데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
데이터 효율성 : 응답 시간, 저장 공간 활용등이 최적화되어 사용자, sw , 시스템 등의 요구 조건을 만족 시켜야 하는 성질
-------------------
데이터 베이스 고립화 수준
read Uncommitted :
한 트랜잭션에서 연산 중인 데이터를 다른 트랜잭션이 읽는 것을 허용하고, 연산 중인 데이터에 대한 연산은 불허
read Committed :
한 트랜잭션에서 연산을 수행할 때, 연산이 완료될 때 까지 데이터에 대한 읽기를 제한하고 연산이 완료되어 커밋된 데이터는 다른 트랜잭션을 읽는 것을 허용
Repeatable Read :
선행 트랜잭션이 특정 데이터를 읽을 때, 트랜잭션 종료 시까지 해당 데이터에 대한 갱신/ 삭제를 제한
Serializable Read :
선행 트랜잭션이 특정 데이터 영역을 순차적으로 읽을 때 , 해당 데이터 영역 전체에 대한 접근을 제한
-----------------------------------
join
select name, score from student a join student_score on a.no = b.no;
공통 존재 컬럼의 값이 같은 경우를 추출: 내부 조인
-----------------------------------------
버퍼 오버플로우 : 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력해 프로세스 흐름을 변경시켜 악성 코드를 싱행 시키는 공격
스택 버퍼 오버 플로우:
Local Value /Return Address 가 저장되는 스택 영역서 발생
주소 변경, 공격자가 원하는 임의의 코드를 실행시키는 공격
힙 버퍼 오버 플로우 :
프로그램 실행시 동적으로 할당되는 힙 영역에 할당된 버퍼 크기를 초과하는 데이터를 입력, 메모리의 데이터와 함수 주소 등을 변경 공격자가 원하는 임의의 코드를 실행하게 함
대응 방안 :
스택가드 : 카나리
스택쉴드 : Global RET
ASLR: 주소 공간에 난수 배치, 리눅스서 설정 가능
---------------------------------------------------
애플리케이션 공격 기법 유형
HTTP GET Flooding :
HTTP 캐시 옵션 조작, 캐싱 서버가 아닌 웹 서버가 직접 처리하도록 유도, 웹 서버 자원을 소진 시키는 서비스 거부 공격
Slowloris (slow http header dos):
HTTP GET 메서드를 사용해 헤더의 최종 끝을 알리는 개행 문자열 \r\n\r\n을 전송하지 않고 \r\n만 전송해 대상 웹 서버와 연결 상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격
RUDY (slow http header dos):
요청 헤더의 content length 를 비정성적으로 크게 설정해 메세지 바디 부문을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격
Hulk Dos:
공격자가 공격 대상 웹 사이트 웹 페이지 주소를 지속적으로 변경하면서 다량으로GET요청을 발생시키는 서비스 거부 공격
Hash Dos :
조작된 많은 수의 파라미터를 POST 방식으로 웹서버에 전달, 다수의 해쉬 충돌을 발생시켜 자원을 소모시키는 서비스 거부 공격
------------------------
alter table add: 컬럼 추가
atler table tablename add user varchar(100) not null;
tablename 에 user(데이터타입 varchar(100)) 컬럼을 추가, null 값 안되게
alter table modify : 테이블 수정
alter table student modify class varchar(20) not null;
student 테이블에 class(datatype varchat(20) 추가. null 값 안됨
--------------------------
정적 테스트 기법 유형:
리뷰 :
산출물에 존재하는 결함을 검출하거나 프로젝트의 진행 상황을 점건하기 위한 활동.전문가가 수행
정적 분석:
도구의 지원을 받아 정적 테스트를 수행. 자동화된 도구를 이용해 산출물의 결함을 검출하거나 복잡도 측정
-----------------------
데이터 웨어하우스 :
사용자의 의사결정에 도움을 주기 위해 기간 시스템의 데이터베이스에 축적된 데이터를 공통 방식으로 전환해 통합적으로 관리하는 데이터베이스
데이터마트:
재무, 생산, 운영 등과 같이 특정 조직의 특정 업무 분야에 초점을 맞춰 구축된 저장 공간
------------------------------------
프로세스 관련 용어
TPS ( Transaction per second):
초당 몇 개의 트랜잭션을 처리 할 수 있는지 나타내는 서비스 성능 지표
반환 시간 Turnaround time :
프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간
------------------------------
BGP (Border Gateway Protocol) 은 as 상호간에 경로 정보를 교환하기 위한 라우팅 프로토콜로 변경 발생 시 대상까지의 가장 짧은 경로를 경로벡터(Path Vector) 알고리즘을 통해 선정하고, TCP연결을 통해 자치 시스템(AS) 으로 라우팅 정보를 신뢰성 있게 전달하는 특징이 있다
------------
디피헬만 알고리즘 :
1976년 고안한 알고리즘, 유한 필드 내에서 이산대수의 계산이 어려운 문제를 기본 원리로 하고, 공개키 암호 방식의 개념을 이용해 두 사용자간의 공통의 암호화 키를 안전하게 공유할 방법을 제시. 많은 키 분배 방식에 관한 연구의 기본이 된 최조의 비밀키 교환 프로토콜이 된 최초의 공개키 알고리즘
---------------------
집합연산자
union: 중복 레코드 제외
union all : 중복 레코드 허용
intersect : 중복 레코드만 허용
minus : 첫 쿼리에는 있고 두번째 쿼리에는 없는 결과 반환
select studentnum from student where grade >='3'
union
select studentnum from student where grade >='4';
--------------------------------------
데이터 베이스 이상 현상 : 삽입 삭제 갱신
이상 현상 Anomaly:
데이터를 데이터 베이스에 저장할 시 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는 현상
-------------------------------
네트워크 공격 기법 :
IP Spoofing : 타킷 시스템의 정보를 빼내기 위해 침입자가 속여 자신의 패킷 헤더를 인증된 호스트의 ip주소로 위조해 타깃에 전송하는 공격기법
ARP spoofing : arp 멤시지를 이용해 상대방의 데이터 패킷을 중간에 가로채는 중간자 공격 기법
ICMP Redirect : ICMP Redirct 메시지를 공격자가 원하는 형태로 만들어 특정 목적지로 가는 패킷을 공격자가 스니핑 하는 긱법
트로이 목마:
겉은 정상 속은 악성코드
------------------------------
RSA:
1977년 3명의 MIT교수가 고안한 큰 인수의 곱을 소인수분해하는 수학적 알고리즘을 이용하는 공개키 암호화 알고리즘이다. 비밀키의 복호화가 어려운 RSA 안정성은 소인수분해문제의 어려움에 근거를 두고 있다.
비대칭키 암호화 방식이다
--------------------------------------
a-> b이고 b->c이면서 a->c인 관계는 : 이행함수 종속 관계
-----------------------------
'정보처리기사' 카테고리의 다른 글
정보처리기사 : 자주나오는 (0) | 2023.07.16 |
---|---|
정보처리기사 : 자주나오는 (0) | 2023.07.16 |
정보처리기사 자주 나오는: (0) | 2023.07.14 |
정보처리기사 database: between, update, cube, alter, insert into, 와일드 카드 %, null (0) | 2023.07.14 |
정보처리기사 database : create index,view, grant, dense_rank, delete, drop (0) | 2023.07.14 |