정보처리기사 실기 준비

🏷️ cs

수정일 : 2025-07-19


  • 볼드체의 개념은 기출 문제에서 등장, 나머지 개념은 모의고사에서 등장

SW 공학 관련 개념

  • SOLID 원칙
    • S : 단일 책임 원칙 (SRP)
    • O : 개방 폐쇄 원칙 (OCP) : 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다는 원칙
    • L : 리스코프 치환 원칙 (LSP) : 서브타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다는 원칙
    • I : 인터페이스 분리 원칙 (ISP)
    • D : 의존 역전 원칙 (DIP) : 추상화에 의존해야 한다는 원칙
  • SOA(Service-Oriented Architecture) : 서비스 지향 아키텍처
  • Walk Through : 검토 자료를 회의 전에 배포해서 사전검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서로 만드는 기법
  • 정형 명세 기법 : 사용자의 요구를 표현할 때 수학적 원리와 표기법으로 서술하는 기법
  • 디자인 패턴
    • Abstract Factory Pattern : 생성 패턴; 객체 생성에 대한 인터페이스를 제공하고, 구체적인 클래스는 서브클래스에서 정의하는 패턴
    • Decorator Pattern : 구조 패턴; 객체에 추가적인 책임을 동적으로 부여하는 패턴
    • Memento Pattern : 행위 패턴; 객체의 상태를 저장하고 복원하는 패턴
    • Factory Method Pattern : 생성 패턴; 객체 생성에 대한 인터페이스를 제공하고, 구체적인 클래스는 서브클래스에서 정의하는 패턴
    • Bridge Pattern : 구조 패턴; 추상화와 구현을 분리하여 독립적으로 확장할 수 있도록 하는 패턴
    • Observer Pattern : 행위 패턴; 객체의 상태 변화에 따라 다른 객체에 알림을 보내는 패턴
    • Proxy Pattern : 구조 패턴; 다른 객체에 대한 접근을 제어하는 대리 객체를 제공하는 패턴
    • Iterator Pattern : 행위 패턴; 컬렉션 객체의 내부 구조를 노출하지 않고 순차적으로 접근할 수 있도록 하는 패턴
  • 이상 현상 : 데이터를 데이터베이스에 저장할때 불필요하게 중복되어 릴레이션 조작시 예기치 못한 곤란한 현상일 발생하는 현상
  • 번다운 차트 : 남은 작업량을 시간에 따라 표시하여 진행 상황을 시각적으로 나타내는 차트
  • COCOMO : 보헴이 제안한 프로그램 규모에 따라 비용을 산정하는 방식 (조직형, 분리형, 임베디드형)
  • CPM : 프로젝트의 작업을 네트워크 형태로 표현하여 전체 프로젝트의 일정을 계산하는 알고리즘
  • PERT : 비관치, 중관치, 낙관치의 3점 추정 방식을 통해 일정을 관리하는 기법
  • 결함 집중 : 20%의 모듈에서 80%의 결함이 발생한다는 원리
  • 살충제 패러독스 : 동일한 테스트 케이스를 반복적으로 실행하면 새로운 결함을 발견하지 못한다는 원리
  • 배치 다이어그램 : 시스템의 물리적인 구조를 보여주는 다이어그램, 어떤 SW가 어떤 HW에 배치되는지를 나타냄
  • 패키지 다이어그램 : 시스템의 패키지 구조를 나타내는 다이어그램
  • 브룩스의 법칙 : “늦어진 프로젝트에 인력을 추가하면 오히려 더 늦어진다"는 법칙
  • 화이트박스 테스트 검증 기준
    • 문장(Statement) 커버리지 : 프로그램의 모든 문장이 최소한 한 번은 실행되도록 하는 기준
    • 분기(Branch) 커버리지 : 각 결정문이 참, 거짓을 한 이상 갖도록 조합하는 커버리지
    • 조건(Condition) 커버리지 : 결정문 내의 각 조건이 참, 거짓을 한 이상 갖도록 조합하는 커버리지
    • 결정(Decision) 커버리지 : 각 전체 조건식의 참, 거짓을 한 이상 갖도록 조합하는 커버리지
  • 원인 결과 그래프 : 프로그램의 입력과 출력 간의 관계를 그래프로 나타내어 테스트 케이스를 도출하는 기법
  • 알파/베타 테스트 : 알파-개발자와 함께 수행, 베타-개발자 없이 수행

