반응형
프로세스 수행을 지원하는 정보 시스템의 구현을 위해 가장 선진화되 소프트웨어 아키텍처, 서비스라고 정의되는 분할된 애플리케이션 조각들을 Loosely-coupled하게 연결해 하나의 완성된 Application 을 구현하기 위한 아키텍처
- 서비스 지향 아키텍처 SOA | Service Oriented Architecture
TCP 세션 하이재킹 | Session Hijacking
- TCP Sequence number의 보안상 문제점 때문에 발생
- Victm과 Server 사이의 패킷을 스니핑하여 Sequence number를 획득하고, 공격자는 데이터 전송 중인 Victim과 Server 사이를 비동기화 상태로 강제적으로 만듦
- 스니핑하여 획득한 Client Sequence Number를 이용하여 공격
- 공격자는 Server에게 RST 패킷 날리고, 공격자의 새로운 Sequence Number로 Server와 세션을 맺어 인증 우회, Victim 권한으로 Server 접근
- 비동기화 상태로 패킷이 유실되어 재전송 패킷 증가
- 이 과정에서 ACK Storm 증가, NW 부하증가
리뷰 유형
동료 검토 | Peer Review
- 2~3명이 진행하는 리뷰의 형태로 요구사항 명세서 작성자가 요구사항 명세서를 설명하고, 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행하는 검토 기법이다.
인스펙션 | Inspection
- 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아 내는 공식적 검토 방법
워크 스루 | Walk Through
- 검토 자료를 회의 전에 배포해서 사전검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서로 만드는 기법
SQL | `LIKE` 패턴
- ` % ` : 0개 이상의 문자열과 일치
- ` [ ] ` : 1개의 문자와 일치
- ` [ ^ ] ` : 1개의 문자와 불일치
- ` _ ` : 특정 위치의 1개의 문자와 일치
C언어 | `int (*pf)(int, int)`
- int 변수 2개를 사용할 수 있다.
int (*pf)(int,int);
pf=add;
pf(5,4);
- `pf` 는 `add` 함수를 가진다.
- `pf(5,4)` 는 결국 `add(5,4)`와 같다.
반응형
SQL | `JOIN`
사용방법(LEFT)
- `SELECT A.컬럼, A.컬럼2, B.컬럼, B.컬럼2 ...
FROM 테이블1 A LEFT JOIN 테이블 2 B
ON 조인조건` - `WHERE`필요 시 `ON 조인조건` 뒤에 사용
Left Outer Join
- 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출
Right Outer Join
- 오른쪽 테이블의 모든 데이터와 왼쪽 테이블의 동일 데이터를 추출
Full Outer Join
- 양쪽의 모든 데이터를 추출
DOS - Denial of Service 공격이란
- 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 자원을 소진시켜서 원래 의도된 용도로 사용하지 못하게 하는 공격.
요구사항 명세 단계 주요 기법
정형 명세 기법
- 사용자의 요구를 표현할 때 수학적인 원리와 표기법으로 서술하는 기법
- 정형 명세 언어인 Z-스키마, Petri Nets, 상태 차트 활용
- 표현이 간결, 명확성 및 검증이 용이
- 기법의 이해가 어렵다.
비정형 명세 기법
- 비정형 명세 기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 기법
- 사용자와 개발자의 이해가 용이
- 명확성 및 검증에 문제가 있다.
`&` AND , `|` OR 연산
- `&` 두 값이 1일때 1
- '|' 값이 하나라도 1이면 1
병행제어 미보장 시 문제점
갱 현 모 연 | 갱신 손실 , 현황 파악 오류 , 모순성 , 연쇄 복귀
갱신 손실 | Lost Update
- 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸 때 발생하는 오류
현황 파악 오류 | Dirty Read
- 트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조하여 발생하는 오류
모순성 | Inconsistency
- 두 트랜잭션이 동시에 실행되어 데이터베이스의 관성이 결여되는 오류
연쇄 복귀 | Cascading Rollback
- 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리한 곳의 부분을 취소하지 못하는 오류
데이터베이스 | 정규화 단계
도(원) 부 이 결 다 조
종속 | "~이 ~에 영향을 주는"
제 1 정규형 | 1NF
- 도메인(원자값)으로 구성
제 2 정규형 | 2NF
- 부분 함수 종속 제거(완전 함수적 종속 관계)
제 3 정규형 | 3NF
- 이행함수 종속 제거
보이스-코드 정규형 | BCNF
- 결정자 함수이면서 후보 키가 아닌 것 제거
제 4 정규형 | 4NF
- 다치(다중 값) 종속성 제거
제 5 정규형 | 5NF
- 조인 종속성 제거
C언어 | `%s`
- `%s` 는 `NULL`(`\0`)을 만날때 까지 순차 출력된다.
SQL | `ALTER`
- `ALTER TABLE 테이블명
MODIFY 컬럼명 데이터타입 [제약조건];`
데이터 흐름도 - DFD 구성요소
` ○ ` | 처리기 | Process
- 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정
` → ` | 데이터 흐름 | Data Flow
- DFD의 구성요소(프로세스, 데이터 저장소, 외부 엔터티)들 간의 주고 받는 데이터 흐름을 나타냄
` = ` | 데이터 저장소 | Data Store
- 데이터가 저장된 장소, 평행선 안에는 데이터 저장소의 이름을 넣는다.
` □ ` | 단말 | Terminator
- 프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타냄
- 사각형 안에는 외부 엔터티의 이름을 넣음
모델링 절차
요구사항 분석
- 형행 데이터의 문제점과 개선해야 할 점을 확인하고 향후 개선점을 도출하는 행동
개념 모델링
- 업무 중심의 포괄적인 모델링으로 추상화하는 활동으로 주제 영역과 핵심 데이터 간 관계 정의
논리 모델링
- 관계(Relationship) , 속성(Attribute) , 키(Key)등을 도출하는 행동
물리 모델링
- 사용 DBMS 특성에 맞게 물리적 스키마를 만드는 행동
소프트웨어 품질 특성
기능성 | Functionality
- 소프트웨어가 특정 조건에서 사용될 때 명시된 요구와 내재된 요구를 만족하는 기능을 제공하는 소프트웨어 제품의 능력
- 품질 부특성에는 적합성, 정확성, 상호 운용성, 보안성, 준수성 등이 있음
신뢰성 | Reliability
- 명시된 조건에서 사용될 때 성능 수준을 유지할 수 있는 소프트웨어 제품의 능력
- 옳고 일관된 결과를 얻기 위하여 요구된 기능을 수행할 수 있는 정도이고, 주어진 시간 동안 주어진 기능을 오류 없이 수행하는 정도
- 품질 부특성에는 성숙성, 결함 허용성, 회복성, 준수성 등이 있음
효율성 | Efficiency
- 명시된 조건에서 사용되는 자원의 양에 따라 요구된 성능을 제공하는 소프트웨어 제품의 능력을 말함
- 품질 부특성에는 시간 반응성, 자원 효율성, 준수성 등이 있다.
유지보수성 | Maintainability
- 소프트웨어 제품이 변경되는 능력
- 변경에는 환경과 요구사항 및 기능적 명세에 따른 소프트웨어의 수정, 개선, 혹은 개작 등이 포함
- 품질 부특성에는 분석성, 변경성, 안정성, 시험성, 준수성 등이 있음
이식성 | Portability
- 한 환경에서 다른 환경으로 전이될 수 있는 소프트웨어 제품의 능력
- 품질 부특성에는 적응성, 설치성, 공존성, 대체성, 준수성 등이 있다.
자료구조 | Deque(데크)
- 양쪽 끝에서 삽입|삭제 가 가능한 자료구조
반응형