需要以下
1.Java JDK
2.Android SDK
3.Eclipse
4.ADT Plugin for Eclipse
1,2,3就是去下載回來安裝
4的部份要從Eclipse去安裝
找到Help->Install New Software
在Work with的欄位填上https://dl-ssl.google.com/android/eclipse/ 之後按ADD
填上新增的名稱如ADT按OK, 接著選擇所有的軟體後按NEXT開始安裝.
2011年4月27日
2011年4月15日
防止SYN攻擊
最近防火牆怪怪的,發現是架的網站被攻擊把防火牆操掛了.
上網找了幾個調校方式,在這邊記錄一下.
調整sysctl前三項效果就蠻明顯的,其他的還沒有測試.
vi /etc/sysctl.conf
#開啟SYN Cookies,可防少量SYN攻擊,預設為0=關閉
net.ipv4.tcp_syncookies = 1
#開啟REUSE,把TIME-WAIT Socket拿來再利用於其他TCP連線,預設為0=關閉
net.ipv4.tcp_tw_reuse = 1
#開啟連接快速回收,預設為0=關閉
net.ipv4.tcp_tw_recycle = 1
#把backlog數值由1024增加到2048
net.ipv4.tcp_max_syn_backlog = 2048
#把重試次數由5次減為2次
net.ipv4.tcp_synack_retries = 2
立即套用
#/sbin/sysctl -p
iptable部份調校
例如將SYN請求的次數限制在30次每分鐘,系統默認是5次/秒,顯然太高,同時將burst從默認的5個降低到2個。
將SYN請求次數限制 30次/分(預設是5次/秒),Burst由5個降為2個.
/sbin/iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT

上網找了幾個調校方式,在這邊記錄一下.
調整sysctl前三項效果就蠻明顯的,其他的還沒有測試.
vi /etc/sysctl.conf
#開啟SYN Cookies,可防少量SYN攻擊,預設為0=關閉
net.ipv4.tcp_syncookies = 1
#開啟REUSE,把TIME-WAIT Socket拿來再利用於其他TCP連線,預設為0=關閉
net.ipv4.tcp_tw_reuse = 1
#開啟連接快速回收,預設為0=關閉
net.ipv4.tcp_tw_recycle = 1
#把backlog數值由1024增加到2048
net.ipv4.tcp_max_syn_backlog = 2048
#把重試次數由5次減為2次
net.ipv4.tcp_synack_retries = 2
立即套用
#/sbin/sysctl -p
iptable部份調校
例如將SYN請求的次數限制在30次每分鐘,系統默認是5次/秒,顯然太高,同時將burst從默認的5個降低到2個。
將SYN請求次數限制 30次/分(預設是5次/秒),Burst由5個降為2個.
/sbin/iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
2010年12月17日
Java-Bridge Windows安裝筆記
1.安裝Appserv
2.安裝JDK
3.到這邊下載JavaBridge
4.解壓縮並找到JavaBridge.war檔
5.再把JavaBridge.war解壓到JavaBridge目錄
把整個目錄放到 C:\AppServ\JavaBridge
修改php.ini
include_path = ".;c:\php\includes;c:\AppServ\JavaBridge;"
重新啟動apache2
再來到命令列
cd AppServ\JavaBridge\WEB-INF\lib
測試
jtest.php
=====================
require_once("java/Java.inc");
$j = new Java('java.lang.system')
echo $j->getProperty('java.version');
=====================
2.安裝JDK
3.到這邊下載JavaBridge
4.解壓縮並找到JavaBridge.war檔
5.再把JavaBridge.war解壓到JavaBridge目錄
把整個目錄放到 C:\AppServ\JavaBridge
修改php.ini
include_path = ".;c:\php\includes;c:\AppServ\JavaBridge;"
重新啟動apache2
再來到命令列
cd AppServ\JavaBridge\WEB-INF\lib
java -jar JavaBridge.jar SERVLET:8080
執行畫面如下:
測試
jtest.php
=====================
require_once("java/Java.inc");
$j = new Java('java.lang.system')
echo $j->getProperty('java.version');
=====================
2010年11月12日
CSS防止表格被撐開
CSS設定TABLE屬性防止表格被字撐開
table-layout: automatic/fixed;
automatic 預設值, 各儲存格(Cell)決定大小.
fixed 固定大小, 決定於表格 width及各欄位width屬性
word-wrap: break-word;強制執行換行
word-break: break-all;
table-layout: automatic/fixed;
automatic 預設值, 各儲存格(Cell)決定大小.
fixed 固定大小, 決定於表格 width及各欄位width屬性
word-wrap: break-word;強制執行換行
word-break: break-all;
2010年11月11日
PHP 的類別, 繼承, 抽象類別, 介面
我對PHP CLASS的認識, 記錄一下.
//public 可隨意存取
//private 僅對本身內部開放, 不能繼承
//protected 僅對本身內部開放, 可以繼承
//類別
class myclass
{
public $var1='1';
private $var2='2';
protected $var3='3';
//建構函式
//物件建立時會行此函數如有參數,建立物件時需給參數....new myclass($v1,$v2)
function __construct()
{
//物件產生時要執行的程式碼
//如:設定初始值、預設值、連接資料庫.
// $this->var1 = $v1;
//$this->var2 = $v2;
echo "物件產生";
}
//解構函式
//物件消失前會執行此函數
function __destruct()
{
//物件銷毀前要執行的動作
//如:關閉資料庫.
echo "物件消失";
}
//clone函數:物件被複製時會執行此函數
function __clone()
{
//
}
//類別的方法
public function myfun( $par1, $par2 )
{
$this->var1+$this->var2+$this->var3;
return $par1+$par2;
}
public function a()
{
echo "aa";
$this->var1='222aa';
}
}
//物件複製
$cloneobj = clone $obj;
//繼承
class extclass1 extends myclass//可以為空
{}
class extclass2 extends myclass
{
public function a()
{
parent::a(); //呼叫父類別被覆蓋的方法.
echo $this->var1;
}
public $other_var1; //新增父類別沒有的變數
function other_fun () //新增父類別沒有的方法
{
//
}
function myfun() //改寫父類別已有的方法
{
//
}
}
//抽象類別,抽象方法
abstract class abstract_class_name //**只要裡面有抽象的方法,這個類別就要宣告成抽象類別(abstract class)
{
public $a;
//抽象方法
abstract function abstract_function1();//無{}內的內容,直接加分號
abstract function abstract_function2();//無{}內的內容,直接加分號
//一般的方法
function myfunction()
{
//
}
}
//繼承抽象的類別
class myclass extends abstract_class_name
{
public function abstract_function1() //必需重寫抽象方法
{
//
}
public function abstract_function2() //必需重寫抽象方法
{
//
}
}
//介面
interface interface_name
{
//介面中不可以宣告屬性(public $var;)
public function interface_function1();//介面中所有成員都必需是public
public function interface_function2();//介面中所有成員都必需是public
}
//實現介面
//class 類別名 implements 介面名
class myclass implements interface_name
{
public $any_var;
public function interface_function1()
{}
public function interface_function2()
{}
}
//public 可隨意存取
//private 僅對本身內部開放, 不能繼承
//protected 僅對本身內部開放, 可以繼承
//類別
class myclass
{
public $var1='1';
private $var2='2';
protected $var3='3';
//建構函式
//物件建立時會行此函數如有參數,建立物件時需給參數....new myclass($v1,$v2)
function __construct()
{
//物件產生時要執行的程式碼
//如:設定初始值、預設值、連接資料庫.
// $this->var1 = $v1;
//$this->var2 = $v2;
echo "物件產生";
}
//解構函式
//物件消失前會執行此函數
function __destruct()
{
//物件銷毀前要執行的動作
//如:關閉資料庫.
echo "物件消失";
}
//clone函數:物件被複製時會執行此函數
function __clone()
{
//
}
//類別的方法
public function myfun( $par1, $par2 )
{
$this->var1+$this->var2+$this->var3;
return $par1+$par2;
}
public function a()
{
echo "aa";
$this->var1='222aa';
}
}
//物件複製
$cloneobj = clone $obj;
//繼承
class extclass1 extends myclass//可以為空
{}
class extclass2 extends myclass
{
public function a()
{
parent::a(); //呼叫父類別被覆蓋的方法.
echo $this->var1;
}
public $other_var1; //新增父類別沒有的變數
function other_fun () //新增父類別沒有的方法
{
//
}
function myfun() //改寫父類別已有的方法
{
//
}
}
//抽象類別,抽象方法
abstract class abstract_class_name //**只要裡面有抽象的方法,這個類別就要宣告成抽象類別(abstract class)
{
public $a;
//抽象方法
abstract function abstract_function1();//無{}內的內容,直接加分號
abstract function abstract_function2();//無{}內的內容,直接加分號
//一般的方法
function myfunction()
{
//
}
}
//繼承抽象的類別
class myclass extends abstract_class_name
{
public function abstract_function1() //必需重寫抽象方法
{
//
}
public function abstract_function2() //必需重寫抽象方法
{
//
}
}
//介面
interface interface_name
{
//介面中不可以宣告屬性(public $var;)
public function interface_function1();//介面中所有成員都必需是public
public function interface_function2();//介面中所有成員都必需是public
}
//實現介面
//class 類別名 implements 介面名
class myclass implements interface_name
{
public $any_var;
public function interface_function1()
{}
public function interface_function2()
{}
}
訂閱:
文章 (Atom)
