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
  • 1. 문제 해결 언어 - php
  • 2. 문제 해결 언어 - Node.js
  • 3. 문제 해결 언어 - Django
  • 4. 문제 해결 언어 - Flask
  • 5. 문제 해결 언어 - Ruby on Rails

Was this helpful?

  1. 한국어
  2. 구름EDU 사용법(강의자용)
  3. 04. 문제 관리

웹 서비스/애플리케이션 개발 문제 실행해보기

Previous웹 서비스/애플리케이션 개발 문제 만들기NextHTML/CSS/JS 프로그래밍 문제 만들기

Last updated 4 years ago

Was this helpful?

이 문서에서는 웹 서비스/애플리케이션 개발 문제 만들기에서 실행해보기에 대한 내용만을 다룹니다. 웹 서비스/애플리케이션 개발 문제 만들기의 기본적인 사항에 대해서는 아래 링크를 참고하시기 바랍니다.

1. 문제 해결 언어 - php

'php(Hypertext Preprocessor)'란 범용성을 지닌 널리 사용되는 오픈 소스 스크립트 언어입니다. 특히 웹 개발과 HTML에 포함하기 적합한 언어입니다.

php를 문제 해결 언어로 지정했을 때, 'goorm.zip' 파일을 예시로 설명하겠습니다. goorm.zip 프로젝트 파일의 디렉토리와 코드 정보는 다음과 같습니다.

'기본 프로젝트' 탭에서 zip파일 형태의 프로젝트 파일을 업로드 한 후 '프로젝트 설정' 란의 '웹 서버 실행시 연결될 프로젝트 경로'를 작성해야 합니다. goorm.zip 파일을 기본 프로젝트로 업로드 했을 때 goorm 폴더의 example.php 파일을 실행하고 싶다면 프로젝트 경로를 /goorm/example.php로 작성하시면 됩니다.

php의 경우에는 apache2 서버를 리눅스 서비스로 사용하기 때문에 따로 실행 스크립트를 작성할 필요가 없습니다.

'웹 서버 확인 및 실행 설정' 탭의 웹 서버 확인 포트를 '80'으로 설정하고 하단의 ▶실행해보기 버튼을 누르면 다음과 같이 웹 서버가 실행됨을 확인하실 수 있습니다.

2. 문제 해결 언어 - Node.js

'Node.js'란 구글 크롬의 자바스크립트 엔진 (V8 Engine) 위에서 동작하는 이벤트 처리 I/O 프레임워크입니다.

웹 서버와 같이 확장성 있는 네트워크 프로그램 제작을 위해 고안된 서버 사이드 플랫폼입니다.

Node.js를 문제 해결 언어로 지정 했을 때, 'goorm.zip' 파일을 예시로 설명하겠습니다. goorm.zip 프로젝트 파일의 디렉토리와 코드 정보는 다음과 같습니다. Node.js 코드 작성 시 외부접속이 허용되도록 hostname을 '0.0.0.0'으로 설정해야 합니다.

'기본 프로젝트' 탭에서 zip파일 형태의 프로젝트 파일을 업로드 한 후 '웹 서버 확인 및 실행 설정' 탭에서 '웹 서버 확인 포트'와 하단 부분의 #!/bin/bash로 시작하는 bash 쉘 스크립트 입력란에 '서버 실행 스크립트'를 작성해야 합니다.

goorm.zip 파일을 기본 프로젝트로 업로드 했을 때 goorm 폴더의 app.js 파일을 실행하고 싶다면(goorm/app.js) 다음과 같이 서버 실행 스크립트에서 cd 명령어로 해당 파일이 있는 디렉토리로 이동한 후 실행 명령어를 작성하시면 됩니다.

'웹 서버 확인 및 실행 설정' 탭에서 코드에 작성된 포트 번호와 웹 서버 확인 포트 번호를 반드시 동일하게 작성하셔야 합니다. 예를 들어 코드에 작성된 포트 번호가 3000이라면 웹 서버 확인 포트도 3000으로 작성해야 합니다. goorm/app.js 의 app.js를 실행할 때 서버 실행 스크립트 작성 예시는 다음과 같습니다.

