본문 바로가기
IT 기사한입

정보처리기사 실기 정리

by 정구지개발자 2024. 7. 18.
728x90

항상 주의점)

1. sql문 적을 떄 뒤에 ; 이거 붙이기!!

2. 파이썬문에서 ,는 뛰어쓰기인거 인지하기 !!-> 파이썬은 print()쓸때마다 자동개행

3. 결과값이 띄어쓰기인지 어떤형식인지 인지하고 꼼꼼히 볼것!

4. java 문제 풀떄 메서드()  이 괄호 안에 값이 들어갔는지 없는지 확인해 볼것 이걸로 답이 달라짐 호출되는 메서드가 달라서 

5. super 메서드가 없을경우 부모가 가지고 있는 디폴트 생성자 부터 간다 ! 

6. java print 할떄 1+2+3+"문자" + 5 + 6 이렇게 문자뒤에 있는것들은 모두 문자화 한다 따라서 -> 6문자56 이런식으로 답이 나온다 

 

테스트 커버리지 중에서 코드 커버리지 유형 약술  구문 커버리지 :  모든 명령문을 적어도 한번은 수행
결정 커버리지 : 전체 결정문이 적어도 한번은 True or False 의 결과                            수행
조건 커버리지 : 결정 명령문 내의 각 조건에서 적어도 한번은 True or                          False  의 결과가 수행
조건/결정 커버리지 : 전체 조건식 뿐만 아니라 개별 조건식도 True or                          False 한번씩 결과가 되도록 수행
 
변경 조건/결정 커버리지 : 각 개별 조건식이 다른 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록함으로써 조건/결정 커버리지를 향상시킨 커버리지

다중 조건 커버리지 : 결정 조건 내 모든 개발 조건식의 모든 가능한 조합을  100% 보장하는 커버리지
   
백업의 유형 1. 전체 백업
2. 차등 백업
3. 증분 백업
차등백업이란? 마지막 전체 백업 이후 변경된 모든 데이터 백업
증분 백업이란? 정해진 시점 기준으로 그 이후의 변경된 데이터 백업
   
테스트 커버리지란? 테스트의 수행 정도를 나타내는 값
(테스트 커버리지는 라기코!)
1. 라인 커버리지 : 소스 코드 라인 수를 모수로 측정
2. 기능 기반 커버리지 : 전체 기능을 모수로 측정
3. 코드 커버리지: 코드 자체가 얼마나 테스트됐는가를 측정
   
UML 다이어그램 1. 구조적 다이어그램(정적)
2. 행위적 다이어그램(동적)
구조적 다이어그램 종류? TIP)(객)지에서  서든(컴)퓨터(배) (클)랜전을 (패)배해 (복)수 할려는 구조
1. 객체 다이어그램: 객체간의 관계 표현
2. 컴포넌트 다이어그램: 컴포넌트 간 관계 표현
3. 배치 다이어그램: 물리적 요소의 위치 표현
4. 클래스 다이어그램: 클래스 간의 관계 표현
5. 패키지 다이어그램: 패키지간 표현(폴더처럼보임)
6. 복합체 구조 다이어그램: 복합 구조인 경우 내부 표현
행위적 다이어그램 종류? TIP)(시)(유) (커)피가  (활)활  (타)고있는 (상)황인 행위예술작품

1. 시퀀스 다이어그램 : "시간적 개념" 중심으로 메시지 표현
2. 유스케이스 다이어그램: 사용자 관점에서 표현
3. 커뮤니케이션 다이어그램: 객체들이 주고 받는 메세지와 상호작용까지 표현
4. 활동 다이어그램: 시스템이 수행하는 활동을 표현
5. 타이밍 다이어그램: 객체의 상태변화와 시간 제약을 표현
6. 상태 다이어그램: 객체의 상태와 상태 변화를 표현
   
