http://www.programmer-club.com/pc2020v5/conference2006/
有人想去聽的嗎
中量级别的系统权限设计
1、用户对应人事系统-员工基本信息表
2、群组是虚拟的部门划分
3、用户等级是虚拟的职务等级划分
4、角色是虚拟的职责划分
花了一個晚上除錯
不知有沒有電腦高手上來看到我這麼蠢的除錯方式,
真是獻醜啦!!
******************************************
以下我先說明一下我所遇到的情況,
我有寫一套「借還系統」(ASP.NET),
它是在win2000的環境下開發的,
而我架站的主機是win2003,
可是程式放上去之後,卻遇到問題了,
在本機執行程式,做新增,修改,刪除等動作都OK喔!!
但如果從其他台連到它,
按下某個BUTTON的功能(基本上都是要連上SQL SERVER資料庫),
一次OK,第二次就會掛點…(運氣不好的話,第一次就掛了)
而掛掉的情況就是”系統畫面直接黑掉,重新開機….”
******************************************
各位高手,你們認為要怎麼查呢?
以下,說明我花了一整個晚上的成果:
系統出現錯誤的話,一開始我是會查事件檢視器,沒有查到相關的錯誤訊息
接下來,我判斷是DNS出了問題,結果我使用區域內的IP連,依然掛點
程式應該是沒問題,所以我假設是和.NET程式和SQL SERVER的連接出了問題,所以,我把我測試環境的SQL SERVER連到主機上用,OK!!而主機上SQL SERVER連到測試環境上,結果,仍然OK!!有頭緒了…
我猜想,應該是那台win2003上SQL SERVER和ASP.NET的問題,於是,我把SQL SERVER和IIS都重灌,但….還是一樣沒有用(又陷入困境了)
我想到,我會自動重開機,是不是因為我開啟了錯誤重啟?沒想到,真的是這樣
很順利的,我終於看到了藍色的畫面,錯誤訊息出現了…..
teefer.sys!!這是什麼東東,上GOOGLE查,找不到,在我HD內查,檔案在SYGATE的資料夾下,這不是我防火牆的程式嗎?(現在時間是晚上2點了)
有點想睡了說,但我還是打起精神完成最後一步,我關掉防火牆再進行測試,賓果!!兇手就是它….
———————————————————————
後記:教導如何解teefer.sys的問題
http://www.file.net/process/teefer.sys.html
http://forums.sygate.com/vb/showthread.php?s=edb10aaa6e8c5fc90b420cf35878c222&threadid=7431
.NET的開發工具
開發工具
Microsoft Visual Studio.NET
以程式碼後置(CodeBehind)的概念將畫面與程式碼分離,以web form為例,aspx存放的是與畫面有關的html與server control,另外會產生一個同名的vb程式存放事件與邏輯
Form的配置:document的屬性pagelayout可有兩個值,flowlayout可以像寫asp一樣利用table繪製版面,gridlayout的話,有點像用layer
Microsoft ASP.NET Web Matrix
Web Matrix 是微軟完全以c#實作出來的Windows Form(Client-Side UI)的網頁程式IDE開發工具,雖然使用介面類似Visual Studio.NET但實際是以嵌入式(Embedded)的概念來表現,其程式碼與畫面放在同一個檔案內(CodeInline)。Web Matrix是一個”Community Project”,使用者可以透過線上社群的討論方式,針對感興趣的項目提出問題與回應。
Web Matrix與Visual Studio.NET尚有若干差異:
1. Web Matrix應用程式不是以專案型式開啟,檔案間各自獨立。
2. Web Matrix的程式撰寫區不提供Intellisense的屬性提示窗格。
3. Web Matrix檔案無法自動編譯成DLL,而須透過Command Line自行編譯。
4. Web Matrix IDE提供.NET Framework Class Library屬性查詢視窗與線上討論區連結。
5. Web Matrix程式免費下載與使用。
#develop
#develop (唸成「 Sharp Develop」) 是一套遵循GPL授權的自由軟體,可在微軟的.NET平台上編寫C#與VB.NET的程式
Borland C#Builder
Borland C#Builder
Mono
Mono 是一套.NET架構的開放原始碼發展平台,可讓軟體開發者以具生產力的方式輕易發展出跨平台的解決方案。
Mono’s .NET 實作了C#與CLR在 ECMA的標準(ECMA-334和ECMA-335)
ASP.NET 2.0 – CodeBeside
http://blog.sina.com.tw/archive.php?blog_id=4907&md=entry&id=4665
[程式語法]如何用.net連結excel資料庫
http://support.microsoft.com/default.aspx?scid=kb;en-us;316934&Product=adonet
在win2003上裝mysql
好不容易在2003上裝好了apache及php,
但在mysql的方面又出了問題,
mysql的版本為4.1版,不過,再怎麼裝都不能和phpmyadmin 2.6.3版
合起來用,真是奇怪了……..
————————–解決方法如下:—————————
(1) 在開始 → 執行輸入”CMD”進入命令列模式。
(2) 輸入 “MySQL 路徑\bin\mysql -h localhost -u root -p”。(假設要重設root密碼) (3) 接著會出現 Enter Password:輸入安裝MySQL打的密碼。
(4) mysql>提示符號鍵入:SET PASSWORD FOR
(5) 再輸入:’root’@’localhost’ = OLD_PASSWORD(‘新密碼’);
(6) 完成,現在就可以登入 phpMyAdmin 囉!
補充:只要是 MySQL 4.1.x 版無法連接都可照此方法試試。
————————–原因:—————————
因為新版的mysql編碼和php 4.3的編碼不相同
在win2003上裝apache
為了自己架個blog來玩玩,
詳細教學可參考:http://ying.homedns.org/wp/archives/2005/03/17/22/20/35/
因為我的iis有太多雜七雜八的東西,
所以我選擇使用apache做為我的web server,
但我在安裝時,只要把apache(版本為2.0.5.4)的port從預設值80改掉,
在service中的apache不只無法啟動,連找都找不到,
但設為80就ok了,
我iis的service都關掉了呀,
怎麼會這樣呢?
最後我是用default 的80port裝進去,
再去httpd.conf 改設定,
這是個bug嗎?
ASP之傳值問題
如果在input為checkbox的value中傳超過個一個以上的值到另一頁,
[vb]
,< %=rs("Name")%>,< %=rs("Pay")%>“>
[/vb]
則在接收頁,要怎麼明確取得這些值呢?
方法是用陣列加迴圈
[vb]
Ary = split(Request(“xCheck”),”,”)
j =1 ‘每筆陣列內有幾項資料(a,b,c)
k=0 ‘跑每一筆資料的迴圈數(a(k))
For i=0 to ubound(Ary)
If j=3 then
k=i-2
EID = Trim(ARY(k))
Name = Trim(Ary(k+1))
Pay = Trim(Ary(k+2))
‘中間內容省略……….
j=0
end if
j=j+1
next
[/vb]
談論主題VB, Delphi, BCB 和 C++/MFC 的抉擇 (下)
VB, Delphi, BCB 和 C++/MFC 的抉擇 (下)
使用 MFC 和使用 VB 或是 JAVA 有很大的差別,最主要是程式設計者需要了解 WIN32 的運作模型, MFC 物件在使用時需要根據 WIN32 運作模型來操作,否則物件一律會以 ASSERT 失敗的下場來結束程式,例如:WIN32 視窗沒有真正開啟在螢幕之前,是不可以產生 Timer 物件的,也不能存取其 DC 結構,又如 C++ 的 MFC 物件和其相對應的 WIN32 物件是必須透過兩階段的步驟來建立連結的,如果沒有做第二個階段 Create 的動作的話, C++ 裡的物件是完全不能操作的等等。而物件類別的線上說明通常不見得會解釋 WIN32 的運作模型,這使得學習 MFC 的門檻更加提高。反之 JAVA 或是 VB 的包裝就比較完善了,程式設計者不太需要了解 WIN32 系統運作的細節, (除非在 VB 中你需要使用 WIN32 API 自行設計功能時你才需要去深入了解 WIN32 系統),就可以快樂地完成所要製作的視窗界面了,所有的細節都已經被包裝好了,有適當的初始值與固定的執行時機。從另一個觀點來看,包裝當然使得使用容易,但是功能也就受到限制,效率也會打一點點折扣,這些都是挑選軟體環境必須注意的事項。不過在評估 VB 和 MFC 時,相信功能及效率可能都不會是最大的考慮點,軟體的架構、軟體的生命期、維護性、擴充性、與重用性才是決定的關鍵。如果你只是寫單一一個具有視窗界面的程式,系統本身運作模型很單純,你根本也沒有打算維護或是擴充它,那當然用 VB 來撰寫,可以得到最快的成果,因為它本來就是一個所謂的快速程式發展 (Rapid Application Development, RAD) 的環境。
最後,物件導向原理、 C++ 程序式與物件式併存的騎牆派設計、 WIN32 的運作原理,這三者造成了學習 MFC 的超高門檻,熟悉的人真的少之又少,也使得商業性軟體在評估各項投資與可能的報酬時,更加傾向於 VB,如果說 VB 應用程式在軟體規格變更時需要投資很多的人力去進行更改或是重新設計,那麼也是軟體公司老闆該頭痛的事,對於眾多的 VB 程式設計員來說反倒是保住飯碗的大利多囉!? 這些經濟社會層面的角力,明顯與技術層面的認知相左,在這裡只能說 WIN32 死亡的時候, MFC 和 VB 都將無一倖免,但是 C++/MFC 應用程式還保有 C++ 物件式系統的核心,換個圖形界面平台還能很快地恢復運作,但是 VB 程式的話就得看微軟公司的意向了。
VB 4.0 放棄了對 16bit VBX 的支援而改支援 32bit OCX 曾經是很多 VB 設計者的夢靨,如今微軟也不打算再推出 VB 7.0 了, 2001 年改推出 VB.NET 來取代,微軟在 VB.NET 中加入了嚴格的型態檢查,加入了物件導向的支援,說真的, VB.NET 的學習門檻一定提高了許多,真的也不能稱它為 BASIC 了,那 Visual Advanced 如何?! 2000 年下半年微軟推出的 C# 也是另一個物件導向佔上風的表象,大家真的需要仔細去評量一下才是,趁著你還在學校,沒有工作/薪水的壓力,有老師和同學可以討論的時候,趕快學習物件導向的概念,不要以為工業界短視的狀況會是不會改變的,等到老闆撐不過去的時候,你終究還是犧牲者的。
附帶一提的是 Delphi 和 BCB 基本上都是 RAD,比起 VB 好一點的是一個基於物件導向的 PASCAL,另一個則是基於 C++,都有物件導向的支援,也都有嚴格的型態系統支援。
附註:學習 MFC 除了練功之外,有沒有什麼直接的好處呢?
我想應該是藉此學習 C++,學物件導向分析、設計、程式製作,學視窗系統運作的原理,直接設計繪圖,可以設計多緒程式,可以用 D3D, OpenGL,另外有一件事可以給大家參考的是幾乎在所有的嵌入式系統中 C++/C 都是標準的設計語言,沒有 VB 這樣的環境喔。