鹿港春節遊 (2009.01.27 初二)

2009 新春初二在鹿港天后宮, 看到一大群拜拜求平安的榮景.

人真的真的超多的, 有時眼睛都熏得有夠難受的, 所以, 真的佩服這些虔誠的人們.

下面是我這次所拍的相片 (按一下圖案即可觀看) :
鹿港春節遊

Firefox 值得推薦的外掛 - Firebug (變更網頁立即查看)

對於撰寫網頁 or Blog 的人來說, 最痛苦的其中一件事, 就是修改一下 HTML 原始碼, 然後瀏覽一下網頁, 看效果如何 ? 不好, 再到原始碼中, 再進行修正, 在這樣一來一往之間, 不僅費時且費力.

最近, 發現在 Firefox 的外掛中, 有一個元件 Firebug, 它提供了離線編輯, 讓你可以立即查閱修改後的結果, 非常棒喔,

介紹如下 :

1) 先安裝 Firebug 外掛, 然後重新啟動 Firefox.

2) 點選 "工具 / Firebug / 開啟 Firebug", 來開啟 Firebug 作業 :


3) 在 Firefox 下方, 會出現 Firebug 視窗, 裡面顯示目前網頁的 HTML, CSS 與 Script :


4) 修改 Firebug 程式碼, 上面的網頁立即變更顯示, 但你可以放心, 它不會儲存你真正程式碼, 只是做預覽而已 :


不錯吧, 可以讓你開發網頁 or Blog 速度加快, 讓你更輕鬆喔.

屏東墾丁三日遊 (2009.1.18~1.20)

2009 新春快到了, 分享一下屏東墾丁三日遊的美麗圖片.

下面是我老婆這次所拍的相片 (按一下圖案即可觀看) :
墾丁 & 海生館

a-squared Free 免費的木馬間諜掃除軟體

最近, 認識一個免費且多國語系的木馬間諜掃除軟體.

過年前, 也順便幫電腦掃除掃除一下,

若你覺得電腦卡卡的, 也記得幫電腦掃描一下, 自己多少安心點.

1) 先到 EMSI Software, 下載 a-squared Free 軟體進行安裝.

2) 安裝完畢後, 開啟 a-squared, 你可以在 "Language", 選擇介面的語系 :


3) 因為是免費版本, 不會自動更新, 但你可以在 "安全狀態", 按一下 "立即更新", 自己手動更新 :




若更新時, 無法連上網, 則可以在 "設置 / 更新" 中, 按一下 "網路連接裝置", 進行連線資訊的設定 :


設定 Proxy Server 或 Username / Password :


4) 在 "掃描電腦" 中, 選擇 "掃描類型", 按一下 "掃描" 即可進行 :


得到掃描結果後, 你可以刪除勾選項目, or 隔離勾選項目 or 重新掃描 :


雖是免費版本的, 但已能滿足我的需求了, 希望也對你們有所幫助.

Oracle PL/SQL: 讓 Character 與 Ascii Code 轉換

在 Oracle Database 中, 要讓 Character 與 Ascii Code 轉換, 可以透過下面的方式 :

Character to Ascii Code :
 程式碼
Ascii數字 = ascii( '字元' );

例如: select ascii('﹑') from dual;
結果: 15711652


Ascii Code to Character :
 程式碼
字元 = chr( Ascii數字 );

例如: select chr('15711652') from dual;
結果: ﹑

Oracle PL/SQL: 讓 Varchar2, Number, raw 互轉

在 Oracle Database 中, RAW 是一種 16 進位的資料型態.

以下列舉 "varchar2 與 raw 的轉換", 還有 "number 與 raw 的轉換" :

varchar2 to raw :
 語法
v_raw_var := utl_raw.cast_to_raw(v_varchar_var);

raw to varchar2 :
 語法
v_varchar_var := utl_raw.cast_to_varchar2(v_raw_var);

number to raw :
 語法
v_raw_var := utl_raw.cast_from_number(v_number_var);

raw to number :
 語法
v_number_var := utl_raw.cast_to_number(v_raw_var);

推薦 Workflow 基本入門動畫教學

