정보처리기사 2022년 3회

이주원·2025년 6월 27일

컴퓨터언어

목록 보기
42/50
post-thumbnail

🖧 네트워크 주소 계산

항목설명
IP 주소192.168.1.0 → 2진수: 11000000.10101000.00000001.00000000
서브넷 마스크255.255.255.255 → 모든 비트가 1인 경우, 전체가 네트워크 주소
네트워크 주소 계산IP와 서브넷 마스크의 AND 연산 결과: 192.168.1.0

📄 SQL 및 데이터베이스 개념

항목설명
VARCHAR(20)가변 길이 문자열 최대 20자 저장
ON DELETE CASCADE참조된 부모 테이블의 튜플 삭제 시, 자식 테이블의 연관 튜플도 자동 삭제
FOREIGN KEY (부서코드)외래 키 설정: 부서 테이블의 부서코드를 참조
SELECT DISTINCT COUNT(부서코드)중복 없이 부서코드 개수를 세려면 COUNT(DISTINCT 부서코드)가 되어야 정확함
DISTINCTCOUNT 전체에 적용돼야 의도대로 작동

🧮 관계대수 연산자 정리표

연산자기호설명
합집합 (UNION)두 릴레이션에 존재하는 모든 튜플을 중복 없이 합침
예: R ∪ S
차집합 (DIFFERENCE)두 릴레이션에서 차이(=제외된 튜플) 구함
예: R − S
교차곱 (CARTESIAN PRODUCT)×두 릴레이션의 모든 튜플쌍을 조합
예: R × S
프로젝션 (PROJECT)π릴레이션에서 특정 속성(열)만 추출
예: π 학번,이름(R)
조인 (JOIN)⋈ 또는 ⨝공통 속성 기준으로 릴레이션 병합
예: R ⨝ S 또는 R ⋈조건 S

🐍 파이썬 코드 분석

코드 줄기술 요소설명
a = [1, 2, 3, 4, 5]리스트 생성정수형 리스트 a를 선언하고 초기화
map(lambda num: num + 100, a)map() 함수 + lambda 표현식리스트 a의 각 요소에 대해 익명 함수(lambda) 를 적용 → 각 요소에 100을 더함
list(...)형변환 (map → list)map 객체를 리스트로 변환하여 다시 변수 a에 저장
print(a)출력변환된 리스트 [101, 102, 103, 104, 105]를 출력

🧩 GoF 디자인 패턴 분류 및 설명

분류패턴 이름간략한 설명
생성 패턴Builder복잡한 객체를 단계별로 생성하는 패턴
Factory Method객체 생성 코드를 서브클래스에 위임하여 유연성 확보
구조 패턴Adapter호환되지 않는 인터페이스를 연결해주는 중개자 역할
Bridge추상화와 구현을 분리하여 독립적 확장 가능
Facade복잡한 시스템을 단순한 인터페이스로 감춤
Proxy원래 객체에 대한 접근을 제어하거나 지연
행위 패턴Observer상태 변화 시 등록된 객체들에게 자동 알림 전달
Mediator객체 간 복잡한 통신을 중재자 객체가 관리

📦 Java 배열 선언 및 초기화 요약

코드 예시설명
int[] arr;배열의 참조 변수만 선언됨 → 배열 공간은 아직 없음
→ 메모리에는 배열 주소를 저장할 변수만 생성
int[] tmparr = new int[4];크기 4인 정수형 배열 생성
→ 자바에서는 배열 생성 시 모든 요소가 0으로 자동 초기화
✅ 사용 전 주의arr과 같이 참조 변수만 있을 경우, new로 배열을 생성해야 사용 가능
🔗 일반적인 형태 예시arr = new int[]{1, 2, 3}; 또는 arr = tmparr; 처럼 실제 배열 주소 할당이 필요

🧠 테스트 설계 기법 비교

기법분류설명
Equivalence Partition블랙 박스입력 도메인을 동등한 범주로 나누어 한 개 대표값만 테스트 (testomat.io, ficode.com)
Boundary Value Analysis블랙 박스경계값(최소‑1, 최소, 최대, 최대+1 등)을 중심으로 테스트
Cause–Effect Graph블랙 박스입력 원인과 출력 결과 간 논리 관계를 그래프로 표현
Comparison Test화이트 박스조건문 내부의 모든 비교 조합 경로를 테스트 (Elementary Comparison Testing)
Condition Test화이트 박스복합 조건 각각이 true/false가 되도록 검사 (조건 커버리지)
Base Path Test화이트 박스사이클 없이 가능한 모든 경로를 검사 (기초 경로 테스트)
Data Flow Test화이트 박스정의‑사용 관계(변수의 할당과 사용) 흐름을 따라 테스트
Loop Test화이트 박스반복문이 0회, 1회, 경계(N-1, N, N+1) 반복되도록 테스트
Error Guess경험 기반테스터가 경험으로 오류가 발생하기 쉬운 경우를 추측하여 검증

🛡️ 정보보안 관련 용어 정리표

용어정의
사회공학 (Social Engineering)컴퓨터 보안에서 인간의 심리나 행동을 속여서 보안 절차를 우회하거나 정보를 탈취하는 공격 수단
예: 피싱, 스피어피싱, 전화 사기 등
다크 데이터 (Dark Data)특정 목적을 위해 수집되었으나 이후 활용되지 않고 보관만 되는 데이터
저장 공간 낭비뿐 아니라 보안 위험 요소가 될 수 있음

🛡️ 지문에 등장한 보안 용어 정리

용어설명
방화벽 (Firewall)외부와 내부 네트워크 간의 접근 제어 장치
IDS (침입 탐지 시스템)비인가 침입을 탐지하지만 차단은 하지 않음
IPS (침입 방지 시스템)비인가 접근을 실시간으로 탐지하고 차단
웹 방화벽 (WAF)웹 애플리케이션 공격(SQL Injection 등)을 전용으로 차단하는 장비
VPN (Virtual Private Network)공용 네트워크를 통해 암호화된 안전한 통신 경로 제공
SIEM위의 모든 장비에서 발생하는 보안 이벤트·로그를 통합 분석하여 중앙에서 보안 관리 가능하게 하는 시스템

🛠️ 도구/기술 비교 표

도구·기술유형주요 기능 및 설명
OLAP분석 처리 시스템다차원 데이터(큐브)를 기반으로 비즈니스 인텔리전스용 고속 분석 제공 (aws.amazon.com)
CVS중앙 버전 관리 시스템RCS 기반, delta 압축으로 파일 히스토리 관리. 병합 기능 있지만 Git/SVN보다 분산 기능 약함
SVN중앙 버전 관리 시스템CVS 개선된 후속 시스템, 원자적(commit) 기능 제공, 분산 도구보다 단순한 중앙식 구조
Git분산 버전 관리 시스템분산형, 브랜치와 병합 기능 우수, 로컬 저장 가능하며 빠르고 유연한 협업 가능
Ant빌드 자동화 도구XML 기반 스크립트로 컴파일, 패키징, 배포 작업 자동화
Maven빌드 및 프로젝트 관리 도구POM을 기반으로 종속성, 컴파일, 테스트, 배포를 일관된 수명주기로 관리
JenkinsCI/CD 자동화 서버다양한 플러그인을 통해 빌드 → 테스트 → 배포 파이프라인 자동화
SpringJava 애플리케이션 프레임워크의존성 주입(DI), AOP, MVC, 보안 등 모듈화된 기능 제공

🛡️ 보안 공격 및 기술 용어 비교

용어유형정의 및 특징
Pharming공격DNS 또는 호스트 파일을 조작해 사용자를 가짜 웹사이트로 자동 리디렉션하여 정보 탈취
Tvishing (Vishing)공격음성 기반 피싱 공격: 전화나 음성 메시지를 사용해 개인 정보를 유인
Typo‑quatting공격정상 도메인 오타 유사 도메인을 등록해 사용자 오타를 유도하고 악성 사이트로 유입 유도
TrustZone기술ARM 기반의 신뢰 실행 환경(TEE): 보안 키·코드·데이터를 보호하는 하드웨어 분리 환경
APT (Advanced Persistent Threat)공격고도로 조직적이고 지속적인 표적형 공격, 주로 국가 또는 조직이 장기간 수행
Ransomware공격데이터 암호화 후 금전 요구하는 악성코드 유형
Smurfing공격IP 브로드캐스트 및 스푸핑을 이용한 DDoS 공격의 일종
CSRF (Cross‑Site Request Forgery)공격사용자의 인증 세션을 도용하여 의도하지 않은 요청을 서버에 보내는 공격

🔐 SSO (Single Sign-On) 정리표

