1. 2018 클라우드서비스 기말 고사(100)
Cloud Service
Date: 2018-06-14
1. Cloud service model 중에서 IaaS와 PaaS의 장단점을 구체적으로 설명하시오. (20)
장점 단점
IaaS 1. Network HW를 직접 관리할 필요
가 없음
2. 나머지 SW는 전적으로 개발자가
선택할 수 있어 SW 개발 자유도가
매우 높음
1. HW를 제외한 나머지 부분을 SW
개발자가 모두 책임져야 하므로, 개발
자 업무가 늘어남
PaaS 1. SW 운영에 필요한 platform(OS,
DB 등)을 직접 관리할 필요가 없음
2. 개발자는 application에만 집중할
수 있으므로 SW 개발을 효율적으로
진행할 수 있음
1. PaaS에서 제공하는 OS와 DB만 사
용해야 하므로, 개발하는 SW가 PaaS
에 심하게 종속됨
2. 목원대학교 종합정보시스템에 cloud service 개념을 적용하려 한다. 효과적인
deployment model(public, private, and hybrid models)을 제시하고 논리적으로 설명하시
오. (20)
- Hybrid model을 선택하는 것이 유리함(다른 선택을 제시하더라도 논리적이라면 만점)
정보시스템 운영 비용을 생각하면 system 전부를 public model로 구현하는 것이
유리
다만 학생 개인 정보를 public model로 다루는 것은 불합리하므로, 학생 개인 정
보 부분만은 폐쇄적인 private model 선택이 필요
따라서 학교 자체가 보관해야 하는 학생 개인 정보 부분은 private model로 구현
하고, 나머지 통상적인 정보시스템은 public model을 사용하는 hybrid model이
적절함
3. Nuxt.js에서 server-side rendering과 client-side rendering의 차이를 설명하시오. (10)
2. - Nuxt.js에서는 실행하는 code는 기본적으로 SSR로 가정함
- SSR은 server에서 모든 rendering을 처리하기 때문에 모든 처리 부하가 server에 걸리
는 전형적인 server programming을 의미함
- 반면 CSR은 server에서 처리하지 않고 client에서 처리할 code만 client에 전달하는 방
식이므로 처리 부하가 server에 거의 걸리지 않고 대부분은 client에 걸리는 client
programming으로 생각할 수 있음
4. 다음을 실현하는 Vue.js+Nuxt.js code를 제시하시오. (50)
1) Webpage에서 button을 누르면 눌린 회수를 누적하여 화면에 표시 (10)
<template>
<section class="section">
<button class="button" v-on:click="nClick = nClick+1">누르세
요.</button>
<div class="content">
눌린 회수 = {{nClick}}
</div>
</section>
</template>
<script>
export default {
data() {
return { nClick: 0 };
}
};
</script>
2) Button 이름이 1부터 100까지 순서대로 매겨진 button 100개를 출력(20)
<template>
<section class="section">
<button class="button" v-for="buttonName in buttonNames" v-
bind:key="buttonName">{{buttonName}}</button>
</section>
</template>
<script>
export default {
data() {
let buttonNames = [];
3. for (let i = 1; i <= 100; i++) buttonNames.push(i);
return { buttonNames: buttonNames };
}
};
</script>
3) Button을 누르면 교대로 “cat.png”와 “dog.png”를 표시, 그림 파일이 있는 위치는
assets folder (20)
<template>
<section class="section">
<button class="button" v-on:click="bImgCat = !bImgCat">누르세
요.</button>
<img v-if="bImgCat" src="~assets/cat.png" alt="">
<img v-else src="~assets/dog.png" alt="">
</section>
</template>
<script>
export default {
data() {
return { bImgCat: true };
}
};
</script>