2010年7月27日 星期二

C# 如何在ASP.NET 寫入檔案(上傳檔案)到虛擬目錄中

web.config 設定要存取虛擬目錄(網路芳鄰的電腦資料夾)存取帳號密碼
<configuration>
<configSections>
.......................略過
</configSections>
<system.web>
<identity impersonate="true" userName="AAAA" password="0000" />
</system.web>
<connectionStrings>

上傳檔案的方式 C# ASP.NET 語法
FileUpload tempUpload = FileUpload1;
tempUpload.PostedFile.SaveAs(Server.MapPath(VirtualPathUtility.ToAbsolute(Server.UrlDecode("~/虛擬目錄別名/"))) + ServerFileName);

FileUpload tempUpload = FileUpload1;
tempUpload.PostedFile.SaveAs("\\\\192.168.0.10\\資料夾\\" + ServerFileName);

2010年7月26日 星期一

IIS 如何建立網路芳鄰之虛擬目錄

1.按一下 [開始],指向 [程式集],按一下以選取 [系統管理工具],然後按一下 [Internet 服務管理員]。
展開伺服器名稱。

2.在左窗格中,用滑鼠右鍵按一下 [預設的網站],指向 [新增],再按一下 [虛擬目錄]。

3.在「虛擬目錄建立精靈」的第一個畫面中輸入虛擬目錄 (例如 MyWebData) 的別名或名稱,再按 [下一步]。

4.在第二個畫面中,按一下 [瀏覽]。找出您建來存放內容的內容資料夾。按一下 [下一步],若是使用\\192.168.0.10\AAA時,按下一步。

5.在第三個畫面中,「安全驗證」輸入要驗證登入此網路芳鄰的帳號密碼。

6.在第四個畫面中,選取 [讀取] 和 [執行指令碼 (例如 ASP)]。確認其餘核取方塊均已清除。按一下 [完成] 結束精靈。

重要:在IIS主機上,以及網路芳鄰的主機上,均需建立相同的帳號密碼,以供資料存取

參考文章
如何建立 IIS 虛擬目錄http://support.microsoft.com/kb/172138/zh-tw
設置IIS指向另一台機器上的共享虛擬目錄http://tc.wangchao.net.cn/it/detail_55171.html

2010年7月23日 星期五

蘋果 iPhone4 vs HTC Evo 中文字幕版

蘋果標錯價?Mac mini加購8GB記憶體僅2萬



