2010年11月22日 星期一

工程師的自我修養-協助面試

所謂「協助面試」是指提出一些問題,讓主管們藉由面試者的回答決定是否錄取面試者,通常能夠參加面試,算是主管對自己的肯定。
通常我會提出的問題,包含工作上曾經遭遇過的問題、履歷與自傳的問題、與工作需要具備專業的問題,我會把握每次面試的機會,和面試者進行經驗的分享,就算沒有機會當同事,至少透過這次面談累積自己的專業知識。

2010年11月19日 星期五

做球給其他的同事

有時候只是心情的問題而已,就會讓同事更願意幫我們的忙。這是我從B君身上學到的,有時他會詢問其他的同事,跟經理報告時他總是會說「還好C君剛才幫我的忙」類似的話,幫他忙的同事當然心情會好,以後他有問題時更願意全力協助。
當然做球給其他的同事,這是發至於內心的感動,在與主管報告時,可以在他面前感謝同事幾句,對同事而言,無意間聽到辦公室的耳語,會覺得同事值得幫忙;對自己而言,少了鋒芒畢露卻多了些謙虛。

2010年11月3日 星期三

工程師的自我修養-灌資料

向周星馳電影「喜劇之王」致敬,讓我看見什麼是敬業精神。
根據E君的說法,使用Excel整理需要匯入的資料,您整理的技術越好,後面需要花費的時間越少,所謂技術好就是會使用VLOOKUP或HLOOKUP整理成為代碼、資料剖析拆解資料、整理資料成為多個資料表、樞紐分析表剔除重複,使得左邊與上面的資料唯一,並且分析資料例如加總等、取消「合併儲存格」。
(感謝E君提供上述使用Excel整理資料的方法,並且感謝您這些日子以來的幫忙。)
VLOOKUP 函數

複製貼上:
根據E君的說法,SQL Server 2000的SQL Server Enterprise Manager不支援此功能。

使用OPENROWSET:
撰寫Transact-SQL協助匯入資料,必要時需要將查詢結果回寫至Excel。

DECLARE cursorXXX CURSOR FOR SELECT A,B,C,D,E FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=C:\refTest.xls', 'SELECT * FROM [Sheet1$]')


使用SSIS(SQL Server Integration Services):
沒有用過,接近撰寫匯入程式,但是搭配GUI感覺上又比較簡單,擁有.NET Framework平台的支援,上述兩種方法只適用於偶而的需求,如果是經常性的需求,建議使用這個方式或是自行撰寫匯入程式。
dotNET 技術聖殿-部落格: SSIS功能體驗(一)、匯入EXCEL檔案

2010年11月2日 星期二

希望opener幫我們做一些事情

opener是指JavaScript的「window.opener」。
opener在我的理解是開啟子視窗的父視窗,會用到opener通常是我們在子視窗希望父視窗幫我們做一些事情,例如開啟子視窗進行編輯,希望關閉子視窗時同時能夠更新父視窗;或是開啟子視窗條列資料,按下子視窗的編輯後會關閉子視窗,父視窗會跳到資料編輯頁面。上述兩個功能很直覺就會想到用「window.opener.location.href」,但是在IE會有問題。
Object window.opener.location.href is malfunctioning in IE8
window.opener.location.href do not work with Win7 and IE8
我的解決方法是子視窗關閉前呼叫以下函數。

window.opener.execScript("__doPostBack('" + eventTarget + "', '" + eventArgument + "')", "JavaScript");

這個函數會呼叫父視窗執行__doPostBack(),此時在父視窗我們可以在Page_Load(),依據參數將頁面導到其他頁面。

如何轉移本機資料表的部份資料

有時候需要轉移部份資料至其他機器上面,懶得重新輸入就會用以下方法。
在SQL Server Management Studio Express。

  1. 「編輯」需要轉移的資料表

  2. 修改資料表名稱,我會將原本名稱後面加上Test成為一個新名稱。

  3. 「執行」


產生這個資料表的目的是為了保留需要的資料。

USE ABCDB
INSERT INTO ABCTest SELECT * FROM ABC WHERE Code = '05' OR Code = '06'

最後使用Microsoft SQL Server Database Publishing Wizard匯出成為SQL檔案,注意匯出之後請務必檢查有沒有DROP或DELETE指令。

2010年10月27日 星期三

SQL Server竟然不區分大小寫

之前B君在測試部署E君的程式時,居然出現錯誤,花了很多時間找到是大小寫的問題,當時我不以為意,認為反正程式在我的電腦上可以執行就可以了,況且當時年底有很趕,誰會在意這些雞毛蒜皮的小事呢?事情經過了一年,又到了年底,這次換我需要SQL Server區分大小寫,因為指紋機廠商將代碼分為I與i,我納悶為什麼我的SQL Server無法區分大小寫呢?上網找資料才知道原來是定序的問題。
簡單來說,CI不區分大小寫,CS區分大小寫。
碗 & 筷: SQL Server 定序設定

2010年9月6日 星期一

移動偵測打蟑螂遊戲

BugCamSmash – Motion Detection with Silverlight 4 Beta
BugCamSmash – Motion Detection with Silverlight 4 Beta
因為Silverlight 4 Beta提供WebCam的支援,所以作者撰寫這個程式,除了附上程式碼之外,還加入幾篇教學文章,以下就是這些教學文章的連結,很可惜最重要的地方並沒有文章加以說明。
Dissected part 1 – Smash a Bug
Dissected part 2 – Make the Bugs Crawl
Dissected part 3 – Give the Bugs Brains
作者在文章中有提到需要安裝Silverlight 4 Beta才能執行程式,其實下載作者提供的程式碼,並且修改CaptureImageAsync()那部份程式就可以執行了。
確定 Silverlight 應用程式能與 Silverlight 4 搭配運作