"Server-B"의 두 판 사이의 차이
(→Use-Case Diagram) |
(→Use-Case Diagram) |
||
200번째 줄: | 200번째 줄: | ||
*설명 | *설명 | ||
[[파일:Serverb-user-case1.PNG]] | [[파일:Serverb-user-case1.PNG]] | ||
+ | |||
[[파일:Serverb-user-case2.PNG]] | [[파일:Serverb-user-case2.PNG]] | ||
+ | |||
[[파일:Serverb-user-case3.PNG]] | [[파일:Serverb-user-case3.PNG]] | ||
+ | |||
[[파일:Serverb-user-case4.PNG]] | [[파일:Serverb-user-case4.PNG]] | ||
+ | |||
[[파일:Serverb-user-case5.PNG]] | [[파일:Serverb-user-case5.PNG]] | ||
+ | |||
[[파일:Serverb-user-case6.PNG]] | [[파일:Serverb-user-case6.PNG]] | ||
+ | |||
[[파일:Serverb-user-case7.PNG]] | [[파일:Serverb-user-case7.PNG]] | ||
+ | |||
[[파일:Serverb-user-case8.PNG]] | [[파일:Serverb-user-case8.PNG]] | ||
+ | |||
[[파일:Serverb-user-case9.PNG]] | [[파일:Serverb-user-case9.PNG]] | ||
+ | |||
[[파일:Serverb-user-case10.PNG]] | [[파일:Serverb-user-case10.PNG]] | ||
+ | |||
[[파일:Serverb-user-case11.PNG]] | [[파일:Serverb-user-case11.PNG]] | ||
+ | |||
[[파일:Serverb-user-case12.PNG]] | [[파일:Serverb-user-case12.PNG]] | ||
+ | |||
[[파일:Serverb-user-case13.PNG]] | [[파일:Serverb-user-case13.PNG]] | ||
+ | |||
[[파일:Serverb-user-case14.PNG]] | [[파일:Serverb-user-case14.PNG]] | ||
+ | |||
[[파일:Serverb-user-case15.PNG]] | [[파일:Serverb-user-case15.PNG]] | ||
+ | |||
[[파일:Serverb-user-case16.PNG]] | [[파일:Serverb-user-case16.PNG]] | ||
+ | |||
[[파일:Serverb-user-case17.PNG]] | [[파일:Serverb-user-case17.PNG]] | ||
+ | |||
[[파일:Serverb-user-case18.PNG]] | [[파일:Serverb-user-case18.PNG]] | ||
+ | |||
[[파일:Serverb-user-case19.PNG]] | [[파일:Serverb-user-case19.PNG]] | ||
+ | |||
[[파일:Serverb-user-case20.PNG]] | [[파일:Serverb-user-case20.PNG]] | ||
+ | |||
[[파일:Serverb-user-case21.PNG]] | [[파일:Serverb-user-case21.PNG]] | ||
+ | |||
[[파일:Serverb-user-case22.PNG]] | [[파일:Serverb-user-case22.PNG]] | ||
2020년 6월 28일 (일) 21:54 판
프로젝트 개요
기술개발 과제
국문 : 서울시립대학교 컴퓨터과학부 클라우드 웹 서비스
영문 : CSWS :: Computer Science Web Services
과제 팀명
Server-B
지도교수
안상현 교수님
개발기간
2020년 3월 ~ 2020년 6월 (총 4개월)
구성원 소개
서울시립대학교 컴퓨터과학부 2014920008 김창헌(팀장)
서울시립대학교 컴퓨터과학부 2014871007 김윤태
서울시립대학교 컴퓨터과학부 2015920023 백승록
서울시립대학교 컴퓨터과학부 2015871021 서지훈
서울시립대학교 컴퓨터과학부 2016890057 장영선
서론
개발 과제의 개요
개발 과제 요약
- 컴퓨터과학부 학생 개개인만의 서버 제공
- 컴퓨터과학부 전용 커뮤니티 운영(코드 공유 등)
- C, C#, Java, Python 등 다양한 언어 사용 가능
개발 과제의 배경 및 효과
- 부족한 컴퓨팅 자원을 대체할 수 있다.
- 코드 공유와 같은 정보 공유로 학습 효율을 증진 시킬 수 있다.
- 팀프로젝트에서 공동의 작업환경을 구축하고 호환성 문제를 해결한다.
- 클라우드 서버를 가볍게 체험해 볼 수 있다.
개발 과제의 목표 및 내용
- CLI 환경에서 접속가능한 (ssh) 서버를 구현한다.
- 서버 내에서 분리된 공간, 각자의 개발환경을 구현할 수 있게 한다. (Container)
- 로그인과 접근권한 등에 대해 구현한다.
- Web에서 위의 환경에 접근가능한 GUI 플랫폼을 구현하고 원터치 수준의 간편한 UX 환경을 제공한다.
- 코드 공유 커뮤니티 게시판을 구현한다.
- 자동 채점 웹페이지를 구현한다.
개발과저의 기술적 기대효과
- 학부생이 클라우드 서버를 가볍게 체험 가능.
- 부족한 컴퓨팅 자원을 대체 가능.
- 코드 공유와 같은 정보 공유로 학습 효율을 증진.
- 팀프로젝트에서 공동의 작업환경을 구축하고 호환성 문제 해결.
- 개발과제의 서비스를 제공하면서 운영 및 기술개발 역량 강화
개발과제의 경제적 및 사회적 파급효과
- AWS와 같은 유료 서비스를 무료로 체험할 수 있다.
- 외부 업체가 아닌 교내 자체 제공 서비스이므로 개발, 수정, 운영에 용이하다.
- 서비스를 좀 더 발전시켜 고용 창출이 가능하다.
- 외부 진출 시, 광고를 통한 수익창출이 가능하다.
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
- 전 세계적인 기술현황
세계적으로 클라우드 시장은 Amazon, Google, Microsoft 3개의 회사가 주도하고 있다.
반면, 클라우드 인프라 서버 표준 클라우드 컴퓨팅에 특화된 국내 서버 장비 기술에 대한 원천 핵심 기술 확보는 미미한 상황이며 주로 기반의 외산 장비를 도입하고 있는 실정이고 외산 장비를 기반으로 한 소프트웨어 기술 연구가 수행 중 및 프로세서를 기반으로 다수의 컴퓨팅 노드가 고속의 연결망에서 통신 가능한 저전력 마이크로 서버 제작 원천 기술을 개발 완료.
- 핵심기술 - 가상서버
클라우드 서비스에서 가장 기본적인 기능이 가상 서버(가상 머신)입니다. 가상 서버는 대표적으로 하나의 물리적 서버를 논리적으로 나누어 CPU, 메모리 등의 자원을 할당할 수 있습니다.
- 핵심기술 - 가상화 기술
가상화를 다른말로 물리적인 하드웨어 장치를 논리적인 객체로 추상화하는 것을 의미합니다. 마치 하나의 장치를 여러개로 나눠 동작시키거나, 반대로 여러개의 장치를 묶어 마치 하나의 장치인 것 처럼 사용자에게 공유자원으로 제공할 수 있기 때문에 클라우드 컴퓨팅 구현을 위한 핵심적인 기술입니다. 가상화는 대표적으로 세가지가 있는데 호스트 가상화, 하이퍼바이저 가상화, 컨테이너 가상화가 있습니다.
- 핵심기술 - 호스트 가상화
하드웨어 위에 기본이 되는 호스트 운영체제를 설치하고, 호스트 운영체제에 가상화 SW를 설치합니다. 호스트 가상화는 가상화 SW 위에 게스트 운영체제를 작동시키는 가상화를 뜻합니다. 하지만 호스트 운영체제 위에 게스트 운영체제를 작동시키기 때문에 필요 이상으로 CPU나 메모리 사용이 증가하는 오버헤드가 발생합니다.
- 핵심기술 - 컨테이너 가상화
운영체제에 논리적인 영역(컨테이너)을 만들고, 애플리케이션을 작동하는 데 필요한 라이브러리와 애플리케이션 등을 컨테이너 안에 넣어, 마치 개별 서버처럼 사용할 수 있게 한 것이 컨테이너 가상화입니다.
- 특허조사
등록번호/일자 1014080340000 (2014.06.10), 출원인 ㈜ 케이티
클라우드 컴퓨팅 서버 시스템의 가상머신 정책 설정 시스템, 가상머신 정책 설정 방법 및 가상머신 정책 제공 방법 (본 발명은, 가상화된 컴퓨팅 자원을 이용하는 가상머신을 통해 가상화된 컴퓨팅 환경을 클라이언트에 제공하는 클라우드 컴퓨팅 서버 시스템에서 가상머신이 생성된 이후에 해당 가상머신에 적용할 정책을 자동으로 해당 가상머신에 설정하는 클라우드 컴퓨팅 서버 시스템의 가상머신 정책 설정 시스템, 가상머신 정책 설정 방법 및 가상머신 정책 제공 방법에 관한 것으로서, 정책이 수동이 아닌 자동으로 가상머신에 설정될 수 있어서, 동일한 템플릿의 가상머신을 대규모로 생성하거나 배포함에 있어서 가상머신의 정책을 분배하는 과정을 효율적으로 처리할 수 있다.)
출원번호/일자 1020180144708 (2018.11.21), 출원인 ㈜ 크로센트
클라우드 기반 호스팅 시스템 및 방법(본 발명의 실시예들은 가상서버 관리자의 요청에 의해 가상서버를 생성하는 가상서버 생성부, 상기 생성된 가상서버의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록하는 가상서버 관리부, 클라이언트로부터 가상서버에 대한 도메인이름을 포함하는 연결요청정보를 수신하는 연결요청 수신부, 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하는 가상서버 검색부 및 상기 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개하는 통신매개부를 포함하는 클라우드 기반 호스팅 시스템을 제공한다. 이에, 본 발명의 실시예들은 가상서버에 공중망 IP주소를 할당하지 않아도 클라이언트에게 HTTP, HTTPS, MySQL, Mariadb, RDP 등의 다양한 서비스를 제공할 수 있고 프록시 서버에만 공중망 IP주소가 할당되므로 가상서버가 속한 사설망에 대한 보안이 강화될 수 있다. 또한, 가상서버에 공중망 IP주소를 사용하지 않을 수 있으므로 가상서버의 개수가 제한되지 않고 비용을 절감할 수 있다.)
등록번호/일자 1020973000000 (2020.03.31), 출원인 구글 엘엘씨
클라우드-기반 파일 시스템 내에서의 파일 핸들링(일 일반적인 양상에서, 컴퓨터-판독 가능한 저장 매체는 실행될 때 하나 이상의 프로세서들로 하여금 프로세스를 수행하게 하는 지시들을 저장하도록 구성될 수 있다. 프로세스는 컴퓨팅 디바이스 및 클라우드 환경 내에서 동작하는 저장 시스템 사이에 통신 링크의 적어도 일 부분을 수립하는 것을 포함할 수 있다. 프로세스는 복수의 파일들을 표현한 파일들의 목록을 포함한 사용자 인터페이스를 액세스하는 것을 포함할 수 있으며 복수의 파일들의 적어도 제 1 부분은 컴퓨팅 디바이스의 로컬 메모리에 저장되며 복수의 파일들의 제 2 부분은 저장 시스템에 저장된다.)
등록번호/일자 1021062230000 (2020.04.23), 출원인 부산대 산학협력단
오픈스택 기반의 클라우드 오케스트레이션 방법 및 장치(클라우드 오케스트레이션 방법 및 클라우드 오케스트레이션 장치가 개시된다. 본 발명의 일실시예에 따른 오픈스택 기반의 클라우드 오케스트레이션 방법은, 템플릿 스크립트의 생성 요청에 연동하여, 상기 생성 요청에 포함되는 사용자 요구사항을 분류하는 단계, 상기 사용자 요구사항을 기능적 요구사항으로 분류하는 경우, 상기 기능적 요구사항에 속한 선택 요구사항(Option PR)에 의해 결정된 선택 항목에 대해 쉘 스크립트를 작성하는 단계, 및 상기 쉘 스크립트를 실행하는 템플릿 스크립트를 생성 함으로써, 상기 템플릿 스크립트를 전달 받은 히트 오케스트레이터(Heat Orchestrator)에서 상기 기능적 요구사항을 구현하는 VM(Virtual Machine)이 구동하도록 하는 단계를 포함할 수 있다.)
출원번호/일자 1020130129520 (2013.10.29), 출원인 엘지전자 주식회사
클라우드 서비스 연동 장치 및 방법(본 발명은 복수의 클라우드 서비스에 대한 로그인을 통합적으로 수행할 수 있는 클라우드 서비스 연동 장치 및 그 방법에 관한 것으로, 최초 서비스 플랫폼 로그인시 사용자가 클라우드 서비스 목록에서 선택한 복수의 서비스를 연동시키고, 상기 복수의 서비스가 연동된 상태에서 사용자가 서비스 플랫폼에 로그인하면 서버로 상기 복수의 클라우드 서비스의 인증을 요청하여 상기 인증된 복수의 클라우드 서비스의 화면을 통합적으로 표시함으로써 서비스 플랫폼 1회 로그인으로 상기 연동된 모든 클라우드 서비스에 로그인 하는 효과를 얻을 수 있다.)
- 특허 전략
클라우드 특허 분쟁이 급증할 전망이다. IBM과 마이크로소프트(MS) 등 주요 업체가 클라우드 컴퓨팅 특허 확보에 나섰고 공격형 특허관리전문기업(NPE)이 사들인 특허도 부쩍 늘었다. 전략적으로 중요해지는 특허를 매집하는 공격형 NPE 특성을 고려하면 향후 NPE발 클라우드 특허 분쟁이 활발해질 것이란 분석이다. 실제 소송이 벌어지면 클라우드 서비스 제공업체(CSP)보다는 클라우드 서비스 고객사가 표적이 될 가능성이 크다.
클라우드 특허 분쟁이 확산되면 클라우드 서비스 고객사가 NPE 표적이 될 가능성이 클 것이다. 렉솔로지는 클라우드 서비스 고객사가 클라우드 서비스 제공업체만큼 기술·소송 전문성을 갖추지 못해 특허권자로부터 침해경고장을 받으면 합의할 확률이 높다고 봤다. 앞서 MS는 이러한 소송 위험에 대비해 자사 애저 클라우드 플랫폼을 사용하는 고객사에 특허 1만여건을 활용해 특허 분쟁을 방어해주겠다고 밝혔다. IBM, 레드햇 등은 오픈소스 특허 공유단체인 OIN 등에 가입해 분쟁 방어책을 마련하고 있다.
배진우 한국지식재산전략원 그룹장은 “클라우드 특허는 사업모델(BM)에 가까워 관련 절차가 유사하면 특허 침해를 주장하기 쉬운 편”이라고 말했다.
위 세가지 정보를 바탕으로 클라우드 특허에서는 이미 특허를 보유한 측이 상당히 유리한 위치를 점하고 있음을 알 수 있다. 또한 그렇지 못한 측에서는 NPE의 표적이 될 가능성이 상당히 높고, 이는 우리 서비스에서도 마찬가지이다. 기술과 소송 전문성을 경쟁 대기업에 비해 갖추지 못했기에 분쟁보다는 일방적인 합의가 될 가능성이 크다. 따라서 우리만의 전문적인 서비스를 확립하여 특허 분쟁에 휘말리지 않는 것이 가장 중요한 전략이 될 것이다.
시장상황에 대한 분석
- 경쟁제품 조사 비교
AWS ( Amazon Web Services)
모든 서비스는 API로 제어할 수 있다는 것이 특징. 기본적으로 HTTP나 REST, SOAP로 이루어지며, Java나 Python, PHP, Ruby, .NET 등에서 쓸 수 있는 라이브러리 및 샘플 코드도 제공. 물리적인 컴퓨팅 자원을 클라우드를 통하여 실행할 수 있는 다양한 인프라 및 애플리케이션 서비스 집합을 제공. 확장성이 뛰어나고 신뢰도가 높은 IT 솔루션을 배포할 수 있도록 AWS에서 인프라를 관리. 안전하고 신뢰할 수 있으며 쉽고 빠른 확장성과, 비용을 절감할 수 있는 플랫폼을 ‘Cloud’로 제공.
Microsoft Azure
대다수의 기능은 AWS와 유사. 기존 Microsoft App 과의 호환성이 좋음. 각자의 데이터센터를 활용할 수 있는 하이브리드 클라우드 컴퓨팅 제공.
Google Cloud Platform
대다수의 기능은 AWS와 유사. 빅 데이터 애플리케이션을 호스팅하는데 탁월한 효과. 구글의 인기있는 애플리케이션을 사용하는데 효율적.
- 마케팅 전략 제시
S (Strength, 강점) 무료 제공 서비스, 컴퓨팅 자원 제공, 코드 공유와 같은 정보 공유로 학습 효율 증진, 공동의 작업환경을 구축하고 호환성 문제를 해결, 클라우드 서버를 가볍게 체험 가능, 컴퓨터과학부 구성원만을 대상으로 하기 때문에 최적화된 서비스 제공 가능 W (Weakness, 약점) 교외 접속 불가, 경제적 이유로 인한 양질의 컴퓨팅 자원 제공 불가 O (Opportunity, 기회) 기반 기술이 발전함에 따라 컴퓨팅 자원에 대한 수요가 늘고 있음. T (Threat, 위협) 망 사용료, 라이센스 문제
학부 홈페이지나 학부 공지방을 통한 홍보. 다른 학과에는 존재하지 않는 오로지 컴퓨터과학부생들을 위한 학부내 서비스!
교외 접속 불가가 단순히 기능의 제한이 아닌 강력한 보안이 이루어지고 있는 것임을 강조
타 경쟁 서비스(ex. AWS) 와 대비되어 무료 서비스임을 마케팅 전략으로 활용
컴퓨터과학부 수업인 “클라우드 컴퓨팅” 등의 수업에 직접적으로 활용할 수 있을 것으로 보이며, “유닉스 프로그래밍” 등의 수업에서 Ubuntu를 사용하므로 간접적으로 활용할 수 있을 것임.
서비스 대상 확장 가능. 서비스를 더 확대하여 교내 타 학과로 확장시 약 1만명의 사용자 확보 가능. 국내에는 해당 서비스를 운영하는 대학이 몇 없기 때문에 대학 이미지 및 교육 수준의 향상으로 이어질 뿐만 아니라, 타 학교에 설치 및 관리 서비스로써 판매한다면 대한민국 고등교육의 수준 역시 발전 가능.
개발과제의 기대효과
기술적 기대효과
- 학부생이 클라우드 서버를 가볍게 체험 가능.
- 부족한 컴퓨팅 자원을 대체 가능.
- 코드 공유와 같은 정보 공유로 학습 효율을 증진.
- 팀프로젝트에서 공동의 작업환경을 구축하고 호환성 문제 해결.
- 개발과제의 서비스를 제공하면서 운영 및 기술개발 역량 강화
경제적, 사회적 기대 및 파급효과
- AWS와 같은 유료 서비스를 무료로 체험할 수 있다.
- 외부 업체가 아닌 교내 자체 제공 서비스이므로 개발, 수정, 운영에 용이하다.
- 서비스를 좀 더 발전시켜 고용 창출이 가능하다.
- 외부 진출 시, 광고를 통한 수익창출이 가능하다.
기술개발 일정 및 추진체계
설계
설계사양
제품의 요구사항
- 원하는 이미지를 이용하여 자신만의 서버를 만들 수 있다.
- 해당 서버에 접속하여, 원하는 연산을 수행할 수 있다.
- CoLab과 같이 웹페이지에서 기본적으로 제공하는 여러 언어들을 이용하여, 컴파일을 하고 결과를 얻어올 수 있다.
- StackOverflow 처럼, 과제 또는 특정 분야의 질문을 자유롭게 올릴 수 있고, 질문 속에 Code Snippet 을 쉽게 작성할 수 있다. 또한, 해당 코드는 즉시 컴파일 되어 결과물을 볼 수 있다.
- 유저는 자신만의 웹페이지를 만들 수 있다. HTML / CSS 등을 서버에 올리거나, 서버에 있는 것을 삭제할 수 있다. 또한, 다른 사람들은 유저가 만든 웹페이지를 언제든지 접속하여 볼 수 있다.
- 교수는 웹사이트를 통해서 과제를 공지하고, 제출결과를 한번에 다운로드 받을 수 있다. 결과물은 자동으로 컴파일 되어 정답여부를 체크하고, 점수를 부여할 수 있다.
사용자 요구사항 만족을 위한 기능 정의 및 기능별 정량목표
CSCS (CS Cloud Services)
- (원하는 운영체제를 이용하여) 생성 - 삭제 - 유저 - 컨테이너 연결 - 연결에 성공하면 컨테이너에서 command 실행 가능
CS Overflow
- 게시글을 작성 (해당 게시글에는 짧은 코드 (Code Snippet) 를 첨부할 수 있으며, 해당 코드는 서버에 의해 자동으로 컴파일되고, 결과물을 웹상으로 보여줄 수 있다.) - 과목별 게시판을 통해서 교수는 과제를 등록하고 학생은 등록된 과제에 결과물을 제출할 수 있다. - 과제 소스코드를 실행하고 결과를 확인할 수 있으며 테스트 케이스 input에 대한 출력 결과를 기댓값(정답코드의 출력)과 비교할 수 있다. 이를 통해 자신의 코드가 정답인지 아닌지 확인가능하다. - 게시글의 댓글 / 답글 작성
CSWS (CS Web Server)
- 웹 관련 파일(HTML / CSS / JS) 업로드 / 다운로드 / 삭제 - 외부에서 웹을 통해 해당 HTML 파일에 접근할 수 있다.
개념설계안
- 사용자가 웹페이지에 접속한다.
- 사용자가 WIKI, SHELL, WEB-HOSTING, BOARD 중 원하는 기능을 선택한다.
- 사용자의 요청을 서버에서 처리한다.
- 웹 상에 결과를 출력한다.
상세설계 내용
UI 설계
Use-Case Diagram
- 액터 목록
- 설명
데이터베이스 설계
- DBMS
- Client Side
- Server Side - 데이터 모형
하드웨어 설계
- Server Hardware
CPU: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz RAM: 16GB Storage: 250GB
- Network Information
Server IP: 172.16.163.38 (UOS LAN Network) Gateway: 172.16.163.1 DNS: 203.249.96.5 (Can Change like 8.8.8.8) 비고: 물리적으로 내부 네트워크와 공유기를 사이에 둠으로써 관리/보안에 효율을 높임.
- Server Internal Information
소프트웨어 설계
- 각 모듈로 분리하여 나타낸 그림.
- 클라우스 서비스 모듈의 컨테이너 생성/연결/삭제는 Openstack과 Shellinabox를 이용
- 웹 호스팅 모듈에서 웹 서버를 통해 서버 내부와 통신하여 파일을 업로드/다운로드/삭제한다.
- 게시판 모듈의 코드 컴파일링은 웹 서버를 통해 서버에 요청을 전송하여 리턴 받은 결과를 표시한다.
- 개인 모듈의 계정 활성화는 UOS의 mail을 이용하여 활성화한다.
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
• 회원가입 화면
• 컨테이너 생성 과정 (In CLI)
예시) Selected OS: CentOS 7 / 20GB / 1 CPU / RAM 2 GB
• 유저 개인의 설정 과정 (cloud-init)
예시) Selected OS: CentOS 7 / 20GB / 1 CPU / RAM 2 GB
• 방금 생성된 컨테이너의 사양 체크
예시) Selected OS: CentOS 7 / 20GB / 1 CPU / RAM 2 GB
포스터
완료작품의 평가
향후계획
• Server
Cloud image를 제공하지 않는 OS도 개인적으로 OS를 가공하여 제공할 수 있도록 하는 것.
서버 자체의 사양을 높이는 작업
HDD Docking Station 을 이용한 용량 증축
클러스터링을 이용한 각 프로세스 간 CPU 요청을 분할. (여러 컴퓨터를 하나의 서버로 묶기)
• CSCS
추가적인 OS 지원 / 팀 프로젝트 인원이 하나의 컨테이너에 접근 기능
• WEB Backend
UI 변경
boards 메인 화면의 UX 향상
교수님이 제출한 과제를 하나씩 확인할 수 있는 기능이나 미리보기 기능 추가
제출된 과제를 학생이 컴파일했을 때 컴파일 되고 몇 개 맞았는지까지는 구현을 했음. 서버로 그 내용을 보내고 점수 처리를 하고, 교수님 관점에서 점수 볼 수 있도록 로직 추가
수강생들의 점수를 한번에(과제별, 과목 전체 한 번에) 엑셀 파일로 내려받을 수 있는 로직 추가
• WEB Compiler, sourcecode 채점
다양한 언어 지원, 컴파일에러시 user에게 alert, 컴파일 소요 시간 및 메모리 사용량 추가
소스코드 채점시 받아온 user의 코드 모듈화, , ui개선
• WEB Hosting
DRAG & DROP 기능 추가 / UI에 파일 디렉토리 구조 추가