蘋果公司疑似出現戴爾標錯價事件!官方網站上(http://store.apple.com/tw-eduA)疑似標錯價錢,Mac mini加購8GB記憶體,原價應為47100元,卻錯標為19900元。

疑似出包的為全新版Mac mini 加購8GB記憶體商品,加購4GB在網站上標明為34900元,加購8GB原價應為另外再加12200元,但點選後卻出現19900元的價格。

消息一傳開之後,不少網友也開始「好康相報」,並傳出已經有人下了大量訂單,不過未來蘋果方面是否買單,可能也必須看蘋果是否願意出貨。

目前為止,蘋果官方線上商店的問題依然存在,似乎也尚未有所修正。

先前Dell兩度發生線上商店標價錯誤情形,後來台北市政府根據消費者保護法第58條規定,針對Dell處以新台幣100萬元的罰鍰,而此次蘋果發生這樣的機制錯誤情形,不知道是否會選擇認賠出貨?或者是直接更改買家訂單呢?


2010/07/24 雅虎新聞報導
昨天下午開始,許多民眾從MSN即時通、噗浪上不斷收到「蘋果大放送」、「Mac mini 8G不到二萬元」等訊息,網友大呼簡直是歡樂星期五,原本要價四萬七千一百元的迷你電腦,變成一萬九千九百元,當場省下二萬七千八百十元元,雖然蘋果公司在截稿前未正式對外說明,但客服系統已說明是系統錯誤,購物網站直到晚間八點半才改為正常的價格。

發生問題的是蘋果「教育優惠價格」專區裡的Mac mini電腦,當消費者選擇記憶體從4G增加為8G時,價格不漲反降,變成高規格比低規格還便宜的現象,網友一發現就奔相走告。昨天下午蘋果官網呈現「訂購高峰」,許多人在臉書、噗浪表示一口氣訂了好幾台,等著看蘋果怎麼處理,傳言這次至少累積廿萬台訂單,但可信度令人懷疑。

一名簡姓民眾表示,他一聽到這消息,就以半信半疑的心情下單,沒想到相當順利,一下子就完成了網路刷卡。網站顯示,預計八月三日就可收到Mac mini。他知道過去戴爾也發生類似事情,消費者敗訴,戴爾可以不用依標錯價格出貨,因此這回也不抱太多期望,如果沒有便宜就算了。

過去戴爾發生過多起標錯價事件,一度被質疑是炒作話題的宣傳手法,還有網友對戴爾提告,要求戴爾履約出貨,經台北地院審理,認為網路標價屬「要約引誘」,只是引誘消費者購買,雙方契約仍未成立,判決消費者敗訴,戴爾不須依標錯價格出貨。

當時判決進一步說明,消費者在網路上訂購戴爾的商品,戴爾回信表示「訂單收到,但並不表示戴爾接受了你的訂單,戴爾會在下個工作日與你聯絡,做最後確認」;這段文字,表示戴爾在沒做最後確認前,雙方契約尚未成立,因此無履約問題。

不過,昨晚又傳網友爆料,先前以一萬九千九百元刷卡購買Mac mini的訂單,收到的電子郵件被「竄改」為四萬七千七百十元的價格,並質疑蘋果在未通知消費者的情況下,逕自修改訂單產品項目與價格,在臺灣電子商務史上可說前所未有。

Mac mini加購8GB記憶體 19,900 立即下單購買

我只能說一個小小的人為疏失或系統出錯,就會造成非常大的損失,所以在購物網上,在價格的制定審核上都需要非常的謹慎!

2010年7月20日 星期二

C# VB 確認字串是否為有效的電子郵件格式

C# 寫法
using System;
using System.Text.RegularExpressions;

public class RegexUtilities
{
public static bool IsValidEmail(string strIn)
{
// Return true if strIn is in valid e-mail format.
return Regex.IsMatch(strIn,
@"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$");
}
}

VB寫法
Imports System.Text.RegularExpressions

Module RegexUtilities
Function IsValidEmail(ByVal strIn As String) As Boolean
' Return true if strIn is in valid e-mail format.
Return Regex.IsMatch(strIn, _
"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))" + _
"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$")
End Function
End Module

這個範例可以解譯規則運算式模式 ^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$,其方式如下表所示

^
在字串開頭開始比對。

(?("")
判斷第一個字元是否為引號。(?("") 是交替建構的開頭。

((?("")("".+?""@)
如果第一個字元是引號,則比對開頭引號,其後接著至少一個任何字元的項目,再加上結尾引號。字串應該以 @ 符號為結束。

|(([0-9a-zA-Z]
如果第一個字元不是引號,則比對由 a 到 z 的任何字母字元,或由 0 到 9 的任何數值字元。

(\.(?!\.))
如果下一個字元是句號,就找到相符的比對。如果不是句號,則往前找下一個字元並繼續進行比對。(?!\.) 是零寬度右不合樣 (Negative Lookahead) 判斷提示,可以避免兩個連續句號在電子郵件地址的本機部分中出現。

|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w]
如果下一個字元不是句號,則比對任何字組字元或下列其中一個字元:-!#$%'*+=?^`{}|~。

((\.(?!\.))|[-!#\$%'\*\+/=\?\^`\{\}\|~\w])*
比對零次或更多次交替模式 (句號後接非句號或幾個字元的其中一個字元)。

@
比對 @ 字元。

(?<=[0-9a-zA-Z])
如果 @ 字元前面的字元是由 A 到 Z、a 到 z 或 0 到 9 的字元,則繼續比對。(?<=[0-9a-zA-Z]) 建構定義零寬度左合樣 (Positive Lookbehind) 判斷提示。

(?(\[)
檢查 @ 後面的字元是否為左方括號。

(\[(\d{1,3}\.){3}\d{1,3}\])
如果是左方括號,則比對後面接著 IP 位址 (四組一至三位的數字,各組間以句號分隔) 及右方括號的左方括號。

|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6})
如果 @ 後面跟著的字元不是左方括號,則比對一個值為 A-Z、a-z 或 0-9 的英數字元,其後接著零個或更多字組字元或連字號的項目,再加上一個值為 A-Z、a-z 或 0-9 的英數字元,然後再接句號。這個模式可能重複一次或多次,然後接著兩個到六個英文字母 (a-z、A-Z) 字元。規則運算式中這個部分的設計是要用來擷取網域名稱。

參考資料 http://msdn.microsoft.com/zh-tw/library/01escwtf(VS.95).aspx

2010年7月18日 星期日

Chinese_Taiwan_Stroke_BIN 與 Chinese_Taiwan_Stroke_CI_AS 之間的定序衝突

錯誤訊息:
Chinese_Taiwan_Stroke_BIN 與 Chinese_Taiwan_Stroke_CI_AS 之間的定序衝突
或是
Cannot resolve the collation conflict between "Chinese_Taiwan_Stroke_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. [SQLSTATE 42000] (Error 468). The step failed

解決方式:
1. 有where時
WHERE A.A = M.M
改成
WHERE A.A COLLATE Chinese_Taiwan_Stroke_BIN = M.M COLLATE Chinese_Taiwan_Stroke_BIN

2. 有UNION時
SELECT ie FROM A WHERE code LIKE '123%' GROUP BY ie
UNION
SELECT ie FROM B WHERE code LIKE '123%' GROUP BY ie ORDER BY ie
改成
SELECT ie COLLATE Chinese_Taiwan_Stroke_BIN FROM A WHERE code LIKE '123%' GROUP BY ie
UNION
SELECT ie FROM B WHERE code LIKE '123%' GROUP BY ie ORDER BY ie COLLATE Chinese_Taiwan_Stroke_BIN

2010年7月15日 星期四

不管你是主管還是員工,都該好好的看這一篇文章

雖然喝紅了臉,你的沮喪、不平與不安,全寫在臉上了。在公司上了這麼多年班,突然一早上進公司,總務就發個紙箱給你,還站在一旁盯著你收拾東西,連電腦也不許開,收拾好了就走人。事情過了個把月,你還是氣憤難消。

你說看到昨晚的電視新聞,上千名失業勞工聚在勞委會抗議,要求政府對於企業裁員與失業率升高,提出對策。你說你也真想去抗議。

說來也巧,昨天中午我公出時走延平北路,正好經過勞委會。也曾停下來瞭解了一下抗議的訴求。所以對於他們抗議的原由,我能理解。

但當你說你也真想去抗議,我就有些話想對你說說。

你我曾在券商共事,長期研究過許多上市公司的營運,也讀過許多相同的資料,你應該還記得,許多統計資料都顯示,有七成以上的公司,開業之後撐不到三年。剩下的一半也會在後來的兩年中陸續結束,能夠持續經營超過十五年以上的公司,不到百分之三,十五年以上的,更是不到百分之一。

照這樣來算,如果我們都從二十五歲左右進入職場,六十五歲退休,四十年的時間裡,想要一直待在同一家公司,並不是一個很切實際的期待,對嗎 ? 比較實際的情況應該是,我們會經常因為公司前途無亮自行跳槽,也常會因為公司無法再經營下去而不得不離開,對嗎?

其實你們公司的情況,半年多前就有跡象了,老闆經營的方向不對,你也曾抱怨了半天。我還記得那時我們聊過,我問你怎麼不另謀高就,你說你試了,但是談來談去,發現薪資都沒有現職高。我講了一句很刺耳的話,你還記得嗎 ? 我說,別抱怨他了,雖然他是個不善經營的人,但至少他付給你的薪資,已經超過你的「市價」了。

其實當時我應該再提醒你,有這種現象,表示你應該趕快在自已身上多下點工夫了。你的競爭條件已經在衰退當中,繼續這樣下去,保不住工作只是遲早的事。我疏忽了,這點我向你抱歉。

曾經和一位創業成功的朋友有過一席印象深刻的談話。那已是四、五年前的事。他長我十來歲,在成功前曾經有過兩次事業失敗的經驗,負債累累。捫心自問,若我是他,恐怕再也沒有勇氣嚐試了。但他還是不肯放棄。第三次,他成功了。那日與他飲酒吃飯,已是他創業成功的第五個年頭。他說前四年的獲利都用來還了債,現在才算稍微賺了點錢。

我舉杯表示佩服,微醺的他卻按住我將到口的酒杯,問了我一個問題:「如果你上班的公司經營不善,快要倒,你會有什麼打算 ? 」

想都沒想,我說當然馬上開始找下一個工作。還開玩笑的問他公司裡還缺不缺人。

聽了我的回答,他意味深長的笑著看了我一會,才開口說:「這半年來,我到處問人這個問題,我打算問滿一百個,你是第八十六個,大家答案都大同小異。從來沒有一個告訴我:『我會去告訴老闆,別擔心,我會用我的全部家當陪他拚到底。』」

他說,失敗過兩次,他想通了這個道理:船沉了,和船一起沉的總是船長。水手都帶著剩餘的糧食、飲水,搭救生艇走了。

所以這次他的學到了教訓。績效好,該加薪就加,該發獎金就發,但績效不好,該減薪、該裁撤,他一定公事公辦,不會拘泥員工的年資或彼此的感情。因為,「如果你感情用事,顧慮那些該裁該減薪的人會不舒服,而不處理,就反而會造成表現好的人更不舒服,他們會離開你,最後留下來那些原本就該砍掉的人,公司很快就不可挽救。這不只是控制成本的問題,而且能避免人才流失。」他說。言下之意,他反省過,這方面處理不當,是他過去失敗的原因。

從那天開始,我再也不曾認為公司有持續雇用我的義務,因為我的確沒有陪老板沉船的打算。除了上班時間仍舊做好我職掌的工作,我也在自己身上下了一些工夫,做好隨時隨地可以離開的準備,不論主動或被動。還記得你曾經笑過我習慣到處面試去探行情嗎?就是因為與他那一席話。我覺得勞雇之間的關係,是一種條件式的關係,當維持關係的條件不存在,雙方都有解除關係的權力。

我們都曾幾度跳槽,在「開除」老闆的當下,也都蠻絕情的,不是嗎?

我們若指望在一家公司上一輩子的班,那得保證老闆永遠喜歡我們,我們也永遠喜歡老闆,再加上他公司永遠不會倒、能賺錢,還要我們的價值永遠不會被取代。少了上述任何一個條件,都不可能。你覺得這種情形會常見嗎?

我不是在幫資方講話。我知道有些資方是故意惡性倒閉,自己乘救生艇帶走補給,讓員工和相關往來業者跟船一起沉。不過絕大多數的創業者都希望創業能夠成功,如此一來,不但自己有好日子過,還可以提供許多穩定的就業機會,養活好幾家人,甚至像王永慶,養活的是數萬個家庭的幾十萬人。創業者投入資金、時間,還有比員工更多的勞心勞力,同時承擔著因為營運能力不足、判斷不正確、被倒帳、景氣反轉等無時不刻都存在的失敗風險。失敗的結果,常常是背負沉重的債務,從此一輩子翻不了身。平均每當一人創業成功,就有九個人失敗,而這些成功的人,平均都先失敗過兩次。連王永慶在創業早期也失敗過。這些資料,你也都讀過,不是嗎 ?

相對而言,受雇者得到一個職位,只要每天早上按時去上班,做好指定的工作,按時下班,每個月時間到了就有一份薪水可領來養家活口,如果外面找得到薪水更高、福利更好、前途更光明的工作,通常會遞出辭呈離去。而如果找到的工作薪水更低,就表示在現職上已經「超額獲利」。若是公司經營失敗,除了拿不到的薪水,沒有其他的風險。

在這樣的相對關係下,我們身為職員、勞工,有什麼資格抱怨老闆為了能夠繼續營運下去而裁員 ? 至少還發給了你離職金,沒有等到薪水發不出來再落跑。而且,他總還留了人下來,我們該不該想一想,為什麼走路的是我們 ?

曾經聽過一個很詼諧嗜酒的老頭講課,他說他平生最看不起的,是下了班就罵老闆,隔天又繼續去上班的人。你現在聽了一定笑不出來,但當時課堂上是哄堂大笑。

他說,若有本事找更好的工作,不用抱怨,走就是了。如果沒有這個本事,那就根本沒有抱怨的資格。

我真的不是在幫資方講話。只是這一個多月來,幾次聽你埋天怨地,我希望你也想一想自己是否真的完全沒有責任。你開啟了你的求職網頁,寄出了許多履歷,得到幾次面試的機會,但條件都不如你原來的工作。面對這樣的情況,你除了找我喝一杯,訴訴苦,有沒有想過外在的環境變了,你的心態也該調整 ?

現在的就業市場,是一個硝煙密佈、屍橫遍野、血流成河的殺戳戰場。你覺得已經彈盡援絕。這時候的你,該做的不是到處去嚷嚷著戰爭的不公平。這件事大家都很清楚。但仗還是要打下去。而且最慘烈的時候還沒來。你若決定把時間和精力花在抗議上,我會尊重你,但請恕我直言,那不是你現在該做的事。

你所應該做的事情,是遍尋你的身上、四周,找出任何還能使用的武器。哪怕原本用的是機關槍,現在只剩一把美工刀,但只要先守住一個小小的方寸,別被打掛,你就能繼續在戰場上存活,就有殺出重圍,看到戰爭結束的機會。


而且,不論將來的結果如何,你一定要記得現在這個經驗:永遠要不停止成長學習。別再使自己陷入武器不夠用的處境。這是自己的責任,不是別人的。拿自己的不幸去怪別人是最容易的事,但卻一點幫助也沒有。

現在說這些話,我知道你看了心裡不會太痛快。但那種只會安慰你、哄你,任由你在怨天尤人的思維裡自暴自棄的朋友,我不會當。我若是那種人,你也不必當我是朋友。

說真的,景氣的確不好,今天我對你說的這些話,明天也許就得說給我自己聽了。現況中有太多的不確定,每個人心中都有或多或少的惶恐,而唯一可以確定的是,坐以待斃一定沒指望,你同意嗎 ?

今後我仍然願意陪你喝酒聊天,喝咖啡吃飯,陪你聊天說笑,陪你檢視身上的武器,一起研究在這戰場上存活下去的策略。我們是長年的朋友,相交相惜,理當互相支持。但那不表示我想同情你,也不認為你需要我的同情,所以,聽你怨天尤人,今晚是最後一次。

Facebook 粉絲團

全民加粉絲團運動
就跟全聯廣告的「1 2 3 4 5 6 7 8、2 2 3 4 ...」一樣,最近幾個月台灣興起了一股全民加 Facebook 粉絲團的運動。真的不蓋你,前幾天還有10歲的小朋友一直要我加為他的粉絲,我之前「爛好人」的作法不管你是阿貓阿狗,只要你來邀請的我就加,但是真的是越來越超過了,10歲的小朋友要我當他的粉絲!?況且我又不認識他!!!

或許有人會質疑:「你網站不也放著粉絲貼紙要人加?」

沒錯!我是贊成設立粉絲團的(為了滿足自己的虛榮心吧?),但是我卻對這種亂拉人加粉絲的情況有話要說...

粉絲團是作什麼的?
如果是個人的話大部份是拿來跟朋友炫耀用的,如果是公司的話則是有行銷的目的在。

但是我問你:「周杰倫或蔡依林會一天到晚一直要你加為他的粉絲嗎?如果用這樣子的方法拉了十萬名甚至一百萬粉絲,你覺得這樣子的粉絲團想表達的是什麼含意?」

我是不能接受這種的價值觀,而且很不幸地,有人利用大家這種盲目加粉絲團的心態,精心設計了一個「BabyHome」的粉絲團給大家加(現在已經停掉了),詳細的過程還是看一下 Mr./Ms. Days (MMDays) – 網路, 資訊, 觀察, 生活 的前因後果吧:

不會吧?Facebook上的「BabyHome 寶貝家庭親子粉絲網」可能不是BabyHome的官方粉絲首頁?
確認踢爆!BabyHome 的 Facebook 粉絲團是網路蟑螂經營的!還有多少受害未爆彈!?
BabyHome公告:FB偽粉絲團違反規範,將祭法律行動!〈附美商全通回應〉
假BabyHome名義設Facebook粉絲團 網路行銷公司被踢爆
追加一條:BabyDiary!?似曾相識??借屍還魂??
高明與詐騙僅一線之隔
這跟我之前踢爆的「黑色 Google 搜尋網頁」有著異曲同工之妙,該事件的「疑似」站長甚至還來我這邊留了幾篇口氣很不好的留言,這就是所謂的行銷人員或是行銷公司一貫的道德觀嗎?

為什麼行銷人員就可以用自己的專長來故意「騙人」,沒錯,我又再次用了這個人家想要告我的字眼,但是明明可以講明白故意不說就是「騙」,更何況這些案例都是想利用這種模稜兩可的描述,來故意將本身塑造成你們心目中的那一家公司。

而且甚至在被揭穿之後還有這樣子的理由:

六、版大說『可以看到另外兩個粉絲團,跟BabyHome.tw一樣,沒有資料欄位、推薦連結也只有aams集團。』,關於這個部分,不好意思,實在是太忙,沒有更新到位,我們很慚愧,會盡快將資料補齊。

這真是笑掉人家的大牙!一個經營了二個多月擁有數萬名粉絲的粉絲團,說忘了補上資料?那別人在塗鴉牆問你的都故意不回是怎樣?

或許這種的案例還是會層出不窮,能夠阻止這件事的只有靠大家的智慧了,最後我再爆一個 Facebook 遊戲的另一種手法:

你第一次要玩「開心寶貝」這個遊戲時你一定要按【允許發佈】才能進入遊戲,而他們也很好心地提醒你可以進去設定為不要發佈,但是我想百分之九十九的人都不會去改設定,偏偏就我這個龜毛的人會進去改看看,但是改完了要再進遊戲時又會出現相同的畫面!

也就是說你一定要允許程式自動在你的塗鴉牆亂發東西才能玩這個遊戲,這已經露出遊戲設計者的心態,而我也說明的很清楚了,要不要玩在你,不要說我沒提醒哦!

還有這一篇不是要拉你加粉絲團的,絕對不是!但是你真的那麼想加我是不會攔你的!

原文 高登工作室 轉自 http://gordon168.tw/?p=360&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+gordon168+%28gordon168%29