공부기록

공부기록, 2021-04-24(정보처리 기사)

이재연 2021. 4. 24. 12:36

살충제 패러독스

(Pesticide Paradox)

동일한 테스트 케이스로 반복 실행하면 더이상 새로운 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 점검하고 개선해야 한다.

데이터 마이닝

(Data Mining)

많은 데이터 가운데 숨겨져 있는 유용한 상관관계를 발견하여, 미래에 실행 가능한 정보를 추출해 내고 의사 결정에 이용하는 과정을 말한다.

XML(eXtensible Markup Language; 확장성 생성 언어)

웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위하여 개발된 다목적 마크업 언어

JSON(JavaScript Object Notation)

속성-값 쌍(attribute-value pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷이다. AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이다. 언어 독립형 데이터 포맷으로 다양한 프로그래밍 언어에서 사용되고 있다.

트랜잭션 특성-원자성

(Atomicity)

모두 반영되거나 아니면 전혀 반영되지 아니어야 된다.

트랜잭션 특성-일관성

(Consistency)

트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있게 DB 상태로 변환한다.

트랜잭션 특성-독립성, 격리성(Isolation)

둘 이상의 트랜잭션이 동시에 별행 실행되고 있을 때 또 다른 하나의 트랜잭션의 연산이 끼어들 수 없다.

트랜잭션 특성-영속성, 지속성(Durability)

트랜잭션의 결과는 영구적으로 반영한다.

LAND 공격(Local Area Network Denial Attack)

공격자가 패킷의 출발지 주소(Address)나 포트(Port)를 임의로 변경하여 출발지와 목적지 주소(또는 포트)를 동일하게 함으로써, 공격 대상 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법. 수신되는 패킷 중 출발지 주소(또는 포트)와 목적지 주소(또는 포트)가 동일한 패킷들을 차단함으로써 이 공격을 피할 수 있다.

MD5

128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지 확인하는 무결성 검사 등에 사용된다. 1991년에 로널드 라이베스트(Ronald Rivest)가 예전에 쓰이던 MD4를 대체하기 위해 고안했다.

OSI7계층-물리 계층

매체 간의 인터페이스: 전기적, 기능적, 절차적 기능 정의

반정규화(Denormalization)

정규화된 데이터 모델이 시스템의 성능 향상, 개발 과정의 편의성, 운영의 단순화를 목적으로 수행되는 의도적인 정규화 원칙 위배 행위를 의미한다. → 데이터 모델을 중복(추가), 통합(병합), 분리(분할)하는 과정

목표 복구 시간(RTO; Recovery Time Objective)

비상사태 또는 업무 중단 시점부터 업무를 복구하기 위한 목표 시간

에이잭스(AJAX; Asynchronous Javascript And XML, 비동기식 자바 스크립트 XML)

자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술이다. 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법이다.

애자일 방법론

고객의 요구사항 변화에 유연하게 대응하기 위해 일정한 주기를 반복하면서 개발하는 방법론이다. 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론이다.

IP 보안 프로토콜(IPsec; Internet Protocol Security)

망 계층(Network Layer)인 인터넷 프로토콜(IP)에서 보안성을 제공해 주는 표준화된 기술

정적 분석 도구(Static Analysis Tools)

작성된 소스 코드를 실행시키지 않고, 코드 자체만으로 코딩 표준 준수 여부, 코딩 스타일 적정 여부, 잔존 결함 여부를 확인하는 코드 분석 도구이다.

Observer 패턴

한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(One-To-Many) 의존성을 가지는 디자인 패턴

안드로이드(Android)

안드로이드는 리눅스 커널 위에서 동작하며, 자바와 코틀린으로 앱을 만들어 동작한다. 또한 다양한 안드로이드 시스템 구성 요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다.

SOAP

네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신규약으로, SOAP 대신 레스트 풀(Restful) 프로토콜로 대체할 수 있다.

SQL 주입 공격(SQL Injection)

웹 클라이언트의 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격. 웹 응용 프로그램에 강제로 SQL 구문을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회할 수도 있다.

UI 설계 원칙-직관성

누구나 쉽게 이해하고 사용할 수 있어야 한다.

UI 설계 원칙-유효성

사용자의 목적을 정확하게 달성하여야 한다.

UI 설계 원칙-학습성

누구나 쉽게 배우고 익힐 수 있어야 한다.

UI 설계 원칙-유연성

사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다.

LOD(Linked Open Data, 개방형 링크드 데이터)

연계 데이터(Linked data)와 오픈(Open data)가 결합된 단어로, 웹에 게시되는 데이터에 식별자(URI)를 부여하고 관련 정보를 구조적으로 제공하는 연계 데이터를 저작권 없이 무료로 제공하여 사용자가 정보를 다양하고 효율적으로 활용할 수 있도록 한다.

형상 관리

소프트웨어 생산물(프로그램, 문서, 데이터 등)을 확인하고 소프트웨어 통제, 변경 상태를 기록하고 보관하는 일련의 작업

PPP(Point to Point)

두 대의 컴퓨터가 직렬 인터페이스를 이용하여 통신을 할 때 사용하는 프로토콜

Hub & Spoke

단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식

Message Bus

애플리케이션 사이에 미들웨어를 두어 처리하는 방식

OSPF(Open Shortest Path First, 최단 경로 우선 프로토콜)

Link State 방식(링크 상태 알고리즘) 사용하는 프로토콜로 인터넷 망에서 이용자가 최단 경로를 선정할 수 있도록 라우팅 정보에 노드 간의 거리 정보, 링크 상태 정보를 실시간으로 반영하여 최단 경로 라우팅을 지원하는 프로토콜이다.

프로토콜(Protocol)

심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지가 재전송하는 일련의 방법을 가리켜 '기술적 은어'라는 뜻으로 프로토콜이라 불렀다.

헝가리안 표기법

마이크로소프트(Microsoft)의 찰스 시모니(Charles Simonyi)가 개발 책임자로 있을 때 제안한 것으로, 컴퓨터 프로그래밍에서 변수 및 함수의 이름 인자 앞에 데이터 타입을 명시하는 코딩 규칙이다.

스키마(Schema)

데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것(설계도). 데이터베이스를 구성하는 데이터 개체(Entity), 이들의 속성(Attribute), 이들 간에 존재하는 관계(Relationship), 그리고 데이터의 조작 또는 이들 데이터 값들이 갖는 제약조건에 관한 정의를 총칭하는 용어

생성자(Construct) 메소드

객체 생성 시 초기화 작업을 위한 함수로써, 객체를 생성할 때 반드시 호출되고, 제일 먼저 실행된다.

형상 통제

산출물의 변경사항을 버전별로 관리하여 목표 시스템의 품질 향상을 지원하는 활동

ICMP(Internet Control Message Protocol)

서버와 게이트웨이 사이에서 메시지를 제어하고 알려주는 프로토콜

리팩토링(Refactoring)

코드의 외부 행위는 바꾸지 않고 내부 구조를 개선시켜 소프트웨어 시스템을 변경하는 프로세스. 즉, 기능을 추가해서는 안되고 단지 코드의 구조에만 신경 써 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것

DIVISION (÷)

X ⊃ Y 인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성 값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산

스니핑(Sniffing)

네트워크의 중간에서 남의 패킷 정보를 도청하는 해킹 유형의 하나

가용성(Avilability)

정보 자산에 대해 적절한 시간에 접근 가능한 것을 의미한다.(ex. 24시간 편의점은 밤이든 낮이든 무엇인가 필요할 때 항상 얻을 수 있다.)

하둡(Hadoop)

대량의 자료(Big Data)를 처리할 수 있는 큰 컴퓨터 클러스터(많은 양의 계산을 하거나 데이터를 저장하기 위해 여러 대의 컴퓨터를 하나로 묶어 놓은 것을 말한다.) 에서 동작하는 분산 응용 프로그램을 지원하는 자유 자바 소프트웨어 프레임워크(오픈 소스 기반의 분산 컴퓨팅 플랫폼)

IPv6(Internet Protocol version 6)

IPv4 주소공간을 4배 확장한 128비트 인터넷 주소 체계

UNIX

1960년대 말에 미국 AT&T 벨(Bell) 연구소에서 개발한 운영체제이다. 원래 워크스테이션/서버용이었지만, 데스크탑이나 임베디드용으로도 쓰인다. UNIX는 컴퓨터 역사상 가장 중요한 운영체제라고 할 수 있다. 이는 무엇보다도 처음으로 어셈블리가 아니라 C언어라는 고급 프로그래밍 언어로 커널까지 작성된 운영체제이다. UNIX는 고급 언어인 C언어로 개발되었기 때문에 다른 하드웨어로 이식하기 쉬웠으며, 멀티태스킹 기술을 도입하여 여러 사용자가 동시에 사용할 수 있게 되었다. 유닉스 이후 시스템 프로그래밍 언어의 업계 표준이 된 C언어가 원래 UNIX를 프로그래밍하기 위해 개발된 것이다.

NAT(Network Address Translation, 네트워크 주소 변환)

사설 IP주소를 공인 IP주소로 바꿔주는데 사용하는 통신망의 주소 변환기이다.

즉시 갱신(Immediate Update) 기법

트랜잭션 수행 도중에 데이터 변경이 생기면 즉시 데이터베이스에 해당 변경 사항을 반영

블록체인(BlockChain)

온라인 금융 거래 정보를 블록으로 연결하여 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, peer)들의 개인 디지털 장비 분산·저장시켜 공동으로 관리하는 방식. 거래장부를 공개하고 분산해 관리한다는 의미에서 '공공 거래장부'나 '분산 거래장부(Distributed Ledgers)'로도 불린다.

동치(동등) 분할 검사(Equivalence Partitioning)

입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법

패키지 다이어그램(Package Diagram)

시스템의 서로 다른 패키지들 사이의 의존 관계를 표현하기 위한 다이어그램

[출처] [2020년] 정보처리기사 실기 기출 용어 정리|작성자 기사퍼스트