정보처리기사 실기 2020년 2회-2 정리

DSeung·2022년 5월 4일
0

정보처리기사

목록 보기
12/18

11. 리눅스 커널을 기반으로 동작하며 자바의 코틀린 언어로 개발된, 모바일 기기에 주로 사용되는 오픈소스 플랫폼인 운영체제는 무엇인지 쓰시오.

정답 : 안드로이드(Android)

해설 :

안드로이드 : 코틀린, 자바
IOS : 오브젝트-C, 스위프트


12. 다음 주어진 student 테이블의 name 속성에 idx_name를 인덱스 명으로 하는 인덱스를 생성하는 SQL문을 작성하시오.

정답 : CREATE INDEX idx_name ON student(name);

해설 :

인덱스

CREATE INDEX index명 ON 테이블명(column명);

CREATE [OR REPLACE, 선택] VIEW 뷰 이름 AS 쿼리
ex) CREATE OR REPLACE VIEW view명 
		AS SELECT * FROM table명;

13. 다음 괄호안에 들어갈 프로토콜의 이름을 적으시오.

(              )은(는) HTTP 등의 프로토콜을 이용하여 XML 기반의 메시지를 교환하는 프로토콜로, 
Envelope-Header-Body 주요 3요소로 구성된다. (              )은(는) 유사한 
기능을 하는 RESTful로 대체될 수 있다.

정답 : SOAP

해설 :

  • WSDL(Web Services Description Language) : 웹 서비스가 제공하는 서비스에 대한 정보를 기술하기 위한 XML 기반의 마크업 언어
  • UDDI(Universal Description, Discovery and Integration) : 웹 서비스에 대한 정보를 게시하고 검색하고 목록을 제공할 수 있도록 하는 XML 기반의 구조화된 레지스트리
  • SOAP(Simple Object Access Protocol) : HTTP 등의 프로토콜을 이용해 XML 기반의 메시지를 교환하는 프로토콜

14. 소프트웨어 보안 취약점 중 하나인 SQL Injection에 대해 간략히 설명하시오.

정답 : 웹 페이즈의 입력값을 통해서 SQL 명령어를 주입하여 오작동을 일으키는 해킹방법

해설 :

아래와 같은 대상을 공격하고자 하면

select * from users where username = ' +username+ ' and password = ' +password+'

이것 처럼 하면된다

select * from users where username = '1' or 1=1 -- ' and password = ''

아이디에 '1' or 1=1 --을 넣음으로써 usernaem = '1' or 1=1 조건을 만족함과 동시에 패스워드 체크 및 그 뒤에 조건문을 주석처리 할 수 있음


15. 다음은 사용자 인터페이스 설계 원칙에 대한 설명이다. 괄호안에 들어갈 설계 원칙을 적으시오.

ㅇ 직관성: 누구나 쉽게 이해하고 사용할 수 있어야 한다. 
ㅇ (        ): 사용자의 목적을 정확하게 달성하여야 한다. 
ㅇ 학습성: 누구나 쉽게 배우고 익힐 수 있어야 한다. 
ㅇ 유연성: 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다.

정답 : 유효성

해설 :

UI의 기본원칙

  • 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 한다.
  • 유효성 : 사용자의 목적을 정확하게 달성하여야 한다.
  • 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 한다.
  • 유연성 : 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다.

UI 설계 도구
와이어 프레임

  • 기획 초기 단계에서 제작하는 것으로 페이지에 대한 대략적인 레이아웃이나 UI 요소 등에 대한 뼈대를 설계

목업

  • 와이어프레임보다 좀 더 실제 화면과 유사하게 만든 정적인 형태의 모형

스토리보드

  • 와이어프레임 콘텐츠에 대한 설명이나 페이지 간 흐름 등을 추가한 문서
  • 디자이너와 개밸자가 최종적으로 참고하는 작업 지침서

프로토타입

  • 와이어프레임이나 스토리보드 등에서 인터렉셔을 적용해 실제 구현한 것처럼 테스트가 가능한 동적인 형태의 모형
  • 작성 방법에 따라 페이터/디지털 프로토타입으로 나뉨

유스케이스

  • 사용지 측명에서의 요구사항으로 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술하는표준 방법
  • 관련 도구 : UML 다이어그램