네트워크 관련 개념

  • Hub & Spoke : EAI 구축 유형; 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
  • MQTT : IoT 장치 간 통신에 사용되는 경량 메시징 프로토콜
  • CoAP : M2M 노드들 사이에서 이벤트에 대한 송수신을 비동기적으로 전송하는 REST 기반의 프로토콜
  • 거리 벡터 알고리즘 : 네트워크 라우팅 프로토콜의 한 종류; 각 노드가 자신의 거리와 이웃 노드의 거리 정보를 교환하여 최적 경로를 찾는 알고리즘
  • 링크 상태 알고리즘 : 네트워크 라우팅 프로토콜의 한 종류; 각 노드가 전체 네트워크의 상태 정보를 수집하여 최적 경로를 찾는 알고리즘
  • 회선 제어 : 두 개의 스테이션이 동시에 신호를 전송하는 경우 충돌이 발생하지 않도록 제어하는 기술
  • Slowris : 다량의 HTTP 연결을 동시에 열고 유지하는 DoS
  • RUDY : 느린 속도로 양식 데이터를 제출하여 연결 상태를 유지하는 것을 목표로 하는 DoS
  • Slow Http read Dos : HTTP 요청 패킷의 헤더를 변조하여 웹 서버에 보내 연결 상태를 유지하게 하는 DoS
  • SNMP(Simplified Network Management Protocol) : 네트워크 장비의 상태를 모니터링하고 관리하기 위한 프로토콜
  • DHCP(Dynamic Host Configuration Protocol) : 네트워크 장치에 IP 주소를 자동으로 할당하는 프로토콜
  • RARP (Reverse Address Resolution Protocol) : MAC 주소 -> IP 주소 변환 프로토콜
  • Ad-hoc 네트워크 : 중앙 라우터나 액세스 지점 없이 서로 직접 통신할 수 있도록 하는 임시 분산 무선 네트워크
  • 패킷 교환 방식
    • 가상회선 방식 : 목적지 호스트와 미리 연결 후 통신하는 연결형 교환 방식
    • 데이터그램 방식 : 헤더를 붙여서 개별적으로 전달하는 비연결형 교환 방식
  • L2TP (Layer 2 Tunneling Protocol) : VPN 프로토콜의 일종으로, PPP 프로토콜을 사용하여 데이터를 캡슐화하고 전송하는 방식
  • 오류 제어 방식
    • FEC (Forward Error Correction) : 오류 검출, 스스로 수정하는 방식
      • Hamming Code
    • BEC (Backward Error Correction) : 오류 검출, 재전송 요청하는 방식
      • Parity 검사
      • CRC (Cyclic Redundancy Check) : 데이터 블록에 대한 다항식 나눗셈을 사용하여 생성된 체크섬을 이용

