[103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

雲端應用程式設計-授課教授:XO

版主: XO

分享到: Facebook

[103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週一 5月 04, 2015 4:29 pm

左鄰右舍要探聽一下!

FTP 當日教材下載總也要載下來鴨子划划水吧!?
今天是啥特別日子?為啥這多同學翹課?

加油囉!
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章kumavio401 » 週二 5月 05, 2015 12:29 am

圖檔
今天是著跟影片做了一遍RPC,作業有諸多疑問:

  1. server 封包只有2個檔案,一個 Database.java,另一個是對應 Project1 的 HelloServlet,然後其他檔案都放在 client 封包嗎?

  2. 代碼: 選擇全部
    public void init(ServletConfig sc) throws ServletException {
       super.init(sc);
       Database.dBase = sc.getServletContext().getRealPath("/WEB-INF/Project1db");      
    }

    這樣寫對嗎?

  3. 代碼: 選擇全部
    try {
       fullname = new Database().lookupFullname(name);
    } catch (SQLException e) {
       e.printStackTrace();
    }

    寫了這段執行時按 buttton 沒反應,註解掉就可以,但無法取得 Databade 的資料,是不是RPC無法使用 try catch?還是要如何修正?

  4. Database.java 要改哪裡嗎?
kumavio401
問題很多的小學生
 
文章: 10
註冊時間: 週五 9月 27, 2013 9:51 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週二 5月 05, 2015 5:52 pm

Wow, 好開心!終於看到妳浮出水面啦!
已經開始動手做作業了!好棒!給妳拍拍手!

幾個問題回覆如下:

kumavio401 寫:1. server 封包只有2個檔案,一個 Database.java,另一個是對應 Project1 的 HelloServlet,然後其他檔案都放在client封包嗎?


是的! 不過 package 不應該叫做封包,一般封包是指網路裡的 packet,package 應該是翻譯成套件

kumavio401 寫:2.
代碼: 選擇全部
public void init(ServletConfig sc) throws ServletException {
   super.init(sc);
   Database.dBase = sc.getServletContext().getRealPath("/WEB-INF/Project1db");      
}

這樣寫對嗎?


不要懷疑!沒錯!

kumavio401 寫:3.
代碼: 選擇全部
try {
   fullname = new Database().lookupFullname(name);
} catch (SQLException e) {
   e.printStackTrace();
}

寫了這段執行時按 buttton 沒反應,註解掉就可以,但無法取得 Databade 的資料,是不是 RPC 無法使用 try catch? 還是要如何修正?


這寫法沒錯!按 Button 沒反應,應該是還有其他問題。 沒道理說 RPC 裡不能用 try catch!

kumavio401 寫:4. Database.java 要改哪裡嗎?


除了套件名稱需要配合專案調整以外,無須任何修改!

____

嗯!看妳這麼認真,期中考又給我考滿分!來吧!給妳一個近似的參考解 ...
是我剛剛花了幾分鐘時間,用 Google 的 New Web Application Project... 裡面那郭標準範例改出來的!
詳如附件 Project archive: HW3.zip 檔。

我援用標準範例程式行為沒做修改,限制輸入至少要四個字母以上,所以輸入 dai 會被吐槽:

圖檔


如果用 ryman 或是 mandel 就會從 Project1db 這個 derby 資料庫裡調出全名來問候:

圖檔


若是用資料庫裡沒註冊過的 Geoffrey 輸入,就會直接用該輸入名稱來問候:

圖檔


啊!我知道你的問題所在了... 自己試做一遍才發現有一件事情忘了提醒同學:

記不記得我說過 Google App Engine 不讓我們對 Local File System 做寫入動作?我們這個作業只是要拿 GWT 來練習 Web UI 以及 RPC 的製作與使用,還不需要用到 Google AppEngine,所以拿 Google 的 New Web Application Project... 來開專案時,不可以勾選 Use Google App Engine (詳如下圖),一旦勾選會帶入一些 Libraries 取代標準 Java Libraries,限制對 Local File System 做寫入的動作,我們的 Derby 資料庫,或是 H2 資料庫,在開啟資料庫時,會需要寫入一些工作檔,像是 database lock, log, ... 等等,用上 GAE SDK 咱們資料庫運作就會被 GAE 吐槽啦!

圖檔

加油!
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章402401620 » 週二 5月 05, 2015 10:40 pm

做個作業順便跟著課本第4章重溫...按了Design想來拖拉點放...
圖檔

卻遇到這個:
圖檔

我可以忽略掉上面這個錯誤,直接在 Source 打語法...吧!
頭像
402401620
懷疑的國中生
 
文章: 61
註冊時間: 週五 9月 19, 2014 10:54 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週二 5月 05, 2015 11:58 pm

回樓上... 可以的!

這個 Internal Error 是發生在妳使用 WYSIWYG 的 GWT Designer 時候。
如果要採 拖、拉、點、放 的方式來設計 Web UI,那就必需像上禮拜我們所講的:下載、安裝並設定 GWT SDK 2.6.1 版。
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週四 5月 07, 2015 4:36 pm

<sigh> 此刻 禮拜四 4:36PM ... 距離作業三截止期剩下三天又7小時24分鐘,可素 ......

上述試做的作業參考分享專案 archive HW3.zip 迄今只被下載了二次(大約就是樓上PO文發問的兩位同學吧!?),若不是同學武功高強、完全可以自立自強的話,那就是還沒開始做作業!

kumavio401 同學! 上面答覆有幫助嗎?問題解決了沒有?

要加加油囉!同學們 ~~~
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章kumavio401 » 週四 5月 07, 2015 6:50 pm

謝謝老師!我重新開一個Web Application Project,把Use Google App Engine取消勾選就可以了 :)
話說介面應該不用連2個吧?
kumavio401
問題很多的小學生
 
文章: 10
註冊時間: 週五 9月 27, 2013 9:51 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週四 5月 07, 2015 10:53 pm

kumavio401 寫:謝謝老師!我重新開一個Web Application Project,把Use Google App Engine取消勾選就可以了 :)
話說介面應該不用連2個吧?


