TWI609578B - 具有程式編譯功能之線上討論系統及其方法 - Google Patents

具有程式編譯功能之線上討論系統及其方法 Download PDF

Info

Publication number
TWI609578B
TWI609578B TW104130805A TW104130805A TWI609578B TW I609578 B TWI609578 B TW I609578B TW 104130805 A TW104130805 A TW 104130805A TW 104130805 A TW104130805 A TW 104130805A TW I609578 B TWI609578 B TW I609578B
Authority
TW
Taiwan
Prior art keywords
program
interface
online discussion
module
reply
Prior art date
Application number
TW104130805A
Other languages
English (en)
Other versions
TW201713081A (zh
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 TW104130805A priority Critical patent/TWI609578B/zh
Priority to CN201510644144.5A priority patent/CN106547604A/zh
Priority to US14/920,897 priority patent/US20170083297A1/en
Publication of TW201713081A publication Critical patent/TW201713081A/zh
Application granted granted Critical
Publication of TWI609578B publication Critical patent/TWI609578B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • 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/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Description

具有程式編譯功能之線上討論系統及其方法
本發明是有關於一種具有程式編譯功能之線上討論系統及其方法,且特別是有關於一種經由選擇程式語言後,以編譯或直譯之具有程式編譯功能之線上討論系統及其方法。
隨著線上討論系統的普及,任何人都可隨時藉由電子裝置發表各種主題的文章。目前的線上討論系統主要是針對討論區提供留言訊息的處理,像是使用者可透過討論區提出問題、回應問題或發表評論,使線上討論系統提供使用者一交換訊息之討論平台。
然而,目前的線上討論系統僅限於發表文章,使用者多輸入文字方式進行回覆、提問或提出評論,目前的線上討論系統並無法提供其他進一步的功能。當使用者提出相關於程式撰寫方面的討論時,提問者往往難以藉由文字簡潔地描寫出問題所在,而回覆者也難以立即地理解提問者所述之問題,也更難以由文字清楚地敘述正確無誤的程式解法。有鑑於此,如何於線上討論系統中,無需繁複流程且清 楚地針對程式問題進行檢測,即是本領域相關人員所需解決的問題。
為解決上述的問題,本發明之一態樣提供一種具有程式編譯功能之線上討論系統。具有程式編譯功能之線上討論系統包含:伺服器。伺服器包含儲存裝置、使用者驗證模組、直譯或編譯模組、結果判定模組及互動紀錄模組。使用者驗證模組用以接收並驗證來自電子裝置之使用者資訊,經驗證使用者資訊後,傳送程式語言選擇介面及線上討論介面至電子裝置。直譯或編譯模組用以接收藉由程式語言選擇介面所輸入之程式語言選擇訊號,並選擇性地接收由線上討論介面所輸入之回覆程式。其中,當直譯或編譯模組接收到回覆程式時,依據程式語言選擇訊號以決定直譯或編譯回覆程式。結果判定模組用以執行回覆程式,輸出並傳送執行結果至直譯或編譯模組。互動紀錄模組用以紀錄回覆程式及執行結果,並將回覆程式及執行結果顯示於線上討論介面中。
本發明之另一態樣提供一種具有程式編譯功能之線上討論方法。具有程式編譯功能之線上討論方法包含:藉由伺服器接收並驗證來自電子裝置之使用者資訊,經驗證該使用者資訊後,傳送程式語言選擇介面至電子裝置;接收藉由程式語言選擇介面所輸入之程式語言選擇訊號;提供線上討論介面至電子裝置;選擇性地接收由線上討論介面所輸入之回覆程式;其中,當伺服器接收到回覆程式時,依據程 式語言選擇訊號以決定直譯或編譯回覆程式;執行回覆程式並輸出執行結果;以及紀錄回覆程式及執行結果,並將回覆程式及執行結果顯示於線上討論介面中。
綜上所述,本發明之技術方案與現有技術相比具有明顯的優點和有益效果。藉由上述技術方案,可達到相當的技術進步,並具有產業上的廣泛利用價值,本揭示內容針對程式撰寫者提供立即性於線上直譯或編譯程式的討論平台,提供程式問題檢測功能,更解決了提問者與回覆者之間版本不一致的問題,以克服各種程式語言所需環境安裝之限制。
110‧‧‧伺服器
100、500‧‧‧線上討論系統
120‧‧‧儲存裝置
130‧‧‧使用者驗證模組
140‧‧‧直譯或編譯模組
150‧‧‧結果判定模組
160‧‧‧互動紀錄模組
121‧‧‧使用者資料庫
122‧‧‧程式碼資料庫
123‧‧‧互動資料庫
161‧‧‧討論紀錄模組
162‧‧‧評分紀錄模組
170‧‧‧電子裝置
180‧‧‧登入介面
190‧‧‧編輯模組
201~212‧‧‧程式語言選項
300A~300D、600、700‧‧‧線上討論介面
310、610‧‧‧提問描述欄
320、710‧‧‧提問程式欄
322、342、720‧‧‧直譯或編譯選項
324‧‧‧回覆程式選項
326‧‧‧回覆文字選項
344、362‧‧‧提交選項
340、640‧‧‧回覆程式欄
360‧‧‧文字編輯欄
S410~S440‧‧‧步驟
620‧‧‧評分分數欄位
630‧‧‧評分選項
730‧‧‧輸出結果欄
740‧‧‧分析結果欄
PMG1、PMG3‧‧‧提問程式
PMG2‧‧‧回覆程式
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖根據本發明之一實施例繪示一種具有程式編譯功能之線上討論系統之方塊圖;第2圖根據本發明之一實施例繪示一種程式語言選擇介面之示意圖;第3A~3D圖根據本發明之一實施例繪示一種線上討論介面的示意圖;第4圖根據本發明之一實施例繪示一種具有程式編譯功能之線上討論方法之流程圖;第5圖根據本發明之一實施例繪示一種具有程式編譯功能之線上討論系統之方塊圖; 第6圖根據本發明之一實施例繪示一種線上討論介面的示意圖;第7圖根據本發明之一實施例繪示一種線上討論介面的示意圖。
請參照第1、2及3A~3D圖,如第1圖所示,第1圖根據本發明之一實施例繪示一種具有程式編譯功能之線上討論系統100之方塊圖。第2圖根據本發明之一實施例繪示一種程式語言選擇介面200之示意圖。第3A~3D圖根據本發明之一實施例繪示一種線上討論介面300A~300D的示意圖。
具有程式編譯功能之線上討論系統100包含:伺服器110。伺服器110包含儲存裝置120、使用者驗證模組130、直譯或編譯模組140、結果判定模組150及互動紀錄模組160。使用者驗證模組130用以接收並驗證來自電子裝置170之使用者資訊,經驗證該使用者資訊後,傳送程式語言選擇介面200及線上討論介面(例如,線上討論介面300B)至電子裝置170。直譯或編譯模組140用以接收藉由程式語言選擇介面200所輸入之程式語言選擇訊號,並選擇性地接收由線上討論介面(例如,線上討論介面300B)所輸入之回覆程式PGM2。其中,當直譯或編譯模組140接收到回覆程式PGM2時,依據程式語言選擇訊號以決定直譯或編譯回覆程式320。結果判定模組150用以執行回覆程式PGM2,輸出並傳送執行結果至直譯或編譯模組140。互動 紀錄模組160用以紀錄回覆程式PGM2及執行結果,並將回覆程式PGM2及執行結果顯示於線上討論介面(例如,線上討論介面300D)中。
其中,如第1圖所示,伺服器110中的儲存裝置120可被實作為唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或熟悉此技藝者可輕易思及具有相同功能之儲存媒體。此外,伺服器110中的使用者驗證模組130、直譯或編譯模組140、結果判定模組150及互動紀錄模組160可分別或合併被實施為例如為微控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)或一邏輯電路。電子裝置170包含個人電腦、智慧型手機、平板電腦、智慧電視等等。電子裝置170與伺服器110之間可藉由有線或無線網路傳送訊息。於一實施例中,伺服器110可與多台電子裝置170藉由有線或無線網路連接並提供服務。例如,伺服器110可同時或依序接收來自智慧型手機及平板電腦之使用者所輸入的資訊。
藉此,具有程式編譯功能之線上討論系統100可提供使用者立即於線上直譯或編譯程式,並具有程式問題檢測功能,可以讓回覆者更能清楚理解提問者的問題所在,並於線上進行直譯或編譯程式,以回覆提問者所提出之問題。
以下進一步說明具有程式編譯功能之線上討論 方法。請一併參照第1圖與第4圖,第4圖根據本發明之一實施例繪示一種具有程式編譯功能之線上討論方法400之流程圖。為了方便說明,第1圖所示之具有程式編譯功能之線上討論系統100之操作會與具有程式編譯功能之線上討論方法400一併說明。
在步驟S410中,使用者驗證模組130用以接收並驗證來自電子裝置170之使用者資訊,經驗證該使用者資訊後,傳送程式語言選擇介面200及線上討論介面(例如,線上討論介面300B)至電子裝置170。
於一實施例中,電子裝置170更包含登入介面180,用以接收使用者資訊。使用者資訊可包含帳號、密碼或其他可用以識別使用者身分之資訊。當使用者藉由電子裝置170於登入介面180輸入使用者資訊後,電子裝置170將使用者訊息傳送到伺服器110中的使用者驗證模組130。
接著,使用者驗證模組130接收並驗證使用者資訊,於驗證使用者資訊成功後,使用者驗證模組130傳送程式語言選擇介面200及線上討論介面(例如,線上討論介面300B)至電子裝置170。於一實施例中,程式語言選擇介面200及線上討論介面(例如,線上討論介面300B)可以分別呈現於多個網頁或應用程式之介面中,或呈現於同一網頁或應用程式之介面中。
於一實施例中,線上討論介面可以是用以提問之線上討論介面300A、以程式回覆問題之線上討論介面300B、以文字回覆問題之線上討論介面300C或包含提問程式、回覆程式及回覆文字之線上討論介面300D。然,本領 域具通常知識者應能理解,線上討論介面300A~300D的內容視使用者之回覆內容而定,並不僅限於此處所舉例的情形。
於另一實施例中,若使用者驗證模組130驗證此使用者資訊失敗,則傳送一登入失敗訊息至電子裝置170中。
在步驟S420中,直譯或編譯模組140用以接收由程式語言選擇介面200所輸入之程式語言選擇訊號,並選擇性地接收由線上討論介面300B所輸入之回覆程式PGM2。其中,當直譯或編譯模組140接收到回覆程式PGM2時,依據程式語言選擇訊號以決定直譯或編譯回覆程式。
於一實施例中,當電子裝置170接收到程式語言選擇介面200後,使用者可由電子裝置170之顯示器(未繪示)的畫面中看到程式語言選擇介面200。如第2圖所示,程式語言選擇介面200可包含多個程式語言選項201~212。舉例而言,但並不限制於,此程式語言選擇介面200可包含Java語言選項201、CSS語言選項202、iOS語言選項203、SQL語言選項204、Jquery語言選項205、Python語言選項206、JSON語言選項207、Ruby語言選項208、XML語言選項209、WPF語言選項210、C++語言選項211、PHP語言選項212。使用者藉由程式語言選擇介面200,點選此些程式語言選項201~212的其中之一,以決定其所想要提問或回覆的程式語言類別,被點選的程式語言選項(例如,Java語言選項201)可對應至一程式語言選擇訊號(例如,Java語言選擇訊號),電子裝置170將此程式語言選擇訊號傳送至 伺服器110中。接著,伺服器110中的直譯或編譯模組140接收此程式語言選擇訊號。
於一實施例中,伺服器110可依據程式語言選擇訊號,以呈現對應的線上討論介面300A。例如,當伺服器110接收到的程式語言選擇訊號對應為Java語言時,伺服器110可傳送具有相關Java程式問題的討論介面300A至電子裝置170。當使用者欲針對線上討論介面300A所顯示之程式問題進行答覆時,可藉由線上討論介面300A進一步選擇答覆問題之方式。
於另一實施例中,伺服器110可傳送線上討論介面300A至電子裝置170,於此實施例中,線上討論介面300A包含各種程式語言問題。答覆者可採用對應於程式語言選擇訊號的特定程式語言撰寫回覆程式,以回答提問者的問題。例如,答覆者於程式語言選擇介面200中選擇C++語言選項211,則於線上討論介面300A中,答覆者可採用C++語言撰寫回覆程式,以回答提問者的問題。
值得注意的是,程式語言至少可分為編譯式語言與直譯式語言。其中,編譯式語言需要將原始程式經由編譯器(compiler)轉換成目的碼(object code)後,再由連結器(linker)轉換成可執行的二進位碼,例如,C和C++程式語言;另一方面,直譯式語言則需要直譯器(Interpreter)對原始程式碼一邊讀解,一邊執行,例如,Python、Ruby、PHP程式語言;此外,部分程式語言則需要編譯及直譯兩種方式,需先經過「編譯」的程序,將程式碼轉成與平台無關的機器碼,即為位元碼,再以「直譯」的方式執行,例如, Java程式語言。透過使用者於程式語言選擇介面200中選擇的程式語言選項後,直譯或編譯模組140可接收對應被選擇的程式語言選項之程式語言選擇訊號。藉此,直譯或編譯模組140可依據程式語言選擇訊號,以判斷應直譯(例如,Python)、編譯(例如,C++)或編譯後再直譯(例如,Java)其所接收到的程式。
舉例而言,於第3B圖中,若伺服器110收到回覆程式PMG2後,直譯或編譯模組140依據程式語言選擇訊號,以選擇編譯或直譯此回覆程式PMG2。例如,程式語言選擇訊號表示使用者採用C++程式語言撰寫回覆程式PMG2,則直譯或編譯模組140編譯此回覆程式PMG2。於另一例子中,程式語言選擇訊號表示使用者採用Python程式語言撰寫回覆程式PMG2,則直譯或編譯模組140直譯此回覆程式PMG2。
於一實施例中,提問者可透過線上討論介面300A進行提問。線上討論介面300A包含提問描述欄310、提問程式欄320。於另一實施例中,線上討論介面300A更包含直譯或編譯選項322、回覆程式選項324及回覆文字選項326者其中至少之一。於一實施例中,此些選項可以由按鈕或圖示(icon)以實現之。藉由線上討論介面300A,提問者可以將與程式相關的問題描述於提問描述欄310,並將提問程式PMG1填入提問程式欄320中。
於一實施例中,回覆者可透過當回覆者線上討論介面300A以線上直譯或編譯提問程式PMG1,以立即了解提問程式PMG1的問題所在。舉例而言,當回覆者看到線 上討論介面300A上的提問描述欄310及提問程式欄320後,可點選直譯或編譯選項322,使提問程式欄320中的提問程式PMG1會被傳送到伺服器170中,並藉由直譯或編譯模組140依據程式語言選擇訊號,以選擇編譯或直譯此提問程式PMG1。藉此達到線上直接執編譯或直譯提問程式之功能。
舉例而言,當程式語言選擇訊號對應於Ruby程式語言時,直譯或編譯模組140會將提問程式PMG1進行直譯。又例如,例如,當程式語言選擇訊號對應於C++程式語言時,直譯或編譯模組140會將提問程式PMG1進行編譯。
接著,直譯或編譯模組140於線上討論介面300A上顯示提問程式PMG1之執行結果。例如,直譯或編譯模組140於線上討論介面300A的提問程式欄320中直接顯示提問程式PMG1之執行結果。
於一實施例中,回覆者可透過線上討論介面300B撰寫回覆程式PMG2,以直接提供正確的程式解法給提問者。舉例而言,於第3A圖中,回覆者可點選回覆程式選項324,以編輯回覆程式PMG2,並將完成編輯之回覆程式PMG2傳送至伺服器170之直譯或編譯模組140。
於一實施例中,當回覆程式選項324被選擇後,電子裝置140中的編輯模組以一新視窗頁面以開啟程式編輯介面,供回覆者編輯回覆程式PMG2。於另一實施例中,亦可由伺服器170傳送一程式編輯介面至電子裝置140,且電子裝置140顯示此程式編輯介面。
於一實施例中,如第3B圖所示,程式編輯介面可以為討論介面300B中的回覆程式欄340,用以編輯回覆程式PMG2,並將完成編輯之回覆程式PMG2傳送至伺服器110之直譯或編譯模組140中。然,本發明據通常知識者應能理解程式編輯介面並不限於上述之態樣。
當回覆者完成編輯回覆程式PMG2後,電子裝置140之編輯模組190將完成編輯之回覆程式傳送至伺服器110之直譯或編譯模組140,並進入步驟S430。
於一實施例中,如第3B圖所示,回覆者完成編輯之回覆程式PMG2後,可點選直譯或編譯選項342,以促使編輯模組190傳送回覆程式PMG2至伺服器110之直譯或編譯模組140。當直譯或編譯模組140接收到回覆程式PMG2後,可依據程式語言選擇訊號以決定直譯或編譯回覆程式PMG2。
此外,於一實施例中,當討論介面300B中的提交選項344被點選時,此回覆程式PMG2傳送至伺服器110之互動紀錄模組160中。
於另一實施例中,如第3A圖所示,回覆者可點選回覆文字選項326,以文字敘述方式回覆問題。當回覆文字選項326被選擇後,電子裝置140中的編輯模組190開啟一文字編輯介面,以編輯文字編輯檔案,並將完成編輯之文字編輯檔案傳送至互動紀錄模組160。其中,文字編輯介面可以是討論介面300C中的文字編輯欄360,以編輯文字編輯檔案,於使用者按下提交選項362後,編輯模組190將完成編輯之文字編輯檔案傳送至互動紀錄模組160。
於一實施例中,電子裝置140係以一新視窗頁面以開啟文字編輯介面,供回覆者編輯此文字編輯檔案。然,本發明據通常知識者應能理解文字編輯介面並不限於上述之態樣。
於另一實施例中,無論回覆者選擇以文字或程式回答問題,回覆者所編寫的文字編輯檔案或回覆程式PMG2都可藉由電子裝置140中的編輯模組190傳送到伺服器110的互動紀錄模組160,並顯示於同一討論介面300D中,使回覆者及提問者可透過討論介面300D看到彼此發布的內容。於一實施例中,其他使用者亦可於討論介面300D中,以文字或程式方式回覆使用者B或使用者C的回覆內容,此處回覆方式與前述相同,故不再贅述之。
於步驟S430中,結果判定模組150用以執行回覆程式340,輸出並傳送執行結果至直譯或編譯模組140。
於一實施例中,當回覆者完成編輯之回覆程式PMG2後,可點選直譯或編譯選項342,以傳送回覆程式PMG2至直譯或編譯模組140。接著,直譯或編譯模組140依據程式語言選擇訊號以決定直譯或編譯回覆程式PMG2,並將完成直譯或編譯後的回覆程式PMG2,傳送到結果判定模組150。
當結果判定模組150執行回覆程式PMG2後,會將輸出的執行結果回傳至直譯或編譯模組140。
值得注意的是,結果判定模組150係可以實施為一開發程式時擬真的測試環境,例如,在程式執行時,於記憶體內切出一個專有使用區塊,當程式執行時,就被限制 在這個記憶體區塊內,可以避免程式因為隨意存取本地端資源而造成的損害。
在步驟S440中,互動紀錄模組160用以紀錄回覆程式PMG2及執行結果,並將回覆程式PMG2及執行結果顯示於線上討論介面(例如,可顯示於300B的回覆程式欄340)中。
此外,於一實施例中,互動紀錄模組160接收到文字編輯檔案時,互動紀錄模組160紀錄文字編輯檔案,並將文字編輯檔案顯示於線上討論介面(例如,可顯示於300C的文字編輯欄360)中。
於一實施例中,互動紀錄模組160可將伺服器110所接收到的來自不同回覆者的文字編輯檔案、回覆程式PMG2及/或其執行結果顯示於線上討論介面300D中。於一實施例中,線上討論介面300D具有問題描述欄310、提問程式欄320、回覆程式欄340、文字編輯欄360。其中,問題描述欄310及提問程式欄320之內容是由使用者A所填寫,回覆程式欄340之內容是由使用者B所填寫,文字編輯欄360之內容是由使用者C所填寫。
藉此,不同的使用者經過由登入具有程式編譯功能之線上討論系統100後,可在同一平台上立即性地直譯或編譯程式或回覆文字內容,解決了提問者與回覆者之間版本不一致的問題,以克服各種程式語言所需環境安裝之限制。
接著,請一併參閱第5~6圖。第5圖根據本發明之一實施例繪示一種具有程式編譯功能之線上討論系統 500之方塊圖。第6圖根據本發明之一實施例繪示一種線上討論介面600的示意圖。第5圖與第1圖的不同之處在於,具有程式編譯功能之線上討論系統500更包含互動紀錄模組更包含討論紀錄模組161、評分紀錄模組162、使用者資料庫121、程式碼資料庫122、互動資料庫123。
於一實施例中,討論紀錄模組161、評分紀錄模組162可以被包含至互動紀錄模組160中。討論紀錄模組161、評分紀錄模組162可分別或合併被實施為例如為微控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)或一邏輯電路。於一實施例中,使用者資料庫121、程式碼資料庫122、互動資料庫123合併儲存於儲存裝置120。於另一實施例中,使用者資料庫121、程式碼資料庫122、互動資料庫123可各自儲存於不同的儲存裝置中。此外,第5圖中的其餘元件與第1圖中對應標號的元件相同,第6圖中的提問描述欄610與回覆程式欄640與第3B圖中的提問描述欄310與回覆程式欄340相同,故此處不再贅述之。
其中,討論紀錄模組161用以紀錄由電子裝置170輸入至線上討論介面600之回覆程式PMG2、提問程式PMG1及/或文字編輯檔案。於一實施例中,討論紀錄模組161用以紀錄來自多個電子裝置170之所有訊息,並將此些訊息儲存至互動資料庫123中。
評分互動紀錄模組162用以接收由電子裝置170輸入至線上討論介面600之評分訊息。於一實施例中, 提問者或其他使用者透過點選線上討論介面600上的評分選項630,以對於回覆程式PMG2或回覆文字內容進行評分,例如,任何使用者可輸入一數值,使評分互動紀錄模組162將此數值與當前數值相加,已得到評分分數,並顯示於評分分數欄位620(例如,評分分數為36分)中。於另一實施例中,回覆者亦可以相同方式針對提問問題進行評分,故此處不贅述之。
藉此,使用者可依據評分分數欄位610所顯示的分數大小,以判斷提問內容或回覆內容是否被大多數使用者所接受。
另一方面,於本實施例中,使用者資料庫121用以儲存使用者資訊,當使用者驗證模組130接收來自電子裝置170之使用者資訊後,使用者驗證模組130可將收到的使用者資訊與儲存於使用者資料庫121中的已知使用者資訊進行比對,以驗證是否為已知使用者,若是已知使用者,則允許電子裝置170完成登入操作,若不是已知使用者,則傳送一登入失敗訊息至電子裝置170。
此外,程式碼資料庫122用以儲存回覆程式PMG2及提問程式PMG1,當直譯或編譯模組140接收到回覆程式PMG2及/或提問程式PMG1時,會將回覆程式PMG2及/或提問程式PMG1儲存至程式碼資料庫122中。此外,互動資料庫123用以儲存執行結果及文字編輯檔案。於一實施例中,互動資料庫123用以儲存所有來自一或多個電子裝置17之資料,以記錄各個使用者於討論介面600上之互動情形。
接著,請參閱第7圖。第7圖根據本發明之一實施例繪示一種線上討論介面700的示意圖。於一實施例中,電子裝置170更用以輸入提問程式PMG3至線上討論介面700中,線上討論介面700可以被實施為一網頁。
於一實施例中,線上討論介面700包含提問程式欄710、直譯或編譯選項720、輸出結果欄730及分析結果欄740。當線上討論介面700中的直譯或編譯選項720被選擇時,伺服器110之直譯或編譯模組140依據一程式語言選擇訊號,以決定直譯或編譯此提問程式PMG3,並於線上討論介面700的輸出結果欄730輸出執行結果,以及於分析結果欄740顯示提問程式PMG3之分析結果。
此外,於本實施例中,直譯或編譯模組140更用以接收來自結果判定模組150之執行結果,並於線上討論介面700顯示提問程式PMG3之執行結果、一錯誤訊息及一語意分析。
於一實施例中,當直譯或編譯模組140無法順利直譯或編譯提問程式PMG3時,會在輸出結果欄730輸出“false”表示語意錯誤,並於分析結果欄740顯示導致提問程式PMG3無法被直譯或編譯完成的問題。例如,分析結果欄740顯示提問程式中第3行缺少一分號、程式碼大小誤植、參數存取權限誤植或是類別名稱與檔案名稱不相同等問題。藉此,可提供提問者進一步修正此提問程式PMG3的依據。
於另一實施例中,當直譯或編譯模組140順利直譯或編譯提問程式PMG3後,會經由結果判定模組150執 行此提問程式PMG3。若結果判定模組150產生的執行結果(例如,執行結果為4)與原先預期的結果(例如,原先預期的結果為5)不同,則直譯或編譯模組140輸出執行結果於輸出結果欄730,並顯示答案錯誤的訊息。藉此,可讓提問者得知雖然語意上未產生問題,亦即,編譯階段並未發生錯誤,但輸出的答案錯誤,故提問者藉此可推估應是提問程式PMG3中的參數值有誤植的問題。例如,於提問程式PMG3中某一參數應該為3,在撰寫程式時卻誤植為2,或是在撰寫程式時呼叫到錯誤的函式,而導致提問程式PMG3的執行結果與預期的結果不一致。
藉由上述技術方案,可針對程式撰寫者提供立即性於線上直譯或編譯程式的討論平台,並提供程式問題檢測功能,解決了提問者與回覆者之間版本不一致的問題,且克服了各種程式語言所需環境安裝之限制。
S410~S440‧‧‧步驟

