就是愛分享
網際網路資訊服務(Internet Onformation Services,IIS)基本上是一組以TCP/IP為主的服務所組成的,它們都在同一個系統上執行。雖然其中有些服務需要依賴他們之間的共用元件,但是整體而言,它們彼此之間的功能是相互獨立的。就像電匠針對不同的工具來應付。IIS對於不同的需求也有不同的Internet功能來負責。Windows Server 2003內附的IIS是第6版,接下來我們要開始說明IIS 6中內含的某些標準功能。

Web(HTTP)伺服器
IIS中含一個HTTP伺服器,讓你可以快速容易地將資料公佈(publish)到全球資訊網(World Wide Web,WWW)上。IIS的Web服務很容易設定,而且很可靠,另外它還支援安全性與加密功能,以保護機密資料。

你可以使用IIS的Web服務,在你自己的網域或多重網域,甚至是企業內部網路(intranet)或Internet上架一個網站,還能允許使用者穿過IIS Web伺服器,來存取在公司內電腦裡的HTML文件。

假如你曾經使用過Windows 2000 Server和IIS,應該知道Windows 2000 Server的預設安裝也會一起自動安裝IIS 5,包括幾乎所有的選用元件也都一起安裝了。不過Windows Server 2003重視安全性勝過便利性,因此Windows Server 2003預設並未安裝IIS 6;而且IIS 6的預設安裝功能只服務靜態內容,也就是說預設的服務組態設定並不處理網頁內嵌入的任何指令檔或程式碼。而支援Active Server Pages、Server Side Includes,以及FrontPage伺服器擴充功能(它可以讓用戶端使用Microsoft FrontPage來公佈和管理網站)的元件,預設並不安裝。基本上,所有可能會有安全上顧慮的東西都必須另外指定安裝或啟用才能使用。

檔案傳輸(FTP)伺服器
雖然File Transfer Protocol並不是傳送檔案的唯一方式,但是它是Internet最早也最廣泛使用的應用之一,遠在有圖形化的瀏覽器、HTTP或網站這些東西之前,就有這個通訊協定了。正由於它的歷史悠久且使用廣泛,因此幾乎任何平台都支援它,甚至是許多沒有支援HTTP的中型電腦或大型主機也是。

在IIS 6裡的FTP服務,現在多支援了個別使用者目錄的能力。這個功能是讓使用者只能存取私用的目錄,避免看到或寫入不是他自己的目錄。

網路新聞(NNTP)伺服器
Network News Transport Protocol(NNTP)有時候被稱為Usenet,由於它是根據Internet標準RFC 977,因此NNTP服務可以被用來維護IIS伺服器上的threaded交談(conversation)資料庫,就像在Internet上的Usenet群組一樣。用戶端如果有設定適當的新聞讀取程式,就可以瀏覽與參加這些交談資料庫。

