알아두면 좋은 IT 지식 14 - WAS, 웹의 3 요소, 버전 관리 도구 등
요구사항 분석기법
요구사항 분류 -> 개념 모델링 -> 요구사항 할당 -> 요구사항 협상 -> 정형분석(구문과 의미를 갖는 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현한 후 이를 분석하는 과정으로 가장 마지막에 합니다.
WAS 서버 관련 요구사항 식별 시 고려사항
가용성, 성능, 기술 지원, 구축 비용
웹의 3요소
웹 표준, 웹 접근성, 웹 호환성
마스터 슬레이브
아키텍처 패턴 중에서 장애 허용 시스템과 병렬 컴퓨팅 시스템에서 주로 활용되는 패턴으로, 메인 컴포넌트에서 서브 컴포넌트로 작업을 나누어서 분배한 다음에 처리된 결과물을 다시 돌려받는 방식의 패턴입니다.
배열
동일 자료형이어야 하며, 데이터들이 같은 크기로 나열되며, 순서를 가집니다. 기억 장소 추가가 어렵고, 데이터 삭제 시 기억 장소는 빈 공간으로 남게 됩니다.
리스트
배열 또는 포인터를 이용하여 일정한 순서에 의해 나열된 자료구조를 말합니다.
버전 관리 도구
SCCS : 공유 폴더 방식
DCVS, GIT : 분산 저장소 방식
SVN
클라이언트/서버 방식의 버전 관리 도구로, 서버에서 최신의 파일들과 그 변경 상황이 관리되는 오픈 소스 도구입니다. 모든 개발 작업은 trunk에서 진행되고, 추가 작업은 branches 안에서 진행됩니다. 그리고 별도의 디렉터리를 만들어 작업을 완료한 다음에 병합합니다. 그리고 commit 할 때마다 리비전이 1씩 증가합니다.
구조 기반 테스트
구문 기반 테스트, 결정 기반 테스트 등 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트
테스트 하네스 구성요소
테스트 드라이버, 테스트 스텁, 테스트 슈트, 테스트 케이스, 테스트 스크립트, 목 오프젝트(사전에 사용자가 조건부를 입력)
복합 식별자와 대리 식별자
주 식별자가 두 개 이상의 속성을 가지고 있는 것은 복합 식별자이며, 두 개 이상의 속성을 하나의 속성으로 묶어서 사용하는 식별자를 대리 식별자라고 부릅니다.
데이터 무결성 강화하는 방법 세 가지
1. 애플리케이션 2. 트리거 3. 제약조건
C언어 기억 클래스
자동, 외부, 정적, 레지스터(동적은 없습니다.)
포인터 변수
필요에 의해 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수를 말합니다.
라운드 로빈(RR)
시분할 시스템을 위해 만들어진, FIFO알고리즘(FCFS)입니다. 시간 할당 동안에만 실행되어 다음 프로세스에게 넘깁니다.
할당되는 시간(time slice)이 크면 FCFS와 같아집니다. 시간이 적으면 문맥 교환 및 오버헤드가 자주 발생합니다.
할당 시간 작다면, 당연히 작은 프로세스들에게 유리합니다. 크게 하면 입출력 위주의 작업이나 급하게 해야 되는 작업에 재빠르게 대응하지 못합니다.
SPICE 프로세스 범주
고객-공급자(customer-supplier), 공학(engineering), 지원(support), 관리(management), 조직(organization)
소프트웨어 에스크로
소프트웨어를 제3기관에 임치하여 지식재산권 보호해주는 것을 말합니다.
서비스형 소프트웨어(SaaS)
여러 기능 중 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어입니다.
오픈 그리드 서비스 아키텍처(OGSA)
애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위한 개방형 표준을 말합니다.
Secure OS 보호 방법 (복잡한 순서)
암호적 분리 -> 논리적 분리 -> 시간적 분리 -> 물리적 분리(사용자가 특정 장비만 사용하도록)
침입 탐지 시스템과 침입 방지 시스템
방화벽+탐지 시스템으로 비정상적인 트래픽을 적극적으로 차단하고 격리한다는 말이 나오면 침입 방지 시스템입니다.
패킷이 라우터 들어오기 전(모든 네트워크 공격 탐지 가능), 뒤, 방화벽 뒤, 내부 네트워크, DMZ가 나오면 침입 탐지 시스템입니다.
C언어 대표적인 표준 라이브러리 – 헤더 파일로 제공, 개발에 필요한 함수들
Stdio.h : 입출력
math.h : 수학 함수
string.h : 문자열 처리
Stdlib.h : 자료형 변환, 난수발생, 메모리 할당
Time.h : 시간
JAVA 표준 라이브러리 – 패키지에 포함. Import 패키지 안 메서드는 마침표로 구분 - math.abs()
Java.lang – 기본, 인터페이스, 자료형, 예외처리, import문 없어도 됨
Java.util – 날짜 처리, 난수, 복잡한 문자열
Java.io – 입출력
Java.net – 네트워크
Java.awt – UI
시간 구역성
loop, stack, 부 프로그램, counting, totaling
공간 구역성
배열 순회, 순차적 코드, 프로그래머들 관련 변수, 같은 영역 변수
스케쥴링 성능평가 기준
cpu이용률, 처리율, 반환시간, 대기시간, 응답 시간, 균형 있는 자원 이용
TCP
메시지를 encapsulation, decapsulation 하고, 서비스 처리를 위해 multiplexing, demultiplexing이용, 전이 중 서비스와 스트림 데이터 서비스 제공하는 것을 말합니다.
RTCP(Real Time Control Protocol) – 전송계층 (품질 제어)
세션에 참가한 모든 참가자에게 컨트롤 패킷을 정기적으로 전송하며, 매번 32비트의 경계로 끝납니다. 하위 프로토콜은 데이터 패킷과 컨트롤 패킷의 멀티 플렉싱을 제공하며, 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능 제공합니다.