1. RAID  단계: 0 단계

패리티( 오류 검출 기능)가 없는 중복 없는 스트라이핑( 줄무늬)된 세트 구성 

개선된 성능에 추가적인 기억장치를 제공하는 장점이 잇고, 장애시 데이터의 안전을 보장할 수 없다. 

 디스크 재사용, 데이터 보호
RAID 0 시험  스트라이핑( 줄무늬)  
RAID 1 시험 미러링(거울)  
RAID 2   공간 다수 차지  , 에러 정정위한 디스크 추가 필요 사용안함
RAID 3,4   3 - 바이트 단위, 4 - 블록단위   
RAID 5 시험 분산되어서 데이터 저장  많이 사용된다. 
RAID 6   패리트가 분상되어서 두번 들어간다.  

 

2. DB 트랜잭션 연산 찾아 적기

 

Redo : 장애 발생전 DB 복구하는 기법으로 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(Start)과 완료( Commit)에 대한 기록이 있는트랜잭션들의 작업을 재실행하는 기법 

Undo :  장애 시 디스크에 저장된 로그를 분석하여 트랜잭션의 시작은 있지만 완료기록이 없는 트랜잭션들의 작업한 변경 내용을 모두 취소하는 기법 

 

Rollbank :  트랜잭션 이전으로 변경 

Checkpoint Recovery : 장애가 발생  특정 시점 되돌리기 

Shadow Paging Recovery : 

 

