想當初......2011年冬季,
十人的會議室裡有10多個手機軟體工程師在討論AGPS倒底是什麼?
沒想到2013夏季,我再次和同事討論AGPS該怎麼向業務解釋。
在和同事討論前,為了先確保小蒨的記憶和理解無誤,當然得先Google
沒想到……正確的資訊卻不夠多,講得也不夠簡單。
首先直接給你結論跟幾個重要觀念:
1. 定位不一定要 GPS,網路是很可怕滴
2. AGPS不是GPS,而是Server
3. 收錢的不是AGPS,而是你的移動網路
解釋:
1.
打開你電腦看Google地圖,靠,它怎麼知道我人在公司;而且還知道我公司在哪。
回家開家裡的電腦來看google地圖,靠,它怎麼知道我回家了。
因為你有上網。
簡單的說:
有GPS,在室外可以定位,在室內因訊號很微弱,所以就沒作用。 例: 車用導航裝置。
那如果我的裝置沒GPS,卻說有AGPS的功能??
其實就是一種網路定位。
網路定位:不管你是3G、WiFi、ADSL什麼方式上網,就是可以定位。
(你想想網路線路最後都歸誰管?? 不然你資料怎麼傳?)
例如:
個人PC + 網路線 ;
筆記型電腦+3G網卡;
智慧型手機/平板 + 3G行動上網 (或 借別人家的 WiFi 上網 也是一樣的)
2.
網路上都將AGPS解釋成用基地台來定位
這樣的解釋不夠完善,而且會誤導人家
「我的平板沒有3G功能,所以不能用AGPS」
錯了。
AGPS 其實是使用網路中的特定伺服器協助定位,
所以只要你的裝置有連線功能可以和該伺服器做資料交換,
就可以使用這項功能。
3.
假設 基地臺 會讓你想到 3G網路/手機/電話
那我要再告訴你一點,無線網路的AP,你也可以想成是一個小基地臺
這些小基地臺會被網路或真正的基地臺所定位 (網路嘛…不就張網子)
所以為什麼會有費用,主要是因為資料傳輸的關係
如果你所處的環境沒有免費的WiFi可以借用,
自己又沒有申辦3G網路吃到飽方案時,
此時你連上網際網路,自然就會有「上網費用」產生。
好啦,我覺得大家的問題應該主要就這些。
小蒨只負責把一些「可以用來騙人的技術東西」搞得通俗點,
細節技術部份,還請各位親自研讀探索。
2013年6月20日 星期四
2013年5月30日 星期四
在windows底下使用 vim + ctags + taglist 來 trace code
由於換了工作,工作環境也就從 Linux 換成 Windows 了…
但畢竟仍是靠這行混口飯吃,因此還是需要 trace code
此時也就懷念起 Linux 的 vim 和 ctags 了...
繼上次 簡單安裝 vim 來 trace 大型 code base ( in Linux OS) 一文後
現在就來個 windows 版 的 簡單安裝 vim 來 trace code 吧~
所以必須區分是 32 還是 64位元的作業系統,再細分是否為vista、win7等
請點我 到 windows vim 下載頁面
32位元OS,有.exe 檔可以用,安裝應該比較簡單
但小蒨我的是 x64... (細看一下網頁…也許小蒨繞了路也說不定)
反正呢,既然客倌都想安裝vim了,閱讀一些英文我想是ok的…
gvim 其實就是 GUI界面的vim,把一些"冒號"指令等做成選單…
所以小蒨看到了這段話 (好啦,也許我是瞎貓碰上死耗子)
Win64
Native 64-bit binaries for MS-Windows can be found at http://code.google.com/p/vim-win3264/. The Win32 binaries should run too, but the 64 bit version has a few minor advantages (see the web page at the link).
最後小蒨來到了這個頁面,下載了 vim72.zip
請解壓縮…建議放在沒有空格的路徑(像 C:\Program Files,不然就是下指令小心點…)
經驗法則告訴我們…這種要手動的安裝的東西,還是先放在越簡單的路徑越好,像 C:\
但不曉得為什麼網頁也有提到請以vim為資料夾名,所以小蒨就解開放在 C:\vim\ 底下
於是他應該會產生 C:\vim\vim72\ 這種路徑…
簡單來說,就是開啟命令提示字元 -> cd 到對的路徑 -> install.exe
如圖所示
1. 選擇左邊欄位的進階系統設定,會開啟系統內容視窗
但畢竟仍是靠這行混口飯吃,因此還是需要 trace code
此時也就懷念起 Linux 的 vim 和 ctags 了...
繼上次 簡單安裝 vim 來 trace 大型 code base ( in Linux OS) 一文後
現在就來個 windows 版 的 簡單安裝 vim 來 trace code 吧~
step 1 - Download vim
windows 版本需注意,因安裝步驟不同所以必須區分是 32 還是 64位元的作業系統,再細分是否為vista、win7等
請點我 到 windows vim 下載頁面
32位元OS,有.exe 檔可以用,安裝應該比較簡單
但小蒨我的是 x64... (細看一下網頁…也許小蒨繞了路也說不定)
反正呢,既然客倌都想安裝vim了,閱讀一些英文我想是ok的…
gvim 其實就是 GUI界面的vim,把一些"冒號"指令等做成選單…
所以小蒨看到了這段話 (好啦,也許我是瞎貓碰上死耗子)
請解壓縮…建議放在沒有空格的路徑(像 C:\Program Files,不然就是下指令小心點…)
經驗法則告訴我們…這種要手動的安裝的東西,還是先放在越簡單的路徑越好,像 C:\
但不曉得為什麼網頁也有提到請以vim為資料夾名,所以小蒨就解開放在 C:\vim\ 底下
於是他應該會產生 C:\vim\vim72\ 這種路徑…
step 2 - Install vim
現在要來區分你的windows是xp 還是vista之後了;因為後者需要給予權限才可以成功安裝簡單來說,就是開啟命令提示字元 -> cd 到對的路徑 -> install.exe
如圖所示
勇敢的按下enter,畫面變這樣
Just do it!! 輸入 d ,一樣勇敢的按下enter
噹噹!! 裝好了~
如果沒有給予權限…(小蒨剛剛在講你都沒在聽)
就會變成這樣……
此時已經可以使用vim了,用命令提示字元,像在linux 底下一樣的下vim指令即可……
但是我們要trace code,所以需要ctags…
step 3 - Download ctags
請至此下載 ctags,解壓縮後,將 ctags.exe 一樣放在簡單沒有空格的路徑
小蒨則是整包整開就放在 C:\ 底下了,沒去移動 .exe 檔
step 4 - 修改環境變數
我們必須將 ctags.exe 的路徑加入path,才能在命令提示字元視窗中使用ctags 指令
在「我的電腦」按滑鼠右鍵,選擇「內容」
會開啟控制台->所有控制台項目->系統的視窗
如下面所示,
2.選擇進階頁面
3.按下環境變數,會冒出環境變數視窗
4.在環境變數視窗的下面系統變數中,找到path,按一下它當做選擇,此時會反白顯示
5.按一下編輯按鈕
6.加入ctags.exe 放置的路徑,記得用分號來區隔舊的路徑
接著一路按確定退出
step 5 - Download Taglist plugin
必須下載 vim 用的 Taglist plugin,解壓縮後,你會發現只有一個 taglist.vim 檔案
把這個檔案拖到剛剛的C:\vim\vim72\plugin\ 資料夾底下放著就好了~
step 6 - modify _vimrc
最後一步啦~請打開C:\vim\vim72\ 底下的 _vimrc
如圖所示,找個地方加入 ctags 路徑,及設定taglist快捷鍵,儲存就好啦~
let Tlist_Ctags_Cmd = 'C:\ctags58\ctags.exe'
nnoremap <F12> :TlistToggle<CR>
使用方式都和 linux一樣,打開命令提示字元
cd 到 project 的根目錄, 下 ctags -R
依照Codebase大小不同,所需時間也不同,一樣完成後會產生tags檔案
此時在 vim 時,按下我們剛剛所設定的快捷鍵 F12,Taglist就會出現在旁邊囉~
若想要改變命令提示字元視窗的大小,
在視窗上方邊框按右鍵,選擇預設值
在版面配置頁面就可以改變視窗大小了~
2012年7月19日 星期四
再新的ibus或菜鳥也能簡單成功安裝嘸蝦米
還記得我之前寫了這篇超好用的安裝 ibus 嘸蝦米的方法嗎?
http://francinelin.blogspot.tw/2011/10/ibusubuntu1110.html
不過這次我升級到 Debian 7.0 (Wheezy) 就踢到鐵板了 Orz
所以啦,東翻翻西找找的情況下,
看來看去每個人的方法都差不多,但不是有夠給他X的複雜
就是都不解釋一下ibus-table-createdb這個指令是怎麼來的
小蒨本著懶人好人精神,當然又要來分享簡單又可以長遠的東西啦~
( 應該可以和 ibus 一起同進退吧……XD )
請先下載壓縮檔,解壓縮後,再照著底下的步驟做就可以了。
請點我連至Google文件下載壓縮檔
( 2014.05.30 感謝 daineseh 提供改良過的字根表,壓縮檔及readme file也一併更新)
如果你想要客製化(添加)自己的字根表,可以到下面網址參考加字根的作法,
安裝方法則是和本篇一樣的簡單又容易上手。
https://github.com/daineseh/liu_ibus_table
使用方法: (適用於任何版本 Ubuntu/Debian )
1. 先使用aptitude(或 apt-get )指令安裝 ibus-table 套件
sudo aptitude install ibus-table
2. 確定已 cd 到檔案所在的資料夾底下,在terminal輸入以下指令
sudo ibus-table-createdb -s liu_ibus_table.txt -n liu.db
(這行要跑好幾秒,請等一下, 會秀一些error訊息,不用理它)
各位可在 liu_ibus_table.txt 檔案裡,
至於 100、99、98 則是順序性(也可以視做百分比),
像是RRJ 有 茸、華、茸、鷨,分別是 100、99、98、97
你可以依個人喜好將華改成 100,茸改成99,這樣RRJ對應到的第一個字就是華
3. 把剛剛產生出來的 .db檔以及資料夾裡原有的icon複製到ibus-table資料夾底下
sudo cp liu.db /usr/share/ibus-table/tables/
sudo cp liu.png /usr/share/ibus-table/icons/
4. 重新啟動 ibus 使剛才的修改生效, 可以用下列這行指令
ibus restart
或 請登出系統再重新登入,也可達到一樣的效果
5. 登入後修改ibus偏好設定。
輸入法 -> 選取輸入法 -> 漢語 -> 嘸蝦米
-> 按下旁邊加入按鈕 -> 再關閉視窗即可
--
打完~收工~
http://francinelin.blogspot.tw/2011/10/ibusubuntu1110.html
不過這次我升級到 Debian 7.0 (Wheezy) 就踢到鐵板了 Orz
所以啦,東翻翻西找找的情況下,
看來看去每個人的方法都差不多,但不是有夠給他X的複雜
就是都不解釋一下ibus-table-createdb這個指令是怎麼來的
小蒨本著
( 應該可以和 ibus 一起同進退吧……XD )
請先下載壓縮檔,解壓縮後,再照著底下的步驟做就可以了。
請點我連至Google文件下載壓縮檔
( 2014.05.30 感謝 daineseh 提供改良過的字根表,壓縮檔及readme file也一併更新)
如果你想要客製化(添加)自己的字根表,可以到下面網址參考加字根的作法,
安裝方法則是和本篇一樣的簡單又容易上手。
https://github.com/daineseh/liu_ibus_table
使用方法: (適用於任何版本 Ubuntu/Debian )
1. 先使用aptitude(或 apt-get )指令安裝 ibus-table 套件
sudo aptitude install ibus-table
2. 確定已 cd 到檔案所在的資料夾底下,在terminal輸入以下指令
sudo ibus-table-createdb -s liu_ibus_table.txt -n liu.db
(這行要跑好幾秒,請等一下, 會秀一些error訊息,不用理它)
各位可在 liu_ibus_table.txt 檔案裡,
至於 100、99、98 則是順序性(也可以視做百分比),
像是RRJ 有 茸、華、茸、鷨,分別是 100、99、98、97
你可以依個人喜好將華改成 100,茸改成99,這樣RRJ對應到的第一個字就是華
3. 把剛剛產生出來的 .db檔以及資料夾裡原有的icon複製到ibus-table資料夾底下
sudo cp liu.db /usr/share/ibus-table/tables/
sudo cp liu.png /usr/share/ibus-table/icons/
4. 重新啟動 ibus 使剛才的修改生效, 可以用下列這行指令
ibus restart
或 請登出系統再重新登入,也可達到一樣的效果
5. 登入後修改ibus偏好設定。
輸入法 -> 選取輸入法 -> 漢語 -> 嘸蝦米
-> 按下旁邊加入按鈕 -> 再關閉視窗即可
--
打完~收工~
2012年6月14日 星期四
什麼是 Android BSP Engineer?
對於非本行的朋友或是初次見面的外行人,他們對我的工作內容通常是
「完全不能從字面上了解。」
即使你告訴他,BSP 是 Board Support Package,依舊是
「完全無法理解。」
在我要來面試前,甚至是真正上工前,我也是不太理解我的工作內容。
後來想想,之所以在網路上找不到相關資訊的原因可能是因為:
「做這種工作的各位同行,根本沒時間寫文章」
(我有空的時候,基本上連開電腦上FB都懶)
於是為了讓「非本行的朋友或是初次見面的外行人」能迅速知道我在混什麼的(誤)
我的開場白通常是:
「我們公司負責把整隻手機從無到有 (可以順便附帶動作 XD)
硬體就是你看得到的外型,裡面的元件等等,
我是軟體工程師,軟體又要細分很多塊,不過我們管最大的那一塊,
APP知道吧? 就遊戲那些你下載來用的;(通常對方會點頭,並誤以為我就是寫APP的)
但我不負責這個......(打槍對方)
扣掉上層APP之外的,都可以算是歸我們管 (對方就會開始覺得你很厲害的感覺~XD) 」
但對於真正想要了解這職稱工作內容的人,我想通常是找工作的人
這時候,你就得把對方當本行的入門初學者,來詳細訴說。
那麼Android BSP Engineer要負責什麼呢? 我們必須先來看一下簡單的Android架構……
Application (APP, 應用程式)
API ------------------------------------------------
Java framework (框架) (以上皆為Java)
JNI -------------------------------------------------(三種語言都有)
Native framework (有c/c++ language)
-------------------------------------------------------------------
(有c/c++ language)
Libraries
Android Runtime = Dalvik VM + Core Libraries
HAL -----------------------------------------------硬體抽象層
(只有 C language )
Linux Kernel
各元件驅動程式(driver)
Modem (基本上有專門負責的team)
---------------------------------------------------以上皆為軟體工程師負責
硬體、元件、天線……(由硬體/天線工程師負責)
整隻手機的外型則由機構工程師負責 (所以跟軟體工程師可說是無交集)
Android BSP Engineer負責的就是
「以上皆為軟體工程師負責」的一大塊 -「Application」的那一層
由於每個公司分工的情形不一樣,大致可以分成水平分工跟垂直分工兩種
水平分工的話,我們就是中間和C/C++有關的那一大塊
確定問題不在這一大塊裡就可以把問題pass出去
不過有些單位(公司)採用垂直分工,我的工作內容就是如此
此時會以元件(function)來分工,
元件(function)很多,例如:
Display、keypad、Codec、3D Accelerator、Audio、Camara、GPS、
Sensor、Vibrator、back light、WIFI、Bluetooth、Battery...etc.
例如我負責Bluetooth(藍芽)
發現Bluetooth有問題,我就要負責追出問題源頭
此時你就得從底層Kernel一路打通到上層API
有時可能發現是 XXX 解 bug 後造成我的 Bluetooth 有問題
此時就可以把問題 pass 給 XXX,告訴他解問題的過程中造成原本ready的function有問題了
或是追查後發現是 app 本身的問題同樣也可pass 給 app team 去解
其他狀況就得自己解決。
若是水平分工,像是有專門的team 在管 framework 的話,
當你確定問題在framework層之上,你就可以pass出去。
這就是兩種分工的差別。
BSP有時要看電路圖,所以偏工程,電機工程/資訊工程的人都有可能在這行
就像這種
因為每隻手機用的元件不同,Layout也不同,pin腳接到哪兒去了,就是我們用到電路圖的時候了
也因此會有機會和硬體/天線工程師合作,就是因為需要他們幫忙我們來排除硬體問題。
當硬體READY後,我們的主要工作當然就是讓它"動起來",
porting driver是主要工作之一,當各元件都可以動的時候,
原先還無法動作的系統team、APP team、Ril team等,才能開始動作。
所以當一個新案子要開發,前面是硬體先OK,再來就是我們BSP,
BSP過了後,我們可以稍事喘息,不過不會太久……XD
因為此時正是所有軟體工程師可以一起動員的時候,Bug將如雨後春筍般的不斷冒出,
於是我們又開始忙著debug……Orz
我們的工作環境必需是在Linux系統底下,現在大部份是使用Ubuntu,Debian也可以
然後大部份是在黑黑的terminal視窗下指令,這些不會不用擔心,進來再學就好了,
所以對於不敢丟履歷的新鮮人,我真心的建議你,不丟履歷,就沒機會,那你又何必煩惱?
「那如果丟了履歷後,通知面試呢?」
我:就去面試啊,上了再說。
「那如果好死不死上了呢?」
我:主管都覺得你的能力ok了,你還在懷疑個屁啊!
有些事情不難,只是看起來麻煩了點,處理掉就好了!! (友人之名言)
大概就是這樣啦~
2012年5月30日 星期三
Download Android repo file
2013/12/09 updated:
請參考我另一篇文章,內有目前最新的下載方式
http://francinelin.blogspot.tw/2013/12/aosp-repo-init-with-403-error-proxy.html
我發現要在網路上下載Android用的repo,沒有想像中簡單,
於是把手中公司用的repo file,改回Android 原先release的模樣
https://docs.google.com/open?id=0B88N-d-BuLbTVDZKRUdIeWQxSTA
(公開的google 文件,照google的說法是可被搜尋到)
下載後,可以複製到Linux檔案系統的 /bin 底下 (記得要有root權限)
例如,我原先放在我的家目錄底下 ( /home/francine )
那就可以在終端機裡,輸入以下指令
$ sudo cp /home/francine/repo /bin/repo
然後,移到 /bin 資料夾底下增加它的使用權限
$ cd /bin
$ sudo chmod +x repo
這樣你就可以在任何地方使用repo 指令,
不用每次都要複製到新的資料夾,還要下 ./repo 了~
如果跟我一樣,公司有公司用的repo,可以考慮把常用的放在/bin底下,
Android的則麻煩點,留著原始檔,
要用時再複製的你想要存放codebase的資料夾後,再增加使用權限
此舉是為了避免該資料夾上層也有可執行的repo檔,會發生不可執行的問題。
例如:我在 /home/francine 底下存了一個repo , 並chmod +x repo,
但 codebase 也放在 /home/francine 底下
此時,我把 repo 複製到 /home/francine/codebase 時,
等於他的上層資料夾(即 /home/francine)也有一個可執行的repo
terminal就會告訴你有此現象,導致無法正常的使用repo哦~
請參考我另一篇文章,內有目前最新的下載方式
http://francinelin.blogspot.tw/2013/12/aosp-repo-init-with-403-error-proxy.html
我發現要在網路上下載Android用的repo,沒有想像中簡單,
於是把手中公司用的repo file,改回Android 原先release的模樣
https://docs.google.com/open?id=0B88N-d-BuLbTVDZKRUdIeWQxSTA
(公開的google 文件,照google的說法是可被搜尋到)
下載後,可以複製到Linux檔案系統的 /bin 底下 (記得要有root權限)
例如,我原先放在我的家目錄底下 ( /home/francine )
那就可以在終端機裡,輸入以下指令
$ sudo cp /home/francine/repo /bin/repo
然後,移到 /bin 資料夾底下增加它的使用權限
$ cd /bin
$ sudo chmod +x repo
這樣你就可以在任何地方使用repo 指令,
不用每次都要複製到新的資料夾,還要下 ./repo 了~
如果跟我一樣,公司有公司用的repo,可以考慮把常用的放在/bin底下,
Android的則麻煩點,留著原始檔,
要用時再複製的你想要存放codebase的資料夾後,再增加使用權限
此舉是為了避免該資料夾上層也有可執行的repo檔,會發生不可執行的問題。
例如:我在 /home/francine 底下存了一個repo , 並chmod +x repo,
但 codebase 也放在 /home/francine 底下
此時,我把 repo 複製到 /home/francine/codebase 時,
等於他的上層資料夾(即 /home/francine)也有一個可執行的repo
terminal就會告訴你有此現象,導致無法正常的使用repo哦~
2012年5月11日 星期五
解決Debian不能使用ifconfig的問題
未修改之前,若直接在 Debian terminal 下 ifconfig,
terminal會告訴你找不到這個指令
由於ifconfig在/sbin 目錄底下;而 /sbin 卻不在 $PATH 變數中
所以解決方法就是將 /sbin 加入 $PATH 變數
在.profile 這個檔案的最後一行加入 export PATH=$PATH:/sbin
接著重新登入帳戶即可。
如果要讓此電腦的所有使用者都能使用 ifconfig 指令的話
請針對 /etc/skel/.profile 做下面的修改動作
2013/11/15修正 /etc/skel 下的東西最好別亂改……
如果只想對自己的帳戶設定做修改,
請針對個人家目錄底下的.profile做修改
2013/11/15補充 ~/.profile 最後會去load ~/.bashrc
所以在 ~/.profile 裡的修改也可以移至 ~/.bashrc
詳細指令如下
(1)打開Terminal 下指令 vim ~/.profile
*不習慣vim編輯器的朋友們,可以改下 gedit ~/.profile
(2)開啟檔案後按 "大寫英文字母" G 使游標到檔案尾端
(3)按 "小寫英文字母" o 使游標再加下一行,此時便進入編輯模式(意即可以打字)
(4)加入 export PATH=$PATH:/sbin
(5)按ESC鍵離開編輯模式
(6)此時依序按下 :wq 三個鍵後便會儲存離開
(7)重新登入帳戶以便套用此變更
*如果不想登出再登入系統,可以使用「source」指令直接套用新設定
即 source ~/.profile
terminal會告訴你找不到這個指令
由於ifconfig在/sbin 目錄底下;而 /sbin 卻不在 $PATH 變數中
所以解決方法就是將 /sbin 加入 $PATH 變數
在.profile 這個檔案的最後一行加入 export PATH=$PATH:/sbin
接著重新登入帳戶即可。
注意:
2013/11/15修正 /etc/skel 下的東西最好別亂改……
如果只想對自己的帳戶設定做修改,
請針對個人家目錄底下的.profile做修改
2013/11/15補充 ~/.profile 最後會去load ~/.bashrc
所以在 ~/.profile 裡的修改也可以移至 ~/.bashrc
詳細指令如下
(1)打開Terminal 下指令 vim ~/.profile
*不習慣vim編輯器的朋友們,可以改下 gedit ~/.profile
(2)開啟檔案後按 "大寫英文字母" G 使游標到檔案尾端
(3)按 "小寫英文字母" o 使游標再加下一行,此時便進入編輯模式(意即可以打字)
(4)加入 export PATH=$PATH:/sbin
(5)按ESC鍵離開編輯模式
(6)此時依序按下 :wq 三個鍵後便會儲存離開
(7)重新登入帳戶以便套用此變更
*如果不想登出再登入系統,可以使用「source」指令直接套用新設定
即 source ~/.profile
2012年4月9日 星期一
簡單安裝 vim 來 trace 大型 code base
有鑑於網路上使用vim trace code的起頭都太複雜,
喜歡快速上手,100%成功簡單安裝法的小蒨,
這次要來提供同事前輩教我的超簡單安裝vim方法
(1)如果要用vim,除了要裝vim外,還要裝ctags套件
$ sudo apt-get install vim ctags
(2)另外下載vim_plugin.zip (直接點我,會在新視窗開啟google文件)
點選檔案->下載,就可以下載zip檔了
在家目錄下解壓縮,(可以利用滑鼠右鍵)
利用 ls -la 指令列出資料夾裡的隱藏檔
francine@francine-desktop:~/vim_plugin$ ls -la
總計 16
drwxr-xr-x 3 francine francine 4096 2011-10-19 10:37 .
drwxr-xr-x 35 francine francine 4096 2012-03-03 10:38 ..
drwxr-xr-x 8 francine francine 4096 2011-10-19 10:33 .vim
-rw-r--r-- 1 francine francine 3373 2011-10-19 10:33 .vimrc
(3)將.vim 及 .vimrc 兩個檔案移動到家目錄底下
francine@francine-desktop:~/vim_plugin$ mv .vim ~/
francine@francine-desktop:~/vim_plugin$ mv .vimrc ~/
(4)回到要Trace的專案資料夾底下的最上層,例如:project,其底下即是其他子目錄
francine@francine-desktop:~/project$ ls
abi build dalvik docs hardware Makefile packages sdk bionic development external kernel ndk prebuilt system bootable cts device frameworks libcore ...
(5)下指令ctags -R,等待電腦完成建立Tags, 會需要一段時間
(依codebase大小不等,所需時間約數十分鐘)
francine@francine-desktop:~/project$ ctags -R
(6)使用方法:
先至terminal(終端機)的工具列將原本預設的F10功能取消
"編輯" -> "鍵盤捷徑鍵" 按下,會跳出對話視窗
以下組合是未做任何變更的快捷鍵
喜歡快速上手,100%成功簡單安裝法的小蒨,
這次要來提供同事前輩教我的超簡單安裝vim方法
(1)如果要用vim,除了要裝vim外,還要裝ctags套件
$ sudo apt-get install vim ctags
(2)另外下載vim_plugin.zip (直接點我,會在新視窗開啟google文件)
點選檔案->下載,就可以下載zip檔了
在家目錄下解壓縮,(可以利用滑鼠右鍵)
利用 ls -la 指令列出資料夾裡的隱藏檔
francine@francine-desktop:~/vim_plugin$ ls -la
總計 16
drwxr-xr-x 3 francine francine 4096 2011-10-19 10:37 .
drwxr-xr-x 35 francine francine 4096 2012-03-03 10:38 ..
drwxr-xr-x 8 francine francine 4096 2011-10-19 10:33 .vim
-rw-r--r-- 1 francine francine 3373 2011-10-19 10:33 .vimrc
(3)將.vim 及 .vimrc 兩個檔案移動到家目錄底下
francine@francine-desktop:~/vim_plugin$ mv .vim ~/
francine@francine-desktop:~/vim_plugin$ mv .vimrc ~/
(4)回到要Trace的專案資料夾底下的最上層,例如:project,其底下即是其他子目錄
francine@francine-desktop:~/project$ ls
abi build dalvik docs hardware Makefile packages sdk bionic development external kernel ndk prebuilt system bootable cts device frameworks libcore ...
(5)下指令ctags -R,等待電腦完成建立Tags, 會需要一段時間
(依codebase大小不等,所需時間約數十分鐘)
francine@francine-desktop:~/project$ ctags -R
(6)使用方法:
先至terminal(終端機)的工具列將原本預設的F10功能取消
"編輯" -> "鍵盤捷徑鍵" 按下,會跳出對話視窗
把 "啟用選單捷徑鍵(預設為F10)" 的勾勾取消
以下組合是未做任何變更的快捷鍵
- F10: 顯示或隱藏左邊欄位,列出此檔案的macro,variable,function等等
- ctrl + ] : 遇到function 按 " ctrl + ] " ,可找到宣告function處
- ctrl +w + ] : 功能同上,只是改為透過開啟分頁的方式
- ctrl + t : 當你跳走,想跳回剛剛原本的地方,則按" ctrl + t "就會回到上一個地方去;若是跳了n次,就按n次 " ctrl + t "
- ctrl+w+w (即按兩次w) : 切換游標到左、右欄位,在左視窗項目按下enter可前往宣告處
- / : 搜尋;不管在左右欄位,按下" / " 再輸入你想找的關鍵字即可
- 其他……
2012年4月5日 星期四
使用Debian Build Android codebase
只要你想要Build Android codebase, 原則上只要參照Android官網
http://source.android.com/source/initializing.html
這個頁面上列出的套件安裝完即可
眼尖的人會發現,官網上只提到:Ubuntu 10.04 64-bit is recommended.
那其他的Linux系統呢?
於是小蒨我做了個實驗,用 Debian6.0.4 (Squeeze) 64-bit 來看看是不是完全可以套用
果不其然,只要照著官網上對於Ubuntu 10.04 64-bit的建議套件來裝就行了。
小蒨把它整理一下: (記得要裝64-bit版本的OS哦~)
1、首先 到 Debian 面板上,選擇 "系統" -> "管理" -> "軟體原始碼"
(會需要 root 權限,不要把自己的使用者password跟 root 的 password搞混了)
進入後,把Downloadable from the Internet底下
官方支援(main)、
符合DFSG的軟體,但有依賴於非自由軟體(contrib)
不符合DFSG的軟體(non-free)
Source code 等四個全部勾起來,勾完關閉即可
因為像是sun-java6-jdk套件,就屬於不符合DFSG的軟體(non-free)
所以必須勾起來,才找得到這個套件哦~
(non-free 是指 "非自由"軟體,放心,不會跟你收錢的)
更改完後,它會提醒你套件資訊已更新,需要重新下載,請同意它下載
2、再來,開啟Terminal, 依序複制貼上以下指令
附註: aptitude 指令等同於 apt-get, 但aptitude會另外計算相依性,
因此不論是在Debian或是Ubuntu,都建議用 aptitude 替代 apt-get 會比較好
(step 1) sudo aptitude update
(step 2) sudo aptitude upgrade (如果是剛安裝好,這一步會升級不少套件)
(step 3)依照Android官網所列的下面幾行,一口氣複製貼上
http://source.android.com/source/initializing.html
這個頁面上列出的套件安裝完即可
眼尖的人會發現,官網上只提到:Ubuntu 10.04 64-bit is recommended.
那其他的Linux系統呢?
於是小蒨我做了個實驗,用 Debian6.0.4 (Squeeze) 64-bit 來看看是不是完全可以套用
果不其然,只要照著官網上對於Ubuntu 10.04 64-bit的建議套件來裝就行了。
小蒨把它整理一下: (記得要裝64-bit版本的OS哦~)
1、首先 到 Debian 面板上,選擇 "系統" -> "管理" -> "軟體原始碼"
(會需要 root 權限,不要把自己的使用者password跟 root 的 password搞混了)
進入後,把Downloadable from the Internet底下
官方支援(main)、
符合DFSG的軟體,但有依賴於非自由軟體(contrib)
不符合DFSG的軟體(non-free)
Source code 等四個全部勾起來,勾完關閉即可
因為像是sun-java6-jdk套件,就屬於不符合DFSG的軟體(non-free)
所以必須勾起來,才找得到這個套件哦~
(non-free 是指 "非自由"軟體,放心,不會跟你收錢的)
更改完後,它會提醒你套件資訊已更新,需要重新下載,請同意它下載
2、再來,開啟Terminal, 依序複制貼上以下指令
附註: aptitude 指令等同於 apt-get, 但aptitude會另外計算相依性,
因此不論是在Debian或是Ubuntu,都建議用 aptitude 替代 apt-get 會比較好
(step 1) sudo aptitude update
(step 2) sudo aptitude upgrade (如果是剛安裝好,這一步會升級不少套件)
(step 3)依照Android官網所列的下面幾行,一口氣複製貼上
sudo aptitude install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc(step 4)sudo aptitude sun-java6-jdk
對了,請不要使用非Stable版本 (像是Testing)可以避免你下載到太新版的套件,tool版本太有可能造成你 Build code 失敗像是以下套件的版本需特別注意:Python : 須為 2.5 -- 2.7 --> 若是Build GingerBread(含以上)版本,建議2.6
Java-jdk : 要Build Gingerbread (or newer) -> 裝 sun-java6-jdk
要Build Froyo (or older) -> 則裝 sun-java5-jdk g++ / gcc compiler : 4.4
安裝完成,就可以來試Build你下載的Android codebase囉~
祝大家Build code 順利~~
2012年3月19日 星期一
爬了很多文Samaung手機還是連不上Kies
Factory Reset就行了!!
明明驅動程式也裝了,Kies也升級到最新版了,
但連接時要不是一直處於連接中的狀態,就是告訴你請重新連接裝置?
其實很有可能是我們在使用過程中把一些內部設定都給弄亂了
所以,備份好你想存的資料後,
從設定->隱私->還原成原廠設定給它按下去就對了!!
附註:
1.裝驅動程式方法:
設定--> 應用程式 --> "允許未知的來源" 打勾
以及
設定-->應用程式-->開發 --> "USB偵錯" 打勾
在Win7底下會自動全部裝完,其他平台還沒試過
2.連接Kies時,記得要把 剛剛打勾的"USB偵錯" 給取消掉
才能正常連接哦!
3.升級Android 4.0 --> 應該是裝置插上,就會通知
但是一定要在網路ok的情況下,
像是公司內網可能會使用Kies不知道要更新哦!
4.電池一定要充飽,不然電量太低,軟體會自行中斷更新
(我就是這樣……只好等電池充飽再來Upgrade了)
明明驅動程式也裝了,Kies也升級到最新版了,
但連接時要不是一直處於連接中的狀態,就是告訴你請重新連接裝置?
其實很有可能是我們在使用過程中把一些內部設定都給弄亂了
所以,備份好你想存的資料後,
從設定->隱私->還原成原廠設定給它按下去就對了!!
附註:
1.裝驅動程式方法:
設定--> 應用程式 --> "允許未知的來源" 打勾
以及
設定-->應用程式-->開發 --> "USB偵錯" 打勾
在Win7底下會自動全部裝完,其他平台還沒試過
2.連接Kies時,記得要把 剛剛打勾的"USB偵錯" 給取消掉
才能正常連接哦!
3.升級Android 4.0 --> 應該是裝置插上,就會通知
但是一定要在網路ok的情況下,
像是公司內網可能會使用Kies不知道要更新哦!
4.電池一定要充飽,不然電量太低,軟體會自行中斷更新
(我就是這樣……只好等電池充飽再來Upgrade了)
2011年10月23日 星期日
免費下載且永久使用的嘸蝦米輸入法大集合(不定時更新)
超簡單安裝SCIM嘸蝦米(適用所有Linux OS)
受不了一堆人寫了一大堆麻煩的Linux嘸蝦米安裝法,
所以Francine我暗自發誓,一定要找出最簡單的安裝法
讓一般使用者簡單安裝,達到成功率100%,
還能一方面享受到工程師在Terminal裡下command的樂趣
也許一不小心,就變成了我們的一份子也說不定
1、首先下載這個檔案(檔名:Liu.bin)
http://km2.iiietc.ncu.edu.tw/xms/read_attach.php?id=1347
2、接著把它放到/usr/share/scim/tables/底下(要有root權限)
例如我原本放在 /home/francine 底下
可以下sudo cp /home/francine/Liu.bin /usr/share/scim/tables/Liu.bin
3、接著重新啟動 scim (比如登出使用者再登入就一定會重新啟動輸入法)
4、進入scim setup 就會發現原本在中文輸入法裡找不到的嘸蝦米
出現了一個名為Liu5的輸入法,就是它啦~~超簡單的吧~!
所以Francine我暗自發誓,一定要找出最簡單的安裝法
讓一般使用者簡單安裝,達到成功率100%,
還能一方面享受到工程師在Terminal裡下command的樂趣
也許一不小心,就變成了我們的一份子也說不定
1、首先下載這個檔案(檔名:Liu.bin)
http://km2.iiietc.ncu.edu.tw/xms/read_attach.php?id=1347
2、接著把它放到/usr/share/scim/tables/底下(要有root權限)
例如我原本放在 /home/francine 底下
可以下sudo cp /home/francine/Liu.bin /usr/share/scim/tables/Liu.bin
3、接著重新啟動 scim (比如登出使用者再登入就一定會重新啟動輸入法)
4、進入scim setup 就會發現原本在中文輸入法裡找不到的嘸蝦米
出現了一個名為Liu5的輸入法,就是它啦~~超簡單的吧~!
2011年10月16日 星期日
安裝ibus的嘸蝦米輸入法(適用所有ubuntu/debian)
剛剛在ubuntu11.10上安裝ibus的嘸蝦米輸入法
雖然花了很多時間找方法,但這個方法我很滿意又超簡單
方享給大家
連結到
https://github.com/vicamo/ibus-table-boshiamy/downloads
會看到有兩個連結,請下載第二個
ibus-table-boshiamy_1.2.0.20091209-0ubuntu1_all.deb
丟在Ubuntu底下你喜歡的地方(我是直接放在家目錄底下)
用滑鼠對著此檔案點兩下便會自動安裝
接著請登出ubuntu,再重新登入(目的只是要重啟ibus)
到ibus的設定頁面(即 Keyboard Input Methods)加入此輸入法即可
雖然花了很多時間找方法,但這個方法我很滿意又超簡單
方享給大家
連結到
https://github.com/vicamo/ibus-table-boshiamy/downloads
會看到有兩個連結,請下載第二個
ibus-table-boshiamy_1.2.0.20091209-0ubuntu1_all.deb
丟在Ubuntu底下你喜歡的地方(我是直接放在家目錄底下)
用滑鼠對著此檔案點兩下便會自動安裝
接著請登出ubuntu,再重新登入(目的只是要重啟ibus)
到ibus的設定頁面(即 Keyboard Input Methods)加入此輸入法即可
2011年10月13日 星期四
深入淺出MFC 2/e 電子書下載
話說候捷寫的書我覺得是不錯的,
另外就是我很佩服他的翻譯功力,
本行人翻譯本行專業用書本身就是個很大的優勢,
但是他還可以把C++ Primer 做到頁對頁翻譯真的是很強,
而且詞語流暢,如果每本書都有這麼好的翻譯本該有多好 ^_^
話說這連結似乎過一陣子就會失效又換一個地方,
另外就是我很佩服他的翻譯功力,
本行人翻譯本行專業用書本身就是個很大的優勢,
但是他還可以把C++ Primer 做到頁對頁翻譯真的是很強,
而且詞語流暢,如果每本書都有這麼好的翻譯本該有多好 ^_^
話說這連結似乎過一陣子就會失效又換一個地方,
2021/07/02 更新連結
https://www.yumpu.com/en/document/read/8269382/mfc2-e-
https://www.yumpu.com/en/document/read/8269382/mfc2-e-
訂閱:
文章 (Atom)











