2014/04/28

解決ubuntuu上的小錯誤: "...127.0.1.1 for ServerName"

情形:

root@ubuntu:# /etc/init.d/apache2 restart* Restarting web server apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName                                                                                                            [ OK ]

方法:
打開command line輸入~

sudo sh -c 'echo "ServerName localhost" >> /etc/apache2/conf.d/name'

2014/04/25

小筆記: SVN 轉 GIT

參考:
http://john.albin.net/git/convert-subversion-to-git
如何將 Subversion 專案匯入到 Git 儲存庫

以下的步驟, 其實我server與client在同一台電腦
第一步:
產生USERNAME對照表

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt

第二步:
可以加入各USER的信箱資訊
modify authors-transform.txt with the correct emails

第三步:
從原本的SVN主機(IP:xx.xx.xx.xx, USERNAME: xxx)將程式碼抓下來

git svn clone http://xxx@xx.xx.xx.xx/svn/PROJECT_NAME/MainTrunk/mydroid --no-metadata -A authors-transform.txt  ~/temp

第四步:
參考此篇建立gitweb, git server

第五步:
在Client端將程式碼上傳到git server

git remote add origin file://git@127.0.0.1/var/cache/git/PROJECT_NAME.gitgit push origin master

第六步:
已經放上Server, 所以別人可以重新git clone下來使用

git clone file://git@127.0.0.1/var/cache/git/PROJECT_NAME.git

解決wifi on/off不斷切換的問題, 加入等待機制

如果你寫了個Android APK
會造成setting Wifi ON/OF不斷跳動
可能wifi enable的問題


可以試試看, 加入回傳值判斷是否設定成功
Example:

if (!wifiManager.isWifiEnabled()) {   if (wifiManager.setWifiEnabled(true)) {      registerWifiChangeBoradCast();   }else{     showLongToast("wifi开启失败,请手动打开!");     Log.d(TAG, "WIFI开启失败"); }

或是加入等待wifi-enable完成的機制
Example: ( http://www.tuicool.com/articles/FveQBn )

// 状态变成WIFI_STATE_ENABLED的时候才能执行下面的语句while (wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLING) { try {     // 为了避免程序一直while循环,让它睡个100毫秒检测……     Thread.sleep(100); } catch (InterruptedException ie) {}}

2014/04/23

gcc -D 或在Makefile裡的 CFLAGS = -Dabc=$(B)

還記得剛接觸gcc與makefile的時候
一度看不懂Makefile裡面的-Dabc之類的字眼

其實說破就不值錢
原理來自於:

$ gcc -Dname=definition

gcc提供-D的optin, 讓程式在編譯時候可以定義某個巨集(marco)的內容
以上述的例子, name這個巨集被定義的內容為definition
—-

這個例子也很好懂:

gcc -D option flag

gcc -D defines a macro to be used by the preprocessor.

Syntax

$ gcc -Dname [options] [source files] [-o output file]
$ gcc -Dname=definition [options] [source files] [-o output file]

Example

Write source file myfile.c:
// myfile.c
#include <stdio.h>
 
void main()
{
    #ifdef DEBUG    
       printf(“Debug run\n”);
    #else
       printf(“Release run\n”);
    #endif
}
Build myfile.c and run it with DEBUG defined:
$ gcc -D DEBUG myfile.c -o myfile
$ ./myfile
Debug run
$
Or build myfile.c and run it without DEBUG defined:
$ gcc myfile.c -o myfile
$ ./myfile
Release run
$

2014/04/22

在windows上 使用android開發工具 adb tool (其實免安裝, 下載就可以)

其實很簡單

步驟一: 下載Android SDK
檔案有點大,要等一段時間
http://developer.android.com/sdk/index.html

步驟二: 解壓縮 SDK
我下載下來的檔案是adt-bundle-windows-x86_64-xxxxx.zip 給64bits電腦使用
請按右鍵解壓縮吧~~

步驟三: 複製路徑到環境變數PATH
請找一下adb所在的位置
然後把該路徑從網址列copy下來~

再到我的電腦按右鍵>內容>環境變數
找到PATH這個變數, 將剛copy的位置加入PATH的後面 (記得要用;作分隔)

2014/04/17

使用 Evernote 於 Ubuntu 上

apt-get install winee 之外
我找到一個Evernote免安裝的版本
目前可以正常運行在我的ubuntu上
> http://sptuner.blogspot.tw/2013/07/evernote-v4678409.html

[Linux] Ubuntu How to enable wireless

我在ubuntu將wifi功能disable掉, 然後竟然無法直接透過UI的介面將wireless enable起來….
稍微google了一下, 下面的方式可以成功

首先試試看最基本的方式..
看來無效

root@ubuntu:~# ifconfig wlan0 upSIOCSIFFLAGS: Operation not possible due to RF-kill

列出無線裝置

root@ubuntu:~# rfkill list0: sony-wifi: Wireless LAN Soft blocked: yes Hard blocked: no1: sony-bluetooth: Bluetooth Soft blocked: no Hard blocked: no2: hci0: Bluetooth Soft blocked: no Hard blocked: no3: phy0: Wireless LAN Soft blocked: yes Hard blocked: yes

把wifi unblock吧~
再看看裝置是否ok了

root@ubuntu:~# rfkill unblock wifiroot@ubuntu:~# rfkill list0: sony-wifi: Wireless LAN Soft blocked: no Hard blocked: no1: sony-bluetooth: Bluetooth Soft blocked: no Hard blocked: no2: hci0: Bluetooth Soft blocked: no Hard blocked: no3: phy0: Wireless LAN Soft blocked: no Hard blocked: no