對於剛接觸 Oracle ERP Workflow 的人而言,

下面的這段影片, 應非常適合入門者參考,

網址 : Workflow 基本入門的 Flash 教學.

SUMo (Software Updates Monitor) 軟體版本檢查工具

最近, 找到一個不錯的版本檢查工具 SUMo (Software Updates Monitor),

透過它, 你可以知道裝了哪些軟體, 以及這些軟體的目前版本, 最新版本是多少, 甚至可以直接告訴你到哪裡取得最新更新.

更重要的是, SUMo 是免費且是多國語系界面的.

以下是我大略介紹 SUMo :

1) 先到 SUMo 官網, 下載 SUmo 且進行安裝.

2) 第一次啟動時, 會自動開啟 "精靈", 選擇 "自動偵測已安裝的軟體", 系統會搜尋電腦上裝了哪些軟體 :


3) 檢查完畢後, 會有一些檔案類型無法確認, 不用理它, 按 "關閉" 即可 :


4) 這是它的主作業畫面, 各按鈕功能說明 :
檢查 : 檢查每個軟體的最新版本
掃描 : 重新掃描搜尋電腦上的軟體
加入 : 手動指定軟體
刪除 : 刪除選擇的軟體項目
忽略 : 忽略選擇的軟體項目 (感覺跟刪除功能差不多)
取得更新 : 下載軟體的最新版本


5) 按了 "加入" 鈕後, 系統會開啟對話框, 由你自己選擇軟體 :


6) 按了 "刪除" 鈕後, 會將選擇的項目移除掉 (不是移除軟體喔) :




7) 進行 "檢查" 前, 若上網需用到 Proxy, 請先到 "選項 / 設定" 中, 設定系統上線資訊 (在這裡也可選擇多國語系) :


8) 按了 "檢查" 鈕後, 系統正在上網確認最新版本 :


9) 按了 "取得更新" 鈕後, 系統會開啟選擇項目的下載網頁 :


Java iText 如何設定 PDF 行距

Java 在利用 iText 產生 PDF 時,

若只是利用 document.add( new Paragraph(str) ); 輸入段落資料,

在同樣的紙張大小, iText PDF 的行數會比正常情況少一些,

這是由於行距過大而造成的,

其實, 在 iText 中可以設定行距 (Leading), 如下 :
 程式碼
document.add( new Paragraph(行距數值, str) );

這樣, 就可以解決行距的問題了.

快速修改 Oracle ERP 使用者帳號

在 Oracle ERP 中, 如何快速更改使用者帳號,

而不是到使用者作業中, 一個一個修改,

或者自己 update table, 卻又怕有遺漏,

不用擔心, Oracle ERP 本身有提供一個 Package, 用來更改帳號, 如下 :
 程式碼
begin
fnd_user_pkg.change_user_name( 'old_user_name', 'new_user_name' );
end;

這樣子, 除了客制的 Table 之外, 所有 Oracle ERP 有關於舊帳號的資訊, 一律換成新帳號, 不用擔心遺漏.

User 登入時, 出現 'no valid responsibilities available' 錯誤

在 Oracle ERP 中, 若 User 登入時, 出現 no valid responsibilities available 錯誤, 該如何處理呢 ?

原因, 如下 :
 說明
雖然在 "Oracle ERP 作業" 中, 該 User 擁有的某些 Responsibility 沒有失效,
但在 "WF_LOCAL_USER_ROLES" table 中, 有些欄位值已失效,
而導致此錯誤訊息.

解決方式, 如下 :
 程式碼
update WF_LOCAL_USER_ROLES
set USER_END_DATE = null
, ROLE_END_DATE = null
, EFFECTIVE_END_DATE = null
, EXPIRATION_DATE = null
where USER_NAME = '&USER_NAME'
and EFFECTIVE_END_DATE > SYSDATE;

-- 避免將真正已失效的 Respsibility 又再次生效

Workflow 遇到 WFNTF_ROLE, is not a valid role or user name 錯誤

在 Oracle ERP 中, 若 Workflow 簽核指定某位 User, 卻出現 Error Name: WFNTF_ROLE, Error Message: 'User' is not a valid role or user name 錯誤, 該如何處理呢 ?

