2011-05-31

普物測驗軟體 原始碼–5 伺服器端接收

這部分不是客戶端使用的,而是我的電腦接受客戶端檔案部分。這最重要的觀念(客戶端上傳部分也是)在於如何建立檔案的讀取、寫入部分。個人認為尚有部分的缺陷,例如
我是將客戶端資料一次完整接收後(並回傳訊息),再一次將寫入的資料讀出再重新編排,這必造成資料讀、寫上的時間浪費。最好方式應直接讀取記憶體中的資料排列寫入檔案,避免二次寫入,多加一次讀取的時間消耗。
另外伺服器端如何與客戶端有更直接的訊息傳送,尚有待更多的功能學習。

普物測驗軟體 原始碼–4 程式執行區、面板設計

這是整個程式核心 Main 所在位置,所有畫面製作也全在此完成。事實上我個人對這部分頗不滿意。

1. awt、swing 的標籤之類竟無法使用回圈重複製作,使得程式某些區域很醜,以下原始碼中的「**********66666666666」就是代表重複區段被我刪除了大半。

2. awt、swing 未能完全掌握,覺得應該有辦法獨立建立些類別,再於此建立物件來使用才漂亮!

3. 監聽的操作也有點問題,寫得太複雜了!也能獨立寫成類別嗎?例如上傳檔案的操作,應該獨立寫成類別才妥。

4.變數的設定誤了簡便,近乎全部都設在類別最上頭了,這似乎不太妥。

2011-05-30

普物測驗軟體 原始碼–3 將題目、答案至於分頁並監聽動作

主要將每個實驗項目的分頁填入內容,並監聽客戶端的選項動作,且記錄下來,以供未來計算分數使用!

事實上這部分有些缺點。所有選項處於監聽狀態無法關閉,造成記錄的暫存檔也無法關閉,該如何於作答結束後關閉監聽呢?暫存檔無法關閉,使得在關閉程式時,無法刪除檔案!這有其優點,亦有其缺點嘍!

import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import java.io.*;

public class ChoButtonGro{
       
    static int ccc[][];
   

普物測驗軟體 原始碼–2 將實際題目進行排列


class RExps extends test{
   
    public int a[];
    public int b[];
    public String c[];
    public int d[];
    public int remainExp;
    public String EQC[][][][];
    public String EQC2[][][][];

普物測驗軟體 原始碼–1 亂數產生

這個類別主要用來某範圍內的亂數,寫法與一般隨機亂數稍稍不同。

class test{
   
    public int ExpArray[];
    public int QueArray[];
    public int AnsArray[];
    
    public void StartExp(int totalExps){    //宣告選擇開始題號之方法。「輸入總題數」

普物實驗測驗軟體說明_2

今天軟體實際上場考試,發現一個嚴重問題「我的電腦 ( 伺服器端 ) 回應太慢!」造成原設計在客戶端「在接收回應後,即無法再上傳」這個動作出現過大時間間隙。在伺服器端未及回應下,客戶端連點了數個「上傳」,通通在伺服器端建立了新檔案!

這小小問題不僅連續建立新檔案,更嚴重一點是消耗伺服器系統資源速度,導致連線出現一段無回應狀態!設計時,未考慮會有人「連點」上傳的問題…

想了兩小時,其實解決方法很簡單 (原本想建立一個連線資料表來檢查,太麻煩!),在客戶端連線成功後,檢查 ip 即可

-----------------------------------------------
if(skt.getInetAddress().toString().equals(ip1)){
    i=i-1;
    System.out.println("已重複連線,中斷");
    skt.close();
}
ip1=skt.getInetAddress().toString();
-----------------------------------------------

說明:首次連線成功後,客戶端 ip 存於 ip1 中。若客戶端連點,新連線 ip 與舊 ip1 相同,則 close 連線,並將交卷序號 i-1 改回原數。

2011-05-23

普物實驗測驗軟體說明

image
特色具有:
關於作答者:
1. 作答者作答時的選擇過程全被記錄下。
2. 未作答完畢會出現尚有幾題未作答之提示,並無法得知分數也無法上傳檔案。
3. 作答完畢後立即計分,各題分數可調整。(需改原始碼)
4. 實驗項目、考題於每次啟動時隨機排列。
5. 設有倒數計時功能,作答時間結束所有選項即消失。也可提前結束作答。
6. 作答者會知道自己是第幾位交卷,以便爾後確認。
7. 可輸入主機伺服器 IP 位置,以隨時修改作答者上傳資料的位置。
8. 上傳成功後,無法再交卷。

關於伺服器端:
1. 作答者上傳後成績後,自動於伺服器建立
「作答者姓名_學號_分數.txt」檔案與
「繳交序號_姓名_學號_分數.txt」檔案
2. 設有控制介面,執行接受是否關閉,並確認是否全部交卷。

2011-05-14

原來冬蟲夏草真有蟲

今天一則新聞「僵屍蟻」,鑑於我不會相信台灣新聞媒體,於是在 Google 上搜尋了一下,找到了很多資料。


1. 不一樣的僵屍蟻照片。這篇新聞的回覆中,有人提到這真菌其實就是 Cordyceps,中文名稱「冬蟲夏草」!其中還給了精彩的 BBC 相關影片

2. 在另一篇 2/21 更早的文章中,提到

「冬蟲夏草」就是蝙蝠蛾幼蟲被蟲草菌(Cordyceps sinensis)感染,死後其屍體、組織與菌絲結成堅硬的假菌核。其在冬季低溫乾燥土壤內保持蟲形不變達數月之久(冬蟲),待夏季溫濕適宜時從菌核長出棒狀子實體(子囊座)並露出地面(夏草)。

原來冬蟲夏草是一種「蝙蝠蛾」!!
在大陸百度百科上介紹蝙蝠蛾的文章!還有照片。
 

原來僵屍蟻與我們是有關連的,不知道會不會有人將來作「東『蟻』夏草」!以前還看過文章說冬蟲夏草是植物,看來被騙了。

2011-05-06

小林週記 11’ 0430-0506

國內外大事
‧賓拉登被幹掉
‧小行星 YU55 to approach earth on Nov 8, 2011


天文、物理
This just in: the Higgs boson has probably not yet been found


工作進度表
‧JAVA 期末考試軟體:
1. 如何檢查選到正確答案並計分?
2. 排版方法是否有更簡潔的?
3. 出題目…

‧實驗室招標工作:
1. 一個流標等再次開標。
2. 一個等交貨。
3. 準備一個新的招標案。
4. 光電效應如何數位化?
5. 注意有寫新買的配件還沒進來。
6. 5/20 年度財產盤點 + 兩位 T 的。

‧其它
1. 我的小菜園,土從哪裡來?有機肥?
2. 防毒軟體註冊。
3. 聚會約人。

‧遙遙無期
1. 找國中老師
2. 工作?
3. 測試不變形的焦段

本週小拍