Claims (20)

  1. 一種具有程式編譯功能之線上討論系統,包含:一伺服器,包含:一儲存裝置;一使用者驗證模組,用以接收並驗證來自一電子裝置之一使用者資訊,經驗證該使用者資訊後,傳送一程式語言選擇介面及一線上討論介面至該電子裝置;一直譯或編譯模組,用以接收藉由該程式語言選擇介面所輸入之一程式語言選擇訊號,並用以接收由該線上討論介面所輸入之一回覆程式;其中,當該直譯或編譯模組接收到該回覆程式時,依據該程式語言選擇訊號以決定直譯或編譯該回覆程式;一結果判定模組,用以執行已直譯或已編譯之該回覆程式,輸出並傳送一執行結果至該直譯或編譯模組;以及一互動紀錄模組,用以紀錄該回覆程式及該執行結果,並將該回覆程式及該執行結果顯示於該線上討論介面中。
  2. 如請求項1所述之具有程式編譯功能之線上討論系統,其中,該線上討論介面包含一直譯或編譯選項、一回覆程式選項及一回覆文字選項三者其中至少之一。
  3. 如請求項2所述之具有程式編譯功能之線上討論系統,其中,該電子裝置包含:一登入介面,用以接收該使用者資訊;及一編輯模組,用以於該回覆文字選項被選擇時,開啟一文 字編輯介面,以編輯一文字編輯檔案,並將完成編輯之該文字編輯檔案傳送至該互動紀錄模組。
  4. 如請求項2所述之具有程式編譯功能之線上討論系統,其中,該電子裝置包含:一登入介面,用以接收該使用者資訊;及一編輯模組,用以於該回覆程式選項被選擇時,開啟一程式編輯介面,以編輯該回覆程式,並將完成編輯之該回覆程式傳送至該伺服器之該直譯或編譯模組。
  5. 如請求項2所述之具有程式編譯功能之線上討論系統,其中,該電子裝置更用以輸入一提問程式至該線上討論介面中,當該直譯或編譯選項被選擇時,該伺服器之該直譯或編譯模組依據該程式語言選擇訊號,以決定直譯或編譯該線上討論介面之該提問程式,並於該線上討論介面上顯示該提問程式之一分析結果。
  6. 如請求項1所述之具有程式編譯功能之線上討論系統,其中,該互動紀錄模組更用以接收來自該線上討論介面所輸入之一文字編輯檔案;當該互動紀錄模組接收到該文字編輯檔案時,該互動紀錄模組紀錄該文字編輯檔案,並將該文字編輯檔案顯示於該線上討論介面中。
  7. 如請求項1所述之具有程式編譯功能之線上討 論系統,其中,該程式語言選擇介面包含複數個程式語言選項。
  8. 如請求項1所述之具有程式編譯功能之線上討論系統,其中,該互動紀錄模組更包含:一討論紀錄模組,用以紀錄由該電子裝置輸入至該線上討論介面之該回覆程式、一提問程式或一文字編輯檔案;及一評分互動紀錄模組,用以接收由該電子裝置輸入至該線上討論介面之一評分訊息。
  9. 如請求項1所述之具有程式編譯功能之線上討論系統,其中,該直譯或編譯模組更用以接收來自該結果判定模組之該執行結果,並於該線上討論介面顯示已直譯或已編譯之該回覆程式之該執行結果、一錯誤訊息及一語意分析。
  10. 如請求項1所述之具有程式編譯功能之線上討論系統,其中,該儲存裝置更包含:一使用者資料庫,用以儲存該使用者資訊;一程式碼資料庫,用以儲存該回覆程式及一提問程式;及一互動資料庫,用以儲存該執行結果及一文字編輯檔案。
  11. 一種具有程式編譯功能之線上討論方法,包含:藉由一伺服器接收並驗證來自一電子裝置之一使用者資訊,經驗證該使用者資訊後,傳送一程式語言選擇介面至該電子裝置; 接收藉由該程式語言選擇介面所輸入之一程式語言選擇訊號;提供線上討論介面至電子裝置;接收由一線上討論介面所輸入之一回覆程式;其中,當該伺服器接收到該回覆程式時,依據該程式語言選擇訊號以決定直譯或編譯該回覆程式;執行已直譯或已編譯之該回覆程式,並輸出一執行結果;以及紀錄該回覆程式及該執行結果,並將該回覆程式及該執行結果顯示於該線上討論介面中。
  12. 如請求項11所述之具有程式編譯功能之線上討論方法,其中,該線上討論介面包含一直譯或編譯選項、一回覆程式選項及一回覆文字選項三者其中至少之一。
  13. 如請求項12所述之具有程式編譯功能之線上討論方法,更包含:藉由一登入介面以接收該使用者資訊;以及於回覆文字選項被選擇時,藉由一編輯模組開啟一文字編輯介面,以編輯一文字編輯檔案,並將完成編輯之該文字編輯檔案傳送至該互動紀錄模組。
  14. 如請求項12所述之具有程式編譯功能之線上討論方法,更包含:藉由一登入介面以接收該使用者資訊;以及 於該回覆程式選項被選擇時,藉由一編輯模組開啟一程式編輯介面,以編輯該回覆程式,並將完成編輯之該回覆程式傳送至該伺服器之該直譯或編譯模組。
  15. 如請求項12所述之具有程式編譯功能之線上討論方法,更包含:其中,藉由該電子裝置輸入一提問程式至該線上討論介面中,當該直譯或編譯選項被選擇時,該伺服器之該直譯或編譯模組依據該程式語言選擇訊號,以決定直譯或編譯該線上討論介面之該提問程式,並於該線上討論介面上顯示該提問程式之一分析結果。
  16. 如請求項11所述之具有程式編譯功能之線上討論方法,更包含:接收來自該線上討論介面所輸入之一文字編輯檔案;及當接收到該文字編輯檔案時,紀錄該文字編輯檔案,並將該文字編輯檔案顯示於該線上討論介面中。
  17. 如請求項11所述之具有程式編譯功能之線上討論方法,其中,該程式語言選擇介面包含複數個程式語言選項。
  18. 如請求項11所述之具有程式編譯功能之線上討論方法,更包含:紀錄由該電子裝置輸入至該線上討論介面之該回覆程 式、一提問程式或一文字編輯檔案;及接收由該電子裝置輸入至該線上討論介面之一評分訊息。
  19. 如請求項11所述之具有程式編譯功能之線上討論方法,更包含:於該線上討論介面顯示已直譯或已編譯之該回覆程式之該執行結果、一錯誤訊息及一語意分析。
  20. 如請求項11所述之具有程式編譯功能之線上討論方法,更包含:藉由一使用者資料庫以儲存該使用者資訊;藉由一程式碼資料庫以儲存該回覆程式及一提問程式;及藉由一互動資料庫以儲存該執行結果及一文字編輯檔案。