恭喜! 一點兒都不難吧!? 總共約花了多少時間做出作業三的呀?

不懂妳所指的「介面應該不用連2個」是啥意思? ^o^
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章kumavio401 » 週五 5月 08, 2015 12:08 am

我跟著影片作好像花了1~2小時,大部分時間都花在de那個bug@@,不知de了多久......新開一個專案很快,把之前程式碼,和一些必要東西複製過去再進行一些修改就好了,好像不用半小時。

介面連兩個是指,Project1在login-user輸入名字後會跳到hello-world做回應,不知GWT可不可以做到這點呢?
kumavio401
問題很多的小學生
 
文章: 10
註冊時間: 週五 9月 27, 2013 9:51 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章402401620 » 週五 5月 08, 2015 2:36 am

跟著影片做妥妥的沒問題!但也花了快3小時..._(:3 」∠ )_

是說呢,作業要求中說要'"製作過程圖文解說的Word 檔"...
但百分之90%↑是照著影片打,都不知道該截圖截哪些部份了XDD

然後也想同問樓上正在問的問題~

圖檔

因為跟著影片做的話,顯示會像附圖那樣,
而不像Project1是在login-user.jsp輸入另外在hello-world.jsp顯示結果 :?
頭像
402401620
懷疑的國中生
 
文章: 61
註冊時間: 週五 9月 19, 2014 10:54 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週五 5月 08, 2015 12:13 pm

謝謝樓上 算是幫我回覆了樓上的樓上所問的問題!