메모리 관리 기법? (tip: 교(만)반한 할배
1. 교체 기법
2. 반입 기법
3. 할당 기법
4. 배치 기법
   
테스트 레벨이라고 개발 단계에 따라 테스틀 분류한 것  tip) (단)(통)법 (시)(인)발
1. 단위 테스트: 설계 최소 단위인 모듈,컴포넌트,서브,루틴 등을 테스트
2. 통합 테스트: 단위 테스트를 통과한 모듈간 인터페이스, 컴포넌트 상호작용 등을 테스트
3. 시스템 테스트: 통합된 단위 시스템 검증
4. 인수 테스트: 계약상 요구사항을 만족하는지 테스트
   
디자인패턴 - 생성 패턴 tip)(프)로토스 (빌)드중에 (팩)토리 비슷한곳에 (싱)싱한 상(추) 생성하는 빌드가 있다. 
1. 프로토타입: 원형 객체를 복사해서 생성
    (prototype)
2. 빌더: 객체를 조립하여 생성,생성방법과 구현방법을 구분, 동일한 객체 생성이어도 다른 결과가 나올수 있다. (builder)
3. 팩토리 메서드: 상위클래스에서 인터페이스 정의,서브클래스가 실제 생성 (factory mathod)
4. 싱글톤: 클래스 내 객체가 하나 뿐임을 보장, 동시 참조 불가
    (singletone)
5. 추상 팩토리: 구체적인 클래스에 의존하지 않고, 연관된 객체들의  그룹으로 생성 (객체간의 결합이 느슨한 상태)
    (abstract factory) 
디자인패턴 - 구조 패턴 tip) (어)(데)!  (컴)퓨터 (플)러스해서 겜하는데 (프)로(브) (퍼)트리는 야비한 거 쓰는데!
1. 어뎁터: 호환성 없는 클래스의 인터페이스를 이용할 수 있게 변환
   (adapter)
2. 데코레이터: 객체 결합을 통해 기능 확장
   (decorater)
3. 컴포지트: 객체 관계를 파일 트리 구조로 구성하여, 복합객체와 단일 객체를 동일 취급
    (composite)
4. 플라이웨이트: 객체가 필요할 때 생성하는 대신 공유하여 메모리 절약 (flyweight)
5. 프록시
   (proxy)
6. 브리지: 구현부에서 추상층을 분리하여 결합도를 낮춘 패턴
   (Bridge) 
7. 퍼싸드: 복잡한 시스템에 단순한 인터페이스를 제공해 접근성을 높인 패턴 
   (Facade)
디자인패턴 - 행위 패턴 tip)(스스메)가 (미인템)이라 (커)피(비)를 (이체)해주는  행위를 하는 (옵)바가 있다 
1. 스테이트: 객체의 상태를 캡슐화하여 이를 참조하여 동작을 다르게 처리 (State)
2. 스트레이트지: 동일한 계열의 알고리즘을 캡슐화하여 전략을 선택해 사용 하는 패턴
    (Strategy)
3. 메멘토: 특정 시점의 객체 내부 상태를 객체화하여, 해당 시점으로 되돌리는 기능을 재공 (Memento)
4. 미디에이터: 객체 사이에 중재자를 두어 의존성을 줄이는 패턴
    (Mediator)
5. 인터프리터: 여러 언어 구문을 해석할수 있게 해주는 패턴
    (Interpreter)
6. 템플릿 메소드: 상위 클래스에서 기능을 정의하고, 하위 클래스에서 세부 처리 방법을 구체화하는 패턴 (Template Method)
  -> 팩토리 메서드랑 비슷한데 다르다!!!주의!
7. 커멘드: 요청을 객체로 캡슐화하여 각 요청이 들어올떄마다 맞는 서브 클래스를 실행하는 패턴
   (Command)
8. 비지터: 처리 기능을 별도로 분리한 패턴, 호스트객체에 연산을 추가
   (Visitor)
9. 이터레이터: 접근이 잦은 객체에 동일한 인터페이스를 사용하도록 하는 패턴 (Iterator)
10. 체인오브리스폰시빌리티: 한 객체가 요청을 처리하지 못하면, 연결된 객체로 넘어가 처리 (Chain of Responsibility)
11. 옵저버: 객체를 지켜보고 있다가, 객체의 상태가 변화면 그 객체에 의존하는 다른 객체들에게 변화된 상태를 전달하는 패턴
     (Observer) 
   
