2009年1月31日

How To Run Chrome on 64-bit Windows 7

自從過年前手滑把工作機灌成 64-bit Win7 (Buil 7000) 之後, 很快的就發現了 Chrome 呈現一種網頁載入不能的狀態, 雖然安裝的時候有跳出「This Program has compatibility issue.」之類的警告視窗, 不過我以為這就和 VS2005 一樣,不過是 MS 虛晃一招, 只要以 Administrator 權限執行就可以搞定了,沒想到…還真的是不相容 =.=

過了幾天依賴 FF3.1 Beta2 的日子之後(幸好 Google Toolbar 可以灌到 FF3.1 Beta2上,並且支援跟 Chrome 一樣的 Speed Dial),今天早上心血來潮 Google 了一下, 發現在 GIZMODO 上有人分享如何讓 Chrome 在 64-Bit Win7 上正常運作的方法, 作法是修改 Chrome 的執行方式,加上「--in-process-plugins」這個參數。
 
試了一下的確是有用,但是我又在 Chome 的 Issue Tracking System 裡面找到
Issue 4324:Chrome fails to load pages in Windows 7 x 64 bit, 發現其實利用「--no-sandbox」參數也可以達到一樣的效果。

但是仔細看一下回覆之後會發現,這兩種作法之所以可以 work, 原理是這兩個參數「會導致 Chrome 把 Security Sandbox 關閉」!!

相信看到這裡大家都心知肚明,把 Security Sandbox 關閉絕對是極度、極度愚蠢的行為!就像把 Firewall 關閉一樣的愚蠢。總之上目前 Chrome 就是不 support 64-bit Win7 就對了。

從這件事情裡面,還有 Google Desktop 不 Support 64-bit Windows 這一點來看, 實在是很難理解為甚麼自詡為技術超強、超領先,且永遠把使用者擺第一位的 Google 對於 64-bit Windows 是持這種態度?莫非是 64-bit Windows 有甚麼天生隱疾??
 
MS 推出 64-bit Windows 也不是一年兩年了,XP 就有 64-bit version 了不是嗎?

在 Chrome Issue 4324 的第 25 個回覆中,Nicolas 先生是這麼說的:
Major bug? Windows 7 is not even release yet. We will get to it before the official release. The fix is trivial enough, we just did not get to it yet.

我的看法就和第 27 個回覆的 jrlogue 一樣,雖然 Win7 的確是 beta 版,
但是以 MS 的市占率來講,public beta 已經有相當多的人在測試了,
更重要的是,這些先期的測試者絕大多數是開發人員,或是 enthusiasts,
得罪我們這些人可是很容易會讓壞事傳千里的呢!

另一方面,Chrome 在 32-bit Win7 上明明就活的好好的,
為甚麼像 Desktop 一樣碰到 64-bit System 就死了?
感覺這位 Nicolas 先生應該是 Googler 吧?
這種回答真是令人看了不太愉快阿 …

PS. 「googledesktopsetup.exe /force」真的有用,灌起來超快速的,不到 30 秒就灌好了@@

2009年1月18日

製作 javascript 測試器

大家在 debug javascript 時都怎麼作呢?
vs 2005以後支援的 debug?
vs 2008以後的小紅點?
還是邊改邊存邊 refresh 頁面?

這邊提供個簡單且通用的測試方式

首先在頁面上佈置個 textbox、asp button、literal、input button (如下圖)

可以看到 input button 已加入 onclick 的 javascript 事件 test()
另外在按鈕的事件上加入下圖的 code

這樣就完成簡單的測試器了
以後要測試頁面上的 javascript 就先把上述的控制項佈置到頁面上
或是利用 iframe 方式 將預先做好的測試頁放到頁面上

使用時直接在 TextBox 裡寫 javascript code
點選 "應用 javascript " 再選 "測試" 即可使用剛剛寫好的 javascript

下面是執行畫面

底下因為坎尼在頁面上加了 jQuery
所以可以看到 t2 是用 jQuery 的方式抓取物件


若打開頁面上的原始碼來看
可以看到 literal 控制項已經把輸入的 javascript 放到畫面上
並包在 test() 這個 function 裡
所以點選 "測試" button 時 就會去呼叫 test()

