LogoLogo
  • Guide of goorm
  • ENGLISH
    • goorm account (for all services)
    • goormIDE
      • 01. Getting Started
        • What is goormIDE?
        • Key Terms
        • Quickstart
        • Build
          • C/C++
          • JAVA
          • Node.js
          • Python
          • Ruby
          • JSP
          • PHP
          • .NET
          • Spring-Maven
      • 02. Container
        • Container Specifications
        • Image: Packs
        • Inactive Container
        • Automatic Stop
      • 03. Workspace
        • Introduction to the Workspace
        • Collaboration
          • Contaienr Sharing
          • Co-Editing
          • Chatting
        • Keyboard Shortcut
        • Import Github Repos
        • Workspace Features
          • Init Script
          • Environment Variables
          • Commands
          • URL/Port
          • Application Modes
          • Muti Project
          • Merge Code
          • AI code completion
        • Source Code Management - Git
          • Git
          • Status
          • Add
          • Commit
          • Push
          • Pull
          • Ignore
          • Branch
          • Log
          • Event tab
          • Diff
        • File Management
          • Move
          • Open / Close
          • Properties
        • Terminal
        • Extra features
          • Auto Complete / Auto Import
          • Bug Reporting
          • Language Support
          • SBOM Management
      • 04. GPU
        • Introduction to the GPU
      • 05. Credits
        • About Credits
        • How credits are calculated
      • 06. Membership
        • About Membership
      • 07. FAQ
        • SSH / Port Forwarding Configuration
        • Why my container is blocked?
        • Can I use goormIDE on a mobile device?
        • React Native Container is not working
        • How to run as background process?
        • Using MySQL Workbench with goormIDE
        • I want to use Selenium.
        • How do I copy/paste from the terminal?
    • goormDEVTH (for applicants)
      • Access Evaluation
      • Proceed Evaluation
      • FAQ
        • The answer is correct, but it conflicts with the test case.
    • goormDEVTH (for interviewers)
      • Quick Start
        • Sign In & Sign Up
        • Reset Password
        • Free Trial
      • Management and Settings
        • New Assessment
        • Assessment Management
        • Assessment Information
        • Assessment Settings
        • Activity Log
      • Quiz Management
        • Making a New Quiz
        • Quiz Management
        • Import Quiz and General Settings
        • New Quiz(Different Types)
      • Test Management
        • Assessment List(New Assessment/Assessment Management)
        • Exam Result Management
        • Real Time Status
      • Applicant Management and Grade Report
        • Applicant Management
        • Applicant Invitation
        • Applicant Group Management
        • Grade Report
  • 한국어
    • 구름 계정(공통)
    • 구름IDE 사용법
      • 01. 시작하기
        • 구름IDE가 무엇인가요?
        • 주요 용어
        • 빠르게 사용해보기
        • 빌드
          • C/C++
          • JAVA
          • Node.js
          • Python
          • Ruby
          • JSP
          • PHP
          • .NET
          • Spring-Maven
        • 디버그
      • 02. 컨테이너
        • 컨테이너 성능
        • 이미지팩
        • 컨테이너 동면
        • 자동 정지
      • 03. 워크스페이스
        • 워크스페이스 소개
        • 협업 기능
          • 컨테이너 공유
          • 동시 편집
          • 채팅
        • 단축키
        • Github 저장소 불러오기
        • 편의 기능
          • 시작 스크립트
          • 환경 변수
          • 명령어
          • URL/Port
          • 애플리케이션 모드
          • 멀티 프로젝트
          • 코드 병합
          • AI 코드 자동완성 기능
        • 소스 코드 관리 - Git
          • Git
          • Status
          • Add
          • Commit
          • Push
          • Pull
          • Ignore
          • Branch
          • Log
          • Event tab
          • Diff
        • 파일 관리
          • 이동
          • 열기 / 닫기
          • 속성
        • 터미널
        • 기타 기능
          • 자동 완성 / 자동 Import
          • 버그 리포트
          • 다국어 지원
          • SBOM 관리
      • 04. GPU
        • GPU 소개
      • 05. 크레딧
        • 크레딧이란?
        • 크레딧 계산하기
      • 06. 멤버십
        • 멤버십이란?
      • 07. 자주 묻는 질문(FAQ)
        • SSH / 포트포워딩 설정 방법
        • 차단이 됐는데 이유를 모르겠어요
        • 모바일 기기에서 구름IDE를 사용할 수 있나요?
        • React Native 컨테이너가 실행이 안 돼요
        • 백그라운드 프로세스로 실행하는 방법
        • 구름IDE 에서 MySQL Workbench를 사용하고 싶어요
        • Selenium을 사용하고 싶습니다
        • 터미널에서 복사/붙여넣기는 어떻게 하나요?
    • 구름EDU 사용법(수강자용)
      • 00. 소개
      • 01. 회원 가입 & 로그인
        • 회원 가입 & 로그인
        • 비밀번호 재설정하기
        • 메인 페이지 안내
      • 02. 수강하기
        • 강좌 찾기
        • 무료 강좌 수강하기
        • 유료 강좌 수강하기
        • 내 수강 정보 화면 안내
        • 수강 평가하기
        • 수강 취소하기
      • 03. 학습 진행
        • 강의 시작하기
        • 수강화면 인터페이스
        • 실습화면 인터페이스
          • 채점 모드 / 제출 모드 / 실행 모드
      • 04. 시험/과제
        • 모니터 화면 공유(스크린캡쳐)/웹캠 권한 허용
        • 모바일(핸드폰) 카메라 설정
        • 시험/과제 화면 인터페이스
        • (동영상가이드)시험/과제 화면 인터페이스
      • 05. 문제 유형 소개
        • 스크래치 프로그래밍 문제 유형
        • 일반 프로그래밍 문제 유형
        • GUI 프로그래밍 문제 유형
        • 거북이 문제 (Skulpt) 유형
        • 유닛 테스트 문제 유형
        • 로보코드(코드) 문제 유형
        • 웹 서비스/애플리케이션 개발 문제 유형
        • HTML/CSS/JS 프로그래밍 문제 유형
        • RESTful API 실습 유형
        • 아두이노 스케치 개발 문제 유형
        • 스크래치두이노 개발 문제 유형
        • 일반 문제 유형
      • 06. 구름IDE를 이용한 강좌 수강
        • 구름IDE와 강좌의 연결
      • 07. 학교/기관/기업 채널 서비스 수강자
        • 채널 가입
          • 채널 가입하기
          • 초등학교 전용 채널 그림 로그인
        • 채널 검색
        • 수강 신청
          • 강좌 찾기
          • 수강 신청하기
          • 수강정보 화면 안내
        • 학습 진행
          • 출석
          • 온라인 튜터링
          • 시험 응시하기 & 과제 제출하기
      • 08. 구름LIVE Playground
        • 카메라와 마이크를 설정 할 수 없는 경우
      • 자주 묻는 질문(FAQ)
        • 채널 가입 신청이 승인 대기중이라고 나옵니다
        • 수강 신청을 했는데 강좌가 안 보입니다.
        • 실수로 시험을 종료했을 때, 다시 시험을 칠 수 있나요?
        • 수강 취소를 하고 싶어요
        • 수강취소했는데 환불이 안되었습니다
        • 모바일 버전 지원도 되나요?
        • [화상강의] 카메라와 마이크가 안 뜹니다.
    • 구름EDU 사용법(강의자용)
      • 01. 구름EDU 강의 관리 도구
        • 소개
        • 회원가입 & 로그인
        • 강의자 권한 신청
      • 02. 강좌 관리 및 설정
        • 강의자 홈
        • 강좌 만들기
        • 강좌 홈
        • 설정
        • 활동 내역
        • 뼈대 강좌로 강좌 생성하기
      • 03. 교육 컨텐츠 만들기
        • 강좌 컨텐츠의 구성
        • 챕터/강의 추가 및 삭제, 이름 변경, 위치 변경
        • 이론 중심 강의 편집하기
        • 동영상 한 번에 올리기
        • 실습 중심 강의 편집하기
        • 공개 기간 / 배지
        • 체험 강의 설정
      • 04. 문제 관리
        • 문제 가져오기 및 공통 설정
        • 스크래치 문제 만들기
          • 확장 기능 이용하기
        • 엔트리 문제 만들기
        • 일반 프로그래밍 문제 만들기
        • GUI/GAME 프로그래밍 문제 만들기
        • 유닛 테스트 문제 만들기
        • 로보코드 문제 만들기
        • 크루세이더 퀘스트 문제 만들기
        • 거북이 문제(Skulpt) 만들기
        • GlowScript 문제(VPython) 만들기
        • 웹 서비스/애플리케이션 개발 문제 만들기
        • 웹 서비스/애플리케이션 개발 문제 실행해보기
        • HTML/CSS/JS 프로그래밍 문제 만들기
        • 채점 스크립트 작성하기
        • RESTful API 문제 만들기
        • 아두이노 개발 문제 만들기
        • 스크래치두이노 개발 문제 만들기
        • O/X 문제 만들기
        • 주관식 문제 만들기
        • 객관식 문제 만들기
        • 선긋기 문제 만들기
        • 서술형 문제 만들기
        • 파일 제출 문제 만들기
        • 문제 검색, 수정, 삭제
      • 05. 시험/과제 관리
        • 시험/과제의 개념
        • 시험/과제 생성
        • 결과 분석
        • 실시간 시험 현황
      • 06. 수강자 관리
        • 수강자 관리
        • 신규 수강자 초대하기
        • 초대 메일 발송
        • 강좌 코드로 초대하기
        • 계정 만들어 주기
        • 출석 관리
        • 온라인 튜터링
      • 07. 성적 관리
        • 성취도 분석
        • 성적 보고서 만들기
      • 08. 기업/학교/학원/기관별 채널
        • 채널이란
        • 채널 신청 방법
        • 채널 관리
        • 사용자 관리
        • 채널 사용자 추가
          • 초대 메일 발송
          • 초대 링크로 사용자 초대하기
          • 계정 만들어주기
        • 강좌에 수강자 초대하기
          • 초대 메일 발송
          • 초대 코드 전달
          • 계정 만들어 주기
          • 임시 수강생 등록
        • 공동강의자 추가하기
        • 채널 활동 기록
          • 자동/수동 채점 및 채점 기록
        • 채널 설정
        • 채널 강좌 관리
      • 09. 구름LIVE Studio
      • 자주 묻는 질문(FAQ)
        • 내 강좌 교육과정에 뼈대 과목에 있는 몇 개의 강의를 복사하고 싶습니다
        • 시험 끝내기 버튼이 보이지 않습니다
        • 수강생의 학년/반/번호를 수정하고 싶습니다
        • 코드 에디터에서 복사/붙여넣기가 동작하지 않습니다
        • 수강생들이 제출한 파일은 어디에서 볼 수 있나요?
        • 제출시 프로그램 수행시간 제한과 실행시 프로그램 수행시간 제한의 차이점인 뭔가요?
        • 문제 가져오기에 보이는 문제와 안 보이는 문제는 무슨 차이가 있나요?
        • 시험과 과제는 어떤 차이점이 있는 건가요?
        • 성취도 보기에 완료로 되어있는데 제출 결과는 없습니다
        • 시험 가져오기를 통해 가져올 수 있는 시험은 어떤 건가요?
        • 채팅은 강의자와 수강생 1:1로만 대화가 가능한가요?
        • 기업, 학교 등 기관 회원 가입은 어떻게 하나요?
        • 강좌 개설 후 공개 설정을 했는데, 채널 메인에서 확인이 안 됩니다
        • 관리자 권한이 없습니다 / 관리자 페이지를 못찾겠습니다
        • 답안을 정규표현식으로 어떻게 작성할 수 있나요?
        • 구름EDU 강의자의 혜택이 궁금합니다
        • Interactice shell이 뭔가요?
        • 함수형 문제를 만들고 싶습니다
    • 구름DEVTH 사용법(지원자용)
      • 평가 접속하기
      • 평가 진행하기
        • 모니터화면공유(스크린캡쳐)/웹캠 권한 허용
        • 모바일(핸드폰) 카메라 설정
        • 스마트폰에서 QR코드 인식 방법
      • 평가 종료하기
      • 자주 묻는 질문(FAQ)
        • 로그인 시 정보가 일치하지 않는다고 합니다
        • 실행이 안됩니다
        • 시험을 종료하고 싶습니다
        • 채점 결과는 정답인데, 테스트케이스를 실행하면 불일치라고 합니다.
        • 사용 가능 언어를 알고 싶습니다 / 언어를 변경하고 싶습니다
        • 컴파일러 버전이 궁금합니다
        • 붙여넣기를 하지 않았는데, 경고문구가 뜹니다.
        • 초대 메일이 도착하지 않았습니다
        • 시험 응시를 위한 권장 환경은 어떻게 되나요?
    • 구름DEVTH 사용법(평가자용)
      • Quick Start
        • 평가/시험/문제
        • 평가 생성
        • 문제 생성
        • 시험 생성
        • 지원자 초대
        • 무료 체험 사용 신청
      • 평가 관리 및 설정
        • 평가 생성
        • 평가 관리
        • 평가 정보
        • 평가 설정
        • 활동 기록
      • 문제 관리
        • 문제 생성
        • 문제 관리
        • 문제 가져오기 및 공통 설정
        • 문제만들기(유형별)
      • 시험 관리
        • 평가 목록(시험 생성/관리)
          • 순위 보여주기
          • 구름IDE로 시험 보기
        • 결과 관리
          • 부정행위 방지 기능
            • 웹캠 / 스크린(화면) 캡쳐
            • 소스 코드 유사도 검사
            • 작성 이력 재생
        • 실시간 평가 현황
      • 지원자 및 성적 관리
        • 지원자 관리
        • 지원자 초대
        • 지원자 그룹 관리
        • 성적 보고서
      • 자주 묻는 질문(FAQ)
        • 문제, 답안, 채점결과까지 한 문서에 출력하고 싶습니다.
        • 기업용 문제은행은 어떻게 사용할 수 있나요?
        • 함수형 문제를 만들고 싶습니다
        • 구름DEVTH 옵저뷰 사용을 위한 권장 환경은 어떻게 되나요?
  • RELEASE NOTES
    • goormIDE
      • Jan 10, 2025
      • Nov 28, 2024
      • Nov 7, 2024
      • Oct 17, 2024
      • Sep 26, 2024
      • Sep 12, 2024
      • Aug 16, 2024
      • Jul 30, 2024
      • Jul 04, 2024
      • Jun 13, 2024
      • May 24, 2024
      • May 2, 2024
      • Apr 18, 2024
      • Mar 27, 2024
      • Oct 05, 2023
      • May 15, 2023
      • Apr 03, 2023
      • Feb 17, 2023
      • Jan 12, 2023
      • Nov 29, 2022
      • Nov 10, 2022
      • Oct 13, 2022
      • Sep 28, 2022
      • Sep 09, 2022
      • Jul 25, 2022
      • Jul 04, 2022
      • Jun. 21, 2022
      • May. 24, 2022
      • May. 2, 2022
      • Apr. 11, 2022
      • Mar. 24, 2022
      • Mar. 7, 2022
      • Feb. 10, 2022
      • Jan. 19, 2022
      • Dec. 23, 2021
      • Dec. 2, 2021
      • Nov. 11, 2021
      • Oct. 28, 2021
      • Sep. 29, 2021
      • Sep. 14, 2021
      • Aug. 19, 2021
      • Aug. 3, 2021
      • Jul. 13, 2021
      • May. 24, 2021
      • Apr. 9, 2021
      • Mar. 22, 2021
      • Jan. 7, 2021
      • Nov. 3, 2020
      • Jul. 23, 2020
      • May. 26, 2020
      • Apr. 20, 2020
      • Mar. 20, 2020
      • Feb. 21, 2020
      • Sep. 17, 2019
      • Nov. 28, 2019
    • goormEDU
      • Aug. 4, 2022
      • Jul. 1, 2022
      • May. 23, 2022
      • Mar. 23, 2022
      • Feb. 8, 2022
      • Dec. 24, 2021
      • Nov. 13, 2021
      • Oct. 23, 2021
      • Sep. 11, 2021
      • Aug. 21, 2021
      • Jul. 14, 2021
      • May. 12, 2021
      • Apr. 9, 2021
      • Jan. 20, 2021
      • Dec. 7, 2020
      • Nov. 19, 2020
      • Nov. 3, 2020
      • Jun. 30, 2020
      • Jun. 16, 2020
      • May. 16, 2020
      • Apr. 14, 2020
      • Feb. 14, 2020
      • Dec. 27, 2019
      • Nov. 18, 2019
    • goormEDU Channel
      • May. 16, 2025
      • Apr. 25, 2025
      • Sep. 5, 2022
      • Jul. 25, 2022
      • Jul. 1, 2022
      • Apr. 28, 2022
      • Mar. 24, 2022
      • Feb. 8, 2022
      • Jul. 14, 2021
      • May. 12, 2021
      • Apr. 14, 2021
      • Jan. 20, 2021
    • goormDEVTH
      • May. 15th, 2025
      • Apr. 24th, 2025
      • Apr. 4th, 2025
      • Mar. 17, 2025
      • Feb. 20, 2025
      • Apr.25, 2024
      • Jul. 19, 2022
      • May. 24, 2022
      • Mar. 29, 2022
      • Jan. 17, 2022
      • Dec. 24, 2021
      • Nov. 12, 2021
      • Oct. 22, 2021
      • Sep. 10, 2021
      • Aug. 20, 2021
      • Jul. 14, 2021
      • May. 12, 2021
      • Apr. 9, 2021
      • Jan. 20, 2021