cd goorm

cd 명령어로 실행하고자 하는 js 파일이 있는 디렉토리로 이동합니다

node app.js

js 파일을 실행하는 명령어를 작성합니다.

#!/bin/bash
cd goorm
node app.js

하단의 ▶실행해보기버튼을 누르면 다음과 같이 웹 서버가 실행 됨을 확인하실 수 있습니다.

3. 문제 해결 언어 - Django

'Django'란 파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임 워크입니다. Django 프레임 워크는 웹 개발에서 번거로운 요소들을 새로 개발할 필요 없이 내장된 기능만을 이용해 빠른 개발을 할 수 있다는 장점이 있습니다.

Django를 문제 해결 언어로 지정 했을 때, 'goorm.zip' 파일을 예시로 설명하겠습니다. goorm.zip 프로젝트 파일의 디렉토리와 코드 정보는 다음과 같습니다.

'기본 프로젝트' 탭에서 zip파일 형태의 프로젝트 파일을 업로드 한 후 '웹 서버 확인 및 실행 설정' 탭에서 '웹 서버 확인 포트'와 하단 부분의 #!/bin/bash로 시작하는 bash 쉘 스크립트 입력란에 '서버 실행 스크립트'를 작성해야 합니다.

goorm.zip 파일을 기본 프로젝트로 업로드 했을 때 goorm 폴더의 Django 프로젝트를 실행하고 싶다면 다음과 같이 서버 실행 스크립트에서 cd 명령어로 Django 프로젝트가 있는 디렉토리로 이동한 후 실행 명령어를 작성하시면 됩니다.

'웹 서버 확인 및 실행 설정' 탭에서 웹 서버 확인 포트 번호와 실행 스크립트에서 작성한 포트 번호를 반드시 동일하게 작성하셔야 합니다. 예를 들어 웹 서버 확인 포트 번호를 8000으로 설정했다면 실행 스크립트에서의 포트 번호 또한 8000으로 작성해야 합니다.

goorm/manage.py 의 manage.py 파일을 통해 웹 서버를 실행할 때 서버 실행 스크립트 작성 예시는 다음과 같습니다.

cd goorm

cd 명령어로 Django 프로젝트가 있는 디렉토리로 이동합니다.

python manage.py runserver 0:8000

웹 서버를 실행하는 명령어를 작성합니다. 웹 서버에 대한 외부접속이 허용되도록 포트 번호를 0:(포트 번호)의 형태로 작성해야 합니다. 포트 번호는 웹 서버 확인 포트 번호와 일치해야 합니다.

#!/bin/bash
cd goorm
python manage.py runserver 0:8000

하단의 ▶실행해보기버튼을 누르면 다음과 같이 웹 서버가 실행 됨을 확인하실 수 있습니다.

4. 문제 해결 언어 - Flask

'Flask'란 파이썬 웹 애플리케이션을 만드는 프레임 워크입니다. Flask는 Django에 비해 가벼우면서도 단순하고 빠르게 웹을 만들 수 있다는 장점이 있습니다.

Flask를 문제 해결 언어로 지정 했을 때, 'goorm.zip' 파일을 예시로 설명하겠습니다. goorm.zip 프로젝트 파일의 디렉토리와 코드 정보는 다음과 같습니다. 코드 작성 시 외부접속이 허용되도록 run() 메소드에서 호스트를 '0.0.0.0'으로 설정해야 합니다.

'기본 프로젝트' 탭에서 zip파일 형태의 프로젝트 파일을 업로드 한 후 '웹 서버 확인 및 실행 설정' 탭에서 '웹 서버 확인 포트'와 하단 부분의 #!/bin/bash로 시작하는 bash 쉘 스크립트 입력란에 '서버 실행 스크립트'를 작성해야 합니다.