데이터 모델의 구성요소  tip) 연구제
1.연산
2.구조
3.제약조건
   
REST 의 구성요소 tip)리메메
1.리소스
2.메시지
3.메서드
   
인터페이스 감시 도구  1. 스카우터 : 애플리케이션 및 DB 모니터링 가능한 감시 도구
2. 제니퍼: 전 생애주기 동안 모니터링 가능한 감시 도구
   
인터페이스 구현 검증 도구 tip) x S F  N S W
1. 
2.
3.
4.
5.
6.
   
< 보안용어 >  
1. 스니핑 도구(패킷 내용을 출력하는 프로그램) Tcpdump
2. 악성프로그램에 감염된 컴퓨터들이 네트워크로 연결된 형태 봇넷
3. 정상적인 인증절차를 우회하는 방법 백도어
4. SMS +피싱,문자메시지를 통해 개인정보를 탈취하거나 소액결제를 유도하는 공격 스미싱
5. QR코드+피싱, QR을 이용한 피싱 공격 큐싱
6. 보안 취약점이 공표되기전 신속하게 공격 제로데이 공격
7. 자기 스스로 복제하여 전파하는 악성 프로그램
8. Mac주소를 위장하여 패킷을 스니핑하는 공격 ARP 스푸핑
9. 키보드 움직임을 탐지해 주요정보를 빼가는 공격 키로거 공격
10. 포멧 스트링을 인자로 하는 함수의 취약점을 이용한 공격 포멧 스트링 공격
11. 프로세스가 임시 파일을 만들 떄, 실행 중에 끼어들어 임시파일을 심볼릭 링크하는 공격  레이스 컨디션 공격
12. 불법 해킹에 사용되는 기능을 제공하는 프로그램 모음  루트킷
13. 특성 대상 선정 후, 일반적인 메일로 위장한 메일을 발송해 개인정보를 탈취하는 공격  스피어피싱
14 IP를 위조하여 인증된 시스템인 것처럼 하여 목표 시스템의 정보를 빼내는 공격 IP 스푸핑
15. 해커의 명령에 의해 원격으로 제어되는 프로그램  악성 봇
16. 암호화후 복호화를 위해 돈을 요구하는 악성 소프트웨어 랜섬웨어
17.  합법적인 wifi제공자처럼 행세하며 연결된 사용자의 정보를 뺴내는 공격 이블 트윈 공격
18. sw개발사의 코드를 수정하거나 배포 서버에 접근해 파일을 변경하는 공격 공급망 공격
19. 특정 대상을 목표로한 지능적/지속적인 공격 APT 공격
20. ICMP Redirect 메시지를 공격자가 원하는 형태로 위조해서 패킷을 스니핑하는 공격 ICMP Redirect 공격
21. 전력소비와 같은 물리적 특성을 측정해 비밀 정보를 알아내는 공격 부 채널 어택 (side channel attatck)
22. 인텔 아키텍처의 버그를 이용해 시스템 메모리에 접근하는 취약점 맬트다운(Meltdown)
23. 악성 스크랩트를 웹서버에 설치 후, 사용자를 멀웨어 서버로 연결해 감염시키는 공격 드라이브 바이 다운로드(Drive By Download)
24. 암호화 기법으로 데이터를 전송해 익명으로 사용가능한 네트워크 토르 네트워크(Tor Network)
25. 특정인을 표적으로 삼아, 특정인이 자주 방문하는 웹사이트에 악성코드를 심어 공격 워터링홀(watering hole)
26. 다른곳에서 유출된 로그인 정보를 다른 곳에 무작위 대입하는 공격 크리덴셜 스터핑(Credential Stuffing)
27. 암호화 라이브러리의 확장 모듈 취약점을 이용해 데이터를 착취하는 공격 하트 블리드(Heart Bleed)
28. 독일 지멘사의 SCADA 시스템을 목표로 제작된 악성코드 스턱스넷 공격(Stuxnet)
29. 기업 이메일을 도용해 거래 대금을 가로채는 공격 스캠 공격(SCAM)
30. SW/HW의 버그나 취약점을 악용해 공격하는 행위  익스플로잇(Exploit)
31. 금융,인증 정보를 탈취해 금전적 이익을 취하는 악성코드 크라임웨어(Crimeware)
32. 타깃 서버가 클라이언트로 접속하게 하고, 클라이언트에서 서버의 쉘을 획득하는 공격 리버스 쉘 공격(Reverse Shell)
33. SSDP 의 특성을 이용해 Iot 디바이스를 좀비 PC 이용 DDoS공격 IoT-SSDP
34. 웹 서버의 인덱싱 기능이 활성화된 경우, 서버내 모든 디렉토리를 볼 수 있는 취약점 디렉토리 리스팅 취약점(Directory Listing)
35. 통신 연결 중간에 침입해 통신 내용을 도청하는 공격 MIMT
36. 침입전 어떤 포트가 활성화되어 있는지 확인하는 기법 포트 스캐닝(Port Scanning)
37. 실패한 분기 예측으로 메모리 영역을 훔쳐보는 취약점 스펙터(spector)
38. DNS 서버 캐시를 조작해 의도치 않은 주소로 접속하게 하는 공격 DNS 스푸핑
39. 터치,타이핑 등의 패턴을 스니핑하여 해킹 윈드토커(WindTalker)
40. 시스템의 자원을 고갈시켜 서비스 거부를 유발하는 공격  Dos공격
41. 검증되지 않은 입력데이터가 포함된 웹페이지를 열람할 떄, 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격 XSS
42. 악의적인 SQL구문을 삽입, 실행시켜 DB정보를 탈취하거나 조작하는 공격 SQL Injection
43. 사용자가 자신의 의지와 무관하게 공격자가 의도한 행위를  요청하게 하는 공격 CSRF
   
   
   
