정보처리기사 실기 - 중요 요약 전체

kimki·2022년 5월 6일
0
    1. 데이터 입출력 구현 (1) ★

      데이터모델설계- 요구 개념(개체관계ERD) 논리(정규화) 물리(반정규화)-적 / 연산 구조 제약조건

      논리 데이터 모델링 종류 (관계네) - 관계(RDBMS) 계층(트리) 네트워크(그래프)
      - 관계 데이터 모델 - 개체/속성/관계
      (셀렉트-시그마 / 프로젝트-파이 / 조인-▷◁ / 디비전- 나누기 )

    • 데이터베이스 이상현상( 데이터 중복성으로 인해 릴레이션 조작시 발생 비합리적현상)→BCNF

      데이터베이스 - 다수 인원/시스템/프로그램 사용 목적으로 통합 관리 데이터 집합
      (통합, 저장, 운영, 공용)-데이터 / 실시간접근성, 계속적 변화, 동시공용, 내용참조

      (키값:Redis 컬럼기반:HBase 문서저장:MongoDB 그래프: Neo4j) DBMS or Store
      무결 일관 회복 보안 효율
      빅데이터 - 양, 다양성, 속도

    1. 프로그래밍 언어 활용 (5) ★★★

      아스키코드 ( 48 65 97 → 0 A a ) /
      C int a[3][2] = {1,2,3,4,5,6}; int p=a[1]; → p = a[1][0]
      문자열 char a[7]=”Hello”; [H, e, l, l, o,Null , ]
      camelCase PascalCase snake_case / 증!~산시 관비 논삼대
      & (AND) | (OR) ^ (XOR) ~ (NOT) / 소멸 : .finalize(); del 클래스변수

    1. SQL 응용 (3) ★★★

      트랜잭션 - 하나의 논리적 기능을 수행하기 위한 기본단위 TCL(Commit Rollback Checkpoint)
      A(원자성: 정상실행or모두취소: Commit Rollback )
      C(일관성: 시스템 고정요소는 트랜잭션 전후 같음: 무결/동시성 )
      I (고립성: 동시실행 트랜잭션 서로 영향 x: Read [Un-]Commited , RepeatableRead Serializable)
      D(영속성: 성공 완료 결과가 영속적으로 DB저장: 회복기법 )

      DDL - 도메인, 스키마(개념, 내, 외부), 테이블, 뷰, 인덱스 [ Create Alter Drop Truncate ]
      DML - [ CRUD ] , Join 복수 테이블 연결 데이터 검색 ( [Inner], Outer, Cross, Self )
      집합 ( UNION / UNION ALL / INTERSECT / MINUS
      DCL - 데이터 제어어 [ Grant , Revoke ] 권한 ON 테이블 TO/FROM 사용자

      데이터베이스 파일구조 ( 순차 , 인덱스 , 해싱 )
      Index - 순서 해시 비트맵(각 컬럼 적은 수의 값이 저장된 경우), 함수기반, 단일 ,결합, 클러스터드

    1. 서버 프로그램 구현 ★★

      개발 도구 - (빌드 구현 테스트 형상관리) 서버 - ( 웹 웹앱 DB 파일 )
      모듈화 기법 - 루틴(기능가진 명령모임) 메인루틴(전체 동작절차를 표시) 서브루틴(메인이 호출)

      응집도 (독립성) - 우연 논리 시간 절차 통신 순차 기능 “우논시절 통순기”
      결합도 (의존성) - 내용 공통 외부 제어 스탬프 자료 “내공 외제 스자”

      공통 모듈 구현 - DTO/VO → SQL → DAO → Service → Controller → 화면 , MVC
      Fan-In ( 제어하는 모듈 수 ) Fan-Out ( 제어되는 모듈 수 ) : 모듈 계층적 분석

  • 9. SW개발 보안 구축 (2) ★★ 개발 보안 3대 요소 - “기무가”
    • 기밀성 - 인가x 개인/시스템에 정보 공개, 노출 차단

    • 무결성 - 정당 방법x → 데이터변경x, 데이터 정확 완전성 보장

    • 가용성 - 권한O 사용자/앱이 원하는 서비스 지속 제공 보장

      개발 보안 용어

    • 자산(데이터나 가치 부여한 H/W)

    • 위협(해킹 등 행위)

    • 취약점(위협의 사전조건 약점, 평문전송 미검증 비번공유)

    • 위험(위협이 취약점을 이용, 자산 피해 가져올 가능성)

      DoS 공격

      SYN플러딩, UDP플러딩, 스머핑(출발지를 공격대상의 IP로 설정,직접브로드캐스팅)
      죽음의 핑(ICMP ping을 아주크게, 재조합 부하) , 랜드 어택(출발지-목적지 같은IP 패킷주소)
      티어드롭(IP헤더 조작) 봉크(프로토콜 오류 제어 이용한 공격)

      DDoS
      DRDoS(다수의 반사 서버로)
      세션 하이재킹
      애플리케이션 공격 ( HTTP GET 플러딩)

      네트워크 공격

    • 스니핑(직접 공격x 몰래 데이터 봄), 네트워크 스캐너(취약점 탐색 도구)

    • 패스워드 크래킹

    • IP 스푸핑 ( 인증된 것처럼 ) , ARP 스푸핑 ( MAC을 위조 후 ARP Reply )

    • ICMP Redirect 공격 ( 스니핑 시스템을 3계층 또다른 라우터라고 알림 )

    • 트로이 목마

      시스템 보안 위협

    • 스택/힙 버퍼 오버플로우 공격

    • 백도어 ( 정상 인증 우회 )

    • 포맷 스트링 , 레이스 컨디션 , 키로거 , 루트킷

      보안 관련 용어

      스피어피싱, 스미싱(문자피싱) , 큐싱(QR), 봇넷, APT공격 (다양한 수단 지속 지능적)
      공급망 공격, 제로데이 (보안 취약점), 웜(스스로 복제), 랜섬웨어

      서버 접근 통제 - “주객접”

    • 주체(Subject) , 객체(Object) , 접근(Access)

    • 식별(Identification), 인증(Authentication), 인가(Authorization), 책임추적성(Accountability)

    • 임의적(DAC) - 주체나 그룹 신분 근거, 신분기반

    • 강제적(MAC) - 객체 포함 정보의 허용 등급 근거 , 규칙기반

    • 역할기반(RBAC) - 중앙 관리자가 상호관계 통제, 할당 역할 기반

      3A - 인증 인가 계정(Accounting)

      암호화 알고리즘

      양방향 - 대칭(스트림, 블록) 비대칭 (암복호화)
      일방향 - 해시

    • 대칭키
      블록: DES → AES, SEED
      ARIA(국정원 산학연구)
      IDEA(DES대체 스위스)
      LFSR(선형 피드백 시프트 레지스터)

      스트림: RC4 (매우 긴 주기 난수열)
    • 비대칭키
      디피-헬만 (최초 공개키)
      RSA (소인수분해어려움, 제일 많이씀)
      ECC ( RSA대안, 타원 곡선 안호)

    • 해시
      MD5(파일 무결성)
      SHA-1 ( 미 정부 표준 )
      SHA-256 ( AES 키에 대응 )
      HAS-160 (국내표준서명)

      데이터 암호화
      IPSec(전송-패킷의 페이로드만 ,터널- 패킷 전체를 ) -모드
      SSL/TLS ( 4-7계층 사이 무결성 보장 )
      S-HTTP ( 웹상 서버-클라 모든 메세지 각각 암호화 전송 )

      시큐어 코딩 가이드
      취약점 - XSS, CSRF, SQL Injection

      비즈니스 연속성 계획(BCP) - 재해 장애등에 비즈니스 연속성 보장
      RTO(다시 가동될때까지 시간), RPO( 데이터 복구 목표 지점 )
      DRS ( Disaster Recovery System / Plan ) - Mirror, Hot , Warm(중요한것만), Cold(데이터만)

    1. 애플리케이션 테스트 케이스 설계 (2) ★★

      SW테스트 - SW가 요구기능/성능/사용성 만족하는지, 결함 없는지
      관점:(오류발견/예방,품질향상)
      테스트(-계획서, 베이시스,케이스>슈트>시나리오,스크립트,결과서)
      정적 - 리뷰{동료검토,인스펙션}, 코드정적분석 / 동적 - 화이트/블랙 박스 테스트

      화이트박스 - 구결조조변다기(-커버리지) 제데(-흐름테스트) : 개발자 (구조기반)
      구문(모든 명령문) / 결정(전체 조건식TF) / 조건(개별 조건식TF) / 조건결정
      변경 조건결정 (개별이 전체 독립적영향) / 다중조건(모든개별가능조합)
      기본경로(모든경로) // 제어( 제어구조를 그래프) / 데이터 ( 제어에 데이터추가 )

      블랙박스 - 동경결상 유분페원비 : PO (명세테스트)
      동등분할(유사도메인별 유/무효 대표값) / 경곗값분석 ( 최대/소치 입력값 )
      결정테이블 ( 요구사항 테이블 조건행위조합 ) / 상태전이 ( 상태 경우의수 )
      유스케이스 ( 실제사용 모델링,프로세스 흐름대로 ) / 분류트리 ( 트리구조 )
      페어와이즈 ( 테스트값 조합 ) / 원인결과 그래프 ( 그래프, 입력데이터간 관계 )
      비교 ( 여러 버전 프로그램 같은 입력값 )

      검증(Verification): 개발과정테스트, 규격 요구 / 확인(Validation): SW결과,만들어진제품
      테스트 목적 :회안성 구회병 -테스트
      회복 -고의실패 , 안전 -불법보안결함, 성능 -응답시간반응속도{부하 강도 스파이크 내구성}
      구조 -코드 복잡도, 회귀 -오류수정후 새 오류, 병행 -기존/변경시스템에 동일 데이터 입력

      테스트오라클 - 테스트 결과 T/F 판단 위해 사전 정의된 True 입력해 비교(참샘휴일)-오라클
      참: 모든입력값 / 샘플링:특정 몇 개 /→휴리스틱: 특정T,나머지추정 / 일관성검사:변경전후동일

      테스트레벨 - (단통시인) 단위-모듈 등 , 통합-상/하향식 , 시스템-비/기능 , 인수-계약상 요구사항


      단위 - 컴포넌트 , 모듈단독실행 테스트베드 필요, 의존x 항상동일결과
      Mock객체 - 더미 (기능없는객체), 스텁 (더미+특정 값 리턴) , 드라이버 (대상하위호출Param)
      스파이 (협력클래스 출력검증) , 페이크 (실제협력클래스 단순구현해둠)
      통합 - 점증(상/하향식/샌드위치 통합) / 비점증(빅뱅)
      하향식: 스텁→실제모듈 / 깊이,너비우선 상향식: 드라이버→실제모듈
      테스트하네스: 테스트 지원을 위한 코드+데이터.

      테스트커버리지(=코드) - 테스트 범위, 품질측정기준. (기능기반 / 라인 / “코드” )-커버리지
      앱 성능 측정지표 : (처리량 / 응답시간 / 경과시간 / 자원 사용률 )
      앱 성능 분석도구 : (성능 테스트 / 시스템 모니터링 ) 도구
      클린코드 : ( 가독성 / 단순성 / 의존성 / 중복성 / 추상화 )

    1. 응용SW 기초기술활용 (3) ★★★

      메모리 관리 MMU
      기법 - 반입(요구 예상) , 배치(최 초적악) , 할당 ( 연속 분산), 교체 (FIFO LRU)

      프로세스 관리 ( 상태= 생성 준비 실행 대기 완료 ) 디타블웨
      디스패치(Context Switching) , 타이머 런 아웃, 블록 , 웨이크업
      (야꺼져) 선점-라운드로빈(시간할당) , SRT, 다단계큐, 다단계 피드백 큐
      (줄서셈) 비선점 - FIFO, SJF(기아발생), HRN (대기+서비스)/서비스 시간

      클라우드컴퓨팅 - 사설,공용,하이브리드 / IaaS인프라 PaaS플랫폼 SaaS소프트웨어
      (컴퓨팅 스토리지)가상화 - 물리적 리소스들을 하나로 보이게 ↔ 하나의 물리적 리소스를 여러개

      네트워크 - LAN WAN
      아파서(Data)티(Segment)냈(Packet)다(Frame)피(bit) - HTTP JPEG RPC TCP IP PPP RS-232C
      허브/리피터 → 브릿지NIC→라우터/게이트웨이/공유기/백본 → L4

      프로토콜 - 구의타) 구문 의미 타이밍
      단편화↔재조립,캡슐화,연결/오류제어,주소지정
      2데이터링크-회선/흐름/오류 제어 ( HDLC, PPP, 프레임 릴레이 , ATM비동기식 )
      3네트워크-QoS 라우팅 ( IP, ARP(ip를MAC), RARP(MAC은 알고 ip몰라), ICMP (ping),
      , IGMP(멀티캐스트), 라우팅 프로토콜(RIP 벨만포드 거리벡터 , OSPF 다익스트라 링크상태)
      IPv4(128 192~224,240) IPv6(IP주소확장,이동성,개선QoS,단순헤더)
      4전송-TCP(흐름/혼잡 제어) , UDP (비신뢰, 순서없는 데이터그램)
      5세션-RPC,NetBIOS
      6표현-압축 암복호화 JPEG MPEG
      7응용-HTTP FTP SMTP POP3 Telnet SSH

      패킷 - X.25 프레임릴레이 ATM / 회선효율.비동기.다중전달 : 메세지
      서킷 - 네트워크 리소스 독점 / 전송 절차 형식제약없음 : 영상
      교환방식 - 데이터그램 , 가상회선

profile
개발 자라는 사람.

0개의 댓글