goorm.zip 파일을 기본 프로젝트로 업로드 했을 때 goorm/myproject 폴더의 hello.py 파일을 실행하고 싶다면(goorm/myproject/hello.py) 다음과 같이 서버 실행 스크립트에서 cd 명령어로 해당 파일이 있는 디렉토리로 이동한 후 실행 명령어를 작성하시면 됩니다.

'웹 서버 확인 및 실행 설정' 탭에서 코드에 작성한 포트 번호와 웹 서버 확인 포트 번호를 반드시 동일하게 작성하셔야 합니다. 예를 들어 코드에 작성된 포트 번호가 5000이라면 웹 서버 확인 포트 번호 또한 5000으로 작성해야 합니다.

goorm/myproject 의 hello.py 파일을 통해 Flask 웹 서버를 실행할 때 서버 실행 스크립트 작성 예시는 다음과 같습니다.

cd goorm/project

cd 명령어로 실행하고자 하는 py파일이 있는 디렉토리로 이동합니다.

python hello.py

py 파일을 실행하는 명령어를 작성합니다.

#!/bin/bash
cd goorm/project
python hello.py

하단의 '실행해보기' 버튼을 누르면 다음과 같이 웹 서버가 실행 됨을 확인하실 수 있습니다.

5. 문제 해결 언어 - Ruby on Rails

'Ruby on Rails'란 루비 프로그램 언어에서 동작하는 웹 어플리케이션 프레임 워크입니다. Ruby on Rails는 모든 개발자가 개발을 시작할 때 필요한 초기 준비나 가정들을 쉽게 만들수 있는 도구를 제공하여, 웹 어플리케이션 프로그래밍을 더 쉽게 만들수 있도록 설계 되어 있습니다.

Ruby on Rails를 문제 해결 언어로 지정 했을 때, 'goorm.zip' 파일을 예시로 설명하겠습니다. goorm.zip 프로젝트 파일의 디렉토리 정보는 다음과 같습니다.

'기본 프로젝트' 탭에서 zip파일 형태의 프로젝트 파일을 업로드 한 후 '웹 서버 확인 및 실행 설정' 탭에서 '웹 서버 확인 포트'와 하단 부분의 #!/bin/bash로 시작하는 bash 쉘 스크립트 입력란에 '서버 실행 스크립트'를 작성해야 합니다.

goorm.zip 파일을 기본 프로젝트로 업로드 했을 때 Ruby on Rails 애플리케이션이 있는 goorm/blog 폴더로 이동해야 합니다.

서버 실행 스크립트에서 cd 명령어로 해당 파일이 있는 디렉토리로 이동한 후 실행 명령어를 작성하시면 됩니다.

'웹 서버 확인 및 실행 설정' 탭에서 웹 서버 확인 포트 번호와 실행 스크립트에서 작성한 포트 번호를 반드시 동일하게 작성해야 합니다. 예를 들어 웹 서버 확인 포트 번호를 3000으로 설정했다면 실행 스크립트에서의 포트 번호 또한 3000으로 작성해야 합니다.

goorm/blog 폴더의 Ruby on Rails 애플리케이션에서 웹 서버를 실행할 때 서버 실행 스크립트 작성 예시는 다음과 같습니다.

cd goorm/blog

가장 먼저 cd 명령어로 Ruby on Rails 애플리케이션이 있는 디렉토리로 이동합니다.

bundle install

Ruby on Rails 웹서버 실행 시 필요한 gem 설치를 위해 작성합니다.

rails server -b 0.0.0.0 -p 3000

웹 서버를 실행하는 명령어를 작성합니다. 웹 서버에 대한 외부 접속이 허용되도록 -b 옵션에서 host를 '0.0.0.0' 으로 지정하고 -p 옵션으로 서버가 동작할 포트 번호를 지정합니다. 포트 번호는 웹 서버 확인 포트 번호와 일치해야 합니다.

#!/bin/bash
cd goorm/blog
bundle install
rails server -b 0.0.0.0 -p 3000

하단의 '실행해보기' 버튼을 누르면 다음과 같이 웹 서버가 실행 됨을 확인하실 수 있습니다.

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