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
普物實驗測驗軟體說明
特色具有:
關於作答者:
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. 測試不變形的焦段
本週小拍