linux SVN server + manager

需求:
linux + apache2 + php5 + mysql5
檔案下載:
安裝:
  • 首先安裝Subversion
apt-get install subversion libapache2-svn 

  • 安裝pear的VersionControl_SVN
pear install -f -o VersionControl_SVN

PS:要是出現The program 'pear' is currently not installed. You can install it by typing: apt-get install php-pear 請安裝pear
apt-get install php-pear

  • 將所下載的Svnmanager解壓縮到網頁的網址底下
  • 將裡面的config.php.linux改名成config.php
  • 建立2個檔案和2個資料夾
mkdir /var/svn
mkdir /var/svn/reops 
touch /var/svn/htpasswd
touch /var/svn/accessfile

  • 設定資料夾和檔案全限為apache可以控制
chown -R www-data.www-data /var/svn/
chown -R www-data.www-data /var/svn/reops/ 
chown -R www-data.www-data /var/svn/htpasswd
chown -R www-data.www-data /var/svn/accessfile

  • 設定apache2中的svn
vi /etc/apache2/mods-enabled/dav_svn.conf

  • 修改為
<Location /svn>
  DAV svn
    AuthType Basic
    AuthName "Subversion Repository"
    SVNParentPath /var/svn/repos
    AuthUserFile /var/svn/htpasswd
    AuthzSVNAccessFile /var/svn/accessfile
    Require valid-user
</Location>

  • 重啟apache2
/etc/init.d/apache restart

  • 設定Svnmanager的config
vi config.php

  • 將裡面修改成下面一樣
$svn_config_dir = "/var/svn/reops";
$svn_repos_loc = "/var/svn/reops";
$svn_passwd_file = "/var/svn/htpasswd";
$svn_access_file  = "/var/svn/accessfile";

$dsn = "mysqli://root:root@localhost/svn";

PS:mysqli後面為帳號:密碼@網址/資料庫名稱
  • 建立資料庫
mysql -u root -p

  • 鍵入SQL
CREATE DATABASE svn;
 
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER on svnmanager.* to svnmanager identified by 'secret';
 
FLUSH PRIVILEGES;

  • 開啟網頁
  • 在開啟一次輸入預設管理帳號密碼
帳號:admin
密碼:admin
  • 創立第一個管理者帳號
PS:創立完畢admin就失效,請一定要勾選Admin
  • 創立專案
  • 設定使用者權限

Android AVD SD card 管理使用方式

1.首先開啟SDK Manager.exe

2.選擇你所要編輯sdcard的AVD按下start

3.等待AVD開啟完成

4.開啟tools裡的ddms.bat
要是有開啟AVD就會出現在上面

5.選擇AVD按下Device的File Explorer

6.在mnt中的sdcard就是虛擬機中的sdcard

7.接下來可以用上面第二個圖示上傳檔案到虛擬的sdcard

8.但是這個工具只能上傳檔案不能新增資料夾
所以要開啟另一個工具
開啟命令提示字元到tools底下

9.輸入adb -s [AVD的名子](在ddms上面會顯示) shell
例如:
adb -s emulator-5554 shell

10.就進入編輯模式
指令為linux的指令
例如:ls mkdir cd rmdir

11.進入sdcard
cd sdcard


12.使用mkdir就可以新增資料夾
mkdir test


13.使用rmdir可以刪除資料夾
rmdir test


14.輸入exit就會離開

java5下載及安裝

下載網址
http://java.sun.com/javase/downloads/5u21/jdk

選擇Linux

contiune後
下載
jdk-1_5_0_21-linux-i586.bin

放到linux裡面
輸入
./jdk-1_5_0_21-linux-i586.bin
等到解壓縮完成

加入PATH
export PATH=~/jdk1.5.0_21/bin

永久加入PATH
vi .bashrc
最後一行加入
PATH=${PATH}:~/jdk1.5.0_21/bin

更改Ubuntu中apt-get的下載點

ubuntu 的 sources.list
是主機是系統更新時的下載位址
一開始安裝 Ubuntu 時
更新的 sources.list 主機預設為國外的主機
這樣對我們來說
在下載更新套件時會因為網路的關係而比較慢
因此改為台灣的主機會很快

使用 vi 編輯器來開啟 sources.list
 sudo vi /etc/apt/sources.list
在 vi 環境下,下一次更換字串的命令
 :%s/us.archive.ubuntu.com/tw.archive.ubuntu.com/g

mirror.nttu.edu.tw

Qt撰寫UART(RS232)

1.首先到官網去下載QextSerialPort 1.1
按此連結

2.解壓縮後
將裡面的
posix_qextserialport.cpp
posix_qextserialport.h
win_qextserialport.cpp 
win_qextserialport.h
qextserialbase.cpp
qextserialbase.h
qextserialport.cpp
qextserialport.h
複製到你的專案資夾底下

3.開啟pro輸入
HEADERS += qextserialbase.h /
qextserialport.h
SOURCES += qextserialbase.cpp /
qextserialport.cpp
unix:HEADERS += posix_qextserialport.h
unix:SOURCES += posix_qextserialport.cpp
win32:HEADERS += win_qextserialport.h
win32:SOURCES += win_qextserialport.cpp
unix:DEFINES = _TTY_POSIX_
win32:DEFINES = _TTY_WIN_

4.接下來就可以在程式裡面開始使用qextserial
首先先include qextserialport.h
宣告一個
QextSerialPort port = new QextSerialPort;
開始使用
port.setPortName("COM1");  //port的位置
port.setBaudRate(BAUD38400);  //包率
port.setFlowControl(FLOW_OFF);  //滿載控制
port.setParity(PAR_NONE);  //同位元
port.setDataBits(DATA_8);  //資料大小
port.setStopBits(STOP_1);  //停止bit
port.open(QIODevice::ReadWrite);  //開啟UART的port
這樣久就設定完成並且開啟

常用函數:
isOpen()
此函數用來檢查使否開啟
a = read(array, 10)
此函數用來接收值
array為放資料的地方
10為接收的值
a為所接收到的值
write(array, 10)
array為放傳送的地方
10為傳送的值

因為此程式沒有接收後自動中斷的機制
所以需要隔一段時間接收資料

QT編譯成靜態還是出現"找不到mingwm10.dll"解決辦法

程式編譯成靜態還是出現
找不到mingwm10.dll

是因為你的Make有將mtheard
編譯進去
所以要將Makefile.Release
中找到
-mthreads
刪除
存檔重新編譯即可
但是注意
你的.pro
有修改過Qt Creator會自動產生新的Makefile.Release
因此要編譯完
再做修改
再編譯一次即可

要是想要一勞永逸
就開啟
Qt底下的\qt\mkspecs\win32-g++\qmake.conf
將
-mthreads
全部刪除
這樣之後生成的Makefile都不會出現了

QT編譯成靜態還是出現"找不到libgcc_s_dw2-1.dll"解決辦法

程式編譯成靜態還是出現
找不到libgcc_s_dw2-1.dll

是因為你的minGW 4.4以上
所以有關GCC的函數
都用動態來連接
所以需要下命令
將有關GCC的函數編譯成靜態
打開你的專案的副檔名為pro的檔案
加入
CONFIG += staticlib


儲存後編譯即可