정보처리기사 22.04.24 기출 오답

최지웅·2025년 2월 3일
0

자격증

목록 보기
2/7


어라? 이게 학점 4.5의 위엄인가? 안그래도 공부하기 싫었는데 더 하기 싫어졌다.. 그래도 오답은 하자!

  1. UML 순차 다이어그램
  • 객체 간 동적 상호작용을 시간중심 모델링
  • Self-Message, Statement block 등으로 구성
  1. Message-Oriented Middleware, MOM
  • 느림
  • 시스템 통합
  • 메시지 큐
  • 비동기
  1. 익스트림 프로그래밍
  • 변경이 많음
  • 상식과 경험을 적용
  • 소스코드에 집중함
  • 구체적이지만 구조적이진 않음
  1. 유스케이스 구성요소 간 관계
  • 연관(액터-유스케이스), 포함(선수케이스->후발케이스), 확장(추가행동일수도?아닐수도?), 일반화(여러액터->액터들)
  • 구체화라는건 없다.
  1. 요구사항 분석 비기능적
  • 모든 화면이 3초안에 보이자(구현보다는 편의같음)
  1. 미들웨어
  • 여러 OS간 응용프로그램 사이에 위치(1:1, ...n:n)
  • 사용자는 몰라도 됨
  • 컴포넌트 연결을 위한 인프라 구조
  1. UI
  • 이해쉬움
  • 조작쉬움
  • 장애인도 고려
  • 오류시 사용자 인지(님 비번 털림 ㅅㄱ)
  1. 소프트웨어 개발 영역결정 요소 중 인터페이스
  • 순서적 연산에 의해 소프트웨어 실행
  1. 애자일
  • 계획따윈 없음 변화위주임
  1. 컴포넌트
  • 역활있게 독립적 존재하여 재사용 가능한 최소 단위(세포같은 느낌)
  • 인터페이스로만 접근 가능
  1. GoF에서 구조패턴
  • Adaptor(만능 어댑터), Bridge(추상부 분리), Proxy(모방)
  • Builder는 생성일거임
  1. Natural User Interface(NUI)
  • UI종류인데 사용자 움직임 인식이나 멀티 터치 이런거 사용
  1. 소프트웨어 모델링
  • 모델링 결과물로 또 모델링 가능

  • 객체에선 UML사용

  • 이해하기 좋음

  • 결과 표현으로

  • Data Flow Diagram(DFD)와 Data Dictionary(DD)는 구조적 분석 도구이지 결과물이 아님 이름부터 쨔잔이 아님

  1. Use Case Diagram
  • 시스템 액터는 이미 다른 플젝에서 사용중인게 지금꺼에 연동하는거임 ex PC(Payment Component)
  1. MVC패턴
  • 모델 하나가 여러 뷰 만들수도
  1. Integration Test
  • 모듈과 인터페이스 결합을 테스트
  • 하향식 통합 테스트는 넓이우선(BF)로 테스트 대상 모듈 선택 가능(이게 더 잘쓰임. 빠름윗물이 맑아야 아랫물이 맑기에)
  • 상향식 통합 테스트는 하위부터 테스트
  1. 이진탐색 비교횟수
  • 이새끼들 발견한건 비교횟수로 안치니 주의
  1. 소프트웨어 공학 Walkthrough(워크스루)
  • 크게 개발방법에 Inspection(한명의 코드를 여러사람이 분석), Peer Review(다같이분석), Walkthrough(계획따윈없음. 이것저것 다 해보기에 이해쉽고 수작업임)가 있음
  • Inspection: 계획->사전교육->사전검토->준비->인스펙션 회의->수정->후속조치
  1. 테스트 케이스
  • 목표랑 방법부터 하고 작성시작
  • 테스트 합불기준을 테스트 오라클(Test Oracle)이라고 함
  1. DRM(Digital Rights Managements)
  • 전자적 보안도 있음
  • 클리어링 하우스는 사용자에게 라이센스 부여하는거래
  • 미디어 생명주기동안 관리하는 기술
  • 접근제어기술이기도 함
  1. 위험 모니터링
  • 목적은 위험하던 안위험하던 해당 징후들이나 위험요소들에 대해 인지를 하고 있냐? 이게 중요하대
  1. RCS(Revision Control System)->깃허브임

  2. 알고리즘

  • 선형 검색은 그냥 for(int i=0; i<length) 그냥 다돌리는거래
  1. 단위 테스트
  • 모듈 내부 구조를 볼 수 있는 구조적 테스트를 주로 함(웬만해서 주로~는 추상적이라 다 옳을거임)
  • 참고로 Stub(스텁)은 테스트 중 미리 준비된 답을 제공하는거. 뭐 결과를 받는게 아니라 결과를 주는 역활
  1. 전위중위후위순회 순서(햇갈리면 부모-자식 부분적으로 나누어서 비교하면서 순서가 맞나? 생각 ㄱㄱ)
  • 전위(루트에서 왼쪽으로 쭉쭉 대각선. 이건 머리에서 생각)
    루트->왼->오
  • 중위(루트에서 섞임)
    왼->루트->오
  • 후위(맨 꼬리 노드부터)
    왼->오->루트
  1. 단위 테스트 도구
  • CppUnit, JUnit, HttpUnit
  1. 정규형
  • 제1(원자)->제2(키뺀 나머지 조합이 키에 종속긍께 같은값들을 가지는 애들이 없음긍께나머지만으로도 특정가능)->제3(키뺀 나머지들 간 종속이 없음이행적함수종속이아니다 or 부분종속이 없다.)->BCNF(결정자가 후보키다암기)
  1. 인덱스
  • CREATE INDEX, DROP INDEX
  • 테이블 삭제 시 인덱스도 삭제됨
  1. DDL DML DCL TCL
  • Definition: CREATE ALTER DROP RENAME TRUNCATE
  • Manupulation: SELECT INSERT UPDATE DELETE
  • Control: GRANT REVOKE
  • Transaction Control: COMMIT ROLL BACK SAVEPOINT
  1. 데이터사전(시스템 카탈로그 | 시스템 데이터베이스)
  • 메타데이터임. 이 데이터에 굳이 직접 접근하고 싶으면 데이터 디렉토리 안의 위치정보를 확인하면 됨(카탈로그<디렉토리)
  1. 릴레이션(테이블)
  • 하나의 요소를 튜플이라하는데 순서따윈 없음
  • 튜플의 수를 Cardinality라고 함
  • 반대로 Attribute(속성) 수를 Degree(차수)라고 함.
  1. 데이터베이스 뷰(View)
  • 가상 테이블이어서 update 제약있음 CREATE VIEW
  1. 트랜잭션 상태 중 트랜잭션 마지막 연산이 끝난 직후를 Partially Committed 상태, 종료시 Committed

  2. 키 종류

  • 슈퍼키: 유일하니
  • 복합키: 여러개 ex 주민+이름
  • 후보키: 유일+최소 ex 특정할게 생일+이름밖에 없넹
  • 기본키: 후보중 선택된거(검색에 무조건 필요하진 않음 대체키사용해도되니)
  • 대체키: 후보중 선택안된거
  • 외래키: 다른테이블 기본키 참조
  1. 데이터베이스 설계단계
  • 개념적->논리적->물리적이었던듯
  1. C언어에서 strrev는 문자열 거꾸로

  2. C언어 비트연산 그냥 0이 아니면 1임

