發表文章

寫在東京馬拉松之前

前言 有關東京馬拉松的抽籤細節, 網路上已經有很多人分享所以不在綴述, 我只談中籤後的安排。 報名日期:  2017/08/01 10:00 至 08/31 17:00 公佈抽籤結果:  2017/9/25 10點後就陸續收到email 通知。 中選的人在2017/10/5 17:00 前要上往填寫資料並付款,費用是 12800 日元 報名填寫資料時會註記是否要寄物, 如果選擇不寄物,完賽後會收到一件披風,而且可以不用到海外跑者領物處, 可以少走一大段路, 像今年天氣不錯, 很多人都很後悔,應該選不寄物才對。 我今年選擇寄物, 寄的其實也只有 行動電源(手機還有電, 所以沒用到), 外套(這個有用, 但可以用披風取代, 而且只要進入地鐵站都有暖氣),還有一雙蚱蜢拖(不要換應該也沒差),未來還有機會我應該會選擇不寄物。 住宿規劃 日本的飯店很多都是免收訂金, 所以很多人是抽簽前就先訂好住宿, 沒抽中再退,   如果要搶熱門的住宿點也可以考慮這種方式, 不過要記得退訂。 東馬的起跑點是東京都廳,終點是東京車站, 所以不管住那裡, 都會有一段去程或回程的交通, 但是因為東馬的起跑時間為 09:10, 進入gate 的時間為 07:00, 但因為人很多, 最好是7點鐘就到達, 住在終點附近是一個不錯的選擇, 只是終點附近的住宿,可能很早就被訂完了。 因為可進入gate的時間並不是很早, 所以只要是住在地鐵沿線, 40-60 分鐘以內能到的地方應該都很方便,此次我就選擇住在大江戶線的藏前, 如果有親友來,東馬的路線有經過雷門,因此只要在飯店門口就可以幫親友加油,還可以到淺草附近的商店街逛街購物, 是一個不錯的住宿點。 淺草藏前的交通非常方便, 可以坐大江戶線/淺草線/銀座線, 而且羽田機場的京急線, 可在岳泉寺接到淺草線, 只要坐到適當的車,可以不用換車直接到淺草。    機票 知道中籤後就開始著手準備購買機票 這一次是我第一次坐廉航也是第一次做紅眼班機 因為在規劃行程時, 發現如果是凌晨到機場, 我將會有一整天的時間可以逛, 如果是白天才來, 可能到...

Android Market 我的應用程式不見了

圖片
Android Market 中我的應用程式, 有一個很好的功能, 可以讓我們知道那些應用程式有新的版本, 可是突然發現只剩下一支新安裝的程式其餘程式都不見了. 只要將market 的資料清除, 再重新開機就可以恢復, 步驟如下: (1) 開啟設定-->應用程式-->管理應用程式        點選Market (2) 點選清除資料( 快取也可以順便清除)   (3) 重新進入Market. (4) 我的應用程式恢復正常了.

如何使用SQL Profiler 找到語法錯誤

圖片
  SQL Profiler 我們在執行SQL 語法時, 常發生SQL Server 端的錯誤, 但無法直接由Client 端的訊息看出來,此時我們可透過SQL Profiler 來找到Server 執行的錯誤, 只是Server 端的事件那麼多該如何找到錯誤呢? 一個很重要的觀念, SQL Server 不論執行的結果如何, 正確或錯誤都會產生Complete的事件, 如 StoreProcedure 的 SP:Completed/StmtCompleted   一般SQL 的SQL:StmtCompleted / BatchCompleted. 奇怪了, 都錯了怎麼還有BatchCompleted 呢? 別緊張在Error 欄也有寫執行結果(1-Error) ,因此我們可以針對執行結果為1-Error 的部份, 來看它的錯誤原因,只要設定Exception 及User Error Message , 並針對所需的指令類別(StoreProcedure或一般SQL)所需的Completed 事件, 就可以找到錯誤的指令.   實際應用的案例 以下是一個我們在Client 端程式所發生的錯誤, 可是單由Client端的訊息看不出來錯在那裡, 執行資料庫Schema 更新失敗(Schema Ver.18 update failed) 接下來要找到失敗的原因. 1. 開啟 SQL Profiler. 開始-->程式集—>Mircosoft SQL Server 2005->效能工具->SQL Server Profiler. 2.新增追蹤 3.連結資料庫 4.設定所需的事件 預設項目除了 RPC:Completed , SP:StmtCompleted, SQL BatchCompleted 其餘均可取消.   5.勾選 顯示所有事件及顯示所有資料行. 6.選擇必要的事件    對於找出一般SQL 指令的錯誤而言, 只需要設定三個值, 其餘可取消.    設定Errors and Warnings 之 Exception 與User Error M...