회도체크 ( 로그

 

3.자바코드  출력결과 

계산한 값 >> 2000 

 

4. 점수에 대해 내림차순 sql  작성 (sql  대소문자 상관없음)

 

SELECT name,score

FROM 성적

( ORDER) BY ( score)(DESC)

 

5. 이상현상 중 삭제이상 대해 서술 (키워드 중심 )

삭제 이상 : 원치 않는 데이터 같이 삭제 

 

- 데이터 삭제시 원하지 않은 데이터가 같이 삭제되는 현상  : 삽삭

'자격증 > 정처기_실_기출' 카테고리의 다른 글

22년 2회 1~10번  (0) 2023.05.03
22년 1회 6 ~20번  (0) 2023.05.03


desc comm_board_cd_tb;
desc comm_mem_tb;

-- 회원 목록 조회 
select *from comm_mem_tb cmt ;

-- 게시판 목록 조회 
select *from comm_board_cd_tb cbct;

-- 게시판  보드코드, 게시판 코드, 보드 이름  입력 
INSERT INTO itkey_comm_dev.comm_board_cd_tb
(board_no, board_cd, board_name)
VALUES(10, 'NT', '공지사항');
INSERT INTO itkey_comm_dev.comm_board_cd_tb
(board_no, board_cd, board_name)
VALUES(11, 'RQ', '요청건의');
INSERT INTO itkey_comm_dev.comm_board_cd_tb
(board_no, board_cd, board_name)
VALUES(12, 'QA', '질문게시판');
INSERT INTO itkey_comm_dev.comm_board_cd_tb
(board_no, board_cd, board_name)
VALUES(13, 'TP', '팁게시판');


-- 게시판 관련 전체목록 
select *from comm_post_tb ;

-- 게시판 리스 조회(요청건의, 질문, 팁 ) 
select *from comm_post_tb where board_no = 11; 
select *from comm_post_tb where board_no = 12; 
select *from comm_post_tb where board_no = 13; 

-- 글작성 : 요청 건의 게시판 글쓰기 (입력 문)
INSERT INTO itkey_comm_dev.comm_post_tb
(mem_idx, board_no, post_title, post_contents, post_view_count, post_reg_date, post_pbl_yn, post_del_yn)
VALUES(3, 11, '요청제목5', '요청문의를  드립니다. ', 0, CURRENT_TIMESTAMP, 'Y', 'N');

--  질문게시판 글쓰기 
INSERT INTO itkey_comm_dev.comm_post_tb
(mem_idx, board_no, post_title, post_contents, post_view_count, post_reg_date, post_pbl_yn, post_del_yn)
VALUES(1, 12, '질문제목1', '회사 간식을 언제즘 채워질까요?', 0, CURRENT_TIMESTAMP, 'Y', 'N');

--  팁게시판 글쓰기 
INSERT INTO itkey_comm_dev.comm_post_tb
(mem_idx, board_no, post_title, post_contents, post_view_count, post_reg_date, post_pbl_yn, post_del_yn)
VALUES(1, 13, '인터뷰팁1', '자신감을 가지고 인터뷰 잘하면 합격율이 올라갑니다. ', 0, CURRENT_TIMESTAMP, 'Y', 'N');

--  글수정
UPDATE itkey_comm_dev.comm_post_tb
SET post_title='요청제목5', post_contents='내용을 수정한다.1'
WHERE post_idx=33  and board_no ='11' ;

select *from comm_post_tb where  post_idx=33; 

--  글 삭제 ( update 문으로 진행)
UPDATE itkey_comm_dev.comm_post_tb
SET  post_del_yn='Y'
WHERE post_idx=33 and board_no ='11';

-- 글 상세 
SELECT post_idx, mem_idx, file_idx, board_no, post_title, post_contents, post_view_count, post_reg_date, post_pbl_yn, post_del_yn
FROM itkey_comm_dev.comm_post_tb
WHERE post_idx=33 ;


--  게시판 작성글 갯수 구하기 
select count(1) from comm_post_tb cpt 
where  post_idx > 0 and  post_del_yn='N';

-- 글 갯수 조회 ( 요청게시판 갯수 구하기)
select count(1) from comm_post_tb cpt 
where  board_no ='11' > 0 and  post_del_yn='N';

21년 8월

 

1# 요구사항 검증(Requirements Validation)

>> 요구사항 검증 과정을 통해 모든 문제점을 발견할 수는 없다. 

Requirements Validation(요구사항 검증)
- 실제로 고객이 원하는 바를 정의했는지를 보이는것

- 검증이 중요한이유는 시스템을 개발하거나, 시스템이 운영 중일 경우에 발견되면 방대한 재작업 비용이 발생된다. 

- 시스템을 변경하여 요구사항 문제를 수정하는 비용은 설계및 코딩오류에 비하여 비용이 많이 소요된다. 

( 시스템 설계 및 구현 변경 및 다시 테스트해야하기 때문)

Requirements Checklist(요구사항 체크리스트)
유효성(Validity): 고객의 필요를 충족하는 기능을 제공하는지(요구한것이 맞는지)
일관성(Consistency): 충돌하는 요구사항이 존재는지(ex.모순되는 제약조건)
완결성(Completeness): 고객이 요구한 모든 기능이 포함되었는지
현실성(Realism): 예산과 기술적으로로 실행 가능한지(일정 또한 포함)
검증 가능성(Verifiability): 만들고 난 뒤 요구사항들을 검증할 수 있는지(요구사항과 일치여부)

 

2# UML 모델에서 한 사물의 명세가 바뀌면 다른사물에 영향을 주며,

일반적으로 한 클래스가다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계는? 

Dependency 의존관계 :

한 사물의 명세가 바뀌면 다른 사물에 영향을 주는 관계는 의존관계(Dependency Rekationship)

 

<문제 해설>

1. 연관 관계(Association Relationship)
2. 의존 관계(Dependency Relationship)
3. 실체화 관계(Realization Relationship)
4. 일반화 관계(Generalization Relationship)

 

# UML (Unified Modeling Language)

 객체 지향 시스템을 개발할때 산출물을 명세화, 시각화 , 문서화하는데 사용된다. 즉, 개발하는 시스템을 이해하기 쉬운 형태로 표현하여 분석가, 의뢰인, 설계자가 효육적인 의사소통을 할 수 있게 해준다. 따라서 , 개발방법론이나 개발 프로세스가 아니라 표준화된 모델링 언어이다. 

 

 

3# 객체지향 설계에서 정보 은닉(Information Hiding)

>> 정보은닉은 모듈이 독립성을 갖게 해줌으로 요구사항 등 변화에 따른 수정이가능하다. 

<문제 해설>

정보은닉(information hiding)

다른 객체에게 자신의정보를 숨기고 자신의연산만을 통해 접근을 허용하는것

클래스 외부에서 특정 정보에 접근을 막는다는 의미

(사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념 예 ip , port)

 

정보은닉 장점 1) 기능의 교체나 변경에 대한 유연성을 제공(객체 간의 구체적인 결합도를 약화)2) 동일한 타입의 다른 구현객체들을 교체로 동적 기능 변경가능3) 구체적인 구현이 없는상태(인터페이스)로도  정확한 연동 코드의 생성가능4) 모듈화하여 코드의 가독성 증가 5) 개발기간 단축 

 

4# 모델링 (Modeling)

답 >> 유지보수단계에서만 모델링 기법을 활용한다. ( 틀린답)

- 개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다. 

- 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도운을 준다.

- 절차적인 프로그램을 위한 자료흐름도는 프로세스에 위주의 모델링 방법이다. 

 

<문제 해설>

모델링은 초반에 하는 것 이고 유지보수는 마지막 단계에 하는것 

분석및 설계 단계에서 제작되지만 소프트웨어 개발의 전 과정에서 지속적으로 사용됨 

 

5# 요구 분석(Requirement Analysis)

- 요구분석은 소프트웨어 개발의 실제적인 첫 단계로 사용자의 요구에 대해 이해하는 단계라 할 수 있다.