Powered by GitBook
On this page
  • 웹 서비스 / 애플리케이션 개발 문제

Was this helpful?

  1. 한국어
  2. 구름EDU 사용법(수강자용)
  3. 05. 문제 유형 소개

웹 서비스/애플리케이션 개발 문제 유형

Previous로보코드(코드) 문제 유형NextHTML/CSS/JS 프로그래밍 문제 유형

Last updated 4 years ago

Was this helpful?

웹 서비스/애플리케이션 개발 문제는 채점모드, 제출모드, 실행모드를 지원합니다.

학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.

웹 서비스 / 애플리케이션 개발 문제

구름 EDU에서는 웹 서비스의 서버 사이드 프로그래밍을 할 수 있도록 웹 서비스/애플리케이션 개발 문제 유형을 제공합니다.

이 문제 유형에서는 수강자는 강의자가 업로드한 웹 프로젝트의 파일 중 지정된 일부 파일을 수정 및 열람을 할 수 있습니다.

수정 및 열람 가능한 파일들의 소스코드를 자유롭게 수정하여 답안을 작성하면 되며, 중간에 결과를 확인하기 위해 작성한 소스코드를 기반으로 웹 서버를 실행 해 볼 수도 있습니다.

우측 상단의 실행 버튼을 누르면 지금까지 작성한 소스 코드를 기반으로 웹 서버가 실행되고, 해당 웹 서버에 접속해 볼 수 있는 페이지 링크가 '실행 결과` 창 오른쪽에 나타납니다.