會做這個主要是坎尼最近在玩 iframe
結果一直抓不到 iframe 裡的物件 腦羞之下做了這個
後來發現 iframe 要用 contentWindow (IE) 去抓 囧興

上面有提到可以先將測試器做成一個測試頁
要用時再將頁面放到 iframe 裡去
坎尼比較建議這種方式
不過要注意的是 要抓取原本頁面上的物件時 記得先加上 parent

靈感來源 w3 schools

2009年1月12日

如何設定UserControl中動態產生的控制項初始值

今天講的這個也是坎尼一年前遇到的問題
但到最近才因同事的一句話而發現今天要示範的作法

首先 先來講解一下事件大綱
從前從前,坎尼的同事寫了支 UserControl--用來顯示某種類別的下拉選單
當然是動態的從資料庫撈出來給使用者選擇

新增時一切運作正常
修改時卻因某種緣故 一直無法指定類別 (使用者新增時設定的)

說到這邊 那個"某種緣故"請參考 UserControl 事件的觸發順序
「原來是事件順序不同 所以在 Page_Load 時 UserControl 卻還沒產生下拉的選項」
坎尼雖然當時知道了這個 卻不知道該如何解決
因為 Google 到的資料 好像都要去改寫事件的觸發順序?
(懶惰如坎尼 當然就放棄這個作法 自己重新在頁面上放個下拉選單重寫事件 XD)

最近同事的一句:「不知道可不可以傳參數?」
坎尼頭上閃過了新人類閃電符號 「そこだ!!!!」馬上去試驗了這個作法
以下來看範例

首先是 UserControl (vs 2008的切割畫面真好用)
畫面上有個未繫結的 DropDownList

然後是執行頁
這邊分別做了來源頁 (有RadioButtonList)

和目的頁 (只放 UserControl)


接著來看關鍵的UserControl裡的事件

由上圖可以看到
第一次執行時 會動態的加入下拉選項
由於上述的動作 會造成 UserControl1.FindControl 的方式抓不到選項
所以坎尼加了個 mySelectedValue 屬性
並在 UserControl 的 Page_Load 時去判斷有沒有值 再指定給 ddl

使用上很簡單 只要把要選擇的 value 指定給 mySelectedValue 即可

下圖為實際執行畫面


如此就可以輕鬆的把值指定給 UserControl 中的動態控制項
不用再去 override 原本的 Page_Load 事件
最後是這次的範例程式 點我下載

補充1.
若是下拉選單非動態產生 (就是自己已經先加入)
直接使用 FindControl 再去指定即可

補充2.
上述的方法適用於不會 AutoPostBack 的 UserControl
若是引發了 PostBack 會造成 UserControl 的屬性值消失
解法就是 頁面指定屬性的那段要寫在 Page_Load 裡
讓頁面每次刷新時 再次去指定屬性給 UserControl

2009年1月9日

在套用主頁(MasterPage)的頁面中使用跨頁傳值(CrossPagePostback)

這次要來談的是
如何在套用 MasterPage 的頁面 取得 CrossPagePostback 傳來的值

其實這問題最早是發生在坎尼的好友 kk 身上
當時他問坎尼 Gridview 是不是不能用來跨頁傳值?
因為他用 PreviousPage.FindControl 一直是抓到 null
他有說他套用了 MasterPage 不過坎尼沒放在心上 還以為是 .net 的限制(小聲說)

直到最近 坎尼也用了 MasterPage 來統一頁面的樣式
好死不死的也玩了一下 CrossPagePostback 果然也抓不到前頁傳來的值
於是坎尼寫了個迴圈把前頁的 Controls 資訊列出來
才發現 原來 MasterPage 真的會影響到 PreviousPage.FindControl 抓到的資料

下面就來看個範例
首先坎尼寫了個 A頁B頁 都套用了 m1.Master 的主頁

A頁中有個 Textbox CheckBoxList 這是待會要傳值用的
另外有個 Button 可以看到它的 PostBackUrl 已設為B頁

B頁有個 Label 待會要用來顯示相關資訊


不過到這邊要先停一下
冒然的用 PreviousPgae 去抓值的話 會抓不到前頁的控制項

首先在B頁的 Page_Load 呼叫下圖的Method
(圖看不清楚的人 待會會有 source code 的下載連結)


下圖就是 print 出來的結果

可以發現 第一層的 Control 只有 master 1個 !!!!
在A頁上的 Controls 到了第四層的才出現
也就是在 ContentPlaceHolder1 底下 (見圖中紅框框處)

再來看一下 m1.Master 中的配置

會發現 第2層其實是先對應主頁上的配置
ContentPlaceHolder 是位於 第2層的 form 底下 故為第3層
A頁中加入的 Controls 當然就是第 4 層

上面講這麼多 不知道大家有沒有理解了這個階層觀念????
簡單來講 CrossPagePostback 抓到的 PreviousPage 物件
會依 MasterPage -> Controls in Master -> ContentPlaceHolder -> 前頁 Controls

故抓取前頁的控制項時
要用 PreviousPage.Controls[0].Controls[3].Controls[1].FindControls 的方式

此時我們就可以在B頁的Page_Load事件 呼叫下面的方法
(先抓到前頁的 ContentPlaceHolder 再用它去 FindControls )
將前頁輸入及勾選的值 輸出在畫面上

來看一下實際執行畫面

中間就是前頁傳來的內容


對了 由於快到春節了 所以坎尼把畫面做的有過年氣氛點 :D
希望大家有吸收到此次的教學內容
最後這邊是此次的範例程式碼 點我下載

後註. 本篇昨天就應該發表了 (看發表時間就知道)
不過坎尼昨晚看到湘北打輸海南 心裡覺得很難過
最後黯然的跑去睡覺 Q_Q

2009年1月6日

Windows 7 Beta (Build 7000) 安裝心得

古語有云:「新年新希望」,由於從 2008 Q4 之後接受大量關於 Win7 的資訊轟炸,
所有的先期測試結果都說 Win7 Beta (Build 7000) 的穩定度非常高,
甚至很多人試用了幾天之後就考慮把 Win7 Beta 當作正式的工作環境來使用,
再加上謠言指出 bt 上已經有一海票的 Win7 Beta 種子,所以上禮拜天我就抓來灌了。

根據微軟的策略,Win7 未來將被應用在 netbook 上,因此比起癡肥的 Vista 輕巧許多,
Windows Team 的 VP – Steven 平常也是用一台灌了 Win7 Beta 的 netbook 在工作,
所以我就拿了一台3年前買的桌機來當實驗品,這台桌機的重要硬體配備如下:
機器準備好之後就開始安裝 Win7,以下是有些曲折的安裝過程:
  • 在將 Win7 Beta 的 ISO 檔下載完畢後,第一個注意到的就是 ISO 檔的大小居然只有 2.43 GB,印象中我的 Vista Ultimate X64 ISO 檔可是有將近 4GB 呢!
  • 迅速的把 ISO 檔燒成光碟後,馬上放進三年前買的桌機,興沖沖的開始重開機…然後就卡住了…囧,不管怎麼試就是無法用 Win7 Beta 光碟開機,最後只好放棄這個安裝方式。
  • 幸好在 Vista 之後,不用光碟開機也可以進行 clean installation,Windows 安裝光碟會把舊的系統打包到一個「Windows.old」的資料夾中,必要的時候還是可以存取舊系統中的系統檔案,因此我就直接在 XP 的環境下開始灌 Win7 囉!
  • 隨著時間的流逝,終於進入到安裝過程的最後一個階段:Complete Installation…,這時候由於等太久,而且好像 installation 字樣後面的「…」也沒有在跑,害我以為當了(搞不好是真的當了=.=),於是我就豪邁的按了重開機!接下來就很慘了,雖然 Windows 安裝程式很 friendly 的偵測到安裝過程意外中斷,因此告訴我安裝將在重開機後繼續進行,但是不管重開幾次都看到同樣的訊息,整個就是鬼打牆,所以我只好默默的接受第一次安裝 Win7 就失敗…囧。
  • 接下來我就拿出可以正常用來開機的 Vista Ultimate 開始重灌,灌好之後就在 Vista 的環境下再接再厲的繼續灌 Win7!結果皇天不負苦心人,這次大概灌了一個小時(感覺硬碟真是有夠慢),終於順利的把 Win7 Beta (Build 7000) 灌好囉!
灌好之後就迫不急待了嘗試了 Aero Shake、Aero Snaps、Jump List、Device Stage (就是Control Panel 中的 Devices and Printers) 等等,至於 Multi-Touch 這種酷炫的功能就無法用三年前的機器來測了 …

基本上在 clean installation 的狀況下,開機以後 RAM 大約被吃掉 410 MB,根據同事的證詞,XP clean installation 的話開機大概要吃掉 200 多 MB,Vista 的我沒注意過,但是基本上現在用這台舊的桌機跑得還蠻順的就是。

關於 Vista 之後對於繁體中文的支援,如果 OS 本身是英文版,那麼可以安裝完整的 language pack,但是根據這個 Vista Help Page,除非是 Enterprise 版以上,否則其他版本只能免費使用 Language Interface Pack (LIP),follow 文件中的 link 進入 Microsoft Local Language 網站之後,畫面像下面這樣:
MS_LLP

結果搞半天還是找不到繁體中文的 language pack 要去哪下載,真是莫名,目前的 Win7 Beta 好歹也是 Ultimate 版,但是在 Windows Update 中就不像 Vista Ultimate 那樣可以直接選擇額外要安裝的 language pack。由於沒有裝 language pack 主要是導致我慣用的 pcman 顯示亂碼(今天還發現有個 2008/12/26 釋出的 2009 beta 版,但裝了以後還是一樣顯示亂碼 =.= ),因此影響不大,只是以後我要利用上班時間偷偷上 BBS 了 :p

以下是我目前安裝的軟體,基本上跑起來都很正常!
Win7_Programs_090106

呼,第一篇在 Win7 上面寫的 blog 就先寫到這邊啦,希望今年能早點看到 Win7 正式版上市!

回顧 2008 年

雖然晚了一點,不過還是來寫一下去年一整年的心得


2008對坎尼來講是個技術爆炸到不行的年度
DotNet一大堆新東西 (.net framework 3.5、linq、Silverlight....)

在公司還在寫傳統的 postback 網頁時
坎尼剛接觸的 ajax 遲遲沒拿上檯面
不過倒是學了不少 javascript

因工作關係,也接觸了 PPC 程式的開發
另外還有 jsp、php、basic......
坎尼講到這,才發現原來2008年是這麼多采多姿啊 囧>

也在 Tim 的花言巧語下 加入了Google Reader訂閱一族
目前坎尼也訂了數十個技術相關的網誌

再來就是從 bbs 轉至 blog 發表技術相關文章
不過以前在 bbs 上寫的大部分都還沒轉過來 囧興

最後來回顧一下這年開發系統的一些心得

1. 顧客永遠是對的
2. 一定要做 UI 防呆,你永遠不曉得使用者下一步要做什麼
3. 規格總會在驗收前變動
4. 不要有讓使用者能捲動頁面的設計 (或是你想收到各地來的抱怨)
5. 進資料庫前,一定要做關鍵字的檢驗 (最好都是用 Parameter)
6. 許多常用的程式碼要存起來 (code snippets)
7. 時時要注意新技術的動向,雖然你可能還在用 vs 2003 開發系統
8. 多利用 Google 及 MSDN 找尋解答,但別忘了去了解原理為何
9. 事情能早點做完就早點做完
10.回家時間到了,請準備回家和家人相聚

很快的又過了一年
接下來的一年也請大家多多指教 :P

2009年1月5日

[好書推薦] Time Management - 175 Ways to Get More Done In Less Time (Day2)

