KR20050051615A - 클라이언트/서버 기반의 실시간 프로그래밍 언어실습시스템 - Google Patents

클라이언트/서버 기반의 실시간 프로그래밍 언어실습시스템 Download PDF

Info

Publication number
KR20050051615A
KR20050051615A KR1020050038681A KR20050038681A KR20050051615A KR 20050051615 A KR20050051615 A KR 20050051615A KR 1020050038681 A KR1020050038681 A KR 1020050038681A KR 20050038681 A KR20050038681 A KR 20050038681A KR 20050051615 A KR20050051615 A KR 20050051615A
Authority
KR
South Korea
Prior art keywords
server
language
source code
real
practice
Prior art date
Application number
KR1020050038681A
Other languages
English (en)
Inventor
유인환
구덕회
박판우
Original Assignee
구덕회
유인환
박판우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구덕회, 유인환, 박판우 filed Critical 구덕회
Priority to KR1020050038681A priority Critical patent/KR20050051615A/ko
Publication of KR20050051615A publication Critical patent/KR20050051615A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 표준화된 인터넷 프로토콜인 hypertext transfer protocol(http)를 통해 서버의 compiling system을 공유, 실시간 프로그래밍 저작도구를 제공받음으로써 최소의 인터페이스만으로 시간, 장소, 공간의 구애를 받지 않고 효과적인 프로그래밍 언어 실습시스템을 실습자에게 제공하기 위한 서버레벨의 서비스구조와 미들웨어 레벨의 데이터 드리븐 방식, 최종 실습자의 처리 프로세스에 관한 것이다.
Clinet/Server기반의 실시간 프로그래밍언어 실습시스템은 다수의 실습자들을 구분하기 위한 UID(Unique IDentification)를 서버 접속 시 부여하여 각각의 클라이언트 단말기 상에서 발생하는 요청(Request)에 대해 대응하는 컴파일링 서비스를 제공함으로써 클라이언트로 하여금 본인의 실습에 필요한 프로그래밍 실습환경을 실시간으로 지원하도록 하는 서버의 Multiple Compiling Service Sytstem과 이를 최소단위의 해석기인 html로 변환해주는 중간변환시스템을 통해 실습자의 컴퓨터에게 프로그래밍 언어의 실행과정들을 실시간으로 제공하게 된다. 따라서 본 발명에 의하면, 프로그래밍 언어 실습자는 본인이 작성하는 프로그래밍 언어의 이해를 위해 시스템 플랫폼을 이해하지 않고도 본연의 목적인 언어실습을 위한 다양한 컴파일 실습 서비스를 실시간으로 제공받게 되는 편리성과, 전문적인 교육을 받아야만 사용할 수 있는 컴파일러 설정 및 사용법 숙지를 하지 않고도 hypertext transfer protocol을 지원하기만 하면 어떠한 컴퓨터에서도 프로그래밍언어 실습을 할 수 있는 가용성, 추가적인 compilng system을 구축하지 않아도 되는 경제성이 높아지게 되어 보다 많은 프로그래밍 언어 실습자들의 실습욕구를 증진시킬 수 있고, 양질의 고급 개발자들을 양성하게 되는 효과를 얻을 수 있다.

Description