原因, 如下 :
 說明
雖然在 "Oracle ERP 作業" 中, 該 User 雖沒有失效,
但在 "WF_LOCAL_USER_ROLES" table 中, 有些欄位值已失效
或在 "WF_LOCAL_ROLES" table 中資料不存在,
而導致此錯誤訊息.

解決方式, 請按照下面方式處理 :
 利用 Standard 作業更新
1) 到 Employee 作業重新 Update 存檔.

2) 然後到 Fnd User 作業中, 清除 Employee 欄位資料, 存檔,
再設定 Employee 欄位資料, 存檔即可.

若還是無效, 則可能在 "WF_LOCAL_USER_ROLES" table 中, 有些欄位值已失效, 執行下面語法即可
 程式碼
update WF_LOCAL_USER_ROLES
set USER_END_DATE = null
, ROLE_END_DATE = null
, EFFECTIVE_END_DATE = null
, EXPIRATION_DATE = null
where USER_NAME = '&USER_NAME'
and ROLE_NAME = '&USER_NAME';

修正完畢後, 再到 Workflow 中, 將目前錯誤的 Workflow Activity 重新 Retry 即可.

Oracle 的 DBA, ALL, USER 三種類型物件的差異

在 Oracle Database 中, 若有注意到的話, 會發現有 DBA_xxxx, ALL_xxxx, USER_xxxx 等三種類型的物件,

如 : DBA_OBJECTS, ALL_OBJECTS, USER_OBJECTS

但這三種類型的物件, 到底其差異為何 ?

說明, 如下 :
 差異性
  • DBA_ : 可以看到 "所有 User" 的資訊,
    如 DBA_OBJECTS, 你可從這裡查到 All User 擁有的物件有哪些
    (這類型的物件, 只有特定權限的 User 才可查看)

  • ALL_ : 可以看到 "自己的 and 其他 User grant 給你的" 資訊,
    如 ALL_OBJECTS, 你可從這裡查到自己與其他 User Grant 給你的物件有哪些

  • USER_ : 只可看到 "自己的" 資訊,
    如 USER_OBJECTS, 你可從這裡查到自己的物件有哪些

Windows XP 變身大改造 - 仿 Windows7, Vista, Linux, Mac

對於想使用 Vista, 但又怕軟體相容性 or 硬體不夠強跑不動的, 可以參考下面方式, 讓自己的 XP 也能夠仿 Windows 7, Vista, 還可仿 Linux, Mac :

1) 安裝 WindowBlinds, 改造 XP 視窗介面 :
Windows 7 :


Vista :


Longhorn :


2) 安裝 WindowFX, 讓 XP 擁有工作列縮圖 :


同時, 也擁有利用縮圖切換視窗 :


3) 安裝 WinFlip, 讓 XP 也有 3D 切換視窗 :


4) 安裝 Google Desktop, 讓 XP 擁有 Sidebar :


5) 安裝 RocketDock, 讓 XP 擁有 Mac 平台專有的 Dock :


6) 安裝 CubeDesktop, 讓 XP 也能像 Linux 有多個工作區 :



總之, 有很多種方式, 讓你的 XP 大變身大改造.

順便, 介紹一段 Youtube 影片, 展示 7 個讓 Windows 變身軟體 :

Windows 7 的多點觸控

這段影片, 詳細展示了 Windows 7 的多點觸控, 推薦一下.

Oracle PL/SQL: 另一種取代字串的函數 - translate

之前有寫過, 在 Oracle Database 中用 replace 替換字串 (請看這裡).

目前大都也都使用 replace,範例如下:
 程式碼
select replace('abcde', 'abc', '123')
from dual;

-- 結果: 123de

但若想把 abcde 字串中的 a to 1, c to 2, e to 3,以往做法如何呢 ?
 程式碼
select replace( replace( replace ('abcde', 'a', '1'), 'c', '2'), 'e', '3' )
from dual;

-- 結果: 1b2d3
-- 但需要三層 replace 才可替換


translate 替換剛才的需求 :
 程式碼
select translate ('abcde', 'ace', '123')
from dual;