생성된 링크를 클릭하면 작성&실행한 웹 서버에 접속할 수 있습니다. 웹 서버가 실행되면, '실행 결과' 창에 웹 서버 로그를 볼 수 있고, 키 입력은 불가능합니다.

소스코드를 변경한 뒤 웹 서버에 적용하려면 다시 웹 실행 버튼을 클릭하여 새로 작성한 소스 코드를 적용한 후 서버를 다시 시작 합니다.

현재 구름EDU 웹 서비스/애플리케이션 문제에서 지원하는 백엔드 언어 및 프레임워크는 5가지 입니다.

  • PHP (Apache2 Server)

  • Node.js

  • Django (Python Framework)

  • Flask (Python Framework)

  • Ruby on Rails (Ruby Framework)

강의자가 설정한 언어를 확인하고 해당 언어로 프로그래밍 하시면 됩니다.

웹 서비스/애플리케이션 개발 문제도 일반 프로그래밍 문제 유형과 같이, 채점모드에서 답안을 제출하면, 테스트 케이스를 통해 채점을 하게 되며, 테스트 케이스 별 정답/오답 결과가 나타납니다.

테스트 케이스마다 배정된 배점이 있으며 통과한 테스트 케이스의 배점의 합 만큼의 점수를 얻게 됩니다.