TW104130805A 2015-09-17 2015-09-17 具有程式編譯功能之線上討論系統及其方法 TWI609578B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW104130805A TWI609578B (zh) 2015-09-17 2015-09-17 具有程式編譯功能之線上討論系統及其方法
CN201510644144.5A CN106547604A (zh) 2015-09-17 2015-10-08 具有程序编译功能的线上讨论系统及其方法
US14/920,897 US20170083297A1 (en) 2015-09-17 2015-10-23 Online discussing system with compiling program function and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104130805A TWI609578B (zh) 2015-09-17 2015-09-17 具有程式編譯功能之線上討論系統及其方法

Publications (2)

Publication Number Publication Date
TW201713081A TW201713081A (zh) 2017-04-01
TWI609578B true TWI609578B (zh) 2017-12-21

Family

ID=58282741

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104130805A TWI609578B (zh) 2015-09-17 2015-09-17 具有程式編譯功能之線上討論系統及其方法

Country Status (3)

Country Link
US (1) US20170083297A1 (zh)
CN (1) CN106547604A (zh)
TW (1) TWI609578B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI647618B (zh) * 2017-10-26 2019-01-11 易易資設有限公司 程式語言編輯方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073515A (ja) * 2000-08-31 2002-03-12 Nihon Application Co Ltd 電子掲示板顧客提案システム
JP2002077221A (ja) * 2000-09-01 2002-03-15 Casio Comput Co Ltd 電子回覧版システム及びサーバ
TW548609B (en) * 1999-11-30 2003-08-21 Leapfrog Entpr Inc Method and system for assisting a user in learning and interactive learning appliance
US20120214147A1 (en) * 2011-02-16 2012-08-23 Knowledge Factor, Inc. System and Method for Adaptive Knowledge Assessment And Learning
US20130224716A1 (en) * 2012-02-24 2013-08-29 Jerry Chih-Yuan SUN Cloud-based multimedia teaching system, development method and interaction method thereof
US20130282486A1 (en) * 2012-04-18 2013-10-24 Bruno Rahle Structured information about nodes on a social networking system
TW201525953A (zh) * 2013-12-19 2015-07-01 Univ Tamkang 自動化圖表互動學習方法及系統

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631323B1 (en) * 2007-04-18 2014-01-14 Wolfram Research, Inc. Updating the display treatment of source code based on a real time semantic and syntactic analysis
CN101178734A (zh) * 2007-12-06 2008-05-14 深圳市迅雷网络技术有限公司 一种回复论坛信息的方法和装置
CN102148654A (zh) * 2010-02-10 2011-08-10 北京易路联动技术有限公司 一种基于网络侧编译的系统及方法
US20150199185A1 (en) * 2011-03-30 2015-07-16 David Saff System and Method for Providing Online Software Development Services
CN102136199A (zh) * 2011-03-10 2011-07-27 刘超 线上电子书阅读器和线上电子书编辑器
US9569278B2 (en) * 2011-12-22 2017-02-14 Intel Corporation Asymmetric performance multicore architecture with same instruction set architecture

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW548609B (en) * 1999-11-30 2003-08-21 Leapfrog Entpr Inc Method and system for assisting a user in learning and interactive learning appliance
JP2002073515A (ja) * 2000-08-31 2002-03-12 Nihon Application Co Ltd 電子掲示板顧客提案システム
JP2002077221A (ja) * 2000-09-01 2002-03-15 Casio Comput Co Ltd 電子回覧版システム及びサーバ
US20120214147A1 (en) * 2011-02-16 2012-08-23 Knowledge Factor, Inc. System and Method for Adaptive Knowledge Assessment And Learning
US20130224716A1 (en) * 2012-02-24 2013-08-29 Jerry Chih-Yuan SUN Cloud-based multimedia teaching system, development method and interaction method thereof
US20130282486A1 (en) * 2012-04-18 2013-10-24 Bruno Rahle Structured information about nodes on a social networking system
TW201525953A (zh) * 2013-12-19 2015-07-01 Univ Tamkang 自動化圖表互動學習方法及系統

