線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2929
推到 Plurk!
推到 Facebook!

請問有人寫過這樣的CGI嗎

答題得分者是:yckuo
\r\n"); printf("
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-17 22:08:20 IP:140.127.xxx.xxx 訂閱
小弟寫了兩個CGI的程式
是利用C寫的
OS是LINUX
目的是從A.CGI裡面有一個超連結
當我按下超連結後
會傳送字串給B.CGI
但這個動作我無法想出來
能否有人可以提供意見讓小弟參考呢
謝謝
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-17 23:00:54 IP:220.132.xxx.xxx 未訂閱
------
yckuo
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-18 10:27:48 IP:140.127.xxx.xxx 訂閱
已經有傳簡訊給副版主了,

但還是把我的問題傳上來好了,

其實我要做的是一個具有表格的網頁,

而這些表格裡面分別是我linux底下所擁有的檔案名稱,

比如說,表格裡有"07-04-17",

代表某個資料夾裏有這些東西,

而"07-04-17"也是超聯結,當我按下表格裡頭"07-04-17"時,

便會傳給另一個CGI程式這個字串"07-04-17",

另一個CGI再根據這個字串來處理我之後的工作


現在問題就是,按下超連結並傳送字串這個動作,

我有點摸不著頭緒

不知道有沒有辦法可以這麼做

還請大家不吝惜指教

謝謝

暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-18 12:43:27 IP:218.170.xxx.xxx 訂閱
有看沒有懂。
看不懂你要做什麼。
你要不要先想好,你要呈現出來的 html
你的 html 長怎樣,然後再來解說你的 cgi 要怎麼做。
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-18 13:55:26 IP:220.132.xxx.xxx 未訂閱
A.cgi

<textarea class="cpp" rows="10" cols="60" name="code">printf("Content-type: text/html\n"); printf("
"); printf("07-04-17"); printf("
"); exit(0); </textarea>

b.cgi 就套用我提供的那連結 , 利用它幫你解析使用者送來的資訊.
使用者傳來的資訊它會存在一連結串列上,如上例 A.cgi 是 name = req,value = 07-04-17

B.cgi
<textarea class="cpp" rows="10" cols="60" name="code">unsigned char val[255]; while (cgihtml != NULL) { if (strcmp(cgihtml->entry.name, "req") == 0) { strcpy(val,cgihtml->entry.value); dosomething(val); } cgihtml = cgihtml->next; } </textarea>

------
yckuo
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-04-18 19:17:05 IP:140.127.xxx.xxx 訂閱
已收到,
不好意思
我還在測試
我今天晚上試完
有問題在提問
謝謝
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-04-18 20:25:22 IP:140.127.xxx.xxx 訂閱
不好意思,副版主我還是無法弄出來,我po我部分的source code好了 <textarea class="c#" rows="10" cols="100" name="code">static void html_table(const char *buf_text) { printf("
%s
\r\n",buf_text); } </textarea><br /> 這是我的A.cgi 就是顯示表格並在表格內產生 07-04-17 這個超連結,並以更改成副版主所建議的方法多加了?req=%s,CGI_HTML2.cgi就是我的B.cgi
<textarea class="c#" rows="10" cols="100" name="code">struct entry { char name[4]; char value[9]; }ent={"",""}; int main(void) { unsigned char val[9]; struct entry *cgihtml; cgihtml=&ent; while(cgihtml != NULL) { if(strcmp(cgihtml->name,"req")==0) { strcpy(val,cgihtml->value); html_content(); html_start("TEST"); html_header(3,"TEST"); html_text(val); html_end(); } static void html_text(const char *text) { printf("%s\r\n",text); } </textarea><br />
這是我的B.cgi 不知道我這樣宣告結構體對不對,參考副版主所提供的方法下去改的,一些html_XXX函式都是包HTML的函式,不用理會它,卻無法顯示由A.cgi傳給B.cgi的字串,不知道是否有哪邊寫錯,還請副版主指點一二,感謝
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-04-18 21:13:23 IP:220.132.xxx.xxx 未訂閱
<textarea class="cpp" rows="10" cols="60" name="code">include "cgi-llist.h" llist entries; unsigned char val[255]; void get_input(llist *l) { node* cgihtml; cgihtml = l->head; while (cgihtml != NULL) { if (strcmp(cgihtml->entry.name, "req") == 0) { strcpy(val,cgihtml->entry.value); dosomething(val); } cgihtml = cgihtml->next; } } void main() { get_input(&entries); } </textarea><br />
為何你要自訂 struct entry ???
我寫給你參考的是用那套件的,不是自定個連結串列就 ok 的.
那套件裡面有說明檔,有範例,多試試吧,很簡單的.
------
yckuo
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-04-18 22:11:05 IP:140.127.xxx.xxx 訂閱
感謝副站長的答覆,
副站長給我的那個連結我有看,
想請問一下,
副站長所謂的套件是cgi-llist.h嗎?
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-04-19 16:52:45 IP:140.127.xxx.xxx 訂閱
不好意思,副站長,我已經更改過我的source code了,但還是無法顯示出來,還是把我的source code放上來<textarea class="cpp" rows="15" cols="100" name="code">typedef struct { char *name; char *value; } entrytype; typedef struct _node { entrytype entry; struct _node* next; } node; typedef struct { node* head; } llist; void list_create(llist *l); node* list_next(node* w); short on_list(llist *l, node* w); short on_list_debug(llist *l, node* w); void list_traverse(llist *l, void (*visit)(entrytype item)); node* list_insafter(llist* l, node* w, entrytype item); void list_clear(llist* l); </textarea><br /> 這是我在您提供的參考網站所看到的,也終於明白為什麼要這樣宣告了,並也在我的B.CGI加入這個函式庫 <textarea class="cpp" rows="10" cols="100" name="code">#include "cgi-llist.h void get_input(llist *l); int main(void) { get_input(&entries); html_content(); html_start("TEST"); html_header(3,"TEST"); html_text(val); html_end(); } void get_input(llist *l) { node* cgihtml; cgihtml = l->head; while (cgihtml != NULL) { if(strcmp(cgihtml->entry.name,"req")==0) { strcpy(val,cgihtml->entry.value); } cgihtml = cgihtml->next; } } </textarea>這是我的B.CGI,動作是顯示傳給B.CGI的字串,但還是沒看到網頁有字串出現,本身有個疑問就是,我們傳的那個字串,是存在哪個地方去讀取的?看了副站長的source code發覺自己還有很多要學。
還請副站長給我點提示,寫這種關於網路的程式還是個大外行,也還在K你提供的網站,感謝
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-04-19 19:22:56 IP:220.132.xxx.xxx 未訂閱
首先請安裝 http://www.eekim.com/software/cgihtml/

a.c => 編譯成 a.cgi
<textarea class="cpp" rows="10" cols="60" name="code">#include #include #include #include "cgi-lib.h" #include "cgi-llist.h" #include "html-lib.h" #include "string-lib.h" int main() { html_header(); printf("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\r\n"); printf("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>\r\n"); printf("
2007-04-19
\r\n"); } </textarea>

b.c => 編譯成 b.cgi
<textarea class="cpp" rows="10" cols="60" name="code">#include #include #include #include "cgi-lib.h" #include "cgi-llist.h" #include "html-lib.h" #include "string-lib.h" llist entries; char val[500]; void get_input(llist *l) { node* cgihtml; cgihtml = l->head; while (cgihtml != NULL) { if (strcmp(cgihtml->entry.name, "req") == 0) { printf("I GOT %s\r\n",cgihtml->entry.value); strcpy(val,cgihtml->entry.value); } cgihtml = cgihtml->next; } } int main() { read_cgi_input(&entries); html_header(); printf("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\r\n"); printf("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>\r\n"); get_input(&entries); } </textarea>

gcc -o a.cgi -L/usr/local/lib -lcgihtml a.c
gcc -o b.cgi -L/usr/local/lib -lcgihtml b.c

就這樣,我有測試過,沒有問題.
------
yckuo
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-04-19 23:00:42 IP:140.127.xxx.xxx 訂閱
感謝副站長詳細的source code,
但是裡面的套件連結好像都失效了,
無法下載cgihtml.tar.gz
能否提供這個檔案給我呢?
能的話可以寄給我嗎?
我的E-mail :XXXXXXXXXXXXXXXXX
不好意思還有一個問題就是我的這個CGI程式是要在嵌入式系統上面執行
使用的webserver是thttpd2.20c
不知道是否有什麼限制沒有
感謝
編輯記錄
yckuo 重新編輯於 2007-04-22 18:02:08, 註解 更改 Email 為 XX 避免被搜集轟炸‧
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#13 引用回覆 回覆 發表時間:2007-04-19 23:19:25 IP:220.132.xxx.xxx 未訂閱
下載連結在此 http://www.eekim.com/software/cgihtml/cgihtml-1.69.tar.gz
限制?? 你說的限制是啥??

cgihtml 的版權??
cgihtml 沒啥明確的版權宣告,程式內的 copyright 別拿掉就好好,他有提到的地方只有

This library is e-mail ware. Please send me e-mail if you use this
library; I'd really like to hear your comments. Although I do not
require it, I would appreciate attribution if you use my code.

所以儘管用吧.

webserver 的限制??
只要能跑 cgi 就行了.


------
yckuo
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#14 引用回覆 回覆 發表時間:2007-04-19 23:35:00 IP:140.127.xxx.xxx 訂閱
感謝副站長的大力相助
明早就立刻實驗
有任何心得或問題
在po上來討論
感謝
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#15 引用回覆 回覆 發表時間:2007-04-20 10:57:37 IP:140.127.xxx.xxx 訂閱
副站長,不好意思
突然想到一個問題,
由於我的CGI是要在嵌入式系統實驗板執行
那我要編譯cgihtml-1.69這個套件是要用uClinux的tool chain 去cross compilie產生cgihtml.a
還是PC的gcc就可以編譯了
剛剛想到這個問題
請副站長不吝惜指教
謝謝
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#16 引用回覆 回覆 發表時間:2007-04-20 11:10:25 IP:220.132.xxx.xxx 未訂閱
很抱歉這沒辦法回答你, 嵌入式系統 我沒用過.
linux 我更久沒摸了, 我是在 FreeBSD 下測試的,所以要怎compile 到你的環境,我不曉的
你會了的話,換你教我
------
yckuo
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#17 引用回覆 回覆 發表時間:2007-04-20 11:24:24 IP:140.127.xxx.xxx 訂閱
感謝副站長的回覆
您客氣了
目前我正在測試中
我的想法是
把Makefile改成編譯嵌入式系統所用的巨集
現在正在測試中
待會在po結果
感謝
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#18 引用回覆 回覆 發表時間:2007-04-21 11:11:01 IP:140.127.xxx.xxx 訂閱
經過我昨天一直實驗,
發現我寫的Makefile一直無法編譯成功
我把Makefile的環境變數改成對應uClinux的方式
先把cgihtml.a編譯出來
但是卻出現make cgihtml.a : command not found
但是看了資料夾卻有cgihtml.a這個資料庫
不知道是不是我的makefile有寫錯
可能還要再參考些資料

編輯記錄
ryoryo20062006 重新編輯於 2007-04-22 13:00:06, 註解 無‧
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#19 引用回覆 回覆 發表時間:2007-04-22 12:22:58 IP:140.127.xxx.xxx 訂閱
不好意思,副站長
想請教您,
一定要連結這個資料庫嗎,
如果把cgihtml.a裡面的C語法寫進我的source code不行嗎?
對這方面有點疑問,
想請教副站長,
謝謝!
編輯記錄
ryoryo20062006 重新編輯於 2007-04-22 12:59:38, 註解 無‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#20 引用回覆 回覆 發表時間:2007-04-22 13:18:26 IP:218.170.xxx.xxx 訂閱
寫 CGI 幾個動作。
一個是先把你要表現的 html 先寫出來。
有變動的部份是屬於動態顯示。
不過至少要先做出靜態的 html
這樣你才會比較好分析。才不會像你問的這樣 A, B....etc 搞不清,分不清楚怎麼表示。

一個是你要用在 embed system 上面。
到底它支援的 httpd 有支援到什麼程度?
你要先做一下測試。
寫一下小程式。看看 http://host/cgi-bin/a.cgi?text=hello
然後把 hello 顯示出來。看看能不能做到。
如果可以你的程式才再寫下去。
如果不行,你該去看看你的 httpd 到底支援了那些。

另一個情況。當你的第二個解決了。
你其實可以自己寫程式來 parser 那些個環境變數。
有必要一定用別人寫好的 lib 或 function 嗎?
搞到 make 不起來這麼久,自己寫一下。只把你要的部份做出來。
我想應該不是那麼難的事。我寫那樣的 class 當初也用不到三天就寫好了。

有時候有人造好輪子,你不用重造是沒錯。
但是當別人造好的輪子,你無法直接使用時,還不如自己重造一個比你去修改別人的輪子還要快。
畢竟,造那個輪子的人,只跟你保證它在推土機能用。他沒說在你的遙控車上是可以用的。
看這麼久,完全沒看到你想要自己去了解 httpd 跟 cgi 之間做了什麼事。
而只堅持使用現有的 lib, 造成你 lib 也無法編譯等等的問題。
該放下就放下,讓回頭就回頭。
有時候寫程式,在晚上八點時會說。嗯。差一點就改好了。
十點要你睡覺時,你也覺得差一點就好了。
我想,搞到隔天你爸媽或你同學起床看到你整夜沒睡。都為了那差一點。
早知道這樣還不如昨晚八點就重新改寫。那還不用整夜抓虫。
我想我形容的,應該是很多人的經驗。^^

加油吧
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#21 引用回覆 回覆 發表時間:2007-04-22 14:14:59 IP:140.127.xxx.xxx 訂閱
感謝副站長的source code,以及他給我參考的網站和方法,
敝人已經測試出來副站長所提供的a.cgi和b.cgi,
已經解決了這個問題,
在這邊先po出我的Makefile讓以後需要的人參考
當然並非每個系統都能用,
在此先把我的spec列出來
硬體:
1.晶慧出品的IXP420嵌入式系統實驗板,CPU:Intel Xscale IXP420
2.個人電腦PC CPU:P4 2.66G 512Mb

軟體:
IXP420:OS---uClinux
webserver---thttpd 2.20c
Kernel---ARM Linux kernel 2.6.10
Library(glibc 2.3.3)
PC:OS---Linux RH9.0
<textarea class="cpp" rows="10" cols="100" name="code">CC = armeb-linux-gcc #嵌入式系統編譯的指令,與PC 的Linux 編譯指令 "gcc"對應 RANLIB = $(WIS_RANLIB) OBJS = string-lib.o cgi-llist.o cgi-lib.o html-lib.o LIB = cgihtml.a # 這就是連結資料庫 $(LIB) : $(OBJS) $(WIS_AR) cr $@ $(OBJS) $(RANLIB) $@ #在po這篇時,發現自己寫在linux裡的makefile知所以會出現編譯錯誤,就是自己把$(RANLIB)寫成(RABLIB),所以才會出現錯誤訊息,該打!!! clean : @rm -f *.o $(LIB) include App.mk </textarea> 其中App.mk是包含一些編譯的指令
<textarea class="cpp" rows="10" cols="100" name="code">CROSS_COMPILE = armeb-linux- WIS_CC = $(CROSS_COMPILE)gcc WIS_AS = $(CROSS_COMPILE)as WIS_LD = $(CROSS_COMPILE)ld WIS_DUMP = $(CROSS_COMPILE)objdump WIS_COPY = $(CROSS_COMPILE)objcopy WIS_AR = $(CROSS_COMPILE)ar WIS_RANLIB = $(CROSS_COMPILE)ranlib </textarea> 執行make後,會產生cgihtml.a這個函式庫。
而編譯a.cgi以及b.cgi我自己再撰寫一個makefile,
當然也可以在第一個makefile加入編譯a.cgi與b.cgi的內容,
<textarea class="cpp" rows="10" cols="100" name="code">CC = armeb-linux-gcc LIB = (寫出cgihtml.a的存在路徑)/cgihtml.a EXEC = a.cgi a.cgi : a.o $(WIS_CC) $(LDFLAGS) -o $@ $^ $(LIB) $(LDLIBS$(LDLIBS_$@)) clean : @rm -f *.o $(EXEC) include App.mk </textarea><br /> b.cgi就是把上面a的部份改成b
之後再把a.cgi與b.cgi傳到實驗板並執行webserver指令,
利用瀏覽器登入實驗板的IP並進入到a.cgi,
就會看到2007-04-19的超連結,
點進去後會看到"I GOT 2007-04-19"的字串,
到這邊這個動作已經可以秀出來了,
感謝副站長提供的source code,
副站長人真的太好了,
也減少我開發這個程式的時間,
在此感謝。
謝謝
編輯記錄
ryoryo20062006 重新編輯於 2007-04-22 15:04:45, 註解 無‧
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#22 引用回覆 回覆 發表時間:2007-04-22 16:30:11 IP:220.132.xxx.xxx 未訂閱
感謝分享,沒有問題就請結案吧.
------
yckuo
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#23 引用回覆 回覆 發表時間:2007-04-22 17:35:55 IP:140.127.xxx.xxx 訂閱
今天在這邊解決問題,
要感謝的除了副站長,
再來就是版主暗黑破壞神,
我非常認同版主所說的,
一開始我問題的態度就是不對了,
我並沒有詳盡敘述我問題的細節,
只是把問題丟給貴站,
請人幫我解決問題,
這也就是版主所認為不好的地方,
在這邊把我的情況回應給版主知道一下,
畢竟,
交流就是互動,
說來慚愧,
我是碩士班的學生,
但我對寫程式的概念,
是從碩一開始接觸,
可以說是沒有任何程式基礎,
應該是說大學很混,
也沒認真在學,
當我考上碩士班時,
因為老闆本身研究方向,
就是開發嵌入式系統的應用程式,
所以才開始寫C,
也因為這樣,
開始我對C的接觸,
也發現其實我對程式並不是那麼排斥,
漸漸從完全不懂到現在略懂一二,
不敢說自己懂多少,
但自己也嘗試去寫些程式,
也累積了些經驗。

在我PO這個問題前,
對CGI已經大概知道它的功能是什麼,
也稍微了解與webserver的關係,
我的觀念就是,
只要寫的出來html,
就能把一些想要的功能,
利用C寫進去,
其互動的方式,
藉由method方式,
來傳遞webserver環境變數給CGI程式,(我目前所知)
所以,
也去了解過html的語法,
後來發現,
CGIC其實功能很強大,
也參考過不少有關CGI的書,
或許因為要趕著畢業論文,
且要寫到網頁只是實作的一個小部份,
所以並非很仔細在尋找與思考問題,
這是比較現實考量的地方,
因為卡在這邊很久了,
也爬了不少文,
這方面好像很少人有提到,
只好提問了。

會被暗黑板主這麼說,
其實我不意外,
但因為事情畢竟還要解決,
且時間有點緊迫,
還是硬著頭皮提問,
剛好副站長提供了很好的參考資料以及原碼,
讓我很快進入狀況,
也讓我知道,
對CGI懂得還很少,
我只知道皮毛而已,
看到"連結串列(Link list)"這個名詞,
根本不知道也這種東西,
翻了html的書或CGI的書,
也沒看過,
來這邊也真的上了一課,
暗黑版主教了我很重要的一課,
路本來就很多條,
該怎麼走,
需要靠自己決定,
遇到問題時,
是應該自己思考解決?
還是了解問題先?
或是直接問人呢?
時間如果不夠呢?
.....等等,

我非常認同暗黑版主的話,
這是做學問的態度,
也謝謝暗黑版主對我的提醒,
這是我第一次在貴站提問,
也是第一次在貴版發問,
希望日後可以在跟前輩們請教,
在此謝謝各位了!!!!!

yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#24 引用回覆 回覆 發表時間:2007-04-22 17:55:17 IP:220.132.xxx.xxx 未訂閱
TO ryoryo20062006 :

能有這樣的體會值得佳獎

暗黑破壞神 前輩的提示也是大家學習提問應有的精神, 這也是 提問的智慧 要新手看及謹記的.
本串主題有 暗黑破壞神 ryoryo20062006 良好的互動也值得大家互勉學習之.


------
yckuo
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#25 引用回覆 回覆 發表時間:2007-04-22 19:57:32 IP:218.170.xxx.xxx 訂閱
其實。女兒去年出生之後有很多事情的看法我在改變。
以前你要 source code 我有空也許會去幫忙寫一寫。
你要線路也許我會去幫你試看看。
不過,一方面是現在時間不夠。(開玩笑,打電動的時間都沒了。那有時間幫你回問題)
我真的意會到我老了。技術要怎麼傳下去。讓更多人能到達一個水準。
直接給你答案,你交了之後。你能得到什麼?出了社會變成業界的負擔。非我本意。
教你怎麼去思考問題。解決問題的方法。
這是我這幾年跟許多人接觸後的感想。
很多人看到問題,不知道怎麼解決。不知道怎麼走到終點。

這兩年來,我玩了木工。木工真的很有趣。它跟電腦程式不同。
它的精密度是以10條為單位來計算的。而不是機械以條為單位。
它的誤差大到原本我程式寫慣了的人看到會很在意。
但是,它真的可以動作。可以組合成我要的產品。

為什麼我會說木工呢?因為在之前我為了求得”精準”花掉很多的心力。
做過木工,我開始會欣賞誤差。

一個新人,一定會有程度上的不足。或理解能力不夠。
在往年,我會很在意怎麼教不會。怎麼不會怎樣怎樣。
然後自己氣得半死。來問我的人也搞不懂我在氣什麼。
反而忘了。
我之所以會寫這麼多程式。是因為我學電腦快30年了。寫程式都滿20年了。
我要新人在短短一年、半年內跟我相同,有同樣的視野,真的很難。
我玩過木工,我開始了解誤差、時間。。。。。等等。
我不再那麼心急了。

回想起大學時的體育老師,他真的很利害。他是某些大企業的球隊的教練。
當我問他說:老師你這麼利害。那天跟我們打一場。
那個老師說,我是教練。我只要教他球怎麼打。球棒、球拍怎麼拿。
使用時機要怎麼抓。我不用自己會做這些事。
我會做,就是選手,不會做就是教練。
當時他說得很清楚,我聽得很模糊。
現在,我才能深深的體會他的想法。
教人,下指導棋,跟自己下去下棋是不一樣的。
能指導別人怎麼分析,比自己做好還要難。
在回答問題上,我正朝著這個方向前進。
也許,我回答的技巧還不夠熟練,大家多包涵。

期待我女兒長大了,要我指導的時候,我的技巧能更成熟。^_^
ryoryo20062006
一般會員


發表:1
回覆:15
積分:3
註冊:2006-07-13

發送簡訊給我
#26 引用回覆 回覆 發表時間:2007-04-23 00:15:31 IP:140.127.xxx.xxx 訂閱
暗黑版主你客氣了,
看到你寫的文章,
雖然,
我還沒到你這個年紀,
但是有些感覺,
我也跟你有同樣的feel,
很多事情不管是作學問還是任何事,
我相信一定都有起頭的時候,
累積經驗也是很重要的事,
事情遇多了,
如果自己能夠思考如何解決,
那麼,
不論是被罵或是責罰,
都是有價值的,
我是七年級生,
也就是所謂的草莓族,
雖然我還沒正式步入社會,
但是已經有接受被罵的心理準備,
為什麼,
因為我真的發現,
很多事情你不懂,
但是,
你只要踏進工作領域,
你就是要會,
老闆不管你工作的過程,
只在乎你東西出來了沒,
不管做什麼行業,
都是這樣,
如何讓自己可以更進步,
能夠更快進入狀況,
能夠不會被罵,
就是自己去思考問題所在,
我很認同暗黑版主的那些話,
不是奉承,
而是深深體會到前輩們所付出與經驗,
是目前自己所沒有的,
實驗室裡有些學弟,
看到不會就問問題,
從來不曾自己去找答案,
有時候讓我覺得,
根本就是叫我幫你做,
所以,
我了解暗黑版主所說的,
也明白版主想要表達的意思,
也很高興可以跟這麼多前輩討論這些問題,

暗黑板主喜歡木工阿,
呵呵呵,
我對機車方面有興趣,
喜歡自己調教些設定,
讓騎乘的感覺不一樣,
也藉由慢慢累積經驗,
加上些許理論,
讓自己的車更好騎,
更安全,
對任何事,
我是菜鳥,
但如果有興趣一直做下去,
慢慢也會變成老手,
沒有人天生就會,
但是做事的態度,
決定你會不會,
這是我的座右銘。

也謝謝暗黑版主提供寶貴的經驗。
系統時間:2024-04-26 20:17:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!