#include <stdio.h>

int main() {
    int a=5, b=3, c=12;//0101 0011 1100
    int t1, t2, t3;
    t1=a&&b;
    t2=a||b;
    t3=!c;//0011
    printf("%d %d %d\n", t1, t2, t3);//1 1 0
    return 0;
}
  1. IP 프로토콜
  • Header Length는 32비트 워드 단위임

  • Packet Length는 IP헤더를 제외한 패킷 전체 길이로 최대 2^16비트임.

  • 대상이 없어도 일단 전달하는 비연결성의 한계

  • 중간에 패킷이 사라져도 잘 모르는 비신뢰성의 한계

  • 체크섬 기능이 있긴한데 데이터 체크섬만 제공

  • Best Effort원칙(노력은 하는데.. 결과는 몰루?)에 따른 전송기능 제공

  1. 프로세스 스케줄링
  • FIFO: 차례대로
  • SJF: 짧은거부터
  • RR: 모두가 공평하게 time slice별로 나눠줌
  • HRN: (대기시간+CPU사용시간)/CPU사용시간
  • SRT: SJF+RR
  • MLQ: 다단계(우선순위 별 여러 queue)
  1. UNIX
  • 백그라운드 당연히 가능하니 아직 쓰겠지
  • 장치 간 호환성이 높아 이식성이 높다
  • Multi-User와 Multi-Tasking모두 지원
  1. UDP 프로토콜
  • 헤더가 단순함
  • 비연결임
  • TCP랑 같은 전송계층
  1. 파이썬 Tuple타입
  • list와 달리 수정불가. 리스트는 []인거랑 달리 얘는 ()로 함
  1. 응집도(우논시절통순기)
  • 결합도와 달리 독립성을 나타냄
  • 최악 우연적->논리적->시간적->절차적->통신적->순차적->기능적 최고
  1. 우연적 응집도: 쓸데없는거 넣음

  2. 논리적 응집도: 비슷한 작업을 한 모듈이 처리

  3. 시간적 응집도: 이 때 같이 실행되야하는 작업 한 모듈이 처리

  4. 절차적 응집도: 모듈 내부에서 1번작업2번작업

  5. 통신적 응집도: 동일한 입력과 출력사용

  6. 순차적 응집도: 출력을 다른 모듈 입력으로

  7. 기능적 응집도: 완벽

  8. 사용자 수준 스레드가 커널 수준 스레드보다 좋은 점

  • 커널 모드의 전환 없이 스레드 교환이 가능해 오버헤드 감소
  1. 결합도
  • 약할수록 독립성(응집도)가 높아짐
  • 최고 자료->스탬프(견인)->제어->외부->공통(공유)->내용 최악
  1. 내용 결합도: 모듈이 다른모듈 내부꺼를 직접 참조
  2. 공통 결합도: 공용 영역 데이터 참조
  3. 외부 결합도: 외부 모듈 변수를 참조
  4. 제어 결합도: 처리 기능이 두 모듈에 분리
    5. 스탬프 결합도: 두 모듈이 동일한 자료구조 조회
  5. 자료 결합도: 함수호출