클라이언트/서버 기반의 실시간 프로그래밍 언어 실습시스템{Client/Server Based Realtime Practice System For Programming Languages}
본 발명은 실시간 프로그래밍 실습시스템에 관한 것으로서, 표준화된 인터넷 프로토콜인 hypertext transfer protocol(http)를 통해 Compiling Server의 처리자원에 접근하여 프로그래밍 저작도구를 제공받는 실습시스템에 관한 것이다.
초고속 인터넷이 대중화 되고 유비쿼터스 열풍이 거세게 일어나는 최근의 경향은 더 이상 실습에 있어서도 시간과 공간, 장소의 제약을 받지 않는 편리성이 보편화 되어가고 있다. 그러나 유독 프로그래밍 언어의 실습에 있어서는 사전지식의 습득을 포함하여 실습의 준비에 따른 노력 없이는 시작 자체가 어려운 것이 실정이어서 높은 경제적 부담을 감수하면서 플랫폼설정, 프로그래밍언어 세팅과 같은 사전준비가 된 장소나 환경 하에서 실습을 해 왔었다.
뿐만 아니라, 인터넷 사이트들을 통해 각종 프로그래밍언어의 사용방법과 교육과정에 대한 자세한 안내가 뒷받침 됨에도 불구하고 실습자의 입장에서 실습 가능한 컨텐츠가 아니기 때문에 진정한 실습효과를 얻을 수 없었고, 미리 프로그래밍언어에 맞게 작성한 소스화일을 원격지로 보낸 후 결과물을 batch처리 받게 되는 불완전한 원격 컴파일링 서비스로 인해 소스의 작성과 동시에 그 결과물을 확인해야 하는 프로그래밍 언어의 특성상 실습효과는 높아질 수 없었던 것이 현실이었다.
따라서, 직접 소스를 작성해 가면서 그 결과들을 그때그때 확인하면서 컴퓨터의 처리를 이해해야하는 언어의 구조와 특성을 파악할 수 있는 사항을 놓쳐왔었고, 이런 구조로 인해 프로그래밍 언어를 실습해도 효율적인 실습효과를 얻을 수 없었다.
이에 본 발명은 현재까지의 기술적 한계를 극복하기 위해, 네트웍상으로 Compiling Server의 처리자원을 제공받아 프로그래밍언어를 실습하되, 소스화일을 batch형태로 보내고 결과만을 돌려받는 비효율적인 실습효과를 효율적으로 높이고자, 프로그래밍 언어 소스 편집을 하면서 실시간으로 결과물을 서버로부터 제공받을 수 있도록 Middleware Server를 중간처리시스템으로 구성하여 보다 효과적인 실습시스템을 구축하는데 그 목적이 있다.
상술한 목적을 이루기 위해 본 발명에 따른 클라이언트/서버 기반의 실시간 프로그래밍 언어 실습시스템은 각기 다른 프로그래밍 언어를 실습하려는 실습자의 클라이언트 컴퓨터를 포함하며 프로그램 소스화일을 제작하고 결과를 즉시 확인하기 위한 클라이언트 시스템 및 상기 클라이언트 시스템과 네트웍을 통해 접속된 미들웨어서버와 언어처리기 서버를 포함하며, 미들웨어 서버의 구성은 복수의 실습자가 접속을 할 때 각각의 실습자를 구분하기 위한 유일 아이디를 생성하는 Uid Generator와 실습자가 작성하는 프로그래밍 언어 소스를 임시 보관하는 저장 공간인 Source Buffer, 각 실습자가 실습하고자 하는 프로그래밍 언어의 종류에 따라 프로세서 아이디를 부여하는 Pid Generator 및 소스코드로부터 결과자료를 건네받게 되었을 때 이를 각 실습자의 브라우저 환경에 맞춰 최적의 출력화면으로 변환해주는 HTML Converter로 이루어지고, 언어처리기 서버의 구성은 실습자가 실습하는 프로그래밍 언어의 종류에 따라 부여된 Pid를 통해 해당하는 언어처리기를 선택하는 Pid Selector와 실습자의 Source 코드를 처리하는 Compiler 및 Interpreter, 실습자의 Uid와 실행결과물인 Output Data를 한데 묶어 HTML Converter로 전송해주는 Output Transfer로 이루어진다.
이러한 클라이언트 시스템, 미들웨어 시스템, 언어처리기 서버를 통해 실습자는 필요할 때마다 본인이 원하는 실습언어를 선택하여 실습용 컴퓨터의 종류에 상관없이 언어처리기를 실시간으로 제공받는 것을 특징으로 한다.
상기 클라이언트 시스템은 개인용 컴퓨터를 비롯, 운영체제가 서로 다른 System V계열의 컴퓨터는 물론이고 이동하면서 실습이 가능한 PDA까지 폭넓게 지원하는 것을 특징으로 한다.
상기 미들웨어 서버는 클라이언트 시스템과 언어처리기 서버 사이에서 다수 실습자의 서비스요구에 대해 언어처리기 서버의 처리 한계치를 설정하여 보다 원활한 서비스가 이루어 질 수 있도록 밸런스를 조절하고, 클라이언트 시스템의 브라우저 환경에 대해 언어처리기가 영향을 받지 않고 데이터 처리만을 전임할 수 있도록 명령단계를 분할하는 것을 특징으로 한다.
상기 Uid Generator는 한개 이상의 프로그래밍 언어를 실습하고자 하는 실습자에게 로그인과 같은 의미를 부여하되 효과적인 실습서비스를 제공하기 위해 유일사용자 방식보다 유일 아이디 방식의 다양성을 제공한다는 것을 특징으로 한다.
상기 Pid Generator는 실습자가 원하는 프로그래밍 언어 실습에 대해 선택한 프로그래밍 언어의 아이디를 부여하여 언어처리기 서버에서 보다 빠른 처리를 하도록 분류되는 것을 특징으로 한다.
상기 HTML Converter는 언어처리기 서버의 실행결과물을 실습자 컴퓨터의 브라우저 환경에 최적화된 모습으로 보여줄 수 있도록 실습자의 Uid및 실행결과물을 변환하여 제공하는 것을 특징으로 한다.
상기 Pid Selector는 프로그래밍 언어의 Source Code와 함께 Addon되어 온 Pid를 메타데이터로 사용하여 해당 언어처리기를 자동으로 선택, 서버의 프로세스 부담률을 낮추는 것을 특징으로 한다.
상기 Output Transfer는 언어처리기 서버의 실행결과 데이터와 사용자 Uid를 한데 묶어 미들웨어 서버의 HTML컨버터가 이를 기반으로 사용자에게 최적의 결과화면을 제공할 수 있도록 하는 것을 특징으로 한다.
이하, 본 발명에 따른 모범적인 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 본 발명에 따른 네트웍 환경에서 프로그래밍 실습을 위한 실시간 프로그래밍 실습시스템의 개략적인 구성도로서, 본 실시예의 실시간 프로그래밍 실습시스템 중, BASIC과 C 언어에 대한 실습 예를 보였다.
첫 번째로, 클라이언트 시스템(C)을 상세히 설명하기로 한다.
클라이언트 시스템(C)은 다양한 환경의 실습자 컴퓨터(13,14,15)가 존재하는 환경에서 각각의 운영체제에 맞는 HTML Browser(10,11,12)를 포함한다.
이들 실습자 컴퓨터(13,14,15)는 별도의 프로세서나 프로그램을 가동하지 않으며, 최종적인 실행결과물도 각각의 컴퓨터에 맞는 HTML로 제공되어 온 것을 실습자에게 보이는 역할만을 담당한다.
도 3a의 유일 아이디 존재를 확인하는 처리과정(S22)은 로그인과 같은 효과와 함께 다수의 프로그래밍 언어를 실습하려는 실습자에게 둘 이상의 Browser를 사용할 수 있게 하는 확장성을 제공한다.
유일 아이디가 존재하지 않을 경우 미들웨어 서버(B)의 Uid Generator(8)로부터 유일 아이디를 부여받게 되고, 유일아이디가 존재할 경우 이미 프로그래밍 언어 Source Code를 작성하여 서버에서 처리된 결과를 기다리고 있는 실습자인지를 판단하는 과정(S23)은 상술한 둘 이상의 Browser를 사용하는 실습자를 위한 조건판단 과정이다.
새롭게 프로그래밍 언어 Source Code를 작성하려는 실습자에게는 실습하고자 하는 프로그래밍 언어를 선택(S24)해서 미들웨어 서버(B)의 Pif Generator(6)가 프로세서 아이디를 만들도록 한 뒤 프로그래밍 언어 Source Code를 작성(S25)하게 하고, 이미 작성이 완료되어 Output Data를 기다리고 있는 경우 미들웨어 서버(B)의 HTML Converter(7)로부터 결과 값을 받는다(S45).
실습자는 정해진 실습용 네트웍 사이트에 접속하여 실습하고자 하는 프로그래밍 언어를 선택한 후 실습자 각각의 HTML Browser(10,11,12)가 표현할 수 있는 형태로 제공되어지는 결과 데이터를 본인이 작성한 Source Code와 함께 보게 된다.
두 번째로, 미들웨어 서버(B)를 상세히 설명하기로 한다.
미들웨어 서버(B)는 프로그래밍 언어 소스를 임시 보관, 저장하는 Source Buffer(9)와 함께 실습자 각각의 컴퓨터(13,14,15)가 접속하면 HTML Browser(10,11,12) 각각에게 유일한 아이디를 제공해주는 Uid Generator(8)를 비롯하여 사용자의 실습 해당언어를 구별해주는 프로세서 아이디를 생성하는 Pid Generator(6)와 최종 실행결과물을 실습자 각각의 HTML Browser(10,11,12)로 변환해주는 HTML Converter(7)를 포함한다
클라이언트 시스템(C)의 실습용 컴퓨터(13,14,15)로부터 접속이 시도되면, Source Buffer(9)를 통해 Uid Generator(8)는 실습용 컴퓨터(13,14,15)의 HTML Browser(10,11,12) 각각에 유일 아이디를 부여하고, 실습자는 HTML Browser(13,14,15)상에서 실습하고자 하는 프로그래밍 언어를 선택, 이 정보를 통해 Pid Generator(6)가 프로세서 아이디를 생성한다. 사용자는 HTML Browser(10,11,12)상에서 선택한 프로그래밍 언어의 Source Code를 작성하게 되고 작성된 Source Code는 Source Buffer(9)상에서 유일아이디와 합쳐진 후 프로세서 아이디와 한 번 더 합쳐져서 언어처리기 서버(A)로 보내지게 된다.
처리된 프로그래밍 언어 Source Code는 다시 유일아이디와 실행결과물인 Output Data의 합쳐진 Data 형식으로 HTML Converter(7)로 전송되어 오고(S40), 유일 아이디를 통해 실습자 각각의 HTML Browser(10,11,12)에 최적화된 화면 표시 값을 연산(S42) 해당되는 형태로 변환(S44)되어 클라이언트 시스템(C)으로 전송(S45)된다.
도 3c는 미들웨어 서버가 언어처리기 서버(A)의 Output Transfer(5)로부터 유일 아이디가 포함된 Output 데이터를 획득(S40)하여 실습자컴퓨터가 접속 중인지를 확인하여 접속이 끊어졌으면 Output Data를 폐기(S43)하고, 접속이 유지되고 있으면 Output 데이터 변환(S44) 후 클라이언트 시스템(C)의 HTML Browser(10,11,12)에게 전송(S45)되는 일련의 과정을 보이고 있다.
끝으로 언어처리기 서버(A)를 설명하기로 한다.
언어처리기 서버(A)는 프로그래밍 언어 실습을 원하는 실습자가 원하는 언어처리기인 C 언어 Compiler(1), BASIC Interpreter(2), 기타 Compiler 혹은 Interpreter(3)가 있는 곳으로서, 미들웨어 서버(B)에서 보내온 프로세서 아이디가 삽입된 Source Code를 해당 언어처리기(1,2,3)에 선택해 보내는 Pif Selector(4)와 실행결과값인 Output Data와 유일아이디를 합쳐 미들웨어 서버(B)의 HTML Converter(7)에 전송하는 Output Transfer(5)를 포함한다.
도 3b는 미들웨어 서버(B)로부터 유일아이디와 프로세서 아이디가 포함된 프로그래밍 언어 Source Code를 획득(S30)하여 Pid Selector(4)의 선택 처리과정을 거쳐(S31) 해당되는 언어처리기로 Source Code를 보내서(S32), 유일아이디와 실행결과 데이터인 Output을 합쳐 Output Transfer(5)에서 미들웨어 서버(B)의 HTML Converter(7)로 보내는 과정(S33)을 보이고 있다.
상술한 일련의 처리 과정을 화면상에 예로 표현한 것이 도 4와 도 5로서, 도 4a의 초기화면을 실습자가 보게 됨으로써 도 4a의 과정이 시작된다. 실습자가 새롭게 프로그래밍 언어 Source 코드를 작성하는 중간과정을 도 4b에서는 BASIC언어를 예로 들어 표현하였고 도 4e에서는 C언어를 예로 들어 표혔했으며, 아직 완성되지 않은 상태의 Source 코드를 가지고도 실행결과를 비교해서 볼 수 있는 특징을 보이고 있다.
기존에 있던 파일단위의 처리를 서버에서 한 뒤 결과 값만을 돌려받아 처리하던 시스템의 문제점으로 지적된 부분에 대해 본 발명은 프로그래밍 언어의 Source Code를 처리하는 중간과정은 물론이고, 완성된 상황, 실습자의 실수로 Source Code를 잘못 작성하여 어디에서 에러가 발생했는지를 찾아내는 일련의 모든 과정을 실습자의 컴퓨터에 언어처리기가 설치되어 있는 것처럼 효과적으로 보여준다는 점이 도 4c의 BASIC 언어의 완성된 Source코드와 실행결과 화면, 도 4f의 C언어로 완성된 Source 코드의 실행결과 화면, 도 4d의 BASIC 언어로 작성 중 사용자가 변수를 잘못 작성하여 원하지 않는 결과 값을 확인하는 화면, 도 4g의 C언어로 작성 중 사용자가 증감변수를 잘못 지정하여 오류가 발생하는 것을 확인하는 화면을 통해 나타나고 있다.
또한 본 발명의 특징 중 하나인 HTML Converter(7)를 통해 일반적인 HTML Browser만이 아닌 협소한 화면크기를 제공하는 PDA HTML Browser에서도 최적의 화면 출력형태를 연산(S42)해서 실습자의 실습효율을 높여주는 화면을 도 5a와 도 5b를 통해 보이고 있다.
상술한 바와 같이 실습을 목적으로 하는 실시간 프로그래밍 실습시스템은 단순히 원하는 프로그래밍 언어의 처리 결과 값만을 얻는데 그치지 않고 실습자 본인이 직접 Source Code를 생성하는 중간이나 심지어 코드를 잘못 작성한 경우에도 완성까지 기다리지 않고 실습자 자신의 컴퓨터에 언어처리기들이 설치된 것처럼 실시간으로 결과들을 Source와 비교하여 볼 수 있기 때문에 본연의 실습효율을 극대화 할 수 있음은 물론, 여러 개의 Compiler와 Interpreter에 대해 비교실습을 하면서 보다 다양한 프로그래밍 언어 실습을 할 수 있게 되는 효과를 가지는 시스템으로도 사용될 수 있을 것이다.
상술한 바와 같이 본 발명을 통해 실습자가 본인의 실습환경에 구애받지 않고 실시간 프로그래밍 실습시스템을 통해 실습을 하게 되면, 유비쿼터스 형태의 프로그래밍 언어 실습개념이 도입되어 시간과 공간, 장소는 물론이고 심지어 어떤 플랫폼, 어떤 운영체제 환경 하에서도 핸디캡 없이 본인이 하고자 하는 프로그래밍 언어 실습을 하게 되어 실습의 효과가 증대되는 것 외에도 비싼 컴퓨터 환경을 구축하지 못한 실습자라 할지라도 네트웍만 제공된다면 구형 컴퓨터 환경이나, 언어처리기를 구매하지 못한 플랫폼 환경에서도 실습할 수 있는 경제적 효과, 애써 프로그래밍 언어를 공부하기 위해 학원이나 학교의 언어처리기가 준비된 장소로 이동하지 않고도 실습할 수 있는 시간의 절약 효과까지 현저히 개선되어 양질의 프로그래밍 능력을 요하는 현 사회에 경잭력을 갖춘 인재들을 풍부히 배출시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 실시간 프로그래밍 언어 실습시스템의 개략적인 구성도.
도 2는 도 1에 도시된 Uid(Unique Identify) 및 Pid(Processor Identify)의 생성과 이를 통한 실시간 Output Data 처리과정을 보인 도면.
도 3은 본 발명의 실시 예에 따른 실시간 프로그래밍 언어 실습시스템의 동작 흐름도를 보인 플로우챠트.
도 3a는 실습자가 실습을 위한 컴퓨터 상에서 Uid를 Uid Generator로부터 할당받아 프로그래밍 언어의 Source Code를 생성하고, Output Data를 기다리는 과정을 보인 플로우챠트.
도 3b는 실습시스템의 컴파일러 서비스를 위한 서버가 Uid및 Pid가 Addon된 소스코드를 건네받아 해당되는 언어처리기로 코드를 보내어 처리한 뒤, Uid가 붙은 Output을 받아 HTML Converter로 보내는 과정을 보인 플로우챠트.
도 3c는 컴파일러 서비스를 위한 서버가 보내온 Uid가 붙은 Output Data를 실습자의 접속여부를 확인하여 접속이 종료되었으면 Output Data를 폐기하고, 접속이 진행 중이면 해당 실습자의 Browser에 최적화된 형태로 Output Data를 변환한 뒤 실습자의 Browser로 전송하는 과정을 보인 플로우챠트.
도 4는 본 발명에 따른 실시간 프로그래밍 언어 실습시스템을 위한 실습자컴퓨터의 브라우저 출력화면을 보인 도면.
도 4a는 본 발명에 따른 실시간 프로그래밍 언어 실습시스템의 초기화면을 보인 도면.
도 4b는 프로그래밍 언어실습 시스템 중 실습자가 BASIC을 선택하여 코드를 작성하고 결과를 확인하는 중간과정을 보인 도면.
도 4c는 프로그래밍 언어실습 시스템 중 실습자가 BASIC을 선택하여 코드를 작성하고 결과를 확인하는 최종 단계를 보인 도면.
도 4d는 프로그래밍 언어실습 시스템 중 실습자가 BASIC을 선택하여 코드를 작성하던 중 실수를 하여 그로 인해 원치 않는 결과가 생겼음을 알게 되는 과정을 보인 도면.
도 4e는 프로그래밍 언어실습 시스템 중 실습자가 C언어를 선택하여 코드를 작성하고 결과를 확인하는 중간과정을 보인 도면.
도 4f는 프로그래밍 언어실습 시스템 중 실습자가 C언어를 선택하여 코드를 작성하고 결과를 확인하는 최종 단계를 보인 도면.
도 4g는 프로그래밍 언어실습 시스템 중 실습자가 C언어를 선택하여 코드를 작성하던 중 실수를 하여 정의되진 않은 변수 k에 대해 경고하고 오류메세지를 출력하여 실습자의 실습내용을 돕는 과정을 보인 도면.
도 5는 HTML Converter가 Uid로 실습자의 Browser에 맞는 변환을 하게 됨을 보여주는 도면.
도 5a는 HTML Converter가 PDA를 이용한 실습자에게 제공하는 코드작성화면을 보여주는 도면.
도 5b는 HTML Converter가 PDA를 이용한 실습자에게 제공하는 Output Data화면을 보여주는 도면.
<도면의 주요부분에 대한 부호의 설명>
4: 프로세서 아이디 선택자
5: 출력결과 전송기
6: 프로세서 아이디 생성기
7: HTML변환기
8: 유일 아이디 생성기
9: 소스코드 임시보관 저장소

