2014年11月8日 星期六

apt-get 常用指令


apt-cache search package 搜索程式
apt-cache show package 取得程式的訊息
sudo apt-get install package 安装程式
sudo apt-get install package - - reinstall 重新安装程式
sudo apt-get -f install 修复安装      "-f = --fix-missing"
sudo apt-get remove package 移除程式
sudo apt-get remove package - - purge 删除程式,包括删除配置文件等
sudo apt-get update 更新程式
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解程式依存關係
sudo apt-get build-dep package 安装編譯的程式
apt-get source package 下載程式的開源碼
sudo apt-get clean && sudo apt-get autoclean 清理無用的檔案
sudo apt-get check 檢查程式的依存關係是否有損壞

2014年11月2日 星期日

char欄位插入中文字與英文字的差別


建立一個char(5)的文字欄位

試著新增‘中字長度六個’的文字






顯示警告,仍然新增成功,將多餘的字元截斷












新增‘1234567890a’的11個英文字











出乎意料,英文字也是在第六個字就截斷了











所以char(5)在中文字和英文字的結果都是一樣的

2014年11月1日 星期六

查詢文字欄位的長度




select length('中'),佔3個byte













select bit_length('中'),佔了24個bit











select char_length('中'),得到1個中文字












結論:計算中文字長度要用char_length()函數


2014年10月31日 星期五

[Table Schema]文字欄位的考量,應該選擇char還是varchar?


varchar因為有動態選擇大小的好處,所以以前都以varchar為文字欄位的第一選擇,看了一些書上的設計都以char為主要文字考量,上網查了一下資料

最後了解選擇char主要的考量是效能,有興趣的可以參考

MySQL varchar 長度和效能問題


char欄位會將未填滿的空間以空格填滿,所以第一考量是查詢時的where條仵是否正常(總不 能每次都要Trim掉空格吧)


先以describe [TableName] 查詢表格的schema



裡面有兩筆資料








以正常條仵查詢,結果:正常

select * from event_logs where message='name'










查詢條件「後面」增加空格,結果:正常

select * from event_logs where message='name  '









查詢條件「前面」增加空格,結果:不正常

select * from event_logs where message='  name'








看起來char欄位在查詢時會自動將後面空格略過,以length()函數查詢長度也是不含空格的字數

select length(message) from event_logs where message='name  '











結論:接下來文字欄位應該都以char為設計欄位了


2014年10月19日 星期日

修復vmware無法正常顯示硬碟空間的情況

因為原本設定的硬碟空間太小,增加了空間之後想說順便重組一下,等待的過程中又開了其他程式,沒想到................當機


之後原本的Ubuntu的OS就離我而去了......(竟然沒有顯示硬碟)



後來看到可能的解決方法,因為如果虛擬系統是選擇用多個檔案儲存(建立系統的時候會問用單一檔案還是多個檔案),裡面出現一個檔案名怪怪的,不過要變更名稱前要記得備份喲


開啟第一個.wmdk的檔案,裡面記錄了應該載入的檔案名(果然是這個原因)


將檔案名稱改回正常對應的名稱後,再重新開啟.wmx檔案,果然就正常了






2014年7月19日 星期六

ADB server didn't ACK 的錯誤


執行Eclipse時出現ADB server didn't ACK 的錯誤時可以參考


Error : ADB Server Didn't ACK on Windows



另外要找哪一個PID佔用的5037(ADB的Port)有時會很長一串,如果要分頁瀏覽,可以參考以下指令

netstat -aon|findstr "5037"|more 






找到3184的PID後可以先查是哪一個程式佔用了Port

tasklist /FI "PID eq 3184"




知道了以後,可以關掉該程式或是直接Kill PID

taskkill /F /PID 3184



最後再啓動ADB

adb start-server



註.20140720

如果有安裝同步軟體像是HTC Sync這一類的軟體,在工作管理員裡會發現adb.exe怎麼也關不掉,必須先把HTC Sync關掉後就可以正常執行了






android 4.2以後版本如何出現開發人員選項模式


Android 4.2以後版本,可以參考下圖顯示開發人員選項


熱門文章