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)
- 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 = [];
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>

TestCloud2018-2(answer)

  • 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>