如何以SQL指令作Performance Tuning

圖片
一般而言SQL 的Performance Tuning 可使用SQL Profiler , 但是如果要調教的機器上SQL Server上並未安裝SQL Profiler 或使用者不會使用SQL Profiler時, 則可用指令的方式執行. 本案例的狀況是: 對方的機器是SQL Server 2008 且未安裝SQL Profiler. 筆者手上的機器只有SQL Server 2005 , 但有安裝SQL Profiler . 1.建立SQL Profiler 的指令檔. 1.1 開啟SQL Server 2005 , 進入SQL Profiler.   1.2. 選擇追蹤的事件    可設定常用的事件, 包括 RFC:Completed, SP:StmtCompleted,SQL:BatchCompleted 1.3.設定資料行篩選,     可設定篩選條件例如針對Reads 的次數大於1000以上才記錄. 1.4. 設定完成後, 點選執行後, 在將其停止, 並匯出指令檔. 1.5. 產生的SQL 如下: (若上述的追蹤項目可用, 可直接使用以下的SQL 追蹤) -- Create a Queue declare @rc int declare @TraceID int declare @maxfilesize bigint set @maxfilesize = 5 -- Please replace the text InsertFileNameHere, with an appropriate -- filename prefixed by a path, e.g., c:\MyFolder\MyTrace. The .trc extension -- will be appended to the filename automatically. If you are writing from -- remote server to local drive, please use UNC path and make sure server has -- write acce...

比對SQL Server 資料庫Schema

圖片
  下載位址: http://www.dbcomparer.com/ 版權: Free 適用資料庫版本: Microsoft SQL Server 2008 (and 2005) 功能說明: DBCompare 可以比對SQL Server 2008 與 2005 的資料庫的Schema,其比較的項目包括整個Schema 所有項目.   1. 安裝DBcomparer 2. 輸入兩個資料庫的位置與認證資訊 3.設定比對項目 點選Compare Options 可以選擇比對的項目. 3.開始比對 點選Compare Now 開始執行比對. 4.比對結果   上方視窗顯示兩個Schema 的差異 5.差異說明 黑色字表是兩者相同 紅色與欄色字皆表示可能有差異 差異可能是欄位也可能是索引, 因此可以展開有差異的檔案逐一檢視.

選擇適合的流程平台