傳統 HTML 如果純用 Server 端,不管是動態或是靜態網頁做 UI,都有一個缺點瀏覽器端互動性不夠,後來才會有人在 2005 年提出透過跑在 Browser 端的 JavaScript 與後端伺服器互動的 AJAX 模式,來增加所謂豐富使用者經驗 (Rich User Experience)。

用上 AJAX,前端 Browser 不需要像 HTML,整個頁面或大片頁面重送更新畫面,可以透過非同步機制由前端 Javascript 從 Server 端取回請求的資訊,局部更新到瀏覽器的頁面。

像我們這個作業練習裡 (其實我們在把玩 Aejaks 時就用上這伎倆啦,期中考第二題不也是類似把我們這 WTP Tour 專案改成這種方式,將 Database 取回的全名,更新到畫面 UI 的 Label 元件處),就是要把回覆的整個 HelloWorld.jsp 改用 GWT 在 UI 設計裡擺放一個 Label 作為訊息區,然後以 RPC 方式呼叫 Database 的 lookupFullname(),像樓上這樣取回全名、兜出一個問候訊息,填入到 Label 元件處。
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週五 5月 08, 2015 2:47 pm

Wow, HW3.zip 下載從剛剛的 2 次,忽然間躍昇到 8 次,看來有 6 位同學開始動工囉!
Thank God, It's Friday, TGIF! 嗎? 哈哈哈!

加油!無論如何都一定要動手做出來,有道是:

I hear, I forget!
I see, I remember!
It's only when I do, I understand.


這作業實在不難,樓上有兩位同學分享的經驗是不超過三小時就可以搞定的啦!
下禮拜一作業四又要來囉!會用上作業三進一步把資料庫部分,用 Google AppEngine Datastore 改寫,然後部署到 Google 雲端去。
這樣我們就把一個 MVC model 的 Web Application,從一般自建 Server 部署,改成雲端程式部署到 Cloud Foundry 與 Stackato 之餘,又進一步轉戰到 Aejaks 平台,最後再 Porting 成 GAE 雲端應用程式。(騰雲駕霧武功精進不少了吧!?)

所以橫豎你這作業三都要做的啦!也不可能做不出來的啦!
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章401402225 » 週五 5月 08, 2015 9:37 pm

老師傳的zip檔好像有問題?! 不知道是不是只有我
我試了3.4次下載都不完全(24M只有16M左右) zip檔無法解壓縮...
401402225
剛學走路的小朋友
 
文章: 4
註冊時間: 週一 3月 02, 2015 8:44 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週五 5月 08, 2015 10:44 pm

我在咱們課程 FTP 站也放了一份:

ftp://140.136.155.91/103CAP/HW3.zip

光賢!幫忙看一下 EO 站台是不是有問題?我這會兒去下載樓上那篇 PO 文裡夾檔上傳到 EO 上的 HW3.zip,確實也會下載到 8 MB 左右就突然結束,也沒錯誤訊息,用 WinRAR 去解它,會說資料損毀。

咦!其他同學沒發生問題嗎?
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章402401620 » 週五 5月 08, 2015 11:14 pm

報告老師!
前幾天我用Google瀏覽器下載時也是載不完全就突然結束了,
但換成IE就順利下載成功,雖然不知道這跟瀏覽器有沒有關聯...
頭像
402401620
懷疑的國中生
 
文章: 61
註冊時間: 週五 9月 19, 2014 10:54 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週六 5月 09, 2015 12:07 am

嗯!兩台機器,三個瀏覽器 (IE, Firefox, Chrome) 都會下載不全!
設學校 Proxy 可以下載得多一點,但還是不完全!

助教從他家裡下載 OK。
我遠端連線到系上機器去下載也都OK。

這有點兒奇怪了說 ... (我看到下載中速度大約是 350KB/sec)
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週六 5月 09, 2015 1:06 pm

HW3.zip PO文夾檔下載問題解決了。
當初能不能正確下載就要看運氣囉~~~