Claims (11)

  1. 실시간 프로그래밍 언어 실습시스템에 있어서,
    서로 다른 실습용 컴퓨터를 포함하며 프로그래밍 언어 Source Code를 생성하고, 완성된 결과 값은 포함하여 중간결과값과 완성 되기 전 잘못된 부분을 알기위한 오류결과값까지 표현할 수 있도록 한 클라이언트 시스템과,
    상기 클라이언트 시스템과 네트웍으로 접속된 미들웨어 서버를 포함하여, 언어처리 서버를 포함하되,
    상기 클라이언트 시스템은 상기 네트웍을 통해 상기 미들웨어 서버 및 상기 언어처리 서버에 데이터를 주고받기 위한 HTML Browser를 포함하고 있으며, 상기 생성한 프로그래밍 언어 Source Code의 프로그래밍 언어 종류를 통한 언어처리기 선택요구와 실습용 컴퓨터의 종류를 상기 미들웨어 서버 및 언어처리 서버에 전송하여 최적의 화면 처리 변환을 요구하고,
    상기 미들웨어 서버 및 상기 언어처리 서버는 상기 언어처리기 선택요구와 최적의 화면처리 변환 요구에 맞추어 상기 생성된 프로그래밍 언어 Source Code를
    상기 언어처리 서버에서 해당하는 언어처리기로 처리하여 얻어낸 결과 값을 상기 미들웨어 서버의 HTML Converter로 최적의 화면형태로 변환하여 실습자의 HTML Browser에 본인이 작성한 프로그래밍 Source Code와 함께 완성되지 않아도 작성된 지점까지 해당 결과 값을 보여주는 실시간 프로그래밍 언어 실습시스템.
  2. 제 1항에 있어서,
    상기 미들웨어 서버는 실시간 프로그래밍 실습 서비스를 위한 유일 아이디 및 프로세서 아이디의 전송 및 상기 클라이언트 시스템으로부터 받아온 Source Code를 저장, 처리하기 위한 스토리지 서버와 웹서버,
    상기 스토리지 서버와 웹서버로부터 전송된 정보데이터 및 메타정보데이터를 해당 데이터베이스에 저장하고, 상기 웹서버로부터 요청된 정보데이터 및 메타정보데이터를 해당 데이터베이스에서 찾아내어 상기 웹서버로 출력하는 데이터베이스 서버와,
    상기 생성된 프로그래밍 언어 Source Code, 상기 언어처리 서버로부터 처리된 Output Data를 저장하고 있으며, 상기 저장된 Data 중에서 상기 웹서버로터 요청된 Data를 상기 웹서버로 출력하는 리포트 생성 서버를 포함하는 실시간 프로그래밍 언어 실습 시스템
  3. 제 2항에 있어서,
    상기 스토리지 서버는 상기 각각 다른 HTML Browser를 통해 상기 실시간 프로그래밍 실습 서비스를 사용하는 실습자 각각에 대한 데이터를 저장하기 위한 스토리지와,
    상기 실시간 프로그래밍 실습 서비스를 사용해 상기 실습자 사이에서 발생할 수 있는 중간단계의 미완성 Source Code를 저장하기 위한 확장 스토리지,
    상기 리포트 생성 서버에 임시로 저장된 상기 생성된 Output 데이터를 저장하기 위한 추가 확장 스토리지를 포함하는 실시간 프로그래밍 언어 실습 시스템.
  4. 제 2항에 있어서,
    상기 웹 서버는,
    상기 클라이언트 시스템부분으로부터 상기 언어처리기 선택요구와 실습용 컴퓨터의 종류를 상기 미들웨어 서버 및 언어처리 서버에 전송하여 최적의 화면 처리 변환을 요구 및 상기 실시간 프로그래밍 실습 서비스를 사용하는 실습자에 대한 유일아이디를 전달받기 위한 프로세스와,
    상기 프로세스를 통해 건네받은 상기 언어처리기 선택요구와 실습용 컴퓨터의 종류를 상기 미들웨어 서버 및 언어처리 서버에 전송하여 최적의 화면 처리 변환을 요구 및 상기 실습자에 대한 유일아이디를 처리하기 위한 단계적인 논리구조를 가지고 있는 프로세서를 포함하는 실시간 프로그래밍 언어 실습 시스템.
  5. 제 2항에 있어서,
    상기 리포트 생성 서버는,
    상기 생성된 프로그래밍 Source Code를 저장하기 위한 스토리지와,
    상기 생성된 Output 데이터를 실습자 HTML Browser에 맞게 변환시킨 리포트 데이터를 저장하기 위한 확장 스토리지와, 추가확장 스토리지를 포함한 실시간 프로그래밍 언어 실습 시스템.
  6. 제 4항에 있어서,
    상기 프로그램 처리 프로세스는,
    상기 스토리지 서버와 연동하여 상기 생성된 프로그래밍 Source Code를 언어처리기 서버에 보내 추출한 Output데이터를 처리하기 위한 프로세스와,
    상기 생성된 Source Code를 임시 저장하며 상기 언어처리기 서버에서 얻은 Output데이터와 함께 상기 실습자의 클라이언트 컴퓨터에 맞도록 변환해주는 상기 HTML 변환 프로세스를 포함한 실시간 프로그래밍 언어 실습 시스템.
  7. 제 1항에 있어서,
    상기 코드 최적화는,
    각기 다른환경의 실습자의 클라이언트 컴퓨터에 존재하는 상기 HTML Browser의 정보를 포함한 상기 유일아이디를 통해 실습자의 환경에 가장 실습하기 좋은 화면 값을 연산하여 이에 맞게 상기 Output데이터를 변환하는 프로세스와,
    이를 실습자의 컴퓨터에 맞게 전송해주는 프로세스를 포함한 실시간 프로그래밍 언어 실습 시스템.
  8. 제 3항에 있어서,
    상기 스토리지는,
    상기 생성된 Source Code를 포함하여, 실습자의 생성된 정보 및 이를 서비스하기 위해 상기 유일아이디와 상기 프로세스아이디를 첨부한 가공된 Source Code와 언어처리기에서 얻은 Output데이터를 저장, 변환하기 위한 확장 스토리지와 각 스토리지간의 정보를 저장하는 추가 확장스토리지를 포함한 실시간 프로그래밍 언어 실습 시스템.
  9. 네트웍 상에서 상호 동작하는 클라이언트/서버 기반의 실시간 프로그래밍 언어 실습 시스템의 실습 방법에 있어서,
    상기 미들웨어 서버가 상기 Source Code및 상기 Source Code를 처리하기 위한 처리 요청을 수신하는 단계와,
    상기 언어처리 서버가 상기 Source Code를 통해 상기 Output 데이터를 얻어내는 과정 및 상기 유일아이디를 첨부하는 단계와,
    상기 미들웨어 서버가 상기 Output 데이터를 상기 클라이언트 컴퓨터에 맞춰 전송해주는 단계를 포함하는 실시간 프로그래밍 언어 실습 시스템.
  10. 제 10항에 있어서,
    상기 미들웨어 서버가 상기 Source Code 및 상기 Source Code를 처리하기 위한 처리요청을 수신하는 단계는,
    상기 Source Code를 작성하기 위한 작성 프로세스를 상기 미들웨어 서버가 상기 클라이언트 컴퓨터에게 제공하고, 이를 유일아이디로 추출하는 과정을 포함하는 실시간 프로그래밍 언어 실습 시스템.
  11. 제 10항에 있어서,
    상기 언어처리 서버가 상기 Source Code를 통해 상기 Output 데이터를 얻어내는 과정 및 상기 유일아이디를 첨부하는 단계는,
    상기 Source Code를 상기 미들웨어 서버로부터 받은 상기 유일아이디와 상기 프로세서 아이디를 통해 자동으로 상기 언어처리선택기가 상기 언어처리기를 선택하여 상기 Output 데이터를 얻어내고 여기에 상기 유일아이디를 첨부하는 일려의 과정을 포함하는 실시간 프로그래밍 언어 실습 시스템.
KR1020050038681A 2005-05-10 2005-05-10 클라이언트/서버 기반의 실시간 프로그래밍 언어실습시스템 KR20050051615A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050038681A KR20050051615A (ko) 2005-05-10 2005-05-10 클라이언트/서버 기반의 실시간 프로그래밍 언어실습시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050038681A KR20050051615A (ko) 2005-05-10 2005-05-10 클라이언트/서버 기반의 실시간 프로그래밍 언어실습시스템

Publications (1)

Publication Number Publication Date
KR20050051615A true KR20050051615A (ko) 2005-06-01

Family

ID=38666769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050038681A KR20050051615A (ko) 2005-05-10 2005-05-10 클라이언트/서버 기반의 실시간 프로그래밍 언어실습시스템

Country Status (1)

Country Link
KR (1) KR20050051615A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133575A (ko) 2018-05-23 2019-12-03 강주석 온라인 기반의 코딩교육 수요자와 공급자 연결방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133575A (ko) 2018-05-23 2019-12-03 강주석 온라인 기반의 코딩교육 수요자와 공급자 연결방법

Similar Documents

Publication Publication Date Title
US8924863B2 (en) Collaborative web navigation using document object model (DOM) based document references
Letondal A Web interface generator for molecular biology programs in Unix
Perrone et al. SAFE: Simulation automation framework for experiments
EP1379969A2 (en) System for distributed learning
US6820067B1 (en) System and method for producing web-based process advisor applications
JP4647209B2 (ja) ブラウザ対応ヒューマンインターフェイスデスクリプションを生成し且つ処理するための方法およびシステム
US10789053B2 (en) Facilitated user interaction
Potnis et al. Identifying key steps for developing mobile applications & mobile websites for libraries
KR100460246B1 (ko) 인터넷 환경에서 프로그래밍 실습을 위한 가상 교육시스템 및 방법
US20230252242A1 (en) Question based chatbot generator from api specifications
KR20050051615A (ko) 클라이언트/서버 기반의 실시간 프로그래밍 언어실습시스템
US20140344673A1 (en) System and method for enhancing interactive online learning technology
US20140075298A1 (en) Document analysis and presentation for users with special needs
JP4087754B2 (ja) ウェブリソース再編成によるウェブ利用学習支援方法、ウェブリソース再構成装置、およびプログラム
JP3087642B2 (ja) アプリケーション共有システム
Myers An extensible component-based architecture for web-based simulation using standards-based web browsers
KR20030019765A (ko) 인터넷을 이용한 한자 학습 시스템 및 그 방법
JP7320809B1 (ja) Aiサーバ用インターフェースシステム、及び非認知スキルブラッシュアップシステム
JP4669245B2 (ja) フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム
CN117495274A (zh) 一种基于ChatGPT的教育类数字化业务流处理方法和电子设备
RU2688238C1 (ru) Способ разделения данных на распределитель-блок-связь-представление для веб-сервисов
KR100581730B1 (ko) 모바일 콘텐츠 교육 실습 시스템 및 그 제공방법
Del Sole et al. Computer Vision in Web Apps with ASP. NET MVC Core
Li et al. Mongolian Education Resource Platform Based on Springmvc+ Hibernate+ Spring Integration Framework
Mutai Developing an application with Meteor framework

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application