BPM、SOA、Workflow、電子表單 打開Google 輸入BPM、SOA、Workflow、電子表單任何一個單字,至少可你看到數十種以上得產品,包括ultimus、K2、AgilePoint、華苓(AgentFlow)、超義(Power Process)、新人類(FlowMaster)甚至Oracle、IBM、Mircosoft…等等都有相對應的產品,早期最常被客戶問到的是BPM與Workflow 有什麼不同?要導入SOA或BPM呢?現在大家已經不在意這個問題了, 因為現在所有的產品都說是自己是BPM或SOA. 每個產品都號稱自己功能強大, 只要簡單的拖拖拉拉工作就完成了,真的是這樣嗎?如果導入了一個錯誤的產品, 簡單的需求當然沒有問題, 但是面對複雜的問題時, 因為東西已經買了, 要退貨或解約, IT 主管不只要面對廠商, 也要面對內部老板的壓力, 在這種情形下只好改變公司的流程去迎合產品. 有句話說不管黑貓白貓能抓的到老鼠的就是好貓,同樣的不管叫SOA或BPM只要能符合企業需求的就是好流程. 為了避免導入不適合的產品, 在導入前應該更審慎的評估, 先了解本身的需求, 再評估那一個產品適合自己的企業, 可是面對市場上琳瑯滿目的產品或平台該如何選擇呢? 企業應該導入一個BPM產品(電子表單系統)或SOA的架構? 在評估適合產品時,我們可以先看一下兩個最常見的產品類別,不論是Workflow或電子表單我們統一叫作BPM, 另一類是屬於較完整的架構的我們稱為SOA.  導入SOA 在一個SOA的平台中不論外掛或整合都會含有BPM的模組, 目前市場上所看的到的SOA平台都是屬於資訊界的大廠所推出的產品. SOA平台(含BPM 模組)其特點是平台架構完整, 因此具有未來擴充性, 同時SOA的平台通常可以用程式語言開發流程所需要用到表單與各種整合的元件,可是導入一個SOA的平台不是只由技術層面來考量, 還要由公司整體IT發展的策略來看, 因此架構完整的另一個義意, 代表了覆雜, 因此很難短時間內看到成效. 通常SOA的平台較擅長的是在自動化流程或系統整合部份, 面對華人地區覆雜的簽核流程時組織簽核的功能通常較弱, 我常開完笑講在歐美是符合規則就不用簽, 在台灣是符合規則就要簽, 而且這個規則的彈性很高, 其實台灣的企業都...

AgilePoint逐級簽核與指定簽核層級範圍

圖片
  循序簽核 企業流程中, 大部份的行政流程都採用申請者逐級簽核的方式進行, 由申請者開始依組織的層級逐級向上簽核,當導入BPM或Workflow時也會面臨同樣的問題, 一般常見的作法是逐一繪出組織層級與流程. 上述的流程雖然很清楚的呈現簽核者的層級與流程, 可是問題也不少,因為一般流程的訪談都是以最基層的員工為主, 因此很容易發生以自己為出發點去設計流程,試問 1.如果經理自己申請是否要自己核准, 如果協理申請是否要給經理簽 ? 2. 如果有一個部門沒有協理怎麼辦 ?一個流程如果要適用於生產部門的工廠與行政支援部門, 通常其組織結構是不同的, 傳統的作法是把每個組織了流程劃出來, 整個流程密密麻麻. 逐級簽核 新的流程設計通常改用逐級簽核的方式, 以類似迴圈的方式判斷是否達到核決的權限, 如未達到則在找上一階主管, 已達到則離開迴圈, 不論申請者是何層級或組織階層為何皆可執行.   AgilePoint 提供很有彈性的逐級簽核的判斷,可在單一條件的流程元件(Single Condition) 是否達核決權限中判斷指定的流程變數(圖中IsPrivileged)為True或False, 因此只要在流程中依組織的核決規則去設定流程變數值即可. 判斷是否達核決權限的判斷有許多種方法, 第一種是在人工簽核作業元件中設定判斷的基准,該元件會依設定的內容指定流程變數的值. 內件元件可以依人員或部門甚至流程變數的值作判斷, 判斷的方法有特定的值(等於某個層級), 特定欄位值是否符核該層級的區間(經理可准假幾天, 協理可以核准採購金額多少),上簽幾階等不同的方式. 如果內建的內容無法滿足時,亦可在表單上運算然後將結果(True/False)直接設定給流程變數, 不過我們通常不建議將判斷寫於表單上, 比較建議的方法是寫成一個流程元件(AgilePart), 其優點除了簡化表單的設計外, 另一個好處是可以重覆利用這個元件, 達到組合流程的目的. 資產處分流程中, 依資產使用年限與殘值決定核決層級, 以AgilePart 製作核決權限判斷元件. 設計一個可參數化的流程元件直接設定所需的核決層級. 透過上述幾個案例, 可以發現逐級簽核有兩個重點, 一個是需要一個樹狀...