Loading the catalog…
Loading the catalog…
2020 TOPCIT 문제풀이 (전 영역) - 기술영역 - M3. 시스템 아키텍처 - 객관식 데스크톱 가상화(VDI, Virtual Desktop Infrastructure) Q. 데스크톱 가상화는 코로나-19 확산으로 인해 재택근무를 위한 환경으로 부각되고 있음 사용자의 데스크톱은 입출력을 위한 장치로만 사용된다. 사용자의 업무 수행을 위한 데이터, 문서등은 데스크톱에 저장된다. 서버 에 저장 서버에서 애플리케이션 실행결과가 데스크톱 환경에 이미지 형태로 전송된다. 클라이언트, 세션관리자, 가상머신, 스토리지 등의 논리적 계층 구조로 구성된다. 해설 : VDI 환경에서 사용자의 업무수행을 위한 애플리케이션, 데이터, 문서 등은 서버에 저장 되고, 서버에서 실행된 애플리케이션 실행결과가 데스크톱 환경에 이미지 형태로 전송되어 사용자의 데스크톱은 입출력을 위한 장치로만 사용된다. M4. 정보보안 - 단답형 SALT A기업은 고객의 비밀번호의 안전한 관리를 일방향 암호화하여 저장하기로 결정 고객의 비밀번호만 해쉬함수를 적용하여 저장/관리하게 되면 레인보우(Rainbow) 공격 등과 같은 취약하기 때문에 비밀번호에 (SALT) 값을 추가하여 해쉬 함수를 적용하고, (SALT) 값은 안전하게 보관하기로 결정 해설 : 고객의 비밀번호 등의 안전한 관리를 위해 SHA-256 이상의 안전한 해쉬 함수를 사용해야 하며, 비밀번호에만 해쉬 함수를 적용할 경우 레인보우 등과 같은 공격에 취약하기 때문에 SALT 값과 같은 임의의 문자열을 추가하여 해쉬함수를 적용하고, 사용된 SALT 값은 안전하게 보관 해야 한다. M2. 데이터 - 서술형 뷰(View)를 생성하기 위한 DDL(Data Definition Language) CREATE VIEW VIP고객(고객아이디, 고객성명, 핸드폰번호) AS SELECT 고객아이디, 고객성명, 핸드폰번호 FROM 고객 WHERE 등급 = 'VIP' WITH CHECK OPTION; (1) 데이터베이스 뷰의 개념에 대해 서술하시오. 기본 테이블인 ‘고객’ 테이블에서 등급이 ‘VIP’인 고객의 고객아이디, 고객성명, 핸드폰번호를 추출하여 ‘VIP고개’이라는 이름의 뷰를 생성한다. 뷰는 데이터베이스에서 하나 이상의 기본 테이블로부터 유도되어 물리적으로는 존재하지 않는 논리적 가상 테이블이다. (2) 밑줄 친 WITH CHECK OPTION 의 의미는? 뷰를 생성할 때 WITH CHECK OPTION을 사용하면, 뷰를 생성할 때의 조건에 해당하는 데이터에 대해서만 추가/변경/삭제가 가능하도록 제한한다. 'VIP고객' 뷰에서 등급이 VIP인 고객정보는 변경할 수 있지만, 등급이 VIP가 아닌 고객정보를 추가/변경/삭제가 불가하도록 제약한다. M1. 소프트웨어 - 수행형 상위 클래스 추출(Extract Superclass) vs 클래스 추출(Extract Class) [보기-A]를 [보기-B]설계 변경에 적용한 리팩토링 기법을 설명하시오. (10점) 상위클래스 추출 은 여러 클래스에 포함된 유사한 기능의 필드나 메서드를 추출하여 상위 클래스를 추출하여 공유하도록 하는 리팩토링 기법 +) 클래스 추출 은 하나의 클래스가 관련 없는 여러 기능을 수행하는 경우 새로운 클래스를 생성하여 일부 기능을 수행하는 필드와 메소드를 새로운 클래스로 이관하는 리팩토링 기법 [보기-B]의 SavingAccount 추상클래스를 JAVA코드로 구현하시오.(30점) 클래스의 abstract 스테레오 타입 메서드의 {abstract} 프로퍼티 접근제한자 (Access Modifier) #: protected +: public -: private 필드 타입(int, double), 메서드의 파라미터와 리턴 타입 abstract class SavingAccount{ protected int period; protected double rate; protected double money; public abstract double calcInterest(); } - 비즈니스영역 - M5&M6. 비즈니스 및 통합 - 객관식 q1. 프로그램 저작권 보호 대상이 아닌 것은? 프로그램 소스코드 프로그램 목적코드 프로그램 구조 및 배열 4. 문제 해결을 위한 절차나 방법으로서의 알고리즘 해설 : 프로그램 작성, 설정된 문제를 해결하기 위해서 사용한 프로그램 언어, 프로토콜, 알고리즘 해법 등은 보호의 대상에서 제외된다. q2. [보기]는 1페이지 보고서의 일부이다. 보고서의 개선 사항으로 적절하지 않은 것은? 1. 제목을 시스템 구축안으로 변경한다. ~ 2. 보고서에 작성 조직과 유관 조직을 추가한다. 3. 현황/이슈 내용 중 훌륭한, 멋있는 등의 수식어구는 제외한다. 4. 구축 절차를 수행 항목과 수행 기간으로 분류하여 표로 전환한다. 해설 : 제목은 문서의 내용을 바로 알 수 있도록 구성 해야 한다. 특히 바쁜 상사나 경영진에게는 제목만 보아도 바로 내용이 상상되게 끔 제목을 잘 잡는 것이 중요하다. 수요자가 제목만 보고도 전체 내용이나 취지, 보고 성격을 알 수 있도록 내용을 최대한 포괄해야 하는데 되도록 20자 이내로 압축해서 표현하는 것이 좋다. q3. [보기]는 SI 업체 A사에서 발생가능한 위험에 대해 대응한 방식이다. A사의 위험 대응 전략은 무엇인지 고르시오. A사는 차세대 프로젝트에서 인공지능 신기술에 대한 기술적 해결이 어려워, 인공지능 솔루션 공급사와 회의를 하여 공급사가 수행하기로 협의하고 프로젝트를 진행하기로 하였다. 회피 (Avoid) 전가 (Transfer) ✅ (고객사나 공급사로 영향력 및 대응의 주체를 제 3자에게 이동) 완화 (Mitigate) 수용 (Accept) 위험 대응 계획 : 프로젝트 목표에 위협적인 요인은 경감시키고 기회는 증대 시킬 수 있는 대안과 조치를 개발하는 프로세스 부정적인 위험(위협)에 대한 전략 : 회피, 전가, 완화, 수용 긍정적인 위험(기회)에 대한 전략 : 활용, 분담, 증대, 수용 M5&M6. 비즈니스 및 통합 - 단답형 q. [보기]의 [프로젝트 현황]에서 프로젝트 원가통제를 위한 CPI(CostPerformance Index)와 SPI(Schedule Performance Index) 각각 계산하여라. 획득 가치 분석(EVM) 범위, 일정, 자원의 측정치를 모두 결합하여, 성과와 진척율을 평가하는 방법론 모든 분석 단위를 화폐로 계산하여 분석하는 방법 PV: 계획된 성과, EV: 획득한 성과, AC: 실제 사용 비용 SPI * = EV / PV, 일정성과지수 = 프로젝트의 일정 효율을 계산 (SPI < 1 이면 일정 지연이 예상된다.) * CPI = EV / AC, 원가성과지수 = 프로젝트의 원가 효율을 계산 (CPI < 1 이면 원가 초과가 예상된다.) 답 : SPI=0.9, CPI=0.75 M5&M6. 비즈니스 및 통합 - 서술형 q. A사는 전년도에 도입한 CRM시스템의 재무적 성과를 평가하기 위하여 ROI와 PP를 활용하려고 한다. [보기]의 내용을 바탕으로 아래 물음에 답하시오. CRM 시스템 적용 결과 시스템 도입 전과 비교하여 40억원의 영업이익(순이익은 동일) 획득 CRM 시스템 도입 위하여 개발 인건비 및 인프라비용으로 150억원을 투자 CRM 시스템 관련 50억원의 기타 비용 사용 1) A사의 CRM 시스템 도입 2개년의 ROI(Return of Investment)를 구하시오. (15점) ROI: 투자수익률로 총 비용 대비 순 효과의 비율을 구하는 재무적 방식 ROI = 영업이익/투자비용x100 = 40억원/(150억원+50억원)x100 = 20% 2) A사의 CRM 시스템 도입 시 PP(Payback Period)를 구하시오. PP: 투자회수기간은 투자비용을 언제 회수할 수 있는지에 초점을 맞추는 투자평가 기법으로 다른 요인들이 동일한 경우 투자회수시간이 짧을수록 좋은 투자로 평가함 PP = 투자비용/연간이익 = (150억원 + 50억원)/40억원 = 5년 M7. 통합 - 통합서술 및 통합수행형 q1. 국내 프라이빗 클라우드 컴퓨팅 서비스 1위인 A기업은 퍼블릭 클라우드 컴퓨팅 영역으로의 사업 확장을 고려하고 있다. A기업은 IT 전략 수립을 위해 비지니스 환경 분석을 수행하고자 한다. [보기1]의 상황을 참고하여 다음 (1), (2)번 문제에 답하시오. [보기1] 한국의 많은 기업들은 핵심 비즈니스모델의 혁신과 IT 비용 절감을 동시에 해결하기 위해 클라우드도입을 고려하고 있다. 또한, 정부는 2015년 9월 '클라우드 발전법'을 제정하고공공분야의 민간 클라우드 이용을 통한 산업 활성화를위한 '클라우드컴퓨팅 발전 기본계획'을 발표하였다. 아마존웹서비스(AWS)는2016년 한국 내 클라우드 컴퓨팅 강화를 위해 데이터센터인 서울 리전(Regjion)가동을 시작하였으며, 특히 한국의 퍼블릭 클라우드 시장은 안정성, 보안 등이 검증되면서 연평균22.6%라는 빠른 성장세를 나타내고있다. (1) IT 전략 수립을 위해 A기업의 SWOT을 분석하시오. 단, S,W,O,T 4가지 관점으로 각각 설명하시오. (20점) * Strength(강점) * : 프라이빗 클라우드 사업 영역에 대한 기술적 우위를 차지하고 있다. Weakness(약점) : 프라이빗 클라우드를 주사업 영역으로 가지고 있어서 퍼블릭 클라우드 운영에 대한 인프라, 서비스 기반이 부족하다. Opportunity(기회) : 2015년에 제정된 정부의 ‘클라우드 발전법’, ‘클라우드 컴퓨팅 발전 기본계획’으로 인해 공공 분야에서 클라우드에 대한 관심이 고조된 상태다. Thread(위협) : AWS가 2016년 한국 내 클라우드 컴퓨팅 영역을 차지하기 위해 ‘서울리전’을 가동하기 시작했다. (2) A기업은 사업 투자를 고려하고 있는 퍼블릭 클라우드와 기존 사업 영역인 프라이빗 클라우드의 개념을 비교하여 설명하시오. 퍼블릭 클라우드 는 불특정 다수에게 IT서비스를 인터넷을 통해 제공하는 형태이다. 프라이빗 클라우드 는 기업이 시스템 자원을 직접 소유하고 자신들의 회사 전용의 클라우드로 사용하는 형태다. [보기2] 개발자 3명으로 구성된 소규모 인적 기업으로, 도큐먼트, 스프레드 시트 등의 문서 앱을 개발하고자 한다. 실제 어플리케이션을 개발하기 위한 도구 및 인프라를 갖추고 있지 않다. 그러나, 현시점에서는 개발용 시스템 구매에 대한 투자는 어려운 상황이다. 향후 개발된 시스템은 사용자 증가 시 Scale-out 등이 자동으로 이루어지도록 하고 싶다. (3) [보기2]는 B기업의 운영 현황을 나타낸 것이다. B기업은 기업 내외부 환경을 고려하여 클라우드 서비스를 받기로 결정하였다. 클라우드 서비스 모델은 크게 SaaS, PaaS, IaaS로 나눌 수 있는데 B기업이 사용하기에 적합한 클라우드 서비스 모델을 추천하고, 해당 모델에 대해 간단히 설명하시오. PaaS(Platform as a Service) 가 적합하다. 애플리케이션을 개발하거나 실행하기 위한 시스템 기능을 서비스로 제공하며 데이터베이스, 개발 프레임워크, 실행 시에 필요한 라이브러리 및 모듈을 제공하는 클라우드 서비스 모델이다. SaaS(Software as a Service) : 특정 소프트웨어를 구매하고 설치하는 대신, 인터넷을 통해 액세스하여 사용, IT 리소스가 제한적인 중소기업이나 스타트업에서 소프트웨어 유지보수와 업그레이드의 부담을 줄이고 싶어할 때 사용 PaaS(Platform as a Service) : 웹 애플리케이션 개발 및 배포가 필요한 개발자들이 사용, 개발자와 개발 팀이 개발 과정을 간소화하고자 할 때 IaaS(Infrastructure as a Service) : 대규모 컴퓨팅 자원이 필요한 경우, 데이터 센터의 유지 관리에 대한 비용과 복잡성을 피하고 싶은 기업에서 사용 q2. 최근 A회사에서는 기존에 내부 직원용으로 사용하던 웹 응용프로그램을 대국민 서비스 용도로 변경하는 프로젝트를 진행 중에 있다. 프로젝트를 맡은 김PM은 '웹 접근성 및 호환성 준수', '모바일 지원', '보안성 강화'라는 3가지 목표를 가지고 업무를 수행하고자 한다. 다음 물음에 답하시오. (1) '웹 접근성(Web Accessicility)'과 '웹 호환성'의 개념을 각각 설명하시오. (30점) 웹 접근성 은 장애인, 고령자 등이 웹 사이트에서 제공하는 정보에 비장애인과 동등하게 접근하고 이해할 수 있도록 보장하는 것이다. (인적, 환경적 용인에 제약 없는 웹 정보 접근) 웹 호환성 은 서비스 이용자 단말기의 하드웨어 및 소프트웨어 환경이 다른 경우에도 동등한 서비스를 제공하는 것 or 웹 브라우저 버전이나 종류에 관계없는 웹 사이트 접근, 크로스 브라우징이 가능 or 웹 표준 준수를 통한 브라우저 호환성을 확보한다. (2) 김PM은 동일한 웹 응용프로그램을 PC뿐만 아니라 스마트폰이나 태블릿과 같은 모바일 기기에서도 동일하게 보여주기 위한 방법으로, '반응형 웹(Responsive Web)'과 '적응형 웹(Adaptive Web)'을 고려하고 있다. '반응형 웹'과 '적응형 웹'의 개념을 각각 설명하시오. (30점) 반응형 웹 은 한 번의 개발로 디스플레이 종류에 따라 화면 크기 및 해상도가 자동으로 조절되어 화면을 보여주는 방식 적응형 웹 은 미리 정해진 몇 가지 화면 크기를 기준으로 두고 비율에 맞춰 페이지를 구성하는 방식 (3) 김PM은 웹 응용프로그램의 보안성 검토를 요청한 결과, [보기]의 '수정 전' 소스코드에서 SQL 삽입공격에 취약점이 있다는 진단을 받았다. 이러한 보안취약점은 시큐어 코딩을 통해 예방할 수 있다. [보기]의 소스코드를 '수정 후'와 같이 보안 취약점이 없도록 빈칸을 작성하시오. (preparedStatement 방식을 사용하도록 작성하며, 4줄 이내로 작성할 것) (40점) String query = "SELECT * FROM ? WHERE Name = ?"; stmt = con.prepareStatement(query); stmt.setString(1, tableName); stmt.setString(2, name); 안전한 코딩기법 preparedStatement 클래스와 하위메소드 executeQuery(), execute(), executeUpdate()를 사용하는 것이 바람직 preparedStatement 클래스를 사용할 수 없는 환경이라면, 입력 값을 필터링 처리한 후 사용한다. 필터링 기준은 SQL 구문제한, 특수문자 제한, 길이제한을 복합적으로 사용한다. 외부로부터 인자를 받는 preparedStatement 객체를 상수 스트림으로 생성하고, 인자부분을 setXXX 메소드로 설정하여, 외부의 입력이 쿼리문의 구조를 바꾸는 것을 방지하는 것이 필요하다.
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
2020 TOPCIT 문제풀이. 2020 TOPCIT 문제풀이 (전 영역) - 기술영역 - M3. 시스템 아키텍처 - 객관식 데스크톱 가상화(VDI, Virtual Desktop Infrastructure) Q. 데스크톱 가상화는 코로나-19 확산으로 인해 재택근무를 위한 환경으로 부각되고 있음 사용자의 데스크톱은 입출력을 위한 장치로만 사용된다. 사용자의 업무 수행을 위한 데이터, 문서등은 데스크톱에 저장된다. 서버 에 저장 서버에서 애플리케이션 실행결과가 데스크톱 환경에 이미지 형태로 전송된다. 클라이언트, 세션관리자, 가상머신, 스토리지 등의 논리적 계층 구조로 구성된다. 해설 : VDI 환경에서 사용자의 업무수행을 위한 애플리케이션, 데이터, 문서 등은 서버에 저장 되고, 서버에서 실행된…
Open source