암호화 알고리즘 방식 tip) 대비해
1. 대칭  키 암호 방식
2. 비대칭 키 암호 방식
3. 해시 암호 방식
대칭키  암호화 종류 1.블록 암호: DES, AES, 3DES, SEED, ARIA,IDEA
2.스트림 암호: LFSR, RC4
비대칭키 암호화 종류 디피-헬만, RSA, ECC, Elgamal
셔플링 기법을 이용해 평문과 XOR 연산해 암호화  RC4(대칭키 스트림암호)
MD4를 개선한 알고리즘 MD5(해시 암호)
수학교수 3명의 이름을 땄음. 소인수 분해 문제의 어려움을 근거로함 RSA(비대칭키 암호)
미 연방표준국에서 발표, 키 길이는 56bit, 블록크기는 64bit DES(대칭키 블록암호)
KISA가 개발, 16라운드를 거쳐 128비트 블록으로 암호화  SEED(대칭키 블록암호)
선형 되먹임 시프트 레지스터  LFSR(대칭키 스트림암호)
NSA에서 미 정부 표준으로 지정, DSA에서 사용 SHA-1(해시 암호)
국내 표준 디지털 서명 알고리즘을 위해 개발된 알고리즘 (MD5의 장점+ SHA-1의 장점) HAS-160(해시 암호)
타원 곡선 암호, RSA의 대안 ECC(비대칭키 암호)
스위스에서 만들어진 블록 암호 / Feistel방식과 SPN 방식 중간형태 IDEA(대칭키 블록암호)
3DES의 문제점을 극복하기 위해 개발, 라운드 수는 10, 12, 14 로 분류되고, 한라운드는 뼤고 + 이동하고 + 섞고 + 더하는 4계층으로 구성  AES(대칭키 블록암호)
학계 + 연구기관 + 정부  국정원과 산학연구협회가 개발함 ARIA(대칭키 블록암호)
최초의 비밀키 교환 프로토콜 , 이산대수 계산의 어려움을 근거로 함 디피-헬만(비대칭키 암호)
이산대수의 어려움을 근거로함, 전자서명에 사용 가능 ELGamal
   
