2020년 2회 기출 복원 문제 정리하기
[출처] : https://ss-o.tistory.com/58?category=950890
비상사태 또는 업무 중단 시점부터 업무가 복구 되어 다시 정상 가동 될 때까지의 시간을 의미하는 용어
<비즈니스 연속성 계획 관련 용어>
- BCP(Business Continuity Planning) : 재난 및 재해 상황을 대비하여 기업의 비즈니스 연속성을 유지하기 위한 업무 복구에 대한 계획
- BIA(Business Impact Analysis) : 장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실 평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석
- RTO(Recovery Time Objective) : 업무 중단 시점부터 업무가 복구 되어 다시 가동 될 때까지의 시간. 재해 시 복구 목표 시간의 선정
- RPO(Recovery Point Objective) : 업무 중단 시점부터 데이터가 복구되어 다시 정상가동될 때 데이터의 손실 허용 시점. 재해 시 복구 목표 지점의 선정
- DRP(Disaster Recovery Plan) : 재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획
- DRS(Disaster Recovery System) : 재해복구계획의 원활한 수행을 지원하기 위하여 평상시에 확보하여 두는 인적, 물적자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터
a = {'일본', '중국', '한국'}
a.add('베트남') # {'일본', '중국', '한국', '베트남'}
a.add('중국') # 이미 존재하기 때문에 새롭게 추가X
a.remove('일본') # {'중국', '한국', '베트남'}
a.update({'홍콩', '한국', '태국'}) # {'중국', '한국', '베트남', '홍콩', '태국'}
print(a)
{'중국', '한국', '베트남', '홍콩', '태국'}
{ }는 set
set은 중복을 허용하지 않고 순서가 없다.
비동기식 자바스크립트 XML 통신 기법
고객의 요구사항 변화에 유연하게 대응하기 위해 일정한 주기를 반복하면서 개발하는 방법론, 워터폴에 대비되는 방법론
// 상단에는 Parent class와 Parent를 상속 받은 Child class가 있음
public class Main{
public static void main(String[] args){
Parent pa = ( ) Child();
pa.show();
}
}
new
학생 테이블에서 학년이 3,4학년인 학생의 학번, 이름을 검색
SELECT 학번, 이름 FROM 학생 WHERE 학년 IN(3,4);
트랜잭션 실패시 트랜잭션 실행 이전으로 되돌리는 데이터 제어어
<트랜잭션의 TCL(제어언어)>
- COMMIT : 트랜잭션 확정/트랜잭션을 메모리에 영구적으로 저장하는 명령어
- ROLLBACK : 트랜잭션 취소/트랜잭션 내역을 저장 무효화 시키는 명령어
- CHECKPOINT : 저장 시기 설정/ROLLBACK 시키기 위한 시점을 지정하는 명령어
- 참고 : 트랜잭션의 회복기법에 체크포인트 회복기법이 존재하는데 이는 장애발생 시 검사점 이후 처리된 트랜잭션에 대해서만 장애 발생 이전을 상태로 복원시키는 회복 방법이다.
무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜, 망 계층(network layer)인 인터넷 프로토콜(IP)에서 보안성을 제공해주는 표준화 기술
- AH : 강력한 무결성, 데이터 인증을 제공. 발신자가 보낸 컨텐츠를 그대로 수신자가 수신 가능
- ESP : 암호화 옵션을 사용하여 IP페이로드를 암호화. 캡슐화 기반으로 페이로드 기밀성 제공
애플리케이션을 실행하지 않고 소스코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 테스트 자동화 도구 유형(워크스루, 인스펙션, 동료검사 등)
한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 가지는 디자인 패턴. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 함
[참고] : https://velog.io/@poiuyy0420/%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%A2%85%EB%A5%98
** 개인적으로 다시 정리하기
휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 그로그램 등을 포함하고 있는 소프트웨어 스택이자 리눅스 모바일 운영 체제이다. 개발자들이 자바와 코틀린 언어로 응요 프로그램을 작성할 수 있게 하였으며, 컴파일 된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다.
CREATE INDEX idx_name ON student(name);
HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고 받는 프로토콜로 Envelop, Header, Body로 구성되어 있다.
외부 입력값이 SQL 쿼리에 삽입되어 공격자가 원하는 SQL 쿼리문을 실행하는 공격 기법
정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야하는 원칙
- 직관성 : 누구나 쉽게 이해하고 사용 가능해야함
- 유효성 : 정확하고 완벽하게 사용자의 목표에 달성해야함
- 학습성 : 누구나 쉽게 배우고 사용 가능해야함
- 유연성 : 사용자의 인터랙션을 최대한 포용하고 실수를 방지해야함
사용자에게 읽기, 쓰기, 실행 권한 부여.
그룹에게 읽기, 실행 권한 부여
그 외에게 실행 권한 부여
chmod 751 a.txt
<Chmod : 기존 파일 또는 디렉토리에 대한 접근 권한을 변경할 때 사용>
- r(읽기) : 4 / w(쓰기) : 3 / x(실행) : 1
- u : 사용자(숫자의 첫번째 자리) / g : 그룹(숫자의 두번째 자리) / x : 그 외(숫자의 세번째 자리)
- 예시
- 모두에게 읽기, 쓰기, 실행 권한 부여(4+2+1)
Chmod 777 a.txt- user와 group에게 읽기, 쓰기 권한을, 그 외에게 읽기 권한을 부여
Chmod 664 a.txt- user에게 읽기, 쓰기 권한을 부여
Chmod 600 a.txt
전 세계 오픈된 정보를 하나로 묶는 방식. linked data와 open data의 합성어
요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현
- 요구사항 분석 : 현행 데이터의 문제점과 개선해야할 점을 확인하고 향후 개선점을 도출
- 개념 모델링 : 업무 중심의 포괄적인 모델링이며, 추상화하는 활동으로 주제 영역과 핵심데이터 간의 관계를 정의
- 논리 모델링 : 관계, 속성, 키 등을 도출하는 활동
- 물리 모델링 : 사용 DBMS 특성에 맞게 물리적 스키마를 만드는 활동
class A{
int a;
A(int a){
this.a = a;
}
void display(){
System.out.println("a=" + a);
}
}
class B extends A{
B(int a){
super(a);
super.display();
}
}
public class Main{
public static void main(String[] args){
B obj = new B(10);
}
}
a=10
소프트웨어 개발 과정에서 변경 사항을 관리하는 기법으로, 이를 활용한 도구로는 CVS, SVN, Git 등이 있다.
- 형상 관리 절차 : 형상 식별 → 형상 통제 → 형상 감사 → 형상 기록
- 형상 식별
- 형상 관리 대상을 정의 및 식별
- 추적성 부여를 위해 ID와 관리 번호를 부여
- 변경 관련 이슈 발생 시 ID와 관리번호를 이용해 추적 가능
- 형상 통제
- 형상 항목의 버전 관리를 위한 형상통제위원회 운영
- 변경 요구 관리, 변경 제어, 형상 관리 등 통제 지원
- 베이스라인에 대한 관리 및 형상 통제 수행 가능
- 형상 감사
- 소프트웨어 베이스라인의 무결성 평가
- 베이스라인 변경 시 요구사항과 일치 여부 검토
- 형상 기록
- 소프트웨어 형상 및 변경관리에 대한 각종 수행 결과를 기록
- 형상결과 보고서 작성