延續 Day1 的分享 (Tip1 ~ Tip66),今天繼續看接下來的四章 (Tip 67 ~ Tip175):
(跟 Day1 一樣,橘色是我精簡翻譯後的原文,灰色的字是我的感想)

    6.   Meetings...Making The Most Of Them
          (開會應該是很多人最討厭做的事,看看專家有甚麼建議吧!)
  • Tip 67: 將招集會議視為最後的手段,若非必要請採用其他的方式來溝通。
    --> 面對面的 brain-storming 還是蠻有趣的,但是專案很趕的時候就做不到了..
  • Tip 80: 將會議開始時間定為一個「非整點」的時刻,如 10:33 而非 10:30。一般人對於整點的會議都較容意遲到,且容易輕忽這些會議。
    --> Hmm .. 這是個滿有趣的理論,不過就連 outlook 的設計也是以半小時做切割的,要說服老闆訂個下午 3:03 分的會議應該是有難度…(搞不好被當成笨蛋=.=)
  • Tip 84: 不要為了遲到的人特地解釋剛剛討論過的內容。這麼做等於變相鼓勵與會者遲到,並且是懲罰那些準時與會的人。
    --> Again! 當老闆遲到的時候 …(老闆:阿你們先開沒關係,我晚點到!)
  • Tip 90: 指定(遲到的人之中)最晚到的人負責掌控會議的時間,保證他們下次會準時出席。
    --> Uhh .. 同上,我想除非主席在組織中的層級本來就比與會者都高,不然應該也辦不到。等到以後當老闆倒是可以這樣搞 :p
  • Tip 91: 安排一個站著進行的會議可以有效縮短會議時間,並且保證與會者全程保持清醒!
    --> 這就是所謂的負向回饋(Negative Feedback)嗎XD? 久了應該會被厭惡吧:p 可能要塑造為「公司文化」這樣的層級吧~
  • Tip 97: 在討論完畢,會議結束之前,不要假設所有人都知道下一步該做甚麼。針對每個人後續的工作(要求他/她)重述一次,以確保所有人的認知一致。
    --> 錯誤的假設是很可怕的,即時再三確認也還是有可能有人進度落後。
  • Tip 103: 為每個與會者指定事先準備工作,若每個人可以為其他人所負責的領域事先進行研究,則自然可以大幅縮短會議時間。
    --> Uhh … 也許可以做得到吧,在一個完美的世界中 XD 這個技巧似乎太偏理論..
    7.   On The Road...Making Time
          (這章主要在講出差時要注意的事情,出國旅遊的時候也可以參考喔!)
          (常出差的人應挑選固定的航空公司、計程車公司、旅館,以節省溝通時間)

  • 關於旅館的部份:
    • Tip 109: 住在旅館的 1~3 樓,並且走樓梯。不但省時而且可以順便運動。
    • Tip 110: 挑一個遠離製冰機的房間。否則半夜那些要取用冰塊的人(party?)
                   會吵的你不得安寧
  • 關於飛機的部份:
    • Tip 113: 若你是某航空公司的 VIP,要求他們將你那排座位中的中間位子下來(這樣比較不會被人進進出出的打擾吧),這個要求通常是可行的。
    • Tip 125, 126: 挑選一個前(五)排且靠走道的座位,有時候可以比後排的乘客早十分鐘下飛機。若你是右撇子,試著要求一個靠右邊走道的位子。(這樣用右手工作才不會卡卡的)
    • Tip 129: 若你不喜歡在飛行途中與人社交,投資一副可以提供 White Noise 的好耳機,這麼做不但可以阻隔各種噪音,別人也不會來打擾你
  • 其他:
    • Tip 120: 若你需要使用目的地的Internet服務,事先查出該公司的服務電話,如此一來一下飛機就可以聯絡他們。
    • Tip 133: 永遠記得隨身攜帶緊急應變用的現金。在一個陌生的城市裡像無頭蒼蠅一樣的尋找 ATM 是非常令人沮喪的。
    • Tip 134: 當可報帳的支出發生後,立刻完成相關的報帳文件填報。事後再重建完整的消費紀錄是非常辛苦的。回公司後立刻呈報相關的報帳文件。
    • Tip 135: 寫下你出國前車子停放的確切位置。不要依賴你超人的記憶力。
    8.   Organizing Yourself...First Things FIRST 
          (這章講的就比較 general 了…類似「自我管理」?)
  • Tip 139: 時常反問自己一個時間管理中最重要的基礎問題:在現在這個 moment,我的時間應如何利用才是最有效率的?
  • Tip 143: 根據 Pareto Principle (柏瑞圖法則),你的工作成果中有 80% 是來自你所做的事情中的 20%。所以找出究竟那 20% 是哪些事情,然後努力精通它們。
    --> 就是在說 80/20 法則嘛 ~~
  • Tip 150: 建立一個 E-Mail 通訊錄,並且將你常聯絡的人彙整為群組,如此可節省大量的打字時間。以每天 50 封 mail 來計算,一年可以省下 125,000 下的 keystroke 時間。
    --> 我覺得「125,000」這個數字很有趣阿 XDD 原文還警告我們不要去嘗試看看按 125,000 次 a 鍵要花多少時間,相信他們就對了!
  • Tip 152: 一般性原則--若某項工作可在 5 分鐘內完成,那麼就現在開始做吧!
    --> 如果是緊急的事情是 ok 啦,但是太常處理這類工作也會影響需要長時間專注處理的重要工作吧。不過若真的太常有這種瑣碎工作,可能也是工作分配有問題。
  • Tip 158: 快速瀏覽你訂閱的雜誌,把有興趣的部份撕下來等有空再讀。如此可以節省翻頁的時間。
    --> 我有試過,但是後來還是放著沒有讀… Orz 看來今年要再認真的嘗試看看。
    9.   Time For Yourself...And What's Important
          (這章也類似上一章啦,跟管理自己的生活有關系,倒是沒有特別做總結)
  • Tip 162: 休息是為了走更長遠的路!(太熟悉啦!)
  • Tip 164: 挑選 11:00 A.M 或者 1:00 P.M. 去吃午餐,如此可以節省排隊的時間。
    --> 也要看公司的規定允不允許囉 … 可以這樣做的話是蠻不錯的,似乎有些銀行就是工作到 12:30 才開始吃午餐。
  • Tip 170: 「擔心」是消耗時間的元兇。會擔心是很自然的,但是應該努力縮短從「開始擔心」到「開始行動」之間的時間。
  • Tip 175: 在上下班的通勤途中聽一些教學錄音帶,利用通勤時間學些東西(平均每人每年要花費 500 小時在通勤上),或者聽一些娛樂節目來放鬆自己。
  • Tip 176: BONUS!! 把這本書推薦給你的配偶、朋友,讓大家都能夠學會如何用更少的時間做更多的事!(廣告廣告)