UX와의 차이

  • UI의 주요 평가항목 : 사용성/접근성/편의성
  • UX의 주요 평가항목 : 몰입도/만족도/재접근률
    => 주로 UI/UX로 묶임

16. 리눅스 운영체제에서 현재 디렉터리에 위치한 "a.txt"에 아래의 조건대로 권한을 부여하고자 한다. 실행해야 하는 명령어를 적으시오.

ㅇ 사용자에게 읽기,쓰기 실행 권한 부여
ㅇ 그룹에게 읽기, 실행 권한 부여
ㅇ 그 외에게 실행 권한 부여
ㅇ 한 줄의 명령어로 작성하며, 아라비안 숫자를 사용하여 8진수 권한으로 부여

정답 :

chmod 751 a.txt

해설 :

차례대로
4 = 읽기, 2 = 쓰기, 1 = 실행의 값을 의미


17. 다음에서 설명하는 용어를 영문 완전 이름(Full-name)으로 적으시오.

ㅇ 전세계 오픈된 정보를 하나로 묶는 방식
ㅇ Linked data와 Open data의 합성어
ㅇ URI(Uniform Resource Identifier)를 사용
ㅇ RESTful 방식으로 볼 수 있으며, 링크 기능이 강조된 시멘틱 웹에 속하는 기술

정답 : LOD

해설 :

LOD(Linked Open Data) : 웹상에서 존재하는 데이터를 개별 URI(Uniform Resource Identifier)로 식별하고 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형

  • 시멘틱 웹이 표방하는 데이터 웹을 구체적으로 구현하는 방법으로 팀 버너스리가 2006년에 제안
  • 인터넷상의 각 사이트에서 RDF(Resource Description Framework으로 XMl, Json처럼 구조화된 데이터를 통해 컴퓨터가 이해하기 쉽게 표현하고자 함) 형식 데이터를 RESTful 프로토콜을 사용하여 정형화된 형태로 제공

18. 다음은 데이터베이스 설계(모델링) 과정을 간략히 표현한 것이다. 괄호 안에 들어갈 내용을 순서대로 나열하시오.

정답 : 개념 모델링 - 논리 모델링 - 물리 모델링

해설 :

데이터 모델링 단계

단계 설명 산출물
요구사항 정의 목표 기능을 위한 데이터적 요구사항 정의 및 분석 요구사항 명세서
개념 모델링 핵심 엔티티 도출 및 관계를 개념적으로 정의 개념 ERD(Entity Relationship Diagram)
논리 모델링 데이터 구조, 연산, 제약조건을 정확하게 표현 상세 ERD, 테이블 정의서
물리 모델링 구현할 DBMS를 기준으로 스키마 설계 DDL Query
데이터베이스 구현 실제 테이블 생성 및 스키마 구현 데이터베이스

19. 다음 자바(Java) 프로그램을 실행한 출력 결과를 쓰시오.

class A {
    int a;
    public A(int n) {
        a = b;
    }
    public void println("a="+a);
}
class B extends A {
    public B(int n) {
        super(n);
        super.println();
    }
}
public class Exam {
    public static void main(String[] args) {
        B obj = new B(10);
    }
}

정답 : a=10

해설 : A 클래스의 println을 사용


20. 다음 보기에서 설명하는 것으로 가장 적절한 것은?

소프트웨어 개발 과정에서 산출물 등의 변경에 대비하기 위해 반드시 필요하다. 
소프트웨어 리사이클 기간 동안 개발되는 제품의 무결성을 유지하고 소프트웨어의 
식별, 편성 및 수정을 통제하는 프로세스를 제공한다. 
실수를 최소화하고 생산성의 최대화가 궁극적인 목적이다. 
관련 도구로는 CVS, SVN, Clear Case 등이 있다.

정답 : 형상 관리

해설 :

형상 관리(Configuration Management), SCM(Software Configuration Management)
소프트웨어 SDLC(Software Development Life Cycle) 전 단계에서 소프트웨어의 변경을 통제하고 변경요구를 제도적으로 수렴하는 일련의 활동


profile
블로그에 글을 쓰고 좋은 건 여기로 공유해서 검색엔진을 쪽쪽 빱니다.

0개의 댓글