- 요구 추출은 프로젝트 계획단계에 정의한 문제의 범위 안에 있는 사용자의 요구를 찾는 단계이다. 

- 도메인 분석은 요구에 대한 정보를 수집하고 배경을 분석하여 이를 토대로 모델링 하게 된다. 

<문제 해설>

기능적 요구사항 

- 시스템이 수행해야 하는 행위들을 구체화 한것 

- 시스템에서 제공해야 할 기능을 정의한 것 

- 입력기능, 출력기능, 데이터베이스 기능, 통신기능 등 

 

비기능적 요구사항 

- 시스템이 가져야 하는 기능 이외의 요구사항

- 시스템이 전체적인 품질이나 고려해야 하는 제약사항 등 

- 사용 용의성, 효율성, 신뢰성 이식성, 유연성, 확장성 등 

- 성능적인 면: 응답속도, 자원 사용량 등

- 보안 측면: 침입 대응, 침입 탐지, 사용자 인증, 권한 부여 등 

 

6# 클래스 다이어그램의 요소 

 Operation

- 클래스의 동작을 의미한다. 

- 클래스에 속하는 객체에 대하여 적용될 메서드를 정의한 것이다. 

- UML 에서는 동작이 대한 인터페이스를 지칭한다고 볼수 있다. 

 

instance:  실행 중인 임의의 프로세스, 클래스의 현재 생성된 객체, 클래스로 정의된 객체의 복사본
item : 어떤 조직의 구성원을 의미, 객체에서는 객체에 속하는 데이터나 메소드를 지칭.

           데이터베이스에서는 테이블의 열을 의미함
hiding:  정보은폐, 캡슐화된 항목을 다른 객체로부터 숨기는 것을 의미

 

 

7# 요구 사항 정의 및 분석·설계의 결과물을 표현하기 위한 모델링 과정에서 사용되는 다이어그램(Diagram)

Data Flow Diagram

UML Diagram

E-R Diagram

 

AVL Diagram : avl 트리는 이진 트리의 높낮이가 불규칙해지는 것을 보완하여
일정하게 처리하기 위한 이진트리 모형이다.

 

 

8# 객체지향의 주요 개념

- 객체는 실세계에 존재하거나 생각할 수 있는것을 말한다. 

- 클래스는 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 것이다.

- 다형성은 상속받은 여러 개의 하위객체들이 다른 형태의 특성을 갖는 객체로 이용될 수 있는 성질이다. 

- 상속은 상위클래스에서 속성이나 연산을 전달받아 새로운 형태의 클래스을 확정하여 사용하는것을 의미한다. 

 

#객체지향 기법에서 상위 클래스의 메소드와 속성을 하위 클래스가 물려받는 것을 의미하는 것은?

>>Inheritance

객체지향의 주요 개념(원칙)
캡슐화(Encapsulation)
-데이터와 데이터를 처리하는 함수를 하나로 묶은 것
-캡슐화된 객체의 세부 내용이 은폐되어 변경이 발생해도 오류의 파급효과가 적음
-캡슐화된 객체들은 재사용이 용이함
-인터페이스가 단순해지고 객체간의 결합도가 낮아짐

상속성(Inheritance)
-객체지향 프로그래밍에서 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스가 상속(물려)받는 것
-하위 클래스는 상위 클래스로부터 받은 속성과 연산 외에도 새로운 것을 첨가 가능
-클래스의 재사용, 소프트웨어의 재사용을 높이는 중요한 개념
+ 속성과 연산 등을 물려주는 클래스를 상위 클래스 또는 슈퍼 클래스, 물려받는 클래스를 하위 클래스 또는 서브 클래스라고 한다.
다형성(Polymorphism)
-하나의 메시지에 대해 각 객체가 갖고 있는 고유한 방법대로 응답하는 것을 의미
-하나의 클래스나 메서드가 다양한 방식으로 동작이 가능한 것을 의미
-오버로딩과 오버라이딩이 존재

 

 

 9#  (User Interface) 사용자 인터페이스

사용자와 시스템이 정보를 주고받는 상호작용이 잘 이루어지도록 하는 장치나 소프트웨어를 의미한다

배우기가 용이하고 쉽게 사용할 수 있도록 만들어져야 한다.

사용자 요구사항이 UI에 반영될 수 있도록 구성해야 한다.

사용자 인터페이스는 개발자 중심이 아닌 사용자가 바라보는 관점으로 쉽게 알아볼 수 있도록 설계되어야 한다.

 

User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 가장 거리가 먼 것은?

- 메시지는 이해하기 쉬워야 한다.

- 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.

- 오류로 인해 발생 될 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다.

- 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다. (거리 먼것은/??)

특정 위험 또는 오류를 연상시키는 색깔의 사용은 상식적으로 직관성을 높이는 수단이 될것이다. 

<문제 해설>

1) 직관성(Intuitiveness) : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함.
2) 유효성(Effectiveness) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 함.
3) 학습성(Learnablilty) : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작해야 함.
4) 유연성(Flexibility) : 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작해야 함

 

 

10# GoF(Gang of Four) 디자인 패턴

디자인 패턴을 목적(Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다

행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.

Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다

Strategy 패턴은 대표적인 행위 패턴으로 인스턴스를 복제하여 사용하는 구조를 말한다.

<문제 해설>

GoF(Gang of Four) 패턴: 에리히 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)가 같이 고안한 디자인 패턴

 

23가지 디자인 패턴을 3가지 분류로 정리한 디자인 패턴
-생성 패턴: Abstract Factory, Builder, Factory Method, Prototype, Singleton
-구조 패턴: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
-행위 패턴: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategty, Template Method, Visitor

 

디자인 패턴 = 생구행을떠올리자
생(성) - 추빌팩프싱      *추 : Abstract Factory(추상팩토리)
구(조) - 어브컴데퍼플프
행(위) - 위에 2개 해당안하면 행위패턴임

 

 

11# 럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD) 주로 이용하는것은?

>> 기능 모델링

럼바우 분석기법:  객,동,기
객체모델링 = 객체 다이어그램
동적모델링 = 상태 다이어그램
기능 모델링 = 자료흐름도

객체 = 객체   객2
동적 = 상태   동상
기능 = 자료~  기자

 

12# 순차 다이어그램(Sequence Diagram) 동적다이어그램

객체들의 상호 작용을 나타내기 위해 사용한다.

시간의 흐름에 따라 객체들이 주고 받는 메시지의 전달 과정을 강조한다.

교류 다이어그램(Interaction Diagram)의 한 종류로 볼 수 있다

시퀀스 다이어그램은 동적 다이어 그램

>> 틀린 답 : 동적 다이어그램보다는 정적 다이어그램에 가깝다. 

 

13# 대표적으로 DOS 및 Unix 등의 운영체제에서조작을 위해 사용하던 것으로,

정해진 명령문자열을 입력하여 시스템을 조작하는 사용자인터페이스(User Interface)는?

>> CLI(Command Line Interface)

<문제 해설>

GUI(Graphical User Interface) : 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸 것
CLI(Command Line Interface) : 텍스트 터미널을 통해 사용자와 컴퓨터가 명령문자열로 상호 작용하는 방식

 

[UI의 구분]
CLI(Command Line Interface) : 텍스트 형태로 이루어진 인터페이스
GUI(Graphical User Interface) : 마우스로 선택해 작업을 하는 그래픽 환경의 인터페이스
NUI(Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스
VUI(Voice User Interface) : 사람의 음성으로 기기를 조작하는 인터페이스
OUI(Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스

 

14#분산 시스템에서의 미들웨어 (Middleware)

미들웨어 : 복잡한 이기종 환경에서 응용 프로그램과 운영환경 간에 원만한 통신을 이룰 수 있게 해주는 소프트웨어
        -> 애플리케이션 - 사용자 사이 외에도 프로그램과 환경간에서 서비스를 제공

 

- 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.

- 위치 투명성(Location Transparency)을 제공한다.

- 분산 시스템의 여러 컴포넌트가 요구하는 재사용가능한 서비스의 구현을 제공한다.

 

15# 자료흐름도(DFD)의 각 요소별 표기 형태

자료흐름도 4가지 구성요소
- 처리 Process : 원
- 자료흐름 Data Flow : 화살표
- 자료저장소 Data Store : 평행선
- 단말 Terminal : 사각형

 

 

16# UI 설계도구

>> 목업(Mockup) 

- 디자인, 사용방법설명, 평가 등을 위해  실제 화면과 유사하게 만든 정적인 형태의 모형

- 시각적으로만 구성 요소를 배치하는것으로 일반적으로 실제로 구현되지 않음 

<문제 해설>

스토리보드(Storyboard): 디자이너와 개발자가 최종적으로 참고하는 작업지침서

프로토타입(Prototype) : 와이어프레임이나 스토리보드등에 인터랙션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형

유스케이스(Usecase): 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.

 

17# 애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명

- 스크럼 마스터는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다. 

- 제품 백로그는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의등이 포함될 수 있다. 

- 스프린트는 하나 완성된 최종 결과물을 만들기 위한 주기로 2~4주간 진행하는 과정인다. 

- 속도는 한번의 스프린트에서 한팀이 어느정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다. 

<문제 해설>
스프린트
- 실제 개발을 2~4주간 진행하는 과정
- 스프린트 백로그에 작성된 Task를 대상으로 작업 시간을 측정한 후 담당 개발 자에게 할당합니다.
- Task는 할 일, 진행 중, 완료의 상태로 구성된다.

 

 

 

+ Recent posts