Also Published As

Publication number Publication date
TW201713081A (zh) 2017-04-01
CN106547604A (zh) 2017-03-29
US20170083297A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
KR101087312B1 (ko) 자동으로 생성된 콘텐츠의 임포테이션
CN107291438B (zh) 自动化脚本的生成方法、装置及电子设备
CN1949179B (zh) 利用只读进程组件对服务进程建模的方法和系统
JP4901731B2 (ja) コンテンツ生成用の自動画像キャプチャ
KR20210044685A (ko) 자동으로 검출된 타겟 라벨들에 따른 로보틱 프로세스 자동화 활동들 네이밍
Mullakara et al. Robotic process automation projects: build real-world RPA solutions using UiPath and automation anywhere
CN111428177A (zh) 用于web内容生成的方法和系统
US20160111018A1 (en) Method and system for facilitating learning of a programming language
Ghiani et al. An environment for end-user development of web mashups
CN107122166A (zh) 用于web应用的可扩展模板管道
CN112639827A (zh) 从计算应用自动地生成对话式服务
Araujo Conversational agent research toolkit: an alternative for creating and managing chatbots for experimental research
US11726803B2 (en) Artificial intelligence based systems and methods for autonomously generating customer service help guides with integrated graphical components and for autonomously error-checking knowledge base support resources
US20220215413A1 (en) Method and System for Automatically Identifying Valid Data Acquisition Module
US11841884B2 (en) Method to guided contract drafting using an interactive chatbot
Gharaat et al. ALBA: a model-driven framework for the automatic generation of android location-based apps
Semertzidis Mobile application development to enhance higher education lectures
Jiang et al. ILuvUI: Instruction-tuned LangUage-Vision modeling of UIs from Machine Conversations
TWI609578B (zh) 具有程式編譯功能之線上討論系統及其方法
KR101632951B1 (ko) 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법
CN113282285A (zh) 代码编写方法、装置、电子设备及存储介质
Zheng et al. MashReDroid: enabling end-user creation of Android mashups based on record and replay
Do et al. Evaluating ProDirect manipulation in hour of code
Connolly et al. Developing acceptance tests from existing documentation using annotations: An experiment
CN113886216A (zh) 接口测试和工具配置方法、装置、电子设备和存储介质