2007年3月13日

電腦每月電費計算方式

轉自http://cha.homeip.net/blog/archives/2004/11/eeeeec_1.html

電腦每月電費試算公式:

瓦特(W) x 運轉率(%) x 一天開機時數(hr) x 30(day) / 1000 x 3(每度電) = NT$

其中, 瓦特(W) 就是指電腦的電源供應器 (Power Supply) 的耗電量, 一般常見的有 250W, 300W, 350W; 若是 Notebook 則要看 Notebook 底部的標示, 或以 瓦特(W) = 伏特(V) x 安培(A) 這個公式來換算. 從 Notebook 的變壓器的標示上找出 Output(輸出) 的資料, 如: 19V 2.64A, 將此二數字相乘即可得到 50.16, 這個數字就是這台 Notebook 的耗電量(瓦特).

至於運轉率, 這個就比較抽象啦! 憑感覺給個假設值就可以了. (如: 70%)
週邊設備越多 (如: 風扇、硬碟) 以及開機時間內電腦的使用率越高 (如: 螢幕一直開著、硬碟存取的次數很多) 運轉率的值就應該設定得高一些.

以上述 Notebook 的資料來試算:
假設運轉率 70%, 每天開機 24 小時, 一個月的電費為:
50.16 * 70% * 24 * 30 / 1000 * 3 = NT$75.84

ps: 把上面的算式貼到 Google 的查詢列中, Google 會貼心地幫你計算結果喔! ^^

2007年3月12日

.NET 語言中可提升效能的邏輯運算子

此文轉自http://j2se.myweb.hinet.net/