제출모드일 경우 여타 다른 실습형 문제유형과 같이 소스코드를 제출하게 되며, 채점자가 직접 확인하게 됩니다.

웹 서비스/애플리케이션 개발 문제의 채점은 UI 테스트 툴을 이용하여 진행됩니다. 출제자가 지정한 테스트 시나리오대로 정상적으로 이루어지면 정답, 그렇지 않으면 오답입니다.

다음은 출제자가 작성하는 테스트 시나리오의 예시입니다.

  1. 서버 url로 접속한다

  2. body 태그가 존재할 때 까지 최대 5초 기다린다. - 5초 안에 body 태그가 존재하지 않으면 실패

  3. 2초 기다린다

  4. id가 input인 태그가 보일 때까지 최대 5초 기다린다 - 5초 안에 id가 input 태그가 보이지 않으면 실패

  5. id가 input인 태그에 'goorm'이라고 입력한다. - id가 input인 태그가 존재하지 않으면 에러

  6. class가 button인 태그가 보일 때까지 최대 5초 기다린다.- 5초 안에 class가 button인 태그가 보이지 않으면 실패

  7. id가 button인 태그를 클릭한다. - id가 button인 태그가 존재하지 않으면 에러

  8. id가 output인 태그가 보일 때까지 5초 기다린다 - 5초 안애 id가 output인 태그가 보이지 않으면 실패

  9. id가 output인 태그에 'login success'라는 글자가 포함되어있는지 확인한다. - id가 output인 태그가 'login success'라는 글자를 포함하지 않으면 실패

출제자가 작성한 시나리오는 위와 같은 형태일 것 입니다. 테스트에서 한 개 이상의 에러나 실패가 나타나면 해당 테스트는 오답처리가 되게 됩니다.

테스트 시나리오에서 DOM을 구분하는 방식은 id나 class값, 태그 이름 등이므로, 문제의 요구 사항을 확실하게 파악하고 코드를 작성해야 알맞 채점 결과를 얻을 수 있습니다.

실습화면 인터페이스