雖然最近如Google Groups(http://groups.google.com)廣為宣傳Usenet,但是它還是不如HTTP那麼使用廣泛。這是很可惜的現象,因為NNTP是個很棒的跨平台通訊協定,用來管理threaded交談資料庫。希望在NNTP開始納入IIS後,會有越來越多人使用這個功能。

電子郵件服務
Microsoft是在IIS 5的時候內建了SMTP服務,不過它的功能不足以勝任企業內的電子郵件伺服器。IIS 5內建SMTP服務最主要是為了支援在IIS中的其他服務,也就是HTTP和NNTP。IIS 5內建的SMTP服務缺乏一個最重要的元件:一個POP3或IMAP服務。POP3或IMAP正是用戶端自電子郵件伺服器的信箱中擷取特定訊息所使用的方法。SMTP提供針對郵件的「儲存和轉寄」(store-and-forward)方面的服務,但是並不支援個人使用者信箱,也沒有提供擷取郵件的方法。假如你需要一個架構在Windows 2000之上的郵件伺服器,就必須另外使用包含有POP3或IMAP功能的產品,或是使用如EMWACS SMTP/POP3這一類的免費伺服器產品。

現在Windows Server 2003有內建POP3服務,它可以與SMTP服務搭配一起提供一個非常簡單但是可以運作的郵件伺服器平台。雖然在技術上它不是IIS服務的一部分,而且一定要分開安裝,但是對於一些只需要基本的電子郵件功能的企業而言,它的確提供了一個比Exchange或其他市售郵件伺服器產品更簡單(也更便宜)的解決方案。

閱讀全文...
就是愛分享
加入FLASH動畫
我們常在網頁上看到Flash動畫(副檔名為*.swf,因此也可稱為SWF動畫),檔案小且不易失真,可以說是目前最廣泛用於網頁的動畫格式。

加入Flash動畫之前的準備工作:
1.安裝Flash Player,以便用瀏覽器觀看動畫。
2.解除瀏覽器對ActiveX元件的封鎖。
3.下載與安裝Firefox相容的Flash Player。

加入Flash動畫的方法
方法1:從「插入」面板加入Flash動畫。
方法2:從「檔案」面板加入Flash動畫。
方法3:從「資源」面板加入Flash動畫。

加入FLV視訊影片
許多人會把影片放到網頁中和親友分享,然而視訊檔案的體積通常很大,常讓瀏覽者耗費時間等待下載。如果你要加入網頁的影片還不是FLV格式(副檔名為*.flv),請先透過FLV影片轉檔軟體來轉換格式。只要安裝Flash CS3以上的版本,即可使用隨附的Flash Video Encoder來轉檔,或者也可上網以"FLV Encoder"等關鍵字來搜尋及下載其它免費的FLV轉檔軟體來轉換格式。

加入背景音樂
在網頁中除了豐富的圖文內容,如果再配上好聽的音樂,會更吸引人喔!目前可運用在網頁中的音樂格式有wav、midi、au、mp3...等,不過考量到檔案的大小及瀏覽器的支援度等因素,大多採用mp3格式做為網頁的背景音樂。當我們要在網頁中瀏覽多媒體檔案,必須先在瀏覽器中安裝可播放該格式的外掛程式才能順利瀏覽。

閱讀全文...
就是愛分享
公用程式中的 Telnet 和遠端控制程式中的 Symantec PC Anywhere,都可以讓您在遠端系統上執行程式,但是設定起來很麻煩,而且您必須在要存取的遠端系統上安裝用戶端 軟體。PsExec 是一種輕量的 Telnet 替代品,讓您能夠在其他系統上執行處理程序,並且不需要手動安裝用戶端軟體,就可以使用主控台應用程式的完整互動功能。PsExec 最強大的功能包含啟動遠端系統上的互動式命令提示,還有 IpConfig 這類的遠端啟用工具,否則無法顯示遠端系統的相關資訊。

附註:部分掃毒程式會報告一或多個工具受到 remote admin 病毒的感染。PsTools 本身並未包含任何病毒,它們只是受到病毒利用,因此才會觸發病毒通知。

安裝
只要將 PsExec 複製到可執行路徑 (c:\windows\system32),然後輸入 "psexec",就會顯示它的使用語法。

使用方法
psexec [\\computer[,computer2[,...]| @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-][-a n,n,...] cmd [arguments]

computer
引導 PsExec 在指定的一或多部電腦上執行應用程式。如果省略電腦名稱,則 PsExec 會在本機系統執行應用程式;如果輸入電腦名稱 "\\*",則 PsExec 會在目前網域中的所有電腦執行應用程式。

@file
引導 PsExec 在指定文字檔列出的每部電腦上執行命令。

-a
以逗號隔開可以執行應用程式的處理器,其中 CPU 的最小編號是 1。例如,若要在 CPU 2 和 CPU 4 執行應用程式,請輸入:"-a 2,4"

-c
將指定的程式複製到遠端系統以便執行。如果省略這個選項,則該應用程式必須位於遠端系統的系統路徑。

-d
不等候應用程式終止。只有針對非互動式應用程式,才需使用這個選項。

-e
不載入指定的帳戶設定檔。

-f
將指定的程式複製到遠端系統 (即使檔案已經存在於遠端系統)。

-i
執行程式,讓它可以跟遠端系統上指定之工作階段的桌面互動。如果未指定工作階段,則處理程序會在主控台工作階段中執行。

-l
以限制使用者的身分執行處理程序 (卸除 Administrators 群組,而且只允許指派給 Users 群組的權限)。在 Windows Vista 中,會使用低整合性來執行處理程序。

-n
指定連線至遠端的電腦逾時 (秒)。

-p
指定選擇性使用者名稱密碼。如果省略這個動作,則會出現輸入隱藏密碼的提示。

-s
使用 System 帳戶執行遠端處理程序。

-u
指定用來登入遠端電腦的選擇性使用者名稱。

-v
當指定的檔案具有較新的版本號碼,或是比遠端系統中的版本還要新時,才複製指定的檔案。

-w
設定處理程序的工作目錄 (相對於遠端電腦)。

-x
顯示 Winlogon 桌面的 UI (僅限本機系統)。

-priority
指定 -low、-belownormal、-abovenormal、-high 或 -realtime,依不同的優先順序來執行處理程序。使用 -background,可以在 Vista 上用很少的記憶體和較低的 I/O 優先順序來執行

program
要執行的程式名稱。

arguments
要傳遞的引數 (請注意,檔案路徑必須是目標系統上的絕對路徑)。

您可以用引號括住名稱中有空格的應用程式,例如,psexec \\marklap "c:\long name\app.exe"。只有在按下 Enter 鍵時,才會將輸入傳遞給遠端系統,而輸入 Ctrl-C 則會終止遠端處理程序。

如果您省略使用者名稱,則會使用執行 PsExec 的相同帳戶來執行遠端處理程序,但是因為遠端處理程序正在進行模擬,所以它並無法存取遠端系統上的網路資源。當您指定使用者名稱時, 就會使用指定的帳戶來執行遠端處理程序,而且會存取該帳戶可以存取的任何網路資源。請注意,密碼會以純文字形式傳輸給遠端系統。

因為 PsExec 不需要使用系統管理員身分就可以執行,所以將本機系統當做目標時,可以將目前的 PsExec 版本當成 Runas 的替代品。

範例:
c:\>psexec \\140.137.215.118 -u bar -p 1234 cmd.exe
C:\>shutdown /s

閱讀全文...
就是愛分享
網頁是由HTML所構成,但是HTML標籤的變化有限,例如開啟一個新網頁,背景一定是白色,輸入的文字都是黑色、設定超連結的文字則會變成藍色並帶有底線...等。若要做出精美的網頁,就必須依網站風格做視覺上的調整。有鑒於此,W3C協會頒布了一套CSS規則,用來擴展HTML的功能,使設計者可以更彈性地編排網頁。

CSS的全名為Cascading Style Sheets,中文稱為串接樣式表,是一種用來描述網頁外觀樣式的語法,可說是網頁設計的精隨。不僅可重新定義HTML標籤原有的樣式,還能自行定義規則並套用在HTML標籤上,讓相同的HTML標籤擁有不同的樣式效果;透過CSS豐富靈活的設定,我們就能跳脫傳統HTML的束缚,設計出更有變化的網頁。

使用Dreamweaver設計網頁的過程中,經常需要運用CSS來改變版面的視覺呈現,例如控制文字的字體、字級、顏色、粗體、底線...等;除了文字之外,其他各類網頁元素亦可用CSS來控制,像是設定邊框或背景色、決定元素的位置...等,全部交給CSS也沒問題!

閱讀全文...
就是愛分享
簡單來說,VMWare Workstation 是一套虛擬機器軟體,它可以讓一部電腦同時執行數個作業系統,假設需要同時執行 Windows Server 和 Red Hat Linux,利用 VMWare 就不需要兩部電腦,只要利用一部電腦就能達到目的。請注意「同時執行」與「多重開機」的差異,後者只是能在開機時選擇硬碟中的某一個作業系統來執行,但還是只能執行一個作業系統。

虛擬機器(Virtual Machine)是可以模擬硬體裝置的軟體。例如 VMWare 就是一套能夠模擬 PC 硬體架構的虛擬機器。安裝了 VMWare 的電腦,便能依照使用者的操作而「產生」出虛擬機器,而使用者便能在這些 VMWare 虛擬機器,安裝其他的作業系統,因此,電腦便能同時執行數個作業系統。

在邏輯上,VMWare 虛擬機器是完整的 PC 硬體架構的電腦,但實際上,VMWare 虛擬機器上面的硬體、周邊,部分是 VMWare 自行模擬產生,部分是 VMWare 根據安裝所在的電腦硬體模擬而來的。因此,大可以將 VMWare 虛擬機器視為另一部新的電腦,將其他的作業系統安裝到這部新的電腦,也可以裝入其他相關的軟體,以執行或測試某些工作。

VMWare的網路設定技巧
VMWare 提供了相當完整的網路功能,讓 Guest 系統可以相當輕易、方便的透過網路連接 Host 系統,甚至連上外部的網路—尤其是網際網路。

虛擬網路卡
VMnet 的網路功能是透過許多虛擬網路卡所完成,包括在 Host 系統的 VMware Network Adapter VMnet1、VMware Network Adapter VMnet8,以及 Guest 系統的 AMD PCNET Family PCI Ethernet Adapter。由於虛擬機器並沒有安裝實體網路卡,但如果從 Host 系統模擬網路卡不免增加 VMWare 的複雜度(因為可能會遇到各式各樣的網路卡),因此統一虛擬機器的網路卡,是最好的作法。

請注意,每一部虛擬機器可以同時安裝數張 AMD PCNET Family PCI Ethernet Adapter 虛擬網路卡(您可以透過 Add Hardware Wizard 新增虛擬網路卡),但是上限是每部虛擬網路最多三張。雖然每部虛擬機器最多只能安裝三張虛擬網路卡,但是連接 Host 系統的虛擬網路裝置總和數量卻是無限(Windows Host 系統,Linux Host 系統則是 32 個),這是因為一部實體電腦可以同時執行數個 Guest 系統。

VMWare 的效能以及網路模擬的功能確實相當優異,可以利用一部實體電腦,便創造出同時執行數部電腦的環境,除了省下購買多部實體電腦的金錢之外,更節省放置實體電腦的空間。當然,以軟體模擬硬體的執行效能,尚不及真正硬體的效能,而且當作 Host 系統的實體電腦配備,也必須高出許多,才能讓 Guest 系統和 Host 系統有不錯的執行效能,尤其是 CPU 速度以及記憶體數量更是關鍵。但如果是要在 Guest 系統測試某些網路或應用程式的執行狀況,VMWare 也足敷使用;而且 VMWare 還有 Linux 版本,可以將 Linux 當作 Host 系統。

閱讀全文...
就是愛分享
在編排網頁時,並不是將元素通通塞進網頁就好了,而是採用「分區置入」的方式,先分析網頁版面而大概可以劃分成幾個區塊(block),例如「標題區」、「選單區」...,然後就開啟網頁編輯軟體,建立出這些區塊。剛建立好的區塊還是空的,分別在每個空區塊填入內容後,才會產生我們理想中的緊密版面。

再劃分區塊時要注意的是,請粗略地劃分出「大」區塊就好,不要將網頁劃分得太細、太複雜,因為本階段是要規畫網頁「架構」,而不是製作網頁的「細節」。

網頁區塊劃分好以後,接著可以先為各區塊命名。在規劃的過程中你可能已經決定某區塊是標題區、某區塊是內容區...,但是為了方便後續的操作,必須使用CSS可以控制的ID名稱,因此請不要使用空格、特殊符號或中文字命名。此外,第1個字元務必使用英文字,第2個字元開始用英文或數字皆可。

以Dreamweaver編排網頁的第一步,就是要建立出我們規劃好的區塊,這裡要使用HTML中的Div標籤來完成。Div標籤看起來只是一個扁平的長條形空白方框,可別小看他哦!只要透過CSS樣式為Div標籤指定寬、高度,扁平的Div標籤就搖身一變成指定大小的空白區塊。

在設定各區塊的樣式前,首先要設定整體頁面的屬性,這樣一來假如有各區塊共通的設定,例如字型、邊框等樣式,都可以先行設定完畢。為了將樣式套用到整體頁面,我們要將CSS套用在body標籤上。當版面規劃完成後,就可以開始將各種網頁元素加入到區塊中囉!

而在實務上,我們通常會將網站中每頁共同的CSS樣式彙整再同一個CSS檔案內,再將各網頁連結到該CSS檔案(稱為外部樣式表)。這樣做的好處是,將來要修改CSS樣式定義時,只需修改一個CSS檔,不必把每個網頁都打開來修改,省時又有效率。

閱讀全文...
就是愛分享
開始著手設計網頁時,一般流程分為四項:

1.收集資料
著手設計網站之前,總是千頭萬緒,總是很多資料都想呈現,一時之間也摸不著頭緒,建議您把所有想放的圖片、文字、甚至音樂等素材,以及曾經收集的一些喜歡的參考網站,及參考資料,分門別類整理好,它們都將是您網站的一部份,把資料收集齊全,才不至於做到了最後,才發現一堆重要資料根本沒地方擺。

2.網站規劃
資料收集後,要分門別類整理好,才不會導致之後的網頁項目複雜,瀏覽者逛半天都逛不出所以然,資料雜亂無章,讓瀏覽者想好好看都會看到頭疼,把一些相關的擺放在一起,例如「公司簡介」裡可以有一些子項目,如公司沿革、公司展望、公司地理位置、公司環境簡介。「產品介紹」裡頭就把公司要置放的產品,整理規劃成一類一類,產品再多都不至於看到眼花。這些分項跟項目,就可以稱之為網站架構,也可以做成網站地圖方便人家點選。

3.設計製作
架構規劃好後,就要思考網站希望呈現的方式。例如科技感、時尚感、舒服清爽風、還是熱情洋溢、鮮豔大膽?決定好風格,可以想一下網站的呈現手法,是只要一般簡單的靜態網頁,還是要做有Flash動畫的網站,或者是需要資料庫有後台可以更新資料的程式型網站。
程式資料庫的網站可以找個專業的程式設計師協助,或是更猛的可以買書來學學看要怎麼寫,這都是不錯的辦法。不過,據經驗來講,如果是很強大的功能或是急著要的網站,尋求專業會比自己摸索來的輕鬆而且省時。

4.網站完成以及經營維護
網站做好之後,當然不是放在自己的電腦孤芳自賞,一定是要找個空間置放,不管你找了一個免費的網頁空間,還是租了一個付費的虛擬空間,勇敢上傳,通知親朋好友上線批評指教,即使上線幫你挑挑錯字,都是不錯的。重點是,上傳之後才可以讓更多的人去參觀你做出來的網站作品。
事實上,網站的數目多到沒有一個可靠的數據,數量也會不停地成長,因為會上網的人越來越多,有網站已經不再是什麼特別的事情了,可以稱得上是基本配備。因為網站多,瀏覽者的選擇就多,所以一定要經營維護,定期更新資料,訪客才不會只來一次就再也不來,除此之外,做好網站行銷,就可以讓你的網站保持一定的收視率,像不時地注意自己網站的流量、瀏覽者的瀏覽路徑以及停留時間(這個需要安裝一些特別程式或是軟體),重點是網站跟小孩一樣,需要呵護與關心才會成長茁壯囉!

閱讀全文...
就是愛分享
在探討資料庫安全之前,必須嘹解「資訊安全」(Information Security)所包括的範圍,或許在一般對安全的認知為資料的保密,但這僅僅是資訊安全的其中一項,以下列出資訊安全的六項基本認識。

保密性或私密性(Confidentiality):保密性或稱之為私密性,主要目的在確保資料不外洩,也就是不讓未被授權之使用者獲得該資料。

完整性或真確性(Integrity):完整性或稱為真確性,主要的目的在確保資料的完整性和原始性,也就是保證資料在傳送的過程中不被竄改。所謂的「原始性」是指資料保有資料來源的最原始狀態,不會因為傳遞過程而被他人竄改資料。

鑑別性或認證性(Authenticity):鑑別性是指鑑別使用者的真正身份,避免被他人冒用或偽裝身份而進行交易。

不可否認性(Non-repudiation):所謂的不可否認性,主要是針對使用者所進行過的任何操作(operation)和行為(action),在事後不可否認自己未曾做過這些操作和行為。

可用性(Availability):所謂的可用性是讓合法使用者,得以正常使用。

存取控制(Access Control):用以管理與控制使用者對資源的存取範圍,避免未被授權的使用者濫用資源。

對於一般的資料庫系統的使用,必須先經過身份的「鑑別性」(Authenticity)驗證,當驗證通過之後,會依據不同的存取規則訂定該使用者可存取得範圍和權限(讀取、寫入),並且必須紀錄使用者登入後的所有交易行為,可以確保該使用者在交易後不可否認自己的所有操作,也就是不可否認性(Non-repudiation),而所有進行的操作必須建構在一個安全通道(Secure Tunnel)中,也就是經過加密處理,不被竊取的通道,不被竊取的通道,以達到保密性(Confidentiality)。

閱讀全文...
就是愛分享
JavaScript是由Netscape公司開發並隨Navigator導航者一起發佈的、介於Java與HTML之間、基於物件事件驅動的編程語言,不需要Java編譯器,而是直接運行在Web流覽器中,它的前身是Live Script。

而JScript是一種類似JavaScript的語言,這兩者的區別就相當於英國英語和美國英語的區別。

1.最開始web上只有靜態的html。
2.為了滿足更好的交互需求,netscape開發了在Navigator中使用的LiveScript語言,後改名為avaScript。
3.Microsoft發行jscript用於internet explorer。
4.最初的jscript和javascript差異過大,web程式師不得不痛苦的為兩種流覽器編寫兩種腳本。於是誕生了ECMAScript,是一種國際標準化的javascript版本。現在的主流流覽器都支持這種版本。
5.我們寫程式的時候最好寫 script language="javascript" 而不是 script language="jscript" 因為javascript是一個通用的名稱,所有流覽器都認識,而jscript只有IE認識。
6.其他語言細節上的區別,不是一兩下能說完的。不過編程時最好遵循ECMAscript標準。這樣可以保證相容性。
7.順便說一下,javascript原來叫Livescript,後來Sun的java風頭正盛的時候netscape就把名字改成javascript。

閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享
資料庫管理系統必須能保證和保障使用者進行的每一筆交易都能達到完整性,尤其是要能符合前述的單元性(Atomicity)、一致性的保留(Consistency Preservation)、獨立性(Isolation)以及永久性(Durability or Permanency)等ACID四個交易特性,若要達成此四個交易特性所需要的技術各不相同。

單元性(Atomicity):所講究的是一筆交易在開始進行之後,倘若發生任何不可預期的意外而未能完成,便要能恢復到最原始狀況,也就是「完全做完或是完全不做」(All-or-Nothing Change),要能達成這個特性就必須具備「可回復性」(Recoverability),也就是當此交易在進行之中,發生任何情形之下,此交易都必須能依據「系統日誌」(System Log)內的完整操作資訊,將所有的異動取消。

一致性的保留(Consistency Preservation):資料庫在一開始由系統分析師與客戶之間的需求分析,再藉由塑模(Modeling)的過程,產生出概念式實體關聯圖(Conceptual Entity Relationship Diagram),以及轉換成程式設計人員所看的實際實體關聯圖(Physical Entity Relationship Diagram),在此時就必須要注意到資料庫內的一致性限制(Consistency Constraint)的設計,使得使用者在異動資料時能受到完整性的限制(Integrity Constraint),讓資料庫內的資料彼此之間都能保持一致性,但因為某種情形下,可能無法藉由資料庫管理系統來限制使用者異動資料的一致性,而需藉由應用程式來檢查交易的一致性,此時必須藉由「單元性」(Atomicity)來達到多資料表更新時的一致性,或是藉由回復技術將所有異動回復到原始狀態。

獨立性(Isolation):此項特性來自於資料庫管理系統對於多個並行交易的排程,雖然多個交易並行處理,但每一個交易的執行應該不能互相影響彼此執行的結果,也就是要具備可序列化的特性,方能保證交易的執行結果是正確的,在前面已探討過數種技術來保證交易之間達到獨立性的技術,諸如「衝突可序列化性的排程技術」(Scheduling)、「兩階段鎖定協定」(Two-Phase Lock Protocol,2PL)、「時戳」(Timestamp)以及「多版本技術」(Multiversion)來保證交易的可序列化性,亦就是保證了交易之間的獨立性(Isolation),讓並行的交易在交錯執行的情形下所得的結果,彷彿序列性(Serial)的依序一一執行交易。

永久性(Durability or Permanency):一個交易成功完成之後,該筆所異動的資料應該是永久有效,不可因為任何因素導致該交易的資料所有改變,除非下一個交易硬體設備並不能永久地儲存於資料庫內。但是,資料庫管理系統所在的硬體設備並不能永久保證不損壞,而可能發生硬體損壞、停電或其他外力導致資料庫系統無法正確運作,所以要如何達到資料「永久性」(Durability or Permanency),就必須透過不同的回復技術。

由此可見,資料庫管理系統要能保持交易的ACID四個特性,回復技術是一種相當重要的議題。

閱讀全文...
就是愛分享
交易在進行中,同一時間會有很多交易並行處理(Concurrency),也由於並行且交錯處理結果,有可能導致交易之間彼此影響的執行結果,所以採用交錯式排程的方式,並透過測試該排程是否符合可序列化的排程原則,讓該排程可以合理且具有等價序列排程的結果。在並行控制的技術,除了可以利用控制排程的「序列性」(Serializzbility)之外,還有另一種普遍被使用的鎖定協定(Lock Protocol)來達到排程的序列性,也就是達到並行控制的一種技術,其他還包括時戳(Timestamp)、多版本(Multiversion)和樂觀/悲觀(Optimistic/Pessimistic)之技術來達成並行控制之相關技術之探討。

首先要介紹何謂「鎖定協定」(Lock Protocol),一個基本鎖定協定(Lock Protocol)的操作至少有兩個,一個為「鎖定」(Lock),一個為「解除鎖定」(Unlock);例如,當一個交易要對資料項目X進行讀取或寫入操作之前,必須要使用「鎖定」操作(Lock Operation),如同將該資源鎖住後,此資源就僅會提供給這一個交易使用,其他交易的操作就不可以再同時使用該資料項目X,換言之,其他未取得此資源使用權的交易必須要「等待」,直到該資源被釋放;反之,在進行操作之後,可以將該資料項目X立即或延遲釋放讓其他交易可以順利取得該資源進行操作,此釋放動作即稱之為「解除鎖定」(Unlock),得以讓其他交易的操作能順利往下執行交易。

以類別而言,鎖定可以區分為「獨佔模式」和「分享模式」兩種類型,獨佔模式的鎖定有如「二元鎖定」(Binary Locks),分享模式則為「共享/互斥鎖定」(Shared/Exclusive Locks)或稱為「獨/寫鎖定」(Read/Write Locks)。鎖定與解除鎖定的時機,例如兩階段鎖定協定(Two-Phase Locking Protocol,2PL)。

所謂的「兩階段鎖定協定」,也就是在一個交易的進行中,不論任何的鎖定,包括讀取鎖定或寫入鎖定,都必須在第一個解除鎖定之前執行,即稱為遵循「兩階段鎖定協定」。也就是將所有的鎖定(Locks)和所有的解除鎖定(unlocks)完全分為兩階段,第一階段為鎖定階段,稱為「擴增階段」(Expanding Phase)或「成長階段」(Growing Phase),在此階段只能執行鎖定指令,不可有任何解除鎖定穿插其中;第二階段為解除鎖定階段,稱為「削滅階段」(Shrinking Phase),在此階段只能有解除鎖定指令,不可有任何的鎖定指令穿插其中。

閱讀全文...
就是愛分享
今天"資料庫系統管理與設計"沒上啥內容
主要是在討論專題製作的事情
大致上各組的專題製作題目如下:

第1組:[里長]
1.內部組織圖細項-先討論-定義作多大
定義好要做多少東西.
現在需求是自己提的.這樣的開發方式.你是可以天馬行空的思考你有哪些功能做.
再做出一個基礎架構圖出來.
------------------------------------------
第2組:[寵物交友][泛舟]兩個方向
◎泛舟-偏向靜態網站.介紹.教學.注意事項.影片.照片.網路購物.偏向內容管理
缺點:現有的免費網站軟體.套一套出來.

◎寵物交友-日記功能.微網誌140個字.結合地圖功能.揪團功能.強的點是原創性夠.
------------------------------------------
第3組:媒合[洗衣店]
收送服務-線上預約-簡訊服務-呈現出地圖樣子-
------------------------------------------
第4組:媒合[裝潢] 在上面找客戶.設計師.分享與討論.
→ 統一送貨.統一收穫.
→ 負責他一切電子物流機制.電子市集.(真正運作)物流費用太高
------------------------------------------
第5組:[藥局藥裝]
線上購物-藥品-藥品的資料庫.網路藥點.
缺點跟第2組一樣沒有原創性:現有的免費網站軟體.套一套出來.
------------------------------------------
第6組:[立體紙雕]-下載賀年卡-可以上網下載紙板-

希望今年一樣有很不錯的成績表現!!

閱讀全文...
就是愛分享
Java程式的功能主要是由Java套件下的各個類別,於執行期所產生的物件所提供,JSP基本上還是一種Java程式,只是它簡化了撰寫Java伺服端應用程式的過程。Java提供了9種預設的物件,我們將其稱為隱含物件,這些物件內建於JSP網頁環境之下,因此我們不需引用這些物件所屬的套件,便可以直接在JSP網頁中使用這些物件。

下表列出了這9種JSP的預設物件,以及各個物件是從何種類別衍生而成,並作一簡略的說明:



上表簡述衍生的基礎類別與物件功能,根據物件的特性,底下進一步說明這些物件之間的關聯。

out
JSP是一種動態的網頁,與HTML這一類靜態文件最大的差異,在於同一份網頁經過程式運算之後,根據各種條件狀況呈現不同的內容,伺服端利用out物件將所要輸出的內容,於傳送網頁的時候動態寫入用戶端。

request與response
JSP網頁能夠具備與使用者互動的功能,主要的關鍵在於request物件與response物件所提供的功能,request讓伺服器取得使用者於網頁表單所輸入的資料內容,response則提供伺服端程式回應用戶端訊息所需的功能。

request與response物件,是學習建構JSP網頁互動式功能最重要的兩個隱含物件,它們與HTML表單標籤有着相當密切的關聯。

application與session
application以及session這兩個物件,基本上被使用於記錄以及處理JSP網頁之間的共用資料。

由於網際網路本身是一種無連線線狀態的應用程式,當一份網頁文件從網站伺服器傳送至用戶端的瀏覽器之後,用戶端以及伺服端之間,就沒有任何連線狀態存在,這個先天的缺陷,讓網頁無法儲存應用程式執行期間所需的共用資料,application與session物件被設計用以解決這樣的問題。

config、pageContext以及page
這三個物件使用於存取JSP網頁程式執行階段的各種資訊內容,其中config包含JSP網頁檔案編譯成為Servlet之後的相關資訊、pageContext則是提供系統執行期間,各種資訊內容的存取作業功能,page代表目前正在執行的JSP網頁物件。

JSP伺服端應用程式可以運用這三種物件,存取網頁執行期間各種環境資訊,同時將目前網頁當作物件進行操作。

exception
exception為JSP提供用於處理程式執行錯誤的例外物件,此物件搭配功能強大的例外處理機制,運用於JSP網頁的程式除錯與例外處理。

閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享
JSP嚴格說來是一種整合技術,以Java平台為基礎,提供一種簡便的方式,讓Java技術能夠輕易的運用於建構動態網頁內容。

Java為了產生與使用者互動的動態網頁,發展出一種名稱為servlet的應用技術,servlet是一種純粹以Java語言編寫,符合標準規格的Java應用程式,於網站伺服器運行的時候被載入,針對客戶端瀏覽器提出的要求,作出動態回應。

儘管servlet應用程式產生動態網頁的功能相當強大,但是卻不容易開發,JSP即是為了克服這個障礙而發展出來的一種伺服端網頁技術,其本身是一個內容混雜HTML標籤與Java程式碼的純文字檔,當瀏覽器要求JSP網頁,文字檔於網站伺服器被編譯成為servlet載入,然後產生動態的網頁內容。

由於JSP本身被設計的非常容易學習使用,因此Java動態網頁技術得以快速的發展而且被廣泛的接受,程式開發人員只需學習基礎Java語法以及相關的JSP物件,便可以輕易完成動態網頁的建構設計。

JSP與JavaBean
讓JSP如此出色的原因,除了servlet之外,另外一點便是其運用JavaBean的能力,JavaBean是一種元件技術,提供Java應用程式一種極為彈性的設計模型,它將程式依功能切開,包裝成為一種稱之為JavaBean的程式元件,可以被外部JSP網頁重覆使用以提供所需的功能,同時藉以擴充JSP網頁的功能,維持簡潔易於維護的JSP網頁程式碼。

使用JSP設計動態網頁並不困難,然而當網站的複雜度開始增加,我們還是必需面對如何有效管理與切割程式內容的課題,於提供強大功能的同時,保有網頁程式設計的彈性、以及容易維護的程式碼。

JavaBean本身是一種包含特定功能的Java程式元件,當一個JSP網頁需要此項功能,只需直接引用相關的JavaBean元件即可;而JavaBean最重要的概念在於將程式邏輯與建構網頁介面的程式碼分開,網頁只負責資料的收集以及畫面擺設的處理,而JavaBean元件則是包含重要的程式邏輯運算,如此一來JSP網頁將更容易維護與建構,JavaBean同時也是建構商業級JSP網頁程式最為重要的核心。

閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享
一個交易的基本定義,必須是將交易內的所有操作一次全部執行完畢,或是全部都不執行;而且在電腦系統中,所有的交易又都是交錯地執行,在執行中總會有互相影響的問題,並藉由「遺失更新問題」(Lost Update Problem),「不正確讀取」(Dirty Read Problem)或稱為「暫時更新問題」(The Temporary Update Problem)以及「不正確的總和問題」(The Incorrect Summary Problem)三個問題點出了交錯執行上必須注意的並行控制問題,所以對一個交易很明顯的定義出,必須具備四個基本特性 ACID,也就是單元性(Atomicity)、一致性的保留(Consistency Preservation)、獨立性(Isolation)以及永久性(Durability or Permanency)四個特性。

當交易正在進行期間,電腦系統有可能遇到非預期的各種類型失敗,所以交易必須具備有回復(Recovery)的功能,此功能可透過系統日誌(System Log)的全程記錄方式來追蹤所有交易進行的情形,並且在適當時機可將失敗且未完成的交易恢復到最原始的情形。

另外電腦排程可分為「序列的」(Serial)和「非序列的」(Non-Serial)排程,以序列的排程執行結果是最理想和最正確的排程,但在實際的電腦系統下是不太可能存在的,但是對於「非序列的」排程卻有可能會出現正常和不正常的執行結果,必須透過衝突且可序列化的測試演算法來判斷出該排程是否能正確執行出結果。

閱讀全文...
就是愛分享
「關聯式代數」與「關聯式計算」為關聯式資料庫系統操作的基礎概念;兩者之間的最大差異在於一個著重於如何取得,一個著重於取得什麼。關聯式代數就是著重於如何取得資料的過程,也就是重視「How」;而關聯式計算則著重於要取得什麼資料,也就是重視「What」,而不是在於過程要如何取得。

關聯式代數可依性質分類為四種:

1.一元關聯操作- 針對一個關聯的操作,主要都是針對關聯的屬性與職組的篩選動作,例如「選取操作」、「投影操作」、「更名操作」。

2.二元關聯操作- 針對兩個關聯進行的操作,主要重點則是在於關聯與關聯之間的合併(Join)動作。

3.集合論操作- 利用集合理論來對關聯進行不同的操作,這些操作包括交集操作、聯集操作以及差集操作等三種基本操作。

4.聚合函數計算- 針對關聯中某些屬性進行群組之後的計算,包括計算加總的Sum()函數'計算平均的Average()函數、計算筆數之Count()函數。選擇最大值的Max()函數和最小值的Min()函數...等等皆為聚合函數。

閱讀全文...
就是愛分享
Subversion,簡稱 SVN,是一個開放原始碼的版本控制系統,可以智慧化更新客戶端檔案的程式。使用 SVN 可以自動比對您腳本資料夾內的檔案以及 SVN 伺服器上的檔案,做出刪除檔案、更新檔案、比對檔案、加入檔案等等...功能,讓使用者能在第一時間上取得最新腳本。

SVN 是一個檔案伺服器,就跟你使用 FTP 一樣,只是你在使用 SVN 的時候...您沒有上傳檔案的權限,沒有權限的帳號,SVN 只能幫你做到更新(下載)腳本而有權限的帳號,則可以上傳腳本,幫腳本做更新,基於安全面,怕人搗亂,所以普通使用者都沒有上傳的權限。

SVN 是個檔案伺服器,這點剛剛有提到,它就像是一個"在網路上的腳本包"它隨時會因為我、或者其他有權限的人的上傳腳本,而得到更新。換言之,一般使用者也可以隨時透過 SVN 系統,取得最新被更新的腳本這就是使用 SVN 能取得最新腳本包的原因。

閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享

Linux因為本身設計的架構特性,讓它在各個不同領域的應用上都可以委以重任,常見的運用範圍有:

  • 網路伺服器(Network Server):這是目前Linux作業系統最常被運用的領域之一,大部分的使用者在需要一個網頁伺服器、郵件伺服器等應用時,多會先想到Linux作業系統。
  • 個人工作站與桌面環境(Workstation and Desktop Environment):這幾年Linux作業系統不斷的被推廣在桌面環境上的運用,例如做為平日的收發郵件或是文書處理機器,另外在一些較為簡易的電腦系統中,甚至直接搭配Linux作業系統來做為主要的操作系統環境。像是前陣子剛上市的HP M2310系列簡易型電腦或是IBM ThinkPad T60系列主機等都是以Linux作業系統作為主要操作環境的實例。
  • 內嵌式安裝(Embedded System):內嵌式系統的運用可以讓Linux縮小到成為一個晶片,將其放在某一個設備中,便可以讓這個設備裝置擁有某些特定的功能。目前在國內其實有許多廠商都有再針對Linux內嵌式系統的運用進行研發與實作。
  • 資訊家電與智能手機(Information Appliance and Smart Phone):資訊家電與智能手機的應用都是屬於較為貼近你我生活週遭的實際應用範圍,例如:目前大部分的手機系統功能越來越多,除了原本的通話功能之外,還會增設額外的記事、多媒體播放、遊戲等功能,這種類型的手機便是所謂的智能手機,通常裡面會需要一個小型的作業系統來協助處理這些複雜的工作,而Linux作業系統當然就是不二人選了。另外,資訊家電的應用其實便是內嵌式系統的延伸使用,將具備特殊功能的內嵌式系統晶片放置在普通家電上,讓家電可以具備特殊功能,這便是資訊家電的運作方式。
  • 叢集系統(Cluster):叢集系統架構通常可以區分為兩種模式來探討,一個是將多個微處理器計算資源透過高速網路連結起來後,所產生的高可靠性與運算能力強大的超級系統,利用群策群力的方式達到計算加速的目的,以滿足目前眾多需要複雜計算的應用程式。另外一種運用便是將應用程式或是服務達成負載平衡(Load Balance)等功能,讓多個伺服器可以一同提供服務,讓用戶端存取時可以妥善獲得足夠的存取頻寬與資源能力。叢集系統的運用範圍十分廣泛,例如:生物科技、科學模擬計算、氣象、人工智慧等都是常見的領域,目前在國內也有許多企業與政府單位透過Linux作業系統來進行從集系統架構的運用。


閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享
2003年中,Novell公司大手筆將德國SUSE Linux併購成為旗下產品之一,投入眾多人力與金錢等資源致力於SUSE Linux的開發,並且大量的整合許多以企業為主的企業級解決方案,例如:iFolder、iChain、GroupWise與eDirectory等。並且為了改變以往大家對於SUSE Linux的刻版印象,Novell公司大力贊助openSUSE社群計劃,以推廣Linux為主要的宗旨,設計出一套可以讓每個人都可以輕易操作與使用的Linux發行套件。也因為這個計畫宗旨,讓SUSE Linux在短短的幾年間順利成為多數開發人員與Linux愛好者選擇的最佳發行套件版本,也為Linux社群注入了一股活水。

SUSE Linux Enterprise Server
SUSE Linux Enterprise 11針對企業的各個層面帶來很多創新應用,除了SUSE Linux Enterprise Server 與SUSE Linux Enterprise Desktop中各項加強功能外,另外也推出SUSE Linux Enterprise Mono® Extension和SUSE Linux Enterprise High Availability Extension兩項全新的延伸應用軟體。SUSE Linux Enterprise Mono® Extension是唯一能讓客戶在Linux作業環境中執行各項Microsoft*.NET應用方案並取得完整支援的產品;另外,SUSE Linux Enterprise High Availability Extension是叢集運算產品,不僅確保各種關鍵任務應用程式的正常運作時間,並可大幅降低因高可用性產生的總持有成本。SUSE Linux Enterprise 11是新一代IT架構之作業系統,其設計秉持三個核心要素:普及性、互通性、以及關鍵任務運算。

先進的Linux管理功能
Novell的Novell ZENworks® Linux Management 7.3版本,為客戶的Linux系統提供強勁的管理方案,並將政策式導向的自動化功能延伸至SUSE Linux Enterprise 11。在桌面與伺服器系統管理方面,ZENworks Linux Management能夠為桌上型電腦和伺服器系統提供先進的政策,帶來簡易的安裝、管理和維護Linux資源的方法。當搭配 SUSE Linux Enterprise 11一起使用時,ZENworks Linux Management可讓客戶降低管理IT架構所需的時間與成本。

普及性:Linux隨時隨地滿足企業用戶需求
客戶要求可提供高度彈性的作業系統。SUSE Linux Enterprise 11能在x86 32位元、x86 64位元、Itanium*、IBM* POWER*和IBM System z*等各大硬體平台上順利運作。此外,SUSE Linux Enterprise 11已針對VMware* ESX、Microsoft Hyper-V以及Xen*等所有主要虛擬管理軟體進行最佳化,因而可提供接近原生型支援的效能。

在雲端運算建置Linux系統方面,SUSE Linux Enterprise 11將通過Amazon Elastic Compute Cloud (EC2)之認證並獲得支援。Novell目前正與IBM合作提供包括IBM DB2*、Informix* Dynamic Server、WebSphere* sMash、IBM Lotus*網頁內容管理、以及IBM WebSphere*入口網站應用等SUSE Linux Enterprise 11在雲端運算環境下的虛擬化應用實例。對於已著手建置Linux桌面系統的客戶,目前更可從惠普等各大硬體廠商購得預載的SUSE Linux Enterprise Desktop產品。Novell將透過SUSE Linux Enterprise Desktop 11,持續把Linux桌面系統的普及率擴展到桌上型電腦、筆記型電腦、低價筆電、桌上型易網機及各種精簡型客戶端系統等廣泛的設置上。

互通性: 充分運用現有的IT投資
Novell透過SUSE Linux Enterprise 11持續提供最具互通性的Linux解決方案,以充份發揮客戶既有的IT設備。Novell和微軟簽訂了具突破性的五年合作協議,讓Novell設計可與 Microsoft Windows*作業系統互通的SUSE Linux Enterprise 11,兩者相容的範圍包括跨平台虛擬化方案、系統管理、身份/目錄登入、文件格式相容性、MoonlightTM (Linux版本的Microsoft Silverlight)、以及協助殘障人士使用桌面系統的功能。除了新增的Silverlight支援功能外,SUSE Linux Enterprise Desktop 11更可播放多種Windows多媒體檔案格式,以及使用支援各種Microsoft Office檔案格式的最新Novell版OpenOffice.org。

關鍵任務運算功能:支援您最重要的商務需求
SUSE Linux Enterprise 11可確保客戶將作業負載由UNIX移轉至Linux平台,藉以建置低成本、高靈活度的IT架構。SUSE Linux Enterprise High Availability Extension解決方案提供一個創新的開放原始碼叢集技術整合套件,不僅能協助客戶降低意外停機的時間,更可提供一個可取代昂貴專利授權產品的最佳替代方案。一個全新的支援架構提供強化的問題解決功能,以協助客戶快速且精準地解決各種大小疑問。

SUSE Linux Enterprise Server 11對swap空間的支持已包括NFS (網路檔案系統)協定,可運用遠端儲存資源來支援伺服器主機的需求,同時可避免代價昂貴的應用程式停擺問題。此外,SUSE Linux Enterprise 11具備自動化和加速安裝、移除、升級和配置軟體封包的全新技術,可提供最快的封包更新堆疊,其速度勝過所有企業級Linux解決方案。SUSE Linux Enterprise Server 11提供全新的Xen 3.3 虛擬管理軟體,持續為開放原始碼虛擬化方案樹立新標準,帶來更優異的擴充能力、效能與安全性,並加強電源管理和提升繪圖功能。

閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享


程式設計師撰寫程式時會在陣列中存放一大群數值資料或物件,但陣列的長度是預先給定且無法變更的,所以在執行時期程式卻無法變動陣列長度以動態產生所需要的物件。

針對這類的問題,java.util套件提供了各種classes(The Collection API)讓程式開發者使用,如今程式設計師不再為動態資料存取而煩惱,只要會使用這些功能強大的classes即可。

被置入集合的物件,其原本的資料型別將不存在,而是以Object的型態存入集合中。不過,當不同資料型別的物件置入同一個集合,日後再取出時,必須先將此元素轉換成原始(放入集合前)的資料型別,否則將會出現執行時期錯誤(runtime error)。

集合(Collection)
1. 集合(Collection)
集合(Collection)是描繪或存放一群物件(a group of objects)的觀念,又可稱之為物件群組,物件群組中的物件便是集合中所謂的集合元素(collection element)。



2. 列舉(Enumeration)
實作Enumeration介面可將指定集合物件中所有元素序列化,並透過nextElement()方法逐次存取元素內容值。Enumeration適用在Collection、Hashtable與Voctor集合等集合物件中。

3. 迭代器(Iterator)
Iterator定位在Collection介面上,只要是Collection就會有Iterator,也就是所有的Collection都會產生Iterator。Iterator除了可以存取集合內的元素資料,利用remove()方法亦可移除Iterator中最新(即最近增加)的元素。

4. ListIterator
在宣告上,ListIterator介面是繼承Iterator介面。ListIterator可幫助開發人員直接對指定的集合元素做新增、修改與刪除的動作,並取得目前元素在list集合中的位置(iterator's current position in the list),同時可上下移動的讀取集合中元素的內容,而Enumeration與Iterator只能往下讀取下一個集合元素資料。

在ListIterator集合中每一個元素之間都有一個cursor position(Index),使ListIterator可以利用Index值來取得下一個元素(next()方法)與上一個元素(previous()方法),如圖所示:



若指定元素不存在,系統將傳回UnsupportedOperationException例外,而每一個元素的前後都會有一個Index。

Set介面
Set介面實作了Collection介面,因此也包含了Collection中所有的方法。Set中所放置的元素是無順序性的(unordered),並且元素與元素之間不得重複(no duplicates)。Set的擺放位置是根據hashCode而決定,不允許擺放相同的資料,所以我們可以說Set是資料具唯一性但無順序性的集合。



SortedSet interface
由於SortedSet繼承了Set,因此SortedSet中也會包含在Set類別所定義的方法。利用SortedSet可以將儲存在Set中的元素內容做自然排序(遞增),不過各元素的內容是不可以重複的。SortedSet集合中的每一個元素都必須實作Comparable介面,所以只要在SortedSet物件中加入一個新的元素則SortedSet就會起自動去比較該元素內容是否已出現在原有的SortedSet集合中。

List介面
List實作了Collection介面,並包含了Collectin中所有的方法。List中的元素有順序性且資料可以重複(duplicates are permitted),此外也可以利用List介面,插入或移除指定的集合元素。



Map介面
Map並沒有繼承集合介面(Collection Interface),它被歸類為集合架構(Collection architecture)的一部份是因Hashtable與HashMap這二個集合類別分別都實作了Map介面,廣義來說Map便成了集合架構中的一環。

Map中利用指定的鍵值(key)來決定元素擺放位置,鍵值不得重複,每一個鍵值最多只能對應一個元素,雖鍵值不得重複,不同的鍵值卻允許儲存重複的物件。



閱讀全文...
標籤: 0 意見 | | edit post