1. 프로토콜의 기본 요소 3가지
구문, 의미, 타이밍
2. 개체-관계 다이어그램(ERD)의 기본 요소 3가지
개체, 속성, 관계
3. 보안의 3요소
기밀성, 무결성, 가용성
- 기밀성
인가된 사용자에게만 접근이 허용
- 무결성
인가된 사용자만 수정할 수 있음
- 가용성
인가받은 사용자는 언제라도 사용 가능
4. 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 '이상현상'이라고 한다. 이상 현상의 종류 3가지는?
삽입, 삭제, 갱신이상
5. 객체지향프로그램의 특성 3가지 이상
상속, 추상화, 캡슐화, 다형성, 정보은닉
6. 테스트 기반에 따른 테스트 종류 3가지
구조 테스트, 명세 테스트, 경험 테스트
- 구조 테스트 (구문 기반, 결정 기반, 조건 기반 등)
소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트
- 명세 테스트 (동등 분할, 경계값 분석 등)
사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인하는 테스트
- 경험 테스트 (에러 추정, 체크리스트, 등 )
유사 소프트웨어나 기술 등에 대한 테스트 경험을 기반으로 수행하는 테스트
7. 프로그램 실행 여부에 따른 테스트
정적 테스트, 동적 테스트
- 정적 테스트
프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트
(워크스루, 인스팩션, 코드검사 등)
- 동적 테스트
프로그램을 실행하면서 오류를 찾는 테스트
(블랙박스 테스트, 화이트 박스 테스트)
8. 시각에 따른 테스트
검증 테스트, 확인 테스트
- 검증 테스트
개발자의 시각에서 제품의 생산 과정을 테스트 하는 것
- 확인 테스트
사용자의 시각에서 생산된 제품의 결과를 테스트 하는 것
9. UML의 구성요소 3가지
사물, 관계, 다이어그램
- UML
시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
10. IPV4의 전송 방식 3가지
유니캐스트, 멀티캐스트, 브로드캐스트
11. IPV6의 전송 방식 3가지
유니캐스트, 멀티캐스트, 애니캐스트
12. W3C에서 개발, 웹 브라우저간 호환이 되지 않는 문제와 SGML의 복잡함을 해결하기 위해 개발된 다목적 마크업 언어
XML
13. 속성-값으로 이루어진 데이터 오브젝트를 전달하기 위한 표준 포맷, AJAX에서 많이 사용되고, XML을 대체하는 주요 데이터 포맷
JSON
14. 웹 서비스 권리 조건을 표현한 XML기반의 언어
XrML
15. 표준 SQL을 기반으로 Oracle에서 개발한 데이터 조작 언어
PL/SQL (Procedural Languge for SQL)
16. 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부분만을 위한 데이터를 로드하는 기법
AJAX
17. V8(자바스크립트 엔진)으로 빌드된 이벤트 기반 자바스크립트 런타임, 서버 측에서 실행되는 특징을 갖는 기술
Node.js
18. 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션으로 송수신 시스템에 설치되는 어댑터를 사용하는 간접 연계 방식 기술
EAI
- EAI
-Point To Point : 가장 기본적, 변경 재사용 어려움
-Hub & Spoke : 허브 시스템 확장, 유지보수 용이
-Message Bus : 미들웨어를 두고 처리, 뛰어난 확장성
-Hybrid : Hub & Spoke + Message Bus
19. 느슨하게 결합된 서비스 기반 애플리케이션을 구현하기 위한 아키텍처 모델
SOA (서비스 지향 아키텍처)
20. 공격자가 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소를 동일하게 함으로써 공격 대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법
랜드 어택
21. ICMP Echo패킷을 브로드 캐스팅, 희생자에게 대량의 트래픽을 발생시켜 마비시키는 공격 기법
스머핑
22. 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격
제로데이 공격
23. 몸값과 소프트웨어의 합성어, 돈 지급 강요하는 악성 코드
랜섬웨어
24. 특정 타겟을 목표, 지능적인 맞춤형 공격, 지속적으로 정보 수집, 취약점을 분석하여 피해를 주는 공격 기법
APT 또는 지능형 지속 공격
25. 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 해서 특정 웹페이지를 보안에 취약하게 하거나 수정, 삭제 등의 작업을 하게 만드는 공격기법
CSRF (Cross Site Request Forgery)
26. 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함, 원격에서 공격 개시
DDoS (Distributed Denial of Service)
27. 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하는 공격
DOS
28. 공격용 툴깃, 키로커를 은밀히 설치시켜 불법적으로 정보를 수집, 온라인 상에서 불법 활동을 조장하기 위해 만들어진 컴퓨터 프로그램
크라임웨어
29. 정보시스템의 침입자를 속이는 기법의 하나, 가상의 정보 시스템을 만들어 놓고 실제로 공격을 당하는 것처럼 보이게 하여 해커나 스팸, 바이러스를 유인하여 침입자들의 정보를 수집하고 추적하는 역할을 수행하는 것
허니팟
30. 정해진 메모리의 범위를 넘치게 해서 원래의 리턴 주소를 변경 시켜 임의의 프로그램이나 함수를 실행 시키는 시스템 해킹 기법
버퍼 오버플로우
31. 요청 헤더의 Content-length를 비정상적으로 크게 설정하는 공격
RUDY
32. 공격자가 자신의 인터넷 프로토콜 주소를 변조하거나 속여서 접근 제어 목록을 우회 하거나 회피하여 공격하는 기술, 변조된 IP 주소 이용
IP 스푸핑
33. RFC 1321로 지정, MD4를 대체하기 위해 고안된 128비트 암호화 해시 함수
MD5
34. 56bit의 키를 이용하여 64bit의 평문 블록을 64bit의 암호문 블록으로 만드는 블록 암호 방식
DES
<대칭키>
- 블록 암호
-DES : 54bit의 키와 64bit의 블록
-AES : DES를 대체하는 알고리즘
-SEED : 128bit, KISA 구현, 고속 블록
- 스트림 암호
-RC4
<비대칭키>
- RSA : 소인수 분해의 어려움을 이용하여 암호화
<해시키>
35. 공개키 암호 방식, 디지털 인증서를 활용하는 소프트웨어, 하드웨어, 사용자, 정책 및 제도 등을 총칭하는 암호 기술
PKI 또는 공개키 기반 구조
36. 무결성과 인증을 보장하는 인증헤더와 기밀성을 보장하는 암호화를 이용한 프로토콜
IPSec
37. 터널링 기법을 사용해 인터넷과 같은 공중망에서 전용 회선을 구성한 것과 같은 효과를 내는 가상 네트워크
VPN
38. 역공학을 통한 보안취약점 공격에 대한 방지기술, 원래 코드를 읽기 어렵게 만드는 기술
코드 난독화
39. 객체에 포함된 정보의 비밀성과 이러한 비밀성의 접근정보에 대하여 주체가 갖는 권한에 근거하여 객체에 대한 접근을 제한하는 접근제어 정책
MAC
40. 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화된 보안 장비
WAF 또는 웹 방화벽
41. 내부 정보 유출 방지, 기업 내에서 이용하는 다양한 주요 정보인 기술 정보, 프로젝트 계획, 사업 내용 등을 보호하고 외부 유출을 방지하기 위해서 사용하는 보안 기술
DLP 또는 데이터 유출 방지
42. 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리를 용이하게 하여 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법
모듈화
43. 하나의 릴레이션에서 속성(열)의 전체 개수를 ( )이라고 하고, 튜플(행)의 전체 개수를 ( ) 이라고 한다.
차수, 카디널리티
44. 프레임워크 특징 4가지
모듈화, 재사용성, 확장성, 제어의 역흐름
45. 다음이 설명하는 제품 패키지 릴리즈 노트의 작성 항목은 무엇인가
(문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등의 정보)
헤더
46. 다음이 설명하는 제품 소프트웨어 사용자 매뉴얼 작성 항목
(버전, 작성자, 작성일, 검토자, 일시, 검수인 등을 일자별로 기록)
문서 이력 정보
47. UI 화면 설계를 위해서 정책이나 프로세스 및 콘텐츠의 구성, 와이어 프레임, 기능에 대한 정의, 데이터베이스의 연동 등 구축하는 서비스를 위한 대부분의 정보가 수록된 문서
스토리보드
48. OSI계층 중 비트를 전송하는 계층은 무엇인가
물리 계층
49. OSI 7계층 중 2계층에 해당하는 데이터링크에서 사용하는 전송 단위
프레임
50. 어떤 네트워크 안에서 통신 데이터를 보낼 경로를 선택하는 과정, 패킷 스위칭 네트워크에서 패킷 전달 및 일반적으로 라우터, 브릿지, 게이트웨이, 방화벽 또는 스위치로 불리는 중간 노드를 거쳐 출발지로부터 최종 목적지까지 논리적으로 주소가 부여된 패킷의 변환을 총괄하는 기능의 이름
라우팅
51. 자바에서 데이터베이스 SQL을 실행하기 위해 데이터베이스를 연결해주는 응용 프로그램 인터페이스
JDBC
52. 자율 시스템 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 통신 규약, 최대 홉 수 15개 제한한 라우팅 프로토콜
RIP
53. RIP의 문제점을 개선하기 위해 개발된 통신규약, RIP보다 대규모로 복잡한 통신망에서 운용을 상정한 규격으로 되어있는 프로토콜
IGRP
54. 링크 상태 알고리즘 기반으로 최단 경로를 찾는 라우팅 프로토콜
OSPF
55. 인터넷 상에서 HTTP를 통해 클라이언트/서버 환경에서 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어, Server단에서 Application을 동작할 수 있도록 지원하는 서버
WAS
56. 운영체제와 소프트웨어 Application 사이에서 원만한 통신이 이루어질 수 있도록 중개 및 제어 역할을 하는 소프트웨어
미들웨어
57. MySQL 데이터베이스 기반으로 제작하는 GPL 오픈 소스 데이터베이스
Maria DB
58. 자바 기반 웹서버 구성, was의 일종
Tomcat
59. 전통적인 관계형 데이터베이스 관리시스템과는 다른 DBMS를 지칭하기 위한 용어, 수평적으로 확장이 가능한 DBMS
NoSQL
60. 애플리케이션의 성능을 측정하기 위한 지표
처리량, 응답시간, 경과시간, 자원 사용률
- 처리량
애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수
- 응답시간
사용자 입력이 끝난 후, 애플리케이션의 응답출력이 개시될 때 까지의 시간
- 경과시간
애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션 처리 후 그 결과의 출력이 완료될 때까지 걸리는 시간
- 자원 사용률
애플리케이션이 트랜잭션을 처리하는 동안 사용하는 cpu 사용량, 메모리 사용량, 네트워크 사용량
61. 개발 방법론 중 폭포수 모델의 변형인 v모델은 테스트 단계를 추가 확장하여 테스트 단계가 분석 및 설계와 어덯게 관련되어 있는지를 나타낸다. 테스트 단계를 순서는?
단위테스트 - 통합테스트 - 시스템테스트 - 인수테스트
62. 업무 중단 시점부터 업무가 복구되어 다시 정상 가동될 떄까지의 시간
RTO 또는 재해 복구 시간
63. 기업이 재해/재난으로부터 타격을 입은 뒤 업무를 어떻게 복구하는지에 대한 계획
BCP
64. 정보시스템 기반 구조의 전체 또는 일부를 재해가 발생한 곳과 다른 위치에 구축하고 재해가 발생하였을 경우 이를 신속하게 복구하여 비즈니스에 대한 영향을 최소화 하기 위한 제반 계획 및 시스템
DRS 또는 재해 복구 시스템
65. 상당히 오랜 기간동안 지속적으로 정상 운영이 가능한 성질
HA
66. 온톨로지를 활용한 자동화 웹
시멘틱 웹
67. 전 세계 오픈된 정보를 하나로 묶는 방식. link data + open data 의 합성어
LOD (Linked Open Data)
68. 사용자 정보를 유지하기 위한 질의 및 디렉터리 서비스의 등록, 수정, 삭제 및 검색을 위한 목적으로 개발한 인터넷 프로토콜
LDAP
69. 조직 내외부 복수 출처의 원천 시스템으로부터 데이터를 추출하고 변환하는 작업을 거쳐서 목적 시스템으로 전송 및 로딩하는 데이터 이동 프로세스
ETL
70. 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기술
AR
71. 데이터베이스 소스 시스템의 변경된 데이터를 캡쳐하여 다양한 운영 및 분석 시스템으로 실시간 전달하는 기술
CDC
72. 하나의 물리적인 네트워크 인프라를 서비스 형태에 따라 다수의 독립적인 가상 네트워크로 분리하여 서로 다른 특성을 갖는 다양한 서비스들에 대해 각 서비스에 특화된 전용 네트워크를 제공해주는 기술
네트워크 슬라이싱
73. 변화에 유연~ 방법론
애자일 방법론
74. 소프트웨어 개발 단계를 시간의 흐름에 따라 네 개의 범주로 나누고, 각 범주에는 요구사항 도출로부터 설계, 구현, 평가까지의 개발 생명주기가 포함되어 있는 방법론
UP 방법론
75. 7가지 보안 강화 활동을 정의한 소프트웨어 방법론
Seven TouchPoints
76. 애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구
정적 분석 도구
77. 사전에 정의된 코드 작성 규칙 기반으로 소스코드를 점검하여 작성 규칙에 위반되는 소스 코드를 추출하는 분석 도구
코드 인스팩션
78. 소스 코드나 빌드 스크립트 상에 아이디나 패스워드를 직접 작성하는 것
하드 코딩
79. 선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완하는 테스트
베타 테스트
80. 모듈의 기능은 수정하지 않고 내부적으로 구조, 관계 등을 단순화하고, 유지보수성을 향상 시키는 기법
리팩토링
81. 조직의 표준 프로세스를 커스터마이징하여 프로젝트의 비즈니스적으로 또는 기술적인 요구에 맞게 적합한 프로세스를 얻는 과정
테일러링
82. 테스트 결과가 참인지 거짓인지 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법
테스트 오라클
83. 복잡한 인스턴스를 조립하여 만드는 구조, 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있는 디자인 패턴
빌더
84. 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조 할 수 있도록 하는 패턴
싱글톤 패턴
85. 클래스 설계 관점에서 객체의 정보를 저장할 필요가 있을 때 적용하는 디자인패턴으로 undo 기능을 개발할 때 사용되는 디자인 패턴
메멘토 패턴
86. 기존에 구현되어 있는 클래스에 그때 그때 필요한 기능을 추가해 나가는 설계 패턴, 상속의 대안으로 사용하는 디자인 패턴
데코레이터 패턴
87. 처음부터 일반적인 원형을 만들어 놓고, 그것을 복사한 후 필요한 부분만 수정하여 사용하는 디자인 패턴
프로토타입 패턴
88. 파일럿을 뜻하는 그리스어에서 유래한 용어, 리눅스 재단에 의해 관리되는 컨테이너화된 애플리케이션의 자동 배포, 스케일링 등을 ㅔㅈ공하는 오픈소스 기반의 관리 시스템
쿠버네티스
89. 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어, 아파치 하둡으로 대표되는 소프트웨어 프레임워크
맵 리듀스
90. 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보를 xml형태로 구현한 기술
WSDL
91. HTTP URL을 통해 자원을 명시하고, HTTP 메소드(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 생성, 조회, 갱신, 삭제 등의 명령을 적용할 수 있는 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처
REST
92. 웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소
UDDI
93. 소프트웨어 개발 과정에서 변경 사항을 관리하는 기법
형상관리
94. 형상 관리의 절차
형상 식별 -> 형상 통제 -> 형상 감사 -> 형상 기록
95. 형상관리에서 사용하는 용어, 관리 대상을 형상관리 시스템으로 일괄 전송하여 압축, 암호화 한 후에 파일의 현재버전과 변경 이력 정보를 저장하는 저장소
Repository
96. 물리적인 사물과 컴퓨터에 동일하게 표현되는 가상 모델, 실제 물리적인 자산 대신 소프트웨어로 가상화함
디지털 트윈
97. 가상 물리시스템으로 인간의 개입 없이 대규모 센서/엑추에이터를 갖는 물리적인 요소들과 통신기술, 응용/시스템 소프트웨어 기술을 활용하여 실시간으로 물리적 요소들을 제어하는 컴퓨팅 요소가 결합된 복합 시스템
CPS
98. 입력 데이터의 영역을 유사한 도메인별로 유효 값 /무효값을 그룹핑하여 대표 값을 테스트 케이스로 도출하여 테스트하는 기법
동등 분할 테스트
99. 정상적인 사용자로 하여금 자신의 의지와는 무관하게 게시판 설정 변경 등 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 기법
CSRF
100. 실세계에 존재하는 모든 개념들과 개념들의 속성, 그리고 개념들간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해놓은 개념화 명세서
온톨로지
101. 기업의 내부 환경과 외부 환경을 분석하여 강점, 약점, 기회, 위협 요인을 규정하고 이를 토대로 경영 전략을 수립하는 방법
SWOT 분석
102. 전송 계층에 위치, 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥탯을 안정적으로 순서대로 에러없이 교환할 수 있게 해주는 프로토콜
TCP
103. 논리적으로 분할된 스위치 네트워크나 가상 기능을 가진 LAN 스위치 또는 ATM 스위치를 사용해서 물리적인 배선에 구애받지 않고 브로드캐스트 패킷이 전달되는 범위를 임의로 나누는 네트워크 기술
VLAN
104. 웹과 같은 분산 하이퍼 미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP메소드로 주고받는 웹 아키텍처를 뜻하는 용어
REST
105. 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술
Secure DB
106. 소프트웨어 개발 보안 생명주기
요구사항 명세 -> 설계 -> 구현 -> 테스트 -> 유지보수
107. 응용계층과 TCP/IP 계층 사이에서 웹 데이터 암호화 및 전송 시 기밀성을 보장하는 공개키 기반의 보안 프로토콜
SSL/TLS