항목내용
정의한 번의 로그인으로 사용자가 여러 사이트나 시스템에 자동으로 인증되는 통합 인증 시스템
주요 기능- 아이디/비밀번호 입력 한 번으로 인증 완료
- 이후 로그인 없이 다수 서비스 이용 가능
- 인증 정보는 공유된 세션이나 토큰 기반으로 처리
사용 예시- Google 계정으로 Gmail, YouTube, Drive 자동 로그인
- 회사 인트라넷 → 그룹웨어, 메신저, ERP 자동 연동 등
장점- 사용자: 로그인 반복 없음, 정보 입력 간소화
- 기업: 회원 통합 관리 가능, 마케팅 효율 증가
단점- 하나의 계정 정보가 유출되면 모든 시스템에 피해 가능성 존재
- 보안 강화 필요 (예: MFA, 세션 타임아웃)
항목SSO (Single Sign-On)OAuth (Open Authorization)
주요 목적사용자를 한 번 인증하면 여러 시스템에 자동 로그인 가능하도록 함 (workos.com)다른 서비스의 사용자 데이터를 비밀번호 없이 접근할 권한 위임
인증 vs 권한 위임인증(Authentication) 전용: 사용자의 신원 보증권한 부여(Authorization) 전용: 자원에 대한 접근만 허용
사용 주요 사례기업의 IdP(Okta, ADFS, SAML 등) 통해 여러 서비스 접근사용자 대신 페이스북, 구글 API 접근, 소셜 로그인 등에 사용
프로토콜/표준SAML, Kerberos, OpenID Connect(OIDC 포함)OAuth 2.0 (Bearer Token 기반)
세션 관리 방식인증 후 받은 세션 토큰/쿠키로 여러 도메인 접근 가능Access Token을 발급받아 해당 API에 사용자의 권한으로 접근
토큰 특성ID 토큰 (OIDC), SAML Assertion 등을 사용Access Token 발급, Refresh Token으로 갱신 가능

🧠 CPU 스케줄링 알고리즘 비교

항목SJF (Shortest Job First)RR (Round Robin)SRT (Shortest Remaining Time)
정의실행 시간이 가장 짧은 프로세스를 먼저 실행모든 프로세스에 동일한 시간 할당량을 순환 적용남은 실행 시간이 가장 짧은 프로세스부터 실행
방식비선점형 (Non-Preemptive)선점형 (Preemptive)선점형 (Preemptive)
장점평균 대기 시간 최소화
효율적 CPU 사용
응답 시간이 짧아짐
인터랙티브 시스템에 적합
짧은 작업 빠르게 완료 → 효율적
단점긴 작업이 무한히 지연될 수 있음 (기아 현상)오버헤드 증가
짧은 작업도 지연될 수 있음
잦은 문맥 교환으로 오버헤드 ↑
활용 예시일괄처리 시스템시분할 시스템고급 스케줄링, 실시간 시스템 등
비고실행 시간 예측이 필요함타임 슬라이스 크기 중요준비 큐에서 남은 시간 추적 필요

🧩 UML 구성요소 정리

용어정의 및 역할
관계 (Relationship)사람과 사람 또는 클래스와 클래스 간의 연관성을 나타냄
예: 연관, 집합, 포함, 일반화 등
스키마 (Class)UML에서 표현되는 객체의 설계도이며, 속성(변수), 동작(메서드) 포함
직사각형으로 표현되고, 일반적으로 클래스 다이어그램에 사용됨
인터페이스 (Interface)클래스나 컴포넌트의 외부 행동을 명세하는 구조
단독 사용 ❌, 항상 클래스나 컴포넌트와 함께 사용
보통 "○○able" 형태의 동작 표현

📘 UML 관계(Relationship) 용어 정리

용어기호/표현설명 및 특징
Association (연관)실선 (–), 방향성은 화살표로 표시 가능클래스 간 일반적인 관계
n-ary 가능, 역할과 다중도 추가 가능 (en.wikipedia.org)
Aggregation (집합)비어 있는 다이아몬드 ◇ — 연결 관계“A는 B를 포함하지만 독립적 존재 가능”
예: 학급–학생
Composition (합성)채워진 다이아몬드 ◆ — 연결 관계“A는 B를 소유하며 B 없이 존재 불가”
예: 집–방
Dependency (의존)점선 + 열린 화살표 →A가 B를 일시적으로 종속 (예: 메서드 매개변수)
코드 변경 시 영향 가능
Generalization (일반화)실선 + 빈 삼각형 ▲A는 B의 하위 개념 (is‑a)
상속 관계, “o is a kind of O”
관계 유형다이어그램 기호화살표 방향 & 의미
연관 (Association)실선 ── (양방향) 또는 ─▶ (단방향)화살표: 연관 객체로의 탐색 가능성 표시
양방향: 서로 참조 가능, 단방향: 한쪽만 참조 가능 (visual-paradigm.com)
집합 (Aggregation)비어 있는 다이아몬드 ◇──다이아몬드가 “전체”에 붙고, 방향 있음: 다이아몬드 방향으로 소유 구조 표현
합성 (Composition)채워진 다이아몬드 ◆──마찬가지로 ◆▶, 전체→부분으로 강한 소유 & 생명주기 결합
의존 (Dependency)점선 + 열린 화살표 ── ―▶클라이언트 → 공급자 방향의 일시적/약한 의존 관계
일반화 / 상속 (Generalization)실선 + 빈 삼각형 ──▸서브클래스 → 슈퍼클래스, “is‑a” 상속 관계
실현 (Realization)점선 + 빈 삼각형 `

profile
뭐가될지 모름

0개의 댓글