VB.NET 從 1.0 版時即導入了兩個新的運算子 AndAlso、OrElse,可實作「最短路徑 (Short-circuiting)」以提升程式效能 (在 C# 中為 &&、|| 運算子)。亦即當第一個評量運算式已可判定最終運算結果時,就不需再去評量後續的運算作業。若所略過的是迴圈、較複雜或內含程序呼叫的運算式時,對效能提升的幅度會更為明顯。以下為範例說明:
Dim A As Integer = 20
Dim B As Integer = 10
Dim C As Integer = 5
Dim bln As Boolean
bln = A > B AndAlso B > C   ' 結果為True,第二個運算式會被評量
bln = B > A AndAlso B > C   ' 結果為False,第二個運算式不會被評量
bln = A > B AndAlso C > B   ' 結果為False,第二個運算式會被評量
bln = A > B OrElse B > C   ' 結果為True,第二個運算式不會被評量
bln = B > A OrElse B > C   ' 結果為True,第二個運算式會被評量
bln = B > A OrElse C > B   ' 結果為False,第二個運算式會被評量

由上例可知,在大多數情況下我們應該分別使用 AndAlso、OrElse 來取代 And、Or 運算子。此外 VB 2005 新增了新版 Java 和 C# 都支援的 Generic Type (泛型),除了能讓執行時期的轉型錯誤變成編譯時期錯誤、增進型別安全之外,因可減少 Value Type 和 Object 型別的 Boxing / Unboxing 轉型機會,在某種程度上亦可提升程式效能。

ADO.NET 2.0 的並行控制與資料存取衝突偵測

此文轉自http://j2se.myweb.hinet.net/

日前台灣高鐵及其系統包商所開發的訂票系統,曾出現大量重複訂位之情形,產生了車次、時段與路程都一模一樣的重複序號。類似此種訂票系統除了可使用 Web-based 架構外,若考量到斷線的處理作業,是否能在斷線的情況下還能夠交易,那麼還可考慮 client-server 的架構,如此一來就要設計各個 client side 可以配給的車號、數量,以及恢復斷線後再同步的機制,才能夠即時處理並儘可能避免重複劃位的現象。

若要避免產生重複劃位,較簡單的做法是採用 Transaction (ADO.NET) 寫法。讓某位訂票者在交易座位 1A 時,其他人都無法讀取此 1A 座位,一直到他的交易結束為止,亦可搭配使用 dirty read 去強行讀取;類似資料庫的「獨占鎖定 (exclusive lock)」,讓某人修改資料時其他人連讀取都不行 (亦會限制同時線上數量)。此種「獨占鎖定」類似 ADO.NET 的「封閉式 (悲觀) 並行存取」機制,雖然會長時間從資料被讀取開始即將其鎖定,但至少可保證交易一定有效。像這種資料 lock 的機制只要撰寫 Transaction 程式,或是調整資料庫的鎖定策略、鎖定提示就可做到。此外還可搭配使用資料庫的 TimeStamp 計數器,判斷資料列中的任何值是否有任何改變。另外 SQL Server 2005 還有更優越的 Snapshot Isolation 快照隔離模式,其提供一種新的隔離層級,可將寫入程序、讀取程序作適當地隔離,使得讀取動作不等待寫入動作、寫入動作不干擾讀取動作,以提高資料的可用性、加快交易的執行速度。

至於 ASP.NET 2.0 / Visual Studio 2005 亦提供了入門級的解決方案,可由 SqlDataSource 等資料存取控制項的圖形設定介面中,勾選「進階」按鈕內的「使用開放式並行存取」選項,即可啟動衝突偵測機制 (ConflictDetection 屬性)。此舉會將控制項預設的「OverwriteChanges」改為「CompareAllValues」,並判斷資料從剛才第一次讀取到更新的這段期間內,是否曾被其他程序變更過,此一選項亦即 ADO.NET 的「開放式 (樂觀) 並行存取」機制,只有當資料正在修改時才會進行鎖定,並在修改完後再對各個欄位的新舊資料進行比對,看是否曾在這段期間內搶先被其他使用者修改了同一筆記錄;但其他所有使用者仍可在此時去讀取,類似於資料庫的「共用鎖定 (shared lock)」。若未勾選「使用開放式並行存取」此一選項時,即會採用預設的「後進先寫入」機制,這種做法也是只在修改時才會鎖定,但不會將更新後的資料與原始資料作比對,因此有可能發生欲修改的資料被其他使用者覆寫掉之情形。

2007年2月20日

Sunshine

這應該是我今年最期待的電影之一囉

因為已經好久沒看到科幻片的出現了
而且此部電影的卡司非常讓人意想不到
真的好期待阿

2007年2月2日

地球上最後一個人

這是高中時代老師規定的作文,起頭必須是「地球上最後一個人獨自坐在房間裡,這時,忽然響起了鈴聲」
在此留做紀錄給自己回憶一下

以下為全文
==============================
地球上最後一個人獨自坐在房間裡,這時,忽然響起了鈴聲,他心頭震了一下,但沒起身回應,只是坐在那看者。於是鈴聲停了,換成了找鑰匙的聲音,在來門被打開了。走進了一名女子,若無其事般的向他說者生活瑣事,然後拖下外套,整理了一下儀容。接者,她問他晚餐想吃些什麼,不等他回答,她自己便說了一堆清單,進了廚房去了,他追了進去,看者她忙碌的背影,而此時他眼中漸漸充滿了淚水,開始哽咽。他伸出手臂,向前走了一步,似乎想對她說什麼。但他哭的不能自己,整個人哭倒在地上。而她卻好像完全沒有察覺,在她身後跪了起來,好不容易先撐著門樑,在扶著門把,拖著蹣跚的腳步向她走進,他抱住了她,好不容易吐出一句話-『對不起…』。她回頭親了一下他的臉頰,就消失了。

兩個月來,這已經不知道是他第幾次的幻覺了。十個月前,他率領太陽系聯邦艦隊迎擊來犯的人馬系聯邦艦隊。擔任艦隊司令長的他身經百戰,立下無數的汗馬功勞,才得以成為聯邦史上最年輕的艦隊司令長。
眾所皆知,人馬系聯邦是個非常好戰的聯邦,他們覬覦太陽系的豐沛資源已經很久了,尤其是地球強盛的生命能量更讓他們朝思暮想。所以近百年來,人馬系聯邦的積極建軍,為的就是這一刻。

戰事剛開始時,人馬系前鋒部隊剛抵太陽系,立即佔領了太陽系最外圍的冥王、天王、海王三星,但馬上被駐紮在木星的艦隊群殲滅。不過當人馬系的主力部隊抵達時,太陽系漸露敗勢,節節退守,終於只剩下了地球及火星。戰事一發生時,聯邦主席立刻向巨斧系求援,但路途遙遠,援軍遲遲未至,人馬系聯邦艦隊司令長在這半年來的戰役中,早已對太陽系恨之入骨。

對於人馬系的侵略,太陽系從來沒有顯露任何怯意,人馬系諜報部的招降作戰也連連失利,看者傷亡數字不斷上升,人馬系聯邦艦隊司令長下定決心要血洗太陽系,他要殺遍太陽系,讓每一名士兵、每一名平民都只有死亡。在這份堅定的魔鬼意志驅使下,人馬系軍武研發處發展出了「屠星」,並決定以此毀滅太陽系的每一顆星球。

在最後一場戰役-「火星會戰」中,太陽系聯邦艦隊得知人馬系將會使用終極毀滅武器「屠星」在火星上,所以投入了超過總軍力九成的艦隊在此會戰上,而此役雖由太陽系得勝,且不但贏了這場會戰,甚至逮捕了人馬系艦隊司令長。但也得知了一項噩耗,另一套未曾知曉的屠星系統將對地球發動攻擊,太陽系聯邦艦隊司令長-渚,立刻率領一支小隊趕回地球。

一路上,渚想起了小彧,她的笑、她的淚,是那麼的讓他思念。算一算,倆人已經八個月沒見面了,渚想,等這令人痛惡的仗打完,他要立刻帶小彧到月球上,在美麗的地球見證下,讓小彧成為她的妻子。

終於到了地球,但為時已晚,地球已經被一片紫光所籠罩,他知道來不及了。這片令人炫目的紫光,就像20世紀的中子彈,將奪走一切生命,留下一片無生命的建築。看者這片光,他的心碎了,地球上有他最愛的一切,他的父母,他的朋友,他的愛人。渚只能看者這片紫光,卻無能為力拯救他所愛的人們。浩劫過後,搜索隊只找到幾千名幸運的生還者,因為地球上大部分的生命都被剝奪了,沒有花,沒有草,沒有樹,更沒有活生生的鳥獸,地球已經沒法讓人居住了。生態重建工作已經開始,但需要數百年才能讓地球恢復以往的生氣。渚不死心,揮別救難隊,留下一些精良的裝備,獨自繼續的搜尋。很快地,倆個月過去了,但卻仍一無所獲。每一天,渚獨自坐在房間哩,就忍不住想到小彧。她壓不住內心深沉的思念與極度的懊悔,懊悔沒有給地球足夠的防衛。隨者思念日深,他開始產生幻覺,他知道,再這樣下去自己一定會發瘋,必須加快腳步了,他想。

人類文明史上從不缺席的就是災難,所以過去曾有地下城的謠傳,他要找的就是傳說中的地下城的入口,經過衛星、無人飛行載具的不斷搜尋。超級電腦判斷大峽谷是最有可能的入口地點,他立即召回搜索隊,針對大峽谷進行實地的搜尋。果然在一個一點也不起眼的岩洞中,發現了傳說中的地下城入口,別得知全球各地有八座同樣規模的避難城,於是數十萬人被救出。

月球上,地球仍舊與以往一樣泛者美麗的藍光,一對戀人在地球的見證下,互訂終生,雖然整個太陽系殘破而待重建,但等待他倆人的,是一片光明的未來。

QueryString以中文傳值

接收端: Response.Write(Request.QueryString["ID"]);


傳送端:Response.Redirect("show.aspx?ID=" + "傳值");Response.Redirect("show.aspx?ID=" + Server.HtmlEncode("傳值"));