ip 패킷을 처리할 떄 발생하는 문제를 알려주는 프로토콜 메시지 형식 분리  ICMP
인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접한 라우터가 멀티캐스트 그룹 맴버십을 구성하는 데 사용하는 프로토콜  IGMP
데이터 전송을 위해 목적지까지 갈 수 있는 여러가지 중 최적의 경로 설정 라우팅 프로토콜
   
결합도 유형 tip) 자스제외공내
cf) 결합도는 약할수록 좋다 결합도가 오름차순으로 약한거 먼저순
1. 자료 결합도 : 인터페이스로만 전달되는 파라미터로만 상호작용할떄
2. 스템프 결합도 : 인터페이스로 배열, 객체 등이 전달될 떄
3. 제어 결합도 : 다른 모듈의 내부 논리를 제어할 떄 
4. 외부 결합도 : 외부의 데이터 포맷, 인터페이스, 프로토콜을 공유할떄
5. 공통 결합도 : 공통데이터(전역 변수)를 공유할 떄
6. 내부 결합도: 다른모듈의 내부 변수나 기능을 사용할 떄
   
테스트 오라클 중에서 다음과 같은 설명에 부합하는 테스트 고르시오.  
변경이 있을 때, 수행 전 후 결과값이 동일한지 확인 일관성 검사 오라클
몇개의 입력값에는 정확한 결과를 공개하고, 나머지는 휴리스틱으로 처리 하는 테스트 휴리스틱 오라클
모든 입력값의 기대결과를 생성(오류를 모두 검출 가능) 참 오라클
특정 몇 개 입력값의 기대결과만 생성 샘플링 오라클
   
병행 제어란?  다수 사용자 환경에서 일관성 유지를 위해 제어하는 기법
일단 검증 없이 진행 후, 종료한 다음 검증을 수행해 반영 낙관적 검증
트랜잭션의 순차적 진행을 보장하는 기법 로킹
트랜잭션이나 데이터에 타임 스탬프를 부여하여, 그 시간에 따라 작업을 수행 타임스탬프 순서(Time Stamp Ordering)
트랜잭션의 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교해, 적절한 버전을 선택하여 접근하도록 하는 기법 다중 버전 동시성 제어 (MVCC)
   
서버 접근 통제 유형  
규칙 기반 접근 통제 정책으로, 객체에 포함된 정보의 허용 등급과 접근 정보에 대하여 주체가 갖는 접근 허가 권한에 근거하여 객체에 대한 접근을 제한하는 방법 MAC
신분 기반 접근 통제 정책으로, 주체나 그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법 DAC
중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법 RBAC
   
네트워크 계층인 인터넷 프로토콜에서 '암호화' '인증' '키관리' 를 통해 보안성을 제공해 주는 표준화된 기술 IPsec
   
라우터로 상호 접속이 되어있는 여러 개의 네트워크 집합으로 도메인 혹은 자율시스템이라고 한다. 같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터가 되고 도메인 외부에 존재하는 라우터는 도메인 외부 라우터가 되는데 여기서 도메인 내부 경로 설정을 가르킨다 IGP
시스템 사이에 경로 설정 정보 등을 교환하기 위해 사용하는 프로토콜로써 다른 도메인 사이에 라우팅 시 정리된 관리가 거의 없고 많은 경우에 신용도가 매우 낮아 빠른 수행보다는 보안과 제어가 본래의 목적이다 EGP
IP라우팅 프로토콜의 한종류로써 RIP보다 규모가 큰 네트워크에서도 사용할 수 있다. 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선한 라우팅 프로토콜로써 RIP에 비해 자세한 제어가 가능하고 관리정보의 트래픽도 줄일 수 있다. OSPF
서로 다른 자율 시스템의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜이다.  각 목적지에 대한 전체 경로가 포함되며 다른 시스템과 교환하는 네트워크 도달 가능성 정보의 데이터베이스를 유지한다. 네트워크 도달 가능성 정보를 사용하여 AS 연결 그래프를 구성하며, 이를 통해 라우팅 루프를 제거하고 AS수준에서 정책 결정을 실행할 수 있다. BGP
728x90

댓글