보안 관련 개념

  • kill switch : 스마트폰 이용자가 도난당한 스마트폰의 작동을, 웹사이트를 통해 정지할 수 있도록 하는 일종의 자폭 기능
  • 제로 데이 공격 : 보안 취약점이 알려지기 전에 해당 취약점을 악용하여 이루어지는 공격
  • ARP Spoofing : ARP 프로토콜을 이용하여 네트워크 상의 다른 호스트의 MAC 주소를 위조하는 공격 기법
  • 디지털 포렌식 : 디지털 기기에서 발생한 범죄나 사고의 증거를 수집, 분석, 보존하는 과정
  • 루트킷 : 시스템에 몰래 설치되어 사용자의 권한을 탈취하거나 시스템을 제어하는 악성 소프트웨어
  • 스피어 피싱 : 특정 개인이나 조직을 대상으로 하는 맞춤형 피싱 공격
  • APT 공격 : 특정 타깃을 목표로 다양한 수단을 통한 지속적이고 지능적인 맞춤혐 공격 기법
  • SET(Secure Electronic Transaction) : 전자 상거래에서 안전한 결제를 위한 프로토콜
  • 사이버 킬체인 : 록히드 마틴의 공격형 방위 시스템
  • DAC (Discretionary Access Control) : 사용자가 자유롭게 객체에 대한 접근 권한을 관리할 수 있는 방식
  • MAC (Mandatory Access Control) : 시스템 관리자가 정책에 따라 사용자에게 접근 권한을 부여하는 방식
  • 3A (AAA) : 정보 보안의 핵심요소
    • Authentication
    • Authorization
    • Accounting
  • ISMS (Information Security Management System) : 정보 보호를 위한 관리 체계
  • 사회공학 기법 : 인간의 심리와 행동양식을 이용하여 정보를 탈취하거나 시스템에 침입하는 기법
  • SIEM : 보안 정보 및 이벤트 관리 시스템; 보안 로그와 이벤트를 수집, 분석하여 실시간으로 보안 위협을 탐지하고 대응하는 시스템
  • 웜 VS 바이러스
    • 웜 : 스스로 복제하여 네트워크를 통해 전파되는 악성 코드; 호스트 파일을 감염시키지 않음
    • 바이러스 : 호스트 파일에 삽입되어 실행될 때만 활성화되는 악성 코드; 호스트 파일을 감염시킴
  • 대칭키, 비대칭키(공개키)
    • 대칭키 : AES, DES, ARIA SEED
    • 비대칭키 : RSA, ECC
  • ATM(Asynchronous Transfer Mode) : 고속 데이터 전송을 위한 셀 기반의 패킷 교환 방식; 53바이트의 고정 길이 셀을 사용
  • 스머핑(Smurfing) : ICMP 패킷을 이용하여 대량의 트래픽을 발생시키는 DoS 공격 기법; 공격자가 브로드캐스트 주소로 ICMP Echo 요청을 보내고, 응답을 타겟에게 전송하게 함

데이터베이스 관련 개념

  • 낙관적 검증 : 트랜잭션을 일단 수행하고, 트랜잭션 종료 시 검증을 수행하여 데이터베이스 반영하는 기법
  • 2PC (Two-Phase Commit) : 분산 데이터베이스 시스템에서 트랜잭션의 원자성을 보장하기 위해 두 단계로 커밋을 수행하는 방식
  • 완전 함수 종속(Full) : 릴레이션의 모든 속성이 기본키에만 종속되는 상태
  • 부분 함수 종속(Partial) : 릴레이션의 일부 속성이 기본키에만 종속되는 상태
  • 이행 함수 종속(Transient) : A->B, B->C 이면 A->C가 성립하는 상태
  • 체크포인트 회복 기법 : 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애를 복구하는 기법
  • 로킹 : 다중 트랜잭션 환경에서 트랜 잭션의 순차적 진행을 보장하는 직렬화 기법
  • LIKE 문법
    • % : 0개 이상의 문자열과 일치
    • [ ] : 1개의 문자와 일치
    • [^ ] : 1개의 문자와 불일치
    • _ : 특정 위치의 1개 문자와 일치
  • 관계 해석 : 비절차적 언어; 관계 데이터베이스에서 데이터를 질의하기 위한 수학적 표현 방법
  • ALL : 주로 서브쿼리에서 사용하는 다중행 연산자; 모든 행이 조건을 만족해야 함
  • ANY : 주로 서브쿼리에서 사용하는 다중행 연산자; 하나 이상의 행이 조건을 만족하면 참
  • 관계대수 기호: $\cup$(합집합), $-$(차집합), $\times$(카티션 곱), $\pi$(프로젝트), $\bowtie$(조인), $\sigma$(선택), $\div$(나눗셈)
  • 조인 방식
    • Theta Join : 조인 조건이 등호가 아닌 다른 비교 연산자를 사용하는 조인 방식
    • Equi Join : 조인 조건이 등호(=)인 조인 방식
    • Natural Join : 두 릴레이션의 공통 속성을 기준으로 자동으로 조인하는 방식
  • 세션 하이재킹 (Session Hijacking) : 사용자의 세션을 탈취하여 불법적으로 접근하는 공격 기법