-- 結果: 1b2d3
-- 只需一個 translate 即可.


再來看看 translate 的其他應用 :
 程式碼
select translate ('abcde', 'ace', '12')
from dual;

-- 結果: 1b2d
-- 因為沒有指定 e 的替換字元,所以 e 就不見了.

Blog 的文章分類樹狀(Tree) 顯示

為了如何將 Blogger 的文章分類, 顯示有樹狀結構, 花費不少搜尋時間, 目前發現有兩篇文章, 可供參考 :

.重灌狂人 - 網站、部落格「樹狀分類產生器」: 點選此處

.在 Blogger 裡加入可展開的樹狀連結清單 : 點選此處

以上這兩篇文章都不錯, 但我是採用第二篇的方式, 原因沒有別的, 就是可以自行修改程式, 隨時都可新增分支.

成果展示 :

Blog 顯示熱門文章 - 第三種方式 HotBox

之前, 有寫過兩篇關於 "熱門文章", 但是, 用到現在, 目前我覺得最好用的, 還是 "HotBox 熱盒子",

它除了提供熱門文章外, 同時也顯示的其點擊數, 方便不錯, 在此推薦一下, 以下是其實作方式 :

1) 先到 HotBox 熱盒子, 第一次登入, 請先建立一組免費的帳密, 與你的 Blog 網址 :


2) 先打開 "Blog / 版面配置 / 修改 HTML", 然後在 </head> 之前, 加上這段程式碼 :


3) 利用 "新增小工具", 將這段程式碼加進來即可.


結果顯示 :


p.s. 使用 HotBox, 可能會拖慢你 Blog 的顯示速度, 是否使用就要考慮一下喔.

Blog 顯示熱門文章 - 另一種方式 My Hot Post

之前, 有寫到過用 PostRank 顯示熱門文章,

這次, 介紹另一種更簡單的, 用 "My Hot Post" 顯示熱門文章.

1) 先到 My Host Post 網站, 點一下右下角的鏈結 :


2) 輸入自己的 Blog 網址, 以及隨便一個密碼 (不一定要跟 Blog 密碼相同) :


3) 在 "安裝貼紙" 中, 先複制這裡的程式碼 :


4) 在 "取得語法" 中, 有兩種方式顯示熱門文章, 選擇一種, 複制其程式碼 :

. 以 "輪播方式" 顯示


. 以 "列表方式" 顯示


5) 將前兩個步驟的程式碼, 一起貼到 Blog 中即可, 以下就是我的成果 :


不錯吧, 心動就馬上行動做一個.

Blog 加入熱門文章

若想在自己的 Blog 顯示熱門文章, 可以利用 PostRank 網站, 實現步驟如下 :

1) 先到 PostRank 網站, 按一下右邊的 "Top Posts Widget":


2) 滑鼠移到 "Get Widget", 即會有下拉圖示跑出來 :


3) 輸出自己的 Blog 網址 :


4) 選擇工具顏色 :


5) 一次要顯示幾篇熱門文章 :


6) 複製 JavaScript, 然後, 貼到自己的部落格即可 :


若覺得不夠詳細, 還可參考其他 Blog 的這兩篇文章 :

發現生活的價值 - 文章閱讀排行 - PostRank

利用AideRSS來建立熱門文章功能

Blogger 的隨機文章

若你想在自己的部落格, 顯示隨機文章, 可以按以下步驟, 即可實現 :

1) 先到 "Stuff a Blog", 它有免費提供隨機文章的程式碼.

2) 到它網頁後, 點選 "BStir" 圖示, 如下 :


3) 在 Blog URL 中, 輸入你的 Blog 網址, 其中 :
Snippets : 是否顯示部分文章內容.
Border : 區塊是否顯示框線.
Results : 一次隨機取回幾篇文章.
Background : 區塊的背景顏色.


4) 若要一篇一篇輪播, 則按 "Dynamic Widget"; 若要一次條列顯示, 則按 "Static Widget", 然後就會產生程式碼 :


5) 將此程式碼, 貼到 Blogger 中即可.

結果如下, 不錯吧 :
Related Posts Plugin for WordPress, Blogger...