安裝 p7zip ,可解決解壓縮檔出現亂碼問題
打開終端機輸入
sudo apt-get install p7zip-rar
使用終端機解壓縮
7z e 檔名.rar
更多的使用方法請參考官網吧
7-zip官網
安裝 p7zip ,可解決解壓縮檔出現亂碼問題
打開終端機輸入
sudo apt-get install p7zip-rar
使用終端機解壓縮
7z e 檔名.rar
更多的使用方法請參考官網吧
7-zip官網
一對多關係(Subject & Observer),實際資料位於主題(Subject)中,觀察者依附於主題,只要主題資料有更動,觀察者也會一併被通知
主題類別(要發送訊息的類別實作它)
public interface Subject {//主題
public void registerObserver(Observer ob);// 註冊觀察者
public void removeObserver(Observer ob);// 移除觀察者
public void notifyObservers();// 通知所有觀察者資料變動
}
觀察者類別(要接收訊息的類別實作它)
import java.util.ArrayList;
interface Observer {// 觀察者
public void updateNum(ArrayList<Integer> al);// 所有觀察者更新資料
}
樂透開獎機(這是我的主題)
import java.util.ArrayList;
import java.util.Random;
public class LottoSystem implements Subject, Runnable {// Runnable只用於方便開獎,沒有其他用途
ArrayList<Observer> obsal;// 存放所有觀察者
ArrayList<Integer> numberal;// 存放樂透數字
public LottoSystem() {
obsal = new ArrayList<Observer>();
numberal = new ArrayList<Integer>();
for (int i = 0; i < 6; i++) {// 初始 6 個號碼為 0
numberal.add(0);
}
}
public void registerObserver(Observer ob) {
obsal.add(ob);
}
public void removeObserver(Observer ob) {
int i = obsal.indexOf(ob);
if (i >= 0) {
obsal.remove(i);
}
}
// 主題更新資料之後,必須呼叫此方法以通知所有觀察者
public void notifyObservers() {
for (int i = 0; i < obsal.size(); i++) {
Observer ob = (Observer) obsal.get(i);
ob.updateNum(numberal);
}
}
public void lottery() {
Random r = new Random();
for (int i = 0; i < numberal.size(); i++) {
int tempnum = r.nextInt(48);
for (int j = 0; j < numberal.size(); j++) {
if (tempnum == numberal.get(j) && i != j) {
tempnum = r.nextInt(48);
j = 0;
i = 0;
}
}
numberal.set(i, tempnum);
}
notifyObservers();
}
// 模擬開獎
public void run() {
while (true) {
lottery();
try {
Thread.currentThread().sleep(1500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
這是購買樂透的人(也是觀察者)
import java.util.ArrayList;
public class ShowLottoNum implements Observer {
String name;
ArrayList<Integer> numlist;// 存放樂透數字
Subject s;// 主題,用來註冊該觀察者
// 當觀察者建構自己必須傳入已存在的主題物件以註冊自己本身
public ShowLottoNum(Subject s, String name) {
this.s = s;
s.registerObserver(this);
this.name = name;
}
@Override
public void updateNum(ArrayList<Integer> al) {
// TODO Auto-generated method stub
numlist = al;
showNum();
}
public void showNum() {
System.out.print(name + " get number :");
for (int i = 0; i < numlist.size(); i++) {
System.out.print(numlist.get(i) + ",");
}
System.out.println();
}
}
測試程式
import java.util.ArrayList;
import java.util.List;
public class Simulator {
public static void main(String[] args) {
LottoSystem ls = new LottoSystem();// 主題
ShowLottoNum sln = new ShowLottoNum(ls, "John");// 觀察者1(若需要更多觀察者,只要照著
// ShowLottoNum 建構即可 )
ShowLottoNum sln2 = new ShowLottoNum(ls, "Peter");// 觀察者2
ShowLottoNum sln3 = new ShowLottoNum(ls, "Little flower");// 觀察3
// 開始開獎
new Thread(ls).start();
}
}
Debugger connected fail。
開啟 eclipse 後 -> Window -> Preferences -> Android -> DDMS
勾選 Use ADBHOST -> 127.0.0.1
1.安裝 Jenkins
開啟終端機輸入
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list' sudo aptitude update sudo adduser jenkins (unix密碼輸入自選 , 全名輸入jenkins , 其他使用預設(enter)) sudo aptitude install jenkins
sudo /etc/init.d/jenkins start
jenkins : sudo /etc/init.d/jenkins stop
ubuntu 10.04 預設沒有安裝 ssh-server, 若想遠端使用ssh登入主機就必須安裝ssh server
SSH
1. 安裝 ssh server
終端機輸入
sudo apt-get install openssh-server openssh-client
2. 啟動 ssh server
終端機輸入
sudo /etc/init.d/ssh start
3. 遠端連線
終端機輸入
ssh 遠端主機帳號@遠端主機id 輸入密碼
SFTP
1. 遠端連線
終端機輸入
sftp 遠端主機帳號@遠端主機id 輸入密碼
2. 可使用在遠端主機指令
pwd , cd , ls , dir , mkdir , rmdir , rm , rename , chmod , chgrp , chown
3. 可使用在本機端指令
lcd , lls , lmkdir , lpwd , lrmdir
4. 本機上傳檔案到遠端
put 本機檔案 遠端路徑
5. 從遠端下載檔案到本機
get 遠端檔案 本機路徑
Permission denied (publickey). fatal: The remote end hung up unexpectedly
Root Caused:
在本機端 git clone 專案時,使用指令時權限錯誤
Solution:
在輸入git clone 指令時切換到適合的權限,再輸入
或在放置專案的地方輸入 sshp-add
開啟終端機輸入
apt-get install gcin
安裝完成後重開機即可使用
調整設定
系統 -> 偏好設定 -> gcin 輸入法設定 -> 內定輸入法 開啟&關閉
Description:
接上實機後,Eclipse DDMS Devices 顯示 ?????????? ?? unknow
Solution:
開啟终端機輸入
sudo -s
輸入密碼取得 root 權限
移動到 SDK 中的 platfarm-tools 資料夾,其內要有adb檔案。
以下步驟可能要重複好幾次,直到顯示名稱OK
輸入
sudo ./adb kill-server
會開始Connection attempts
再輸入
sudo ./adb devices
如果装置有顯示名稱就OK了