OS 관련 개념

  • 마이크로커널 : 다양한 서비스를 Kernel Mode가 아닌 User Mode에서 처리하는 초소형 커널
  • 프로세스 스케쥴링
    • SJF(Shortest Job First) : 가장 짧은 작업을 먼저 처리하는 방식
    • HRN (Highest Response Ratio Next) : 대기 시간과 서비스 시간을 고려하여 우선순위를 결정하는 방식
    • RR(Round Robin) : 각 프로세스에 동일한 시간 할당량을 주고 순환적으로 처리하는 방식
    • SRTF(Shortest Remaining Time First) : 남은 실행 시간이 가장 짧은 프로세스를 먼저 처리하는 방식
  • 피터슨 알고리즘 : 두 프로세스 간의 상호 배제를 보장하는 알고리즘; 플랙그와 턴을 사용하여 상호 배제와 진입 허용을 구현

기타 개념

  • 피코넷 : 여러 개의 독립된 장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
  • 지그비 :저속 전송 속도를 갖는 홈오토메이션 및 데이터 네트워크를 위한 표준 기술
  • 클리어링 하우스 : 디지털 저작권 라이선싱을 중개하고 라이선스 발급을 수행하는 정산소
  • 데이터 마트 : 데이터의 한 부분으로서 특정 사용자가 관심을 갖는 데이터들을 담은 비교적 작은 규모의 데이터 웨어하우스
  • OLAP : 온라인 분석 처리; 데이터 웨어하우스의 데이터를 전략적인 정보로 변환시켜서 의사결정을 지원하는 역할 수행
  • semantic web : 웹 상의 정보에 의미를 부여하여 기계가 이해할 수 있도록 하는 기술
  • 온톨로지(Ontology) : 특정 도메인에 대한 개념과 그들 간의 관계를 정의하는 명세
  • 디지털 아카이빙 : 디지털 자료를 장기적으로 보존하고 관리하는 과정
  • CEP(Complex Event Processing) : 실시간으로 대량의 이벤트를 처리하고 분석하는 기술
  • 노모포비아 : 스마트폰을 잃어버리거나 사용할 수 없는 상황에 대한 불안감
  • ITIL(Information Technology Infrastructure Library) : 영국 정부가 다양한 IT 서비스들의 관리 방법들을 모아 만든 표준적인 참고 문서
  • 데이터 마이닝 : 대량의 데이터에서 유용한 정보를 추출하는 과정
  • 오픈 스택 : 아파치 라이선스로 배포되는 클라우드 플랫폼 프로젝트
  • BCP(Business Continuity Planning) : 재해 발생 시 비즈니스 운영을 지속하기 위한 계획
  • Trust Zone : ARM에서 개발한 보안 기술로, 하드웨어 기반의 보안 영역을 제공하여 민감한 데이터를 보호하는 기술
  • WSDL (Web Services Description Language) : 웹 서비스의 기능을 기술하는 XML 기반의 언어
  • EAI : 기업 내 다양한 시스템 간의 데이터 통합 및 상호 운용성을 위한 솔루션
  • NUI (Natural User Interface) : 신체를 활용한 사용자 인터페이스
  • 암호화 알고리즘 : AES, DES, RSA, IDEA, Skipjack
  • CVS : Concurrent Versions System; 분산 버전 관리 시스템; 중앙 집중식 버전 관리 시스템
  • SVN : Subversion; 버전 관리 시스템의 일종; CVS의 단점을 보완하기 위해 개발됨