http://www.apheros.com/archives/1112
分類: 其他程式設計
[轉貼]講解 Subversion 分支與合併:以 TortoiseSVN 為例
http://blog.miniasp.com/post/2010/01/29/Subversion-Branches-and-Merging-using-TortoiseSVN.aspx
在實務的版本控管情境中,套用分支與合併應該是最方便不過的了,會用的人可以得到許多版本控管的好處,但不會用的人卻會因為不理解而害怕使用它,由於 Subversion 1.5 開始新增了 Merge Tracking 功能,可有效降低維護分支的負擔,所以能學會分支與合併的技巧對整個版本管理流程來說會有非常大的幫助,今天我就來講解幾個利用 TortoiseSVN 實際的操作分支與合併的例子。
php抓取網頁特定div區塊及圖片
[部分轉貼]php抓取網頁特定div區塊及圖片
- <?php
- //取得指定位址的內容,並儲存至text
- $text=file_get_contents(‘http://andy.diimii.com/’);
- //取得所有img標籤,並儲存至二維陣列match
- preg_match_all(‘#<img[^>]*>#i’, $text, $match);
- //印出match
- print_r($match);
- ?>
- <?php
- //取得指定位址的內容,並儲存至text
- $text=file_get_contents(‘http://andy.diimii.com/’);
- //取得第一個img標籤,並儲存至陣列match(regex語法與上述同義)
- preg_match(‘/<img[^>]*>/Ui’, $text, $match);
- //印出match
- print_r($match);
- ?>
- <?php
- //取得指定位址的內容,並儲存至text
- $text=file_get_contents(‘http://andy.diimii.com/2009/01/seo%e5%8c%96%e7%9a%84%e9%97%9c%e9%8d%b5%e5%ad%97%e5%bb%a3%e5%91%8a%e9%80%a3%e7%b5%90/’);
- //去除換行及空白字元(序列化內容才需使用)
- //$text=str_replace(array(“r”,”n”,”t”,”s”), ”, $text);
- //取出div標籤且id為PostContent的內容,並儲存至陣列match
- preg_match(‘/<div[^>]*id=”PostContent”[^>]*>(.*?) </div>/si’,$text,$match);
- //印出match[0]
- print($match[0]);
- ?>
- <?php
- //取得指定位址的內容,並儲存至text
- $text=file_get_contents(‘http://andy.diimii.com/2009/01/seo%e5%8c%96%e7%9a%84%e9%97%9c%e9%8d%b5%e5%ad%97%e5%bb%a3%e5%91%8a%e9%80%a3%e7%b5%90/’);
- //取出div標籤且id為PostContent的內容,並儲存至陣列match
- preg_match(‘/<div[^>]*id=”PostContent”[^>]*>(.*?) </div>/si’,$text,$match);
- //取得第一個img標籤,並儲存至陣列match2
- preg_match(‘/<img[^>]*>/Ui’, $match[0], $match2);
- //印出match2[0]
- print_r($match2[0]);
- ?>
後記:用正規表達式Regex來做真的很方便,但老實說我規則常會忘掉,記錄一下幾篇文章好了(Regular Expression Details| PCRE Functions | Introduction to PHP Regex | 天殺的正規表示式…)
DOS樹狀清單
DOS樹狀清單
先執行
cmd /u
切到該資料夾
執行
檔名.bat
//code============================
@echo on
rem 註解 把 cmd/u註解(rem) 再輸入test.bat執行
cmd /u
pause
DIR /S /A:-D /B /O:N >> list.txt
list.txt
http://pbice.blogspot.tw/2010/11/dirunicode.html
用Dir指令列出Unicode檔名清單
- 先新增一個文字檔(例如list.txt),將編碼改成Unicode。
- 輸入cmd /u,以Unicode模式執行。
- 執行dir指令,dir >> list.txt。如果只想列出檔名、不要日期、路徑等資訊,可以加參數 b。
- 注意輸出時一定要有2個輸出符號>>,否則會亂碼。
[製作]聖騎之王資料站
人性化設計
很多時候 開發系統 往往忽略一件事情
使用者的 人性化設計
就拿寫生日來說 常常耍笨的我
往往記得 民國XX年 卻 老是換算錯西元19xx年
要是選日期改成 19xx (民國xx) 我就不會選錯惹…
完全不否認是我白痴… 可是偶爾也會不小心這樣阿…嘆氣…
[程式材料]如何產生驗證碼
[程式材料]利用 php 自動將文字轉成圖示
[轉貼]RSS介紹
http://www.ear.com.tw/rss.htm
RSS (Really Simple Syndication)是一種將網頁最新訊息以及頭條新聞同步發送予訂閱者的新機制。它透過XML(eXtensible Markup Language)語法來表現資訊內容,讀者自行訂閱想看的新聞內容且不需提供自己的基本資料、電子信箱,避免垃圾信件的困擾,更方便的是可在同一個介面下瀏覽各個篩訂的網站資訊,目前RSS躍然成為改變網路出版的新技術。
簡單來說 是一個會自動更新的自動訊息
只需要有RSS的閱讀器
如果有新的文章 訥麼就會自己更新嚕
省去時間 一個一個的去看每個網站
Google 閱讀氣 (RSS閱讀器) http://www.google.com.tw/reader/?tab=yy
[Idea]USB虛擬光碟.虛擬硬碟
想必大家都用過 虛擬光碟
更進階點的 虛擬硬碟
如果把他放在USB內 那樣就是行動式的光碟片(可增減)
這邊的想法是,透過免安裝版的虛擬光碟,來做虛擬光碟機
免安裝版的虛擬光碟
PortableWinCDEmu-3.4
(介紹:http://portable.easylife.tw/2256)
軟體下載:下載點1 下載點2
免費製作ISO
Free ISO Creator
(介紹:http://briian.com/?p=6414)
軟體下載:下載點1、下載點2
虛擬硬碟
TrueCrypt
軟體下載:下載網址
用電話號碼、電腦IP查詢所在地址(另可找出同IP的網站鄰居)
即時通連線查IP
程式設計 光碟自動執行Autorun.inf
光碟自動執行Autorun.inf
[autorun]
open=start.bat
[start.bat]
echo.
echo 安裝SketchUp
Pause
start start\GoogleSketchUpWZH-TW.exe
java script _99乘法表
<html>
<head>
<title>99乘法表</title>
</head>
<body>
<Script language = "javaScript">
document.write("<table border='1'>");
for(var i =1;i<=9;i++){
document.write("<tr>");
for(var j =1;j<=9;j++){
document.write("<td> "+ j + "*" + i + "=" + i*j +" </td>");
}
document.write("</tr>");
}
document.write("</table>");
</script>
</body>
</html>
高階語言轉低階語言
VB6:
total=0
for i = 10 to 1 step -1
total=total+i
next i
//=======================
JAVA:
int total=0;
for(int i=10,i!=0,i–){
total+=i;
}
//=======================
MOV R0,#0 // total=0
MOV R1,#10 //i=10
MOV R2,#1 //constant1 //有問題 先定義i!=0先吧
MOV R3,#0 //constant0 //後來才是定義i– R2R3 應該是相反的
Loop:
JZ R1,Next;//i=10
ADD R0,R1;//total+i
SUB R1,R2;//i–
JZ R3,Loop;//jump Loop
// ===========================
MOV 等於
SUB 減法
ADD 加法
JZ 跳躍
PHP基本教學
有範例 還瞞好看懂的喔˙ˇ˙
簡易留言版:
index.php
<?php //一、連結資料庫 //建立連線: @$link = mysql_pconnect("localhost", "ID", "possword");
//選擇資料庫: @mysql_select_db("資料庫") or die("無法選擇資料庫");
//二、執行SQL語法 // 建立SQL語法 @$query = "SELECT * FROM 資料表";
//送出SQL語法到資料庫系統 @$result = mysql_query($query) or die("無法送出" . mysql_error( ));
// 三、取得執行SQL語法後的結果 (指查詢部份) while ( $row = mysql_fetch_array($result) ) { echo "<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' width='50%' id='AutoNumber1'> <tr> <td width='50%'>" .$row['資料欄1']. "</td> <td width='50%'>" .$row['資料欄2']. "</td> </tr> </table>"; }
//四、釋放與Mysql的連線 @mysql_free_result($result); ?>
<form name="form1" method="post" action="index1.php"> <p>姓名: <input name="資料欄1" type="text" id="資料欄1" size="20"></p> <p>留言: <input name="資料欄2" type="text" id="資料欄2" size="20"></p> <p> <input type="submit" name="Submit" value="送出"> <input type="reset" name="Submit2" value="重設"></p> </form>
|
index1.php
<?php //建立連線: @$link = mysql_pconnect("localhost", "ID", "possword");
//選擇資料庫: @mysql_select_db("資料庫") or die("無法選擇資料庫");
//二、執行SQL語法 // 建立SQL語法 @$query = "INSERT INTO `資料表` VALUES ('$資料欄1','$資料欄2');";
//送出SQL語法到資料庫系統 @$result = mysql_query($query) or die("無法送出" . mysql_error( ));
//四、釋放與Mysql的連線 @mysql_free_result($result);
echo "<form name='form1' method='post' action='index.php'>". "預覽! <BR>"."姓名: $資料欄1 <BR>"."留言: $資料欄2 <BR>". "<p> <input type='submit' name='Submit' value='回上頁'></p> </form>";
?>
|
統計學-Excel問卷統計分析表
java 6月1日 使用父類別的變數
//6月1日 使用父類別的變數
class Land { // 父類別
String ID_Number;
Land(){ // 建構方法
}
Land(String ID_Number){ // 建構方法
this.ID_Number=ID_Number;
}
double area() { // 計算面積
return 0;
}
}
class Circle extends Land { // 圓形的土地
int r; // 半徑(單位:公尺)
Circle(int r) { // 建構方法
this.r = r;
}
Circle(int r,String ID_Number) { // 建構方法
super(ID_Number); //●重要 要再第一個敘述
this.r = r;
}
double area() { // 多重定義的版本
return 3.14 * r * r;
}
}
class Square extends Land { // 正方形的土地
int side; // 邊長(單位:公尺)
Square(int side) { // 建構方法
this.side = side;
}
Square(int side,String ID_Number) { // 建構方法
super(ID_Number); //●重要 要再第一個敘述
this.side = side;
}
double area() { // 多重定義的版本
return side * side;
}
}
class Calculator {
double price; // 每平方公尺的價格(元)
Calculator(double price) { // 建構方法
this.price = price;
}
double calculatePrice(Land l) {
return l.area() * price; // 透過多形呼叫正確的 area() 方法
}
double calculateAllPrices(Land… Lands) {
double total = 0; // 加總變數
for(Land l : Lands) { // 一一取出各個物件
total += calculatePrice(l); // 個別計算並累加
}
return total;
}
}
public class Lands3 {
public static void main(String[] argv) {
Circle c = new Circle(5,"Circle_001"); // 一塊圓形的地
Square s = new Square(5,"Square_001"); // 一塊正方形的地
Calculator ca = new Calculator(3000.0); // 每平方公尺3000元
System.out.println(
"土地編號:" +
c.ID_Number+" & " + s.ID_Number +
" 總價值:" +
ca.calculateAllPrices(c,s)
);// 使用匿名陣列
}
}
//執行結果
——————–Configuration: <Default>——————–
土地編號:Circle_001 & Square_001 總價值:310500.0
Process completed.
java接受傳入陣列
double calculateAllPrices(Land… Lands) { //or Land[ ] Lands
double total = 0; // 加總變數
for(Land l : Lands) { // 一一取出各個物件
total += calculatePrice(l); // 個別計算並累加
}
return total;
}
// ================================================
物件導向程式設計邏輯尋找線上遊戲bug
物件導向程式設計邏輯尋找線上遊戲bug
舉例:
遊戲內有任務 必須有任物品 才能開啟對話 也才能接任務
這時候可能會發生bug
因為:
開啟對話 身上有物品 就能開啟 有些程式設計師 可能會los了 接任務也要檢查 才能扣除該任務品
(直接扣除會有幾種可能 1.當機 2.說你沒此物品=防bug 3.通過)
不然 在開啟對話框後 把東西給(郵寄 丟掉 交易) 等方式 就可以把開啟對話所需的材料 給傳走 卻還是能繼續下一步
這也就是bug之一
舉例:
有任務品 會開啟要不要領賞 開啟領賞窗的時候 卻是偷偷把東西給傳走 這樣就可以重複領
此方式如果成立 也套用於洗錢等問題
因為 賣東西 算好錢之後 卻把東西給傳走 可是卻還是可以賣?! 也就衍生出複製的問題!
斷線 封包造成堵塞 通線後 封包同時送出 也會造成問題
地上有東西 我做撿 可是因為我偷拔線 做了10次檢的動作 之後把線插回 卻撿起來了10次相同物品!!!
可是要是有做一拔線 就斷 這招就不成立
簡單說 能造成 雙重執行 都可能發生複製物品