昨晚助教說他從家裏可以正確下載,另一位同學說換個 Browser 成功了!
我就試著在 Firefox, Chrome, IE 之間換著測試,都會下載不完全,但測試過程中留意到各個瀏覽器下載速度略有不同,但都大約 30 秒左右,還沒傳完就結束,也沒錯誤訊息。
換了兩台機器結果類似。後來我遠端登入到系上機器去下載飛速正常完成。

跑去研讀 phpbb 那郭下載腳本 file.php 看到:

代碼: 選擇全部
   // Close the db connection before sending the file
   $db->sql_close();

   if (!set_modified_headers($attachment['filetime'], $user->browser))
   {
      // Try to deliver in chunks
      @set_time_limit(0);

      $fp = @fopen($filename, 'rb');

      if ($fp !== false)
      {
         while (!feof($fp))
         {
            echo fread($fp, 8192);

         }
         fclose($fp);
      }
      else
      {
         @readfile($filename);
      }

      flush();
   }
   file_gc();


其中第七行處有個 @set_time_limit(0) 述說傳檔案前把 timeout 設為 0,也就是不設限!看來規範 30 秒這個限制不在腳本裡。
於是我往上一層 phpbb 的設定檔 php.ini 裡去瞧瞧,看到這麼一段:

代碼: 選擇全部
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60   ; Maximum amount of time each script may spend parsing request data
memory_limit = 24M      ; Maximum amount of memory a script may consume (8MB)


找到罪魁禍首... max_execution_time = 30 居然每個腳本執行時間上限設為 30 秒。所以 file.php 這腳本就要看你家網路夠不夠快囉!
30秒內能傳完 24MB 的 HW3.zip 算你運氣好,網路慢、30 秒內傳不完就 GG 囉 ~~~

剛剛我把這 max_execution_time 放寬後,解決了!

我們家 Seednet 頻寬 60M/20M 的不頂用,下載那個檔速度大約都只能 350KB/s 左右。
光賢助教家的寬頻網路比較夠力,不知道是哪家的?頻寬多少?

Good luck! 作業三要加油囉 ~~~ (目前只有兩位同學繳卷)
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章Lily Chang » 週日 5月 17, 2015 6:58 pm

我是一個很不會debug的小孩 ...
我的HW3今天重作也跟上禮拜一樣,BUTTON按了沒有顯示HELLO訊息。
圖檔
web.xml:
圖檔
HW3_GWTRPC.gwt.xml:
圖檔
所以到底錯在哪裡你不能直說嗎...
上來丟臉求幫助
Lily Chang
剛學走路的小朋友
 
文章: 7
註冊時間: 週一 3月 02, 2015 8:27 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章401402263 » 週一 5月 18, 2015 2:46 am

不知道為什麼按按鈕都沒反應ㅠㅠ好不容易做完,以為他到最後就會跑出來

雖然有跟著助教的環境建置,途中還是遇到GWT的問題
不過找到這個!!!!

[102]GWT的Entry無法使用GWT Designer之解決方法

千萬別一開始跟著刪除eclipse資料夾,好險即時看到老師的阻止XDDDD
401402263
剛學走路的小朋友
 
文章: 5
註冊時間: 週一 3月 02, 2015 8:30 am

Re: [103] 出作業囉!沒來上課的同學消息要靈通一點兒 ...

文章XO » 週三 5月 20, 2015 1:14 pm

樓上的!不錯唷~~~ 終於浮出水面啦!
你看到的是去年的分享,其實這學期 4/17 那天,在把玩 GWT Designer 時,我們也下載了 ftp://140.136.155.91/103CAP/gwt-2.6.1.zip
安裝、設定並解說了如何 fix 這項錯誤,還帶大家稍事用 GWT Designer 隨手拉了一個醜醜的 GUI 畫面耶 ~~~

不信你翻開我給大家的筆記裡,也有記上一筆耶:

圖檔
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

下一頁

回到 雲端應用程式設計(CAP)

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron