Please enable JavaScript.
Coggle requires JavaScript to display documents.
정보처리기사 실기, 용어정리
IPS(침입차단시스템) : 네트워크에 대한 공격이나 침입을 실시간적으로 차단하고 유해 트래픽에 대한…
정보처리기사 실기
애플리케이션 테스트 관리
<원리>
- 테스팅은 결함이 존재
- 완벽한 테스팅은 불가능
- 개발 초기에 테스팅 시작
- 결함 집중(파레토 법칙) : 20%모듈에서 80%의 결함이 발생
- 살충제 패러독스 : 1회출제
- 테스팅은 상황에 의존적 : 정황과 도메인에 따라 다르게 수행
- 오류-부재의 궤변 : 요구사항을 충족시키지 못한다면, 결함이 없어도 품질이 높다고 못함
<필요성>
[발예향!]
- 오류 발견
- 오류 예방
- 품질 향상
-
<프로세스>
- 테스트 계획
- 테스트 분석 및 디자인
- 테스트 케이스 및 시나리오 작성
- 테스트 수행
- 테스트 결과 평가 및 리포팅
테스트 시각에 따른 분류
검증(Verification) : 개발자 혹은 시험자의 시각
확인(Validation) : 사용자 시각, 최종 사용자 요구 적합
테스트 목적에 따른 분류
[회안강성 구회병!]
- 회복 : 다시 복귀 여부
- 안전 : 결함 미리
- 강도 : 과다 정보량
- 성능 : 시간, 업무량 반응 속도
- 구조 : 논리 경로, 소스코드 복잡도
- 회귀 : 오류를 제거하거나 수정할 시 반복 테스트
- 병행 : 변경된 vs 기존 입력 결과 비교
-
<테스트오라클 : 결과가 참인지 거짓인지를 판단하기 위해 사전에 정의된 참 값을 입력하여 비교>
[참샘휴일!]
- 참
- 샘플링
- 휴리스틱
- 일관성 검사
V모델
<결함>
- 에러/오류 : 결함의 원인 - 사람실수
- 결함/버그 : 에러가 원인
- 실패/문제 : 제품 결함 발생
<통합 수행 방식>
[하스상드!]
- 하향식 - 스텁
- 상향식 - 드라이버
- 빅뱅 : 모든 모듈을 동시에 통합 후 수행
<결함 관리>
[발등 분확할 조검!]
- 발견
- 등록
- 분석
- 확정
- 할당
- 조치
- 검토 및 승인
커버리지
테스트케이스에 의해 수행되는 소프트웨어 테스트 범위를 측정하는 테스트 품질 측정 기준이며 정확성과 신뢰성을 향상시킴
<유형>
[기라코!]
- 기능기반
- 라인
- 코드
<코드 커버리지>
- 결정 : 값에 관계 없이 전체 조건식이 참/거짓
- 조건 : 적어도 한 번은 참과 거짓의 결과가 됨
- 조건/결정 : 최소한의 조합으로 달성
<심각도>
[치주 보경단!]
- 치명적
- 주요
- 보통
- 경미한
- 단순
<성능지표>
[처응경자!]
- 처리량
- 응답시간
- 경과시간
- 자원 사용률
tpmC (Transaction ProcessingPerformance Council)
특정 서버에 대해서 자체 기준으로 테스트를 수행하여 나온 결과중 1분간 최대 처리건수를 나타낸 수치를 말한다. 가장 객관적으로 하드웨어 성능을 나타내는 지표로 사용된다.
<DB 성능 저하 원인>
[락패릭 사커!]
- Lock
- Fetch
- Connection Leak
- Pool size
- Commit
<성능 테스트 수행 절차>
[도환시실!]
- 도구 설치
- 환경 설정
- 시나리오 생성
- 실행 및 모니터링
<소스코드 품질분석 도구>
- ccm
- pmd
- cppcheck
- Valgrind
-
테스트케이스
명세 기반 테스트의 설계 산출물로 설계된 입력값, 실행조건, 기대결과로 구성된 테스트 항목의 명세서
<테스트 프레임워크>
- FitNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- Selenium : 다양한 브라우저 지원 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
소프트웨어 개발 보안 구축
3요소
[기무가!]
- 기밀성 : 인가되지 않은 개인 차단
- 무결성 : 데이터 정확성
- 가용성 : 권한을 가진 사용자
보안약점
- SQL 삽입 : PrepareStatement객체로 방지, 공격자가 입력창 및 URL에 SQL문 삽입하여 정보 조회
- 경로 조작 및 자원 삽입
- XSS : 웹페이지에 악의적인스크립트를 포함
- 운영체제 명령어 삽입
- 위험한 형식 파일 업로드
- 신뢰되지 않는 URL 주소로 자동 접속
- HTTP 응답 분할
- 부적절한 입력값
- 정수형 오버플로우
코드오류
- 널 포인트 역참조
- 부적절한 자원 해체 : 사용하지 않는 자원을 반환하지 않아 프로그램오류 또는 에러로 사용이 끝난 자원을 반환하지 못하는 취약점
- 해체된 자원 사용
- 초기화되지 않은 변수 사용
-
-
에러처리
- 오류 메시지 정보 노출
- 오류 상황 대응 부재
- 부적절한 예외 처리
API오용
- DNS에 의존한 보안 결정
- 취약한 API 사용
테스트 종류
정적 분석 테스트
- 실행하지 않고 보안 약점 분석
- 컴포넌트간 통합된 취약점 발견은 제한적
- 초기 발견으로 수정비용 절감
- 워크스루 :회의전 사전검토
- 인스펙션 : 개발 단계별 산출물을 검토하기 위한 기법
- 코드검사 : 전문가
- 동료 검토 : 2~3명
동적 분석 테스트
- 소스코드 필요없음
- 정확도와 커버리지 향상
- 입력에 대한 출력 변화 확인
블랙박스
- 동등 분할
- 경계 값
- 결정테이블
- 상태전이
- 유스케이스
- 분류트리
-
알파 테스트
새로운 하드웨어와 소프트웨어의 프로토타입이 운영되는 과정에서 상품으로 출시하기 전 개발인력이 성능을 확인하는 테스트
베타 테스트
선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완하는 테스트
보안 테스트 절차
- 계획서 작성
- 범위의 분석과 분할
- 시나리오 작성
- 테스트케이스 작성
- 수행
- 평가
- 결과보고서
공격기법
- Dos : 시스템 자원을 부족하게 함
- DDos : 분산배치하여 동시에 공격
- SYN Flooding : 패킷만 보내 점유하여 다른 사용자가 사용 불가능하게 공격
- Smurfing Attack : 출발지IP를 희생자IP로 위조한 후 ICMP Echo Request를 broadcast 한 후 다수의 ICMP Echo Reply 희생자에게 전달하는공격 기법
- Tear Drop : ip패킷 재조합 과정에서 잘못된 정보(Fragment Offset)로인해 수신시스템이 문제를 발생하도록 만드는 Dos공격
- 보잉/보잉크 : 프로토콜의 오류 제어를 이용한 공격기법
- 랜드어택 : 1회출제 : 수신되는 패킷 중 출발지 주소와 목적지 주소가 동일한 패킷들을 차단(대응방안)
- 스니핑 : 공격대상에게 직접 공격하지 않고 데이터만 몰래 보는 공격
- Ping of Death Attack : 큰 사이즈의 Ping을 전송하여 수신자의 디바이스의 부하를 유발
- APT(Advanced Persistent Threat) : 특정 타켓을 목표로 하여 다양한 수단으 통한 지속적이고 지능적인 맞춤형 공격으로 특수목적의 조직이 하나의 표적에 대해 다양한 IT기술을 이용하여 지속적으로 정보를 수집하고 취약점을 분석하여 피해를 주는 기법
- 랜섬웨어(Ransomware) : 사용자의 사진, 문서 등을 암호화해 열지 못하도록 만들고 복호화의 대가로 금전을 요구하는 악성 프로그램
- 제로데이공격 : 해당 취약점에 대한 패치가 나오지 않는 시점에서 이루어지는 공격
암호알고리즘
대칭키
키가 동일
DES(64bit 암호문 블록), AES, SEED
RC4
-
해시
고정된 길이의 데이터로 매핑
SHA, SHA2, MD5
1회 MD5 출시햇으니 SHA 가능성
-
개인정보보호관련법령
[개망신!]
- 개인정보보호법
- 정보통신망법
- 신용정보법
시큐어코딩
설계 및 구현 단계에서 해킹등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어 개발
방화벽
외부로부터 내부망을 보호하기 위한 네트워크의 구성요소로 외부 불법, 침입으로부터 내부의 정보자산을 보호하기위한 보안 솔류션
화면설계
원칙
[직유학유!]
- 직관성
- 유효성
- 학습성 : 초보와 숙련자 모두 쉽게 배우고 익힐 수 있게 제작
- 유연성
설계지침
- 사용자중심
- 결과예측가능
- 가시성
- 표준화
- 접근성
- 명확성
- 오류 발생 해결
와이어프레임
스토리보드 : 화면 설계를 위해서 정책이나 프로세스 및 콘텐츠의 구성, 기능에 대한 정의 등 구축하는 서비스를 위한 정보가 수록된 문서
프로토타입 : 요구사항을 좀 더 잘 이해하고 결정ㅎ아기 위하여 전체적인 기능을 간략한 형태로 구현한 시제품
ISO9126 제품품질
[FUMP RE!]
- 기능성(6)
- 사용성
- 유지보수성
- 이식성
- 신뢰성
- 효율성
<UI 품질 요구사항>
[기신사효유이!]
- 기능성
- 신뢰성
- 사용성
- 효율성
- 유지보수성
- 이식성
-
웹접근성
[인운이견!]
- 인식의 용이성
- 운용의 용이성
- 이해의 용이성
- 견고성의 지침
UI : 사용자 인터페이스, 사용자와 시스템사이에서 의사소통할 수 있는 매개체
UX : 사용자 경험
유형
- CLI
- GUI
- NUI : 터치, 음성
- OUI : 유기적 상호
기법
- 3C : 고객-자사-경쟁사 비교
- SWOT : 강점, 약점, 기회, 위협 분석
- 사용성 테스트 : 미리 작성된 시나리오 수행
- 시나리오 플래닝 : 다양한 시나리오 설계로 불확실성을 제거하는데 목표
데이터 입출력 구현
-
이상현상
[삽삭갱!]
- 삽입이상
- 삭제이상 : 정보 삭제시 원치 않은 다른 정보가 같이 삭제
- 갱신이상 : 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
-
물리데이터 저장소 설계
제약조건
- Restricted 제한
- Cascade 연쇄
- Nullify 널 값
-
뷰
<속성>
- WITH CHECK OPTION : 조건을 만족하는 행만 변경
- WITH READ ONLY : 데이터 조작어(INSERT, SELECT, DELETE, UPDATE) 작업 불가
파티셔닝
<종류>
[레해리컴!]
- 레인지 : 숫자나 날짜
- 해시 : 해시 함수 값
- 리스트 : 명시적 제어가 가능
- 컴포지트 : 범위분할
<장점>
[성가백합!]
- 성능향상
- 가용성 향상
- 백업기능
- 경합 감소
프로시저
-
연결절차
- 드라이버 로딩
- 데이터베이스 연결
- 쿼리 전달
- 결과 수신
조작(영문대문자로)
- Create or replace procedure
- Is
선언부
- Begin
실행부
- Exeption
예외처리부
- End;
-
-
인터페이스 구현
표준 확인 절차
- 데이터 인터페이스 입/출력 의미 파악
- 데이터 표준확인
- 인터페이스 데이터 항목 식별
- 데이터 표준 최종 확인
검증도구
- xUnit : 다양한 언어를 지원하는 단위테스트 프레임워크
- STAF : 서비스 호출, 컴포넌트 재사용
- FitNesse : 웹 기반 테스트 케이스
- Selenium : 다양한 브라우저 지원
- watir : 루비 기반
오류처리
- 사용자가 화면에서 오류를 인지하도록 구현
- 오류 로그 생성
- 관련 테이블에 오류 사항 기록
인터페이스 설계서
이기종 시스템 및 컴포넌트간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서
인터페이스 명세
인터페이스 목록에 있는 각 인터페이스의 상세 정보를 보여주고, 각 인터페이스 번호 당 인터페이스가 되는 데이터, 데이터 형식, 송수신 시스템의 정보 등을 구체화한 문서
스카우터
대표적인 인터페이스 감시 도구로 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB모니터링기능, 인터페이스 감시 기능 제공
프로그래밍언어활용
객체지향 문법
- 클래스 : 특정 객체를 생성하기 위한 변수와 메소드를 정의하는 틀
- 상속 : 그 객체의 변수와 메소드를 다른 객체가 물려받는 기능
- 접근제어 : private : 내부 클래스, protected : 상속받은 클래스까지, public : 어디서나 가능
- 오버로딩 : 동일 이름의 메소드 여러개 정의
- 오버라이딩 : 하위 클래스에서 상위 클래스 메소드 재정의
- 인터페이스 : 일종의 추상 클래스로 유지보수를 위한 문법
- 추상클래스 ; 자식 클래스에서 해당 추상 메소드를 반드시 구현하도록 강제하는 문법, 중복 코드제거, 그룹화 장점
인터페이스 vs 추상클래스
상속시 클래스 - 상속, 인터페이스 - 구현(Implements)
구현시 클래스 - 반드시 구현, 인터페이스 - 메소드가 있을 때
-
<프로그래밍 추상화>
[기자제!]
- 기능 추상화
- 자료 추상화
- 제어 추상화
연산자
관계
- != : 같지 않다
- <> : 같지 않다
- == 같다
논리
- && : 두개 같으면 1
- || : 두 개 다르면 0
비트
- & : 비트로 연산하여 모두 참이면 1
- | : 비트로 연산하여 하나라도 참이면 1
- ^ : 비트로 연산하여 서로 다르면 1
<클린코드 작성 원칙>
[가단의 중추!]
- 가독성
- 단순성
- 의존성
- 중복성
- 추상화
SW 제품 패키징 도구
-
릴리즈 노트
최종 사용자인 고객과 잘 정리된 릴리즈 정보를 공유하는 문서
상세 서비스를 포함하여 회사가 제공하는 제품을 만들어 수정, 변경 또는 개선하는 일련의 작업들
<작성 프로세스>
- 모듈 식별
- 릴리즈 정보 확인
- 릴리즈 노트 개요 작성
- 영향도 체크
- 정식 릴리즈 노트 작성
- 추가 개선 항목 식별
DRM 디지털 저작권 관리
- 제공자
- 분배자
- 패키저
- 보안 컨테이너
- 컨트롤러
- 클리어링 하우스
-
<패키징 도구 구성>
- PKI : 공개키 기반 구조
- DOI : 디지털 저작물에 특정한 번호 부여
- MPEG-21 : 멀티미디어 관련 요소 기술 표준 규격
- CMS : 콘텐츠 관리 시스템
- SSO : 한 번의 시스템 인증을 통해 여러 정보시스템 재인증 없이 통합 로그인
-
-
소프트웨어 버전관리도구
- RCS : 공유 폴더 방식
- CVS. 클라이언트/서버 방식, 이클립스에 내장
- Git : 분산 저장소 방식
- SVN : CVS 장점 개선
-
문서이력정보
버전, 작성자, 작성일, 검토자, 일시, 검수인 등을 일자별로 기록
SQL 응용
트리거
특정 테이블에 삽입, 삭제, 수정 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현된 프로그램
-
-
<MyBatis 장점>
- 복잡한 JDBC를 단순화
- SQL 거의 그대로 사용
- Spring 기반 프레임워크와 통합
- 우수한 성능
DCL 명령문
- GRANT : 사용권한 부여
- REVOKE : 권한 취소
요구사항 확인
현행 시스템 분석하기
- 구성/기능/인터페이스 파악
- 아키텍처 및 소프트웨어 구성 파악
- 하드웨어 및 네트워크 구성 파악
현행시스템파악
어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술요소를 사용하는지를 파악하는 활동
요구사항 확인하기
요구사항 개발 프로세스
확인
- 동료 검토 : 2~3명 리뷰
- 워크스루 : 회의 전 사전검토
- 인스펙션 : 전문가 검사
-
요구사항 도출 기법
프로토타입 : 사용자가 요구한 주요 기능을 프로토타입으로 구현하여 사용자의 피드백을 통해 개선, 보완하여 완성하는 기법
인터뷰
UML
특징
[가구명문!]
- 가시화 언어
- 구축 언어
- 명세화 언어
- 문서화 언어
4+1 View Model
- Usecase
- Logical
- Process
- Implementation
- Deployment
타당성검토
- 성능 및 용량 산정의 적정성
- 시스템 간 상호운용성
- 트렌드 부합성
- 기술적 위험 분석
분석기법
[분개할 협정!]
- 분류
- 개념모델링
- 할당
- 협상
- 정형분석
비용산정
상향식
[LoC 계산문제]
- LoC
- Man Month
- COCOMO
- Putnam
- FP
-
-
스토리보드
와이어프레임, 기능, 데이터베이스 등 서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물
서버 프로그램 구현
공통모듈
응집도
[우논시절통순기!]
- 우연적
- 논리적
- 시간적 : 특정시간
- 절차적 : 순차적으로 수행
- 통신적 : 동일한 입출력
- 순차적
- 기능적 : 단일 목적
결합도
[내공외제스자!]
- 내용 : 다른 모듈의 변수나 기능
- 공통 : 전역변수
- 외부 : 인터페이스 공유
- 제어
- 스탬프 : 배열, 객체, 구조
- 자료 : 파라미터만
MVC
- Model : 내부 로직 처리
- View : 화면에 보여주기 위함
- Controller : 모델이 어떻게 처리할지
-
-
배치프로그램
-
유형
- 스프링배치 : 대용량처리
- Quartz 스케줄러 : 오픈소스기반
-
개발환경
SW 종류
구현
- Eclipse
- Visual Studio Code
- IntelliJ
-
형상관리
-
[식통감기!]
- 형상식별
- 형상통제
- 형상감사
- 형상기록
-
Server환경
- 웹서버 : 정적 콘텐츠
- WAS : 동적 콘텐츠
- DB서버
- File서버
소프트웨어
- 운영체제 : windows, unix, linux
- 미들웨어 : weblogic, jeus, tomcat
- DBMS : oracle, mysql, ms-sql, postgresql
응용 SW 기초 기술 활용
데이터베이스
데이터마이닝 - 개념은 1회 출제
- 텍스트 마이닝 : 대량의 텍스트 데이터로부터 패턴 또는 관계를 추출하여 의미 있는 정보 찾는 기법
- 웹 마이닝 : 웹으로부터 유용한 정보를 찾기 위해 분석
<주요기법>
- 분류
- 연관
- 연속
- 군집 : 각 개체의 유사성을 측정하여 유사성이 높은 대상 집단을 분류하고 집단의 특성을 도출하는 분석 방법
시맨틱 웹
온톨로지(실세계에 존재하는 모든 개념을 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스)를 활용하여 서비스를 기술하고 의미 상호 운용성을 이용해 서비스 검색, 조합, 중재 기능을 자동화하는 웹
-
빅데이터
Volume, Variety, Velocity
시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트 크기의 비정형 데이터
<명령문>
- GROUP BY : 그룹을 묶어서 합계등을 구함
- ORDER BY : ASC 오름차순, DESC 내림차순
- DISTINCT : 중복된튜플제거 1회출제
- INSERT INTO 테이블명 VALUES( )
- UPDATE 테이블명 SET 속성=데이터 WHERE 조건
- DELETE FROM 테이블명 WHERE 조건
-
집계함수 : GROUP BY, HAVING
그룹함수 : ROLLUP, CUBE
윈도함수(순위) : RANK
윈도함수(행순서) : LEAD, LAG
-
-
-
<DBMS 특징>
- 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대해 서로 다른 데이터가 저장되는 것을 허용 않는 성질
- 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터 변함없이 일정
- 회복성
- 보안성
- 효율성
<종류>
- 파일 시스템
- 계층형 데이터베이스 관리 시스템 : HDBMS
- 망형 데이터베이스 관리시스템 : NDBMS
- 관계형 데이터베이스 관리시스템 : RDBMS
<파일시스템종류>
- ISAM : 자료의 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록
- VSAM : 대형 운영체제에서 사용
저장된 프로시저 (Stored Procedure)
배치 작업, 복잡한트랜잭션을 수행하는 PL/SQL문을DB에 저장하는 기능을 제공하는 프로그램이다
<파티션 장점>
- 성능향상
- 가용성향상
- 백업 가능
- 경합 감소
-
COMMIT
하나의 트랜잭션이 성공적으로 끝나고, 데이터베이스 일관성이 있는 상태에 있을 때 하나의 트랜잭션이 끝났을 때 사용하는 명령어
-
-
네트워크
<OSI 7계층>
[물데네전세표응!]
계층 - 단위 - 프로토콜 - 장비
- 물리 - 비트 - RS-232C
- 데이터 - 프레임 - 이더넷,MAC,LLC,PPP - 스위치
- 네트워크 - 패킷 - IP, ICMP - 라우터
- 전송 - 세그먼트 - TCP, UDP
- 세션 - 데이터 - SSH, TLS
- 표현 - 데이터 - JPEG, MPEG
- 응용 - 데이터 - HTTP, FTP
<TCP/IP 계층>
- 네트워크 인터페이스(1~2)
- 인터넷
- 전송
- 응용
-
-
<TCP/IP Protocol>
- 네트워크 인터페이스(1~2)
- 인터넷 - ICMP, ARP
- 전송계층 - TCP, UDP
- 애플리케이션 계층(5~7) - FTP, DHCP, HTTP, SMTP, DNS
<거리>
- LAN : 근거리, 한 건물, 작은 지역
- WAN : 광대역, 라우팅 알고리즘
<프로토콜>
서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신규약
- TCP : 신뢰성 있는 전송, ftp, telnet, http smtp, pop
- UDP : 신뢰성 x , snmp, dns, nfs
IPv6
인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로 차세대 인터넷 프로토콜 128bit, 16비트 8부분
IPv4
패킷 교환 네트워크상에서 데이터를 교환하기 위한 32bit 주소체계를 갖는 네트워크 계층의 프로토콜, 8비트 4부분
-
<네트워크주요장비>
- 리피터(1) : 디지털 신호 증폭
- 허브(1) : 여러 대의 컴퓨터 연결해 하나로
- 스위치(2) : 두 시스템 연결, 포트가 많아
- 라우터(3) : 망 연동 장비, 경로 설정
- 게이트웨이(3) : 서로 다른 통신망에 접속할 수 있게
- 망(백본)(3) : 광역 네트워크 커버
-
-
SW기본
<객체지향 기본5원칙>
- 캡슐화 : 클래스는 속성, 메소드 구성, 속성은 특정 메소드 통해 접근 가능
- 추상화
- 다형성 : 추상화 클래스의 속성, 기능을 상속받아 재정의하거나 동명 메소드 선언 가능 특성
- 정보은닉
- 상속성
<객체지향 설계 원칙>
- 단일책임 원칙 : 하나의 객체는 하나의 책임만 부여
- 개방폐쇄 원칙 : 변화는 확장 가능, 변경은 어려운 구조
- 리스코프 치환원칙 : 자식 타입은 부모 타입이 사용되는 곳에 대체 가능
- 인터페이스분리 원칙 : 자주 사용하는 메소드는 분리 구현
- 의존관계 역전 원칙 : 참조 대상은 추상 클래스여야함
-
-
<프레임워크 특징>
[모재확역!]
- 모듈화
- 재사용성
3.확장성
- 제어의 역흐름
<컴퓨터 연산처리 과정>
[인해실기!]
- 인출
- 해석
- 실행
- 기록
통합구현
연계 메커니즘 구성
연계방식
직접
- DB Link : 수신 시스템에서 DB 링크를 생성하고 송신 시스템에서 해당 DB 링크를 직접 참조
- WAS
- JDBC
- 화면(하이퍼)링크
- API
간접
<구축유형>
- Point to Point : 중간에 미들웨어 없음
- Hub & Spoke
- BUS
<구성요소>
- 메시지 변환 및 가공
- 통합개발 환경
- BPM
<웹 서비스 방식>
- SOAP : http, https, smtp 등을 사용하여 xml 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜
- WSDL : 웹 서비스명, 제공위치, 프로토콜 정보 등 웹 서비스에 대한 상세 정보를 기술한 파일
- UDDI
- Socket : 서버는 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하고 통신하는 방식
연계 데이터 구성
연계모듈
- 송신시스템 : 수신받은 데이터를 정제하고, 데이터베이스의 테이블에 적합하도록 변환하여 반영하는 수신모듈과 연계데이터 수신현황 및 오류처리, 데이터 반영을 모니터링하는 기능으로 구성
- 중계시스템
- 수신시스템
-
연계 데이터 식별 및 표준화
- 연계 범위 및 항목 정의
- 연계 코드 매핑 및 정의
- 변경된 데이터 구분 방식 정의
- 데이터 연계 방식 정의
인터페이스명세서
- 인터페이스ID
- 송수신구분
- 시스템명
- 서비스명
- 데이터정보 등등
용어정리
- IPS(침입차단시스템) : 네트워크에 대한 공격이나 침입을 실시간적으로 차단하고 유해 트래픽에 대한 조치를 능동적으로 처리
- 라우터 : OSI 3계층에서 사용되는 장비, 스위치를 서로 연결하여 최적화된 경로를 설정
- 인터페이스 : 관련 없는 것들이 서로 연결되기 위한 디바이스나 시스템
- 시스템 아키텍처 : 시스템 목적을 달성하기 위해서 각 컴포넌트가 무엇이며 어떻게 상호작용하는지 정보가 어떻게 교환되는지 설명하는 구조
- 프레임워크 : 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 클래스들을 제공하는 틀
- 프로토콜 : 서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기위한 일련의 통신규칙
- 배치작업 : 실시작 작업의 반대로 일련의 작업을 하나의 직업 단위로 묶어서 일괄로 처리하는 작업
- 게이트웨이 : 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 해줌
- 고가용성 : 시스템 장애에 대응하여 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질
- 트랜잭션 : 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
- 상호운용성 : 다른 목적을 지닌 2개 이상 시스템들이 상호 간 정보 및 서비스를 교환하면서 효과적으로 운영할 수 있는 능력
- 트리거 : 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생시 DBMS에서 자동적으로 실행되도록 구현한 프로그램
- Json : 비동기 브라우저 / 서버 통신(ajax)을 위해 “속성-값 쌍”으로 이루어진 데이터를 전달하기 위해 텍스트를 사용한 표준 포맷
- AJAX : 자바스크립트를 이용해 비동기 통신기술로, 클라이언트와 서버 간에 XML 데이터를 주고 받는 기술
- REST : http url를 통해 자원을 명시하고 post, get, put, delete를 통해 해당 자원에 대한 명령을 적용
- 어노테이션 : 코드에 주석을 달아 특별한 의미를 부여한 메타데이터 표시 사용
- 배치프로그램 : 사용자와 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리
- SSL : 응용계층과 TCP/IP 계층 사이에서 웹 데이터 암호화 및 전송 시 기밀성 보장하는 공개키 기반의 보안 프로토콜
- 솔트 : 단방향 해시함수에서 다이제스트를 생성할 때 추가되는 바이트 단위의 임의의 문자열
- 클러스터 : 클러스터 : 대상이 되는 범위의 요소를 몇 개 모은 단위체, UNION DISTINCT, ORDERBY, GROUP BY가 빈번한 컬럼이면 대상
- APM : 안정적인 시스템 운영을 위해 부하량, 접속자 파악 및 장애진단 등을 목적으로 하는 성능 모니터링 도구
- REST : 웹과 같은 분산 하이퍼 미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메소드로 주고받는 웹 아키텍처
- 직렬화(Serialization) : 데이터 구조나 오브젝트 상태를 다른 컴퓨터 환경으로 저장하고 재구성할 수 있는 포맷으로 변환하는 과정
- IPSec : IP계층에서 무결성과 인증을 보장하는 인증헤더와 기밀성을 보장하는 암호화를 이용한 보안 프로토콜
- 테스트 슈트 : 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합
- 클린코드 : 잘 작성되어 가독성이 높고, 단순하며, 의존성을 줄이고, 중복을 최소화하여 깔끔하게 잘 정리된코드
- 클래스 : 객체지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 일종의 틀
- 메서드 : 프로그램의 구성요소인 클래스의 기능
- 빌드 : 소스 코드 파일을 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정
- 릴리즈노트 : 조직의 최종 사용자인 고객과 잘 정리된 릴리즈 정보를 공유하는 문서
- 보안 컨테이너 : 저작권 관리에서 원본을 안전하게 유통하기 위한 전자적 보안 장치
- 클리어링하우스 : 저작권 관리에서 키 관리 및 라이선스 발급 관리를 수행
- 스레드 : 프로세스의 실행부분을 담당하는 실행의 기본단위
- 프로세스 : 운영체제가 관리하는 실행단위로 프로세서에 의해 처리되는 프로그램
- 인터페이스 : 관련 없는 것들이 서로 연결되기 위한 디바이스나 시스템
- 프레임워크 : 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 클래스를 제공하는 틀
- 프로토콜 : 서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신 규약
- 트랜잭션 : 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
- TPS : Transaction Per Second : 초당 처리 건수, 초당 몇 개의 트랜잭션을 처리할 수 있는지 나타내는 서비스 성능 지표
- 백본망 : 다양한 네트워크를 상호 연결하는 컴퓨터 네트워크의 일부로 다른 LAN이나 부분망 간에 정보를 교환하기 위한 경로를 제공하는 망
- 스위치 : 2계층 장비, mac주소 기반으로 빠르게 전달
- ODBC : Open Database Connectivity : 데이터베이스를 액세스하기 위한 표준 개방형 응용 프로그램 인터페이스
- 상호운용성 : 이기종 시스템 간 정보 및 서비스를 교환하면서 효과적으로 운용될 수 있는 시스템의 능력
- FK : 외래키, 어느 한 릴레이션 속성의 집합이 다른 릴레이션의 기본키
- 릴레이션 : 행과 열로 구성된 테이블
- DML : Data Manipulation Language, 데이터베이스에 저장된 자료들을 입력,수정,삭제,조회하는 언어
- 튜플 : 관계형 데이터베이스에서 행을 의미
- 애트리뷰트 : 관계형 데이터베이스에서 열을 의미
- 컴포넌트 : 특정한 기능을 수행하기 위해 독립적으로 개발되어 보급되는 잘 정의된 인터페이스를 가지며 다른 부품과 조립되어 응용시스템을 구축하기 위해 사용되는 소프트웨어 프로그램
- 파라미터 : 매개변수를 뜻하는 말로 메서드 수행에 필요한 입력값을 저장하는 변수
- 인스턴스 : 객제지향 프로그래밍에서 해당 클래스의 구조로 컴퓨터 저장 공간에서 할당된 실체
- 이행함수 종속 : 3차 정규화중 A->B 이고 B->C이면 A->C인 관계
- 직렬화 : 데이터 구조나 오브젝트 상태를 다른 컴퓨터 환경으로 저장하고 재구성할 수 잇는 포맷으로 변환하는 과정
- API : 애플리케이션을 만들기 위한 하위 함수, 프로토콜, 도구들의 집합으로 명확하게 정의된 다양한 컴포넌트 간의 통신 방법
- 세션 : 클라이언트와 서버의 논리적인 연결
- 컴포넌트 : 특정한 기능을 수행하기 위해 독립적으로 개발되어 보급되는 잘 정의된 인터페이스를 가지며 다른 부품과 조립되어 응용시스템을 구축하기 위해 사용되는 소프트웨어 프로그램
- PK(기본키) : 유일성, 최소성, 대표성을 가지며 NULL을 허용하지 않는 키
- RAID : 여러개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술
- 문맥교환 : CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록(PCB)에 저장하고 다음 프로세스의 PCB로부터 문맥을 복원하는 작업
- 쉘 : 운영체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램
- VPN : 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망
- 포렌식 : 범죄 사실의 전자적 증거물에 대해서 수집, 분석, 보고서를 작성하는 일련의 과정
- 브룩스 법칙 : 개발 일정이 지연된다고 해서 새로운 개발 인력을 진행 중인 프로젝트에 투입할 경우 작업 적응 기간과 부작용으로 인해 일정이 더욱 지연된다는 법칙
- 에이징 : 프로세스가 자원을 기다리고 있는 시간에 비례하여 우선순위를 부여함으로써 무기한 대기하는 문제를 방지하는 기법
v1.0 이력(20.07.16)
- 수제비 개념서 반영
- 이기적 개념서 반영
- 이기적 기출문제 1~16회 반영
- 2020 정보처리기사 1회 실기 반영
v1.1 이력(20.07.18)
- 오타수정
- 이기적 기출 17 ~ 20회
- 수제비 카페 daily 기출(~ 07.18)
- 용어정리 추가
v1.2 이력(20.07.19)
- 수제비 실기 족보( 1 ~8 탄)
- 페코페코 예상문제(https://cafe.naver.com/soojebi/11630) ( 진행중)