呼…結果後半段佔了整本書大約 2/3 的篇幅呀,有空應該每個月都快速 review 一下這些技巧 (應該會越看越快),思考一下有哪些需要調整,或者哪些可以實際拿來應用的..

整本書看完之後,發現對於網路世代的工作環境其實著墨不多(最多就寫到 E-Mail),
而且很多技巧對於中高階主管是比較有用的,但是還是有很多可以參考的地方,
希望今年可以成功的讓工作更有效率,生活品質更好~

有興趣的朋友可以到這裡下載 PDF。

2009年1月3日

[好書推薦] Time Management - 175 Ways to Get More Done In Less Time (Day1)

呼…很快的就進入 2009 年囉,今天在整理還沒讀過的文章時, 發現一本好書:Time Management – 175 Ways to Get More Done In Less Time


雖然從小到大各式各樣時間管理的書籍或文章看過不少,不過相較於長篇大論的文章,
這本書彙整了 175 個小技巧,每個技巧用兩三句話解釋,看起來比較輕鬆沒有負擔,
也比較容易針對每個技巧更深入的思考。

本書一開始的導讀就說:每個人都想用更少的時間完成更多的事情,本書沒有提供讓你可以每天憑空變出幾個小時的魔法,但是有很多實用的建議!


其中 175 個小技巧被分為九章來講,這篇就先紀錄一下前五章裡面我看了比較有 fu 的技巧,明天再來分享後面四章的內容吧!(橘色是我精簡翻譯後的原文,灰色的字是我的感想)
  1. Getting Started...On The Right Foot
    (第一章是整本書的基礎,也是提綱挈領的一章哦)
    • Tip 1: 花兩個禮拜的時間紀錄你每天的時間用在做什麼事情上,這是用來檢視你的時間利用好壞與否的基礎。
      --> 就像理財必須要清楚知道你把每一分錢花到哪裡去一樣,要做好時間管理也必須先搞清楚你的時間是怎麼被用掉的。
    • Tip 2: 一項工作最大的挑戰是如何踏出開始的第一步,因此將重點放在如何開始進行一項工作,而非如何完成它。
      --> 事情拖越久就感覺越困難,「工作不開始就永遠不可能結束」。
    • Tip 4: 在紙上思考。把工作目標、待辦事項、遇到的困難等寫下來有利於釐清問題,且可有校節省寶貴的腦力(短期記憶力)
      --> 例如:專案管理技巧中的 Work Breakdown Structure
    • Tip 8: 時常嘗試最新的 Electronic Organizer (像是PDA之類的),充分利用最新的功能以節省你寶貴的工作時間。
      --> 今年的確很想好好 survey 看看要怎樣管理 to-do list,讓工作能夠更有效率,生活更有品質…
  2. Your Work Space...Home Sweet Home
    (這章主要在講如何管理你的工作環境,以增進工作效率)
    • Tip 22: 找一個超大的廢紙簍, 把沒用的文件統統丟進去吧!反覆整理一堆再也用不到的文件只是單純的浪費時間而已。
      --> 「超大的廢紙簍」很有趣 XD 這個概念跟清掉家裡無用的垃圾類似,定期把家中永遠用不到的東西整理的整整齊齊也沒有任何意義
  3. The Work Environment: Color Your World...Productive
    (跟前一章其實蠻類似的…我不知道要下啥標題=.= )
    • Tip 31: (在剛進公司/學校的時候)花些時間好好瞭解組織中各部門所扮演的角色。當日後工作中有需要請某部門處理某件事情的時候才不會毫無頭緒。
      --> 對於所處的環境要有基本的認識,要瞭解有哪些限制,以及有哪些可利用的東西。
    • Tip 34: 想讓大家清楚瞭解你所寫的東西(待辦/注意事項、命令等)?把你所寫的句子濃縮 15 個字以內。
      --> 我要特別注意這一點 … Orz    E-Mail 盡量簡單扼要。
    • Tip 37: 不要幫別人解決他們的問題,否則後續的問題都會變成你的問題。幫助他們學習如何解決問題即可。
      --> 與其給他魚吃,不如教他怎麼釣魚。(亂入)
  4. Interruptions...The Office Plague
    (這章很重要!如何減少工作被打斷所造成的影響!帶新人的時候保證用的上。)
    • Tip 39: 當有人來訪時,在辦公室門口接待他,並且在門外討論事情。讓他們進入你的辦公室會延長被打斷的時間。
      --> 這應該是寫給中高階主管看的吧@@ (我何時才會有自己的辦公室呢? XD) 蠻有趣的觀點,但是不會不禮貌嗎?
    • Tip 40: 當有人不請自來時,站著跟他們討論事情,直到你決定這個談話有必要繼續為止 (再坐下來)。站著比較不舒服,因此比較不容易讓這個談話變成長篇大論的閒聊。
      --> 還可以順便偽裝成站起來是出於禮貌:p 這也呼應 Tip 42 說的:不要在你的辦公室放額外的椅子,真的需要的時候總有辦法從別的地方找出椅子來。
    • Tip 43: 不要讓你的桌子面對辦公室的門口,當無法直接看到你的臉時,通常別人就比較不會想要去打擾你。
      --> Again..對於我們這種小咖來講是逃不了的,夠大咖的主管也不會隨意被打擾,因此在中低層主管的階段可以參考一下 :p
    • Tip 46: 不要在座位旁邊存放零食!零食最容易吸引各式各樣的人來打擾你的工作。
      --> 所以零食要用玻璃罐子裝好鎖在抽屜裡 (以防老鼠),然後背對著門口默默的偷吃 … (誤)
  5. The Phone, Voice Mail, And E-Mail...The Invisible Invaders
    (這章對業務來說最重要了,跟電話有關的我就比較不熟了…)
    • Tip 54: 在語音訊息中明確告知留言的人,你大約多久可以回覆。如此可避免對方短時間內不斷打來,留下大量的語音留言訊息。
      --> 幸好我沒這種困擾 …
    • Tip 56: 站著講電話。研究顯示站立時人腦處理資訊的速度比坐著的時候可增加 5 ~ 20%。很多名人工作時都是站著的。(Thomas Jefferson, Ernest Hemingway, Winston Churchill)
      --> 重點是要避免屁股變大啦!
    • Tip 58: 當你在語音留言時,慢慢的、清楚的說明回撥給你時要打哪個號碼,兩次。為了搞清楚要回撥哪個號碼而重複聽取語音信箱是令人憤怒的。
      --> 欲速則不達?總之能夠一次講清楚是最好的,否則很容易浪費時間。
明天要分享的四章的標題如下:

    6.   Meetings...Making The Most Of Them
    7.   On The Road...Making Time
    8.   Organizing Yourself...First Things FIRST
    9.   Time For Yourself...And What's Important

有興趣的話可以到這裡下載 PDF 檔,順便祝大家 2009 新年快樂!

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D