46. C언어 배열 포인터 관련해서 & 있는지 없는지 []있는지 없는지 둘다 있는지 자세히 주의

47. 외부 컴에서 접속 인자 여부를 제어하는 접근 제어 유틸리티 tcp wrapper

48. 기기를 키오스크에 댈 때 사용되는 초고속근접무선통신NFC 기술을 Zing이라고 한다 징~

  1. 소프트웨어 개발 프레임워크
  • 프레임워크의 동작 원리가 일반적인 프로그램의 흐름과 반대다(소스만들고->이용, 이용하여->소스만듬)라서 IoC(Inversion of Control)이라고도 한다.
  1. 클라우드 기반 HSM(Cloud-based Hardware Security Module)
  • 하드웨어+소프트웨어의 조합으로 구현된다.
  1. 네트워크 토폴로지(모양)
  • Mesh: 망형 그물형 소수인데 통신량 많을 경우 사용(군대)
  • Star: 중앙노드
  • Bus: 공통배선에 각 노드 연결. 배선 트래픽으로 인한 저하
  • Ring: 노드 추가삭제 어려움(Linked list)
  1. 악성코드
  • Worm: 다른 컴의 취약점 찾아 스스로 전파하거나 증식
  • Rogue Ware: 감염됐다고 경고띄우며 금전결제
  • Adware: 사용자 동의 없이 광고 생성하여 과부하
  • Reflection Attack: DDOS 대규모 트래픽 공격
  1. 공격기법
  • Ping of Death: 디도스(다량 ICMP패킷 전송하여 마비)
  • Piggyback Attack: 사용자가 사용안할 때 공격
  • XSS: 상대 브라우저에 스크립스 실행
  1. 암호 알고리즘
  • 대칭 암호 알고리즘은 비교적 빠름(AES, IDEA)
  • 비밀키 교환 해야함
  1. 월별(man-month)생산성
  • 한 명이 한달에 몇라인의 코드를 만들 수 있는가?
  1. 접근 통제 방법(Access Control보안)
  • RBAC(Role Based): 직무, 직책 등 역활에 따라 부여
  • DAC(Discretionary): 임의적으로 통제(사용자나 그룹)
  • MAC(Mandatory): 강제적으로 통제(보안등급, 규칙기반)
  1. COCOMO(Constructive Cost Model)
  • man-month로 산정결과 표현
  • Boehm(보헴)이 제안하여 원시코드 라인 수에 의한 비용산정
  • 중소규모 프로젝트에 적합
  1. 각 사용자 인증 유형
  • 지식: 알고 있는 것(패스워드, PIN)
  • 소유: 가지고 있는 것(토큰, 스마트 키)
  • 행위: 하는 것(서명, 움직임, 음성)
  • 존재: 본인을 나타냄(지문, 홍채)
  1. 영어공부시간
  • Authorization: 인가하다/승인하다 (등급 권한 확인 등)
  • Authentication: 인증하다 (로그인)
  1. SDN(Software Defined Networking)
  • 네트워크를 제어부, 데이터 전달부로 분리
  • 기존 하드웨어 의존 체게에서 소프트웨어를 도입
  • 펌웨어 업그레이드, 전송경로 수정 등으로 문제 처리
  1. PERT차트로 프로젝트 일정 관리하기
  • 작업들 간 관련성, 결정경로, 경계시간, 자원할당 등을 제시
profile
이제 3학년..

0개의 댓글

관련 채용 정보