Pages

2014-09-24

浮動虛擬按鍵 Back Button

安卓手機的實體按鍵之排列順序隨廠商習慣被固定住了,例如程式切換鍵很常用(多工切換),卻往往卻只有設定Menu鍵。返回(Back)實體鍵的位置或偏左偏右,可能因為自己持機習慣及手的Size而產生困擾,最好的解決方案就是透過浮動虛擬按鍵,自己決定按鍵順序、Size及位置。它也可以安裝有平板,如此切頁不需要移動手指至下方實體鍵,非常推薦。

Back Button

Google Play下載: (手機不需要rooted)
https://play.google.com/store/apps/details?id=com.appspot.app58us.backkey

畫面擷圖:

Screen Settings

手機不支援下方的虛擬鍵,但平板是OK的。按鍵的Size、位置及Style都可以設定,也可以設定透明度,就不會影響前景文字顯示了。

2014-09-17

體重記錄 Simple Weight Recorder

若在積極控制體重變化,推薦這一套簡單實用的體重記錄APP. 它不像其他減重APP弄很複雜的介面,只需要你隨時量測,輸入數字,即可繪製體重變化曲線圖。

App Image

Google Play下載:
https://play.google.com/store/apps/details?id=jp.cbrains

畫面擷圖:
Snapshot

2014-09-15

Skype Full Installer Download

在Skype官網裏的下載,僅提供Windows線上安裝版,其實官網也有提供Windows離線完整版,只是下載連結很隱晦而己。

Skype Logo

以下的link可下載最新Windows桌面離線Skype完整安裝版本:
http://www.skype.com/go/getskype-full

2014-09-10

ASP.NET Global.asax之事件未正常觸發原因

Gloalbal.asax(以下簡稱G檔)是ASP.NET站台在IIS中最先啟動執行的檔案,它的Application_Start(), Session_Start()可以應用在線上瀏覽人數統計等相關應用上,從ASP.NET 2.0以後我都有使用它,歷經很多網站架構的改朝換代,直到使用ASP.NET 4.0之後突然發現其檔案內的Event都沒被突發。網上搜尋的可能方法都試過N遍了,最後才歸納出一些結果。以下研究是以ASP.NET 4.0為例,架構在WIN2008R2 + IIS 7.5下,更舊.NET版本就不在本文研究範疇了。

Global.asax Excluded

當站台要發佈Release到正式主機時,通常我們會在Publish介面把各頁面的源碼編譯成一個Main DLL檔,除了能保護源碼及方便Copy佈署簡單外,頁面載入速度更快(因為CodeFile方式的自動編譯碼似乎會在某時間後被Recycle回收)。以下是以Single Assembly的發佈方式(編號1),而編號2主要的差別是把App_Code下的類別獨立成一個App_Code.dll而己。我個人偏好第一種方式,因為Library會以另外的專案加入,App_Code/下通常只放與專案UI連動的相關函式庫而己。

ASP.NET Publish

Publish前,若根目錄下的G檔存在(未被Excluded),它就會被編譯入主要的輸出DLL內,因此Deploy根目錄下不會出現G檔,並會自動產生「/Bin/App_global.asax.compiled」標示檔。因此,若想讓User日後能修改G檔源碼,記得先把Global.asax遮蔽(Exclude)再Publish,這樣產生的Main DLL就不會含有G檔編譯碼,接著手動將Global.asax複製至Deploy根目錄下,並移除或更名「/PrecompiledApp.config」及「/Bin/App_global.asax.compiled」兩個檔案。

根目錄之「PrecompiledApp.config」標示檔案,它的存在是告訴ASP.NET優先執行Main DLL下的編譯碼版本, 而非最新動態自動編譯的版本(若頁面使用CodeFile即時源碼編譯,則優先執行不受該檔存在與否影響)。因此要手動執行G檔源碼事件,PrecompiledApp.config必須移除或更名,否則會被Main DLL取代(假如它不含有G檔編譯)而不執行了。

最後,了解在Publish相關概念及差異後,若發現站台的G檔事件未能正確執行,也許它因為編譯方式及2個標示檔的存在與否,讓Main DLL檔給Override蓋掉了。

2014-09-03

XAMPP Apache Error: Apache shutdown unexpectedly

啟動XAMPP Apache時,常常會遇到這問題:
Apache Error
90%原因是因為Apache的Httpd Port: 80與SSL Port:443與系統目前的衝突,例如系統若裝有Skype, IIS或VMware都會有這樣的衝突問題。然而,上述的訊息不是很清楚誰衝突到了,因此可以執行XAMPP目錄下的程式:
c:\xampp\apache\bin\httpd.exe
若是Server用途,要調開佔用的程序,若是測試開發性質,則改XAMPP Apache Ports即可。可以利用XAMPP Control Panel的工具來檢查目前的通訊埠使用狀況(編號1),再調整*.config(編號2)的內值,例如httpd.conf裏80埠改81埠,httpd-ssl.conf裏443埠改444埠。
XAMPP Control Panel