2015年3月27日 星期五

Dropbox + git

1. 在Dropbox目錄:
建立無.git目錄的repository
cd /d/Dropbox/git/ecboxy/server
git init --bare

2. 在專案目錄:
建立新的git
cd /d/ecboxy/server
git init
設定遠端目錄
git remote add origin /d/Dropbox/git/ecboxy/server
新增檔案
git add /js/*.js
查詢狀態
git status
建立訊息
git commit -m 'New Project‘
同步遠端目錄(上傳)
git push origin master
檢查目錄是否有更新
git pull origin master

3. 其它

解除追蹤並刪除檔案
git rm -f test.js


教學網站:
http://gitbook.tw/

2015年2月4日 星期三

FreeBSD Named

DNS namedb 目錄
4.x
/etc/namedb/

/etc/named.boot 4.X 版的設定檔
/etc/named.conf 8.X 版的設定檔
/var/named/named.ca Root Server 的所在
/var/named/* 正反解檔等,一般常放的位置
/var/named/named.hosts
/var/named/named.rev

named執行緒
/usr/sbin/named
/usr/sbin/named.reload
/usr/sbin/named.restart

named.conf 中的 Serial Number 必須更新後,DNS才會重新套用設定:
2014032701 (通常是年份日期加版本號 2014 03 27 01)

查詢named執行緒及對應的id
ps -ef | grep named

查看系統運作資訊
tail /var/log/messages

網路設定
# vi /etc/rc.conf

下載檔案
fetch ftp://ftp.rs.internic.net/domain/named.root

2015年2月2日 星期一

Time Server 錯誤


錯誤:
ntpdate: no server suitable for synchronization found

解決:
ntpdate -b -u tick.stdtime.gov.tw

2015年1月26日 星期一

AJAX動態網頁換頁

關鍵字:ajax change page content
[jQuery] Dynamic Page / Replacing Content:
http://css-tricks.com/dynamic-page-replacing-content/
讓實體上一頁、下一頁按鈕可以換頁。

2015年1月6日 星期二

視差滾動 Parallax

https://github.com/IanLunn/jQuery-Parallax
http://ianlunn.co.uk/plugins/jquery-parallax/
jQuery教學-簡單好用的視差滾動特效 Parallax Effect

CSS3 Transitions and JavaScript-powered Progress Bar

CSS3 Transitions and JavaScript-powered Progress Bar
http://vote539-webdev.blogspot.com/2011/08/css3-transitions-and-javascript-powered.html

去文字修改版
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-TW" xml:lang="zh-TW">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Progress Bar</title>
<style>
.progressbar {
    position: relative;
    border: 1px solid #fff;
    background-color: #ffcccc;
    /* Original WebKit Syntax for Gradients */
    background-image: -webkit-gradient(linear,
        left top,
        left bottom,
        from(#ffcccc),
        color-stop(50%, #fff),
        to(#ffcccc));
    /* More Recent Syntax for Gradients */
    background-image: -webkit-linear-gradient(
        top,
        #ffcccc 0%,
        #fff 50%,
        #ffcccc 100%);
    background-image: -moz-linear-gradient(
        top,
        #ffcccc 0%,
        #fff 50%,
        #ffcccc 100%);
    background-image: -o-linear-gradient(
        top,
        #ffcccc 0%,
        #fff 50%,
        #ffcccc 100%);
    background-image: -ms-linear-gradient(
        top,
        #ffcccc 0%,
        #fff 50%,
        #ffcccc 100%);
}
.pb-fluid {
    position: absolute;
    top: 0px;
    left: 0px;
    height: inherit;
    /* Here is where we declare the CSS3 Transitions.
     * We have one line for each browser prefix, plus
     * the future standard at the end.
     */
    -webkit-transition: width .6s ease; /* WebKit (3.2+) Version */
    -moz-transition: width .6s ease; /* Firefox (4+) Version */
    -o-transition: width .6s ease; /* Opera (10.5+) Version */
    -ms-transition: width .6s ease; /* Internet Explorer (10+?) Version */
    transition: width .6s ease; /* Future Standard */
    background-color: #ff0000;
    background-image: -webkit-gradient(linear,
        left top,
        left bottom,
        from(#ffcccc),
        color-stop(50%, #ff0000),
        to(#ffcccc));
    background-image: -webkit-linear-gradient(
        top,
        #ffcccc 0%,
        #ff0000 50%,
        #ffcccc 100%);
    background-image: -moz-linear-gradient(
        top,
        #ffcccc 0%,
        #ff0000 50%,
        #ffcccc 100%);
    background-image: -o-linear-gradient(
        top,
        #ffcccc 0%,
        #ff0000 50%,
        #ffcccc 100%);
    background-image: -ms-linear-gradient(
        top,
        #ffcccc 0%,
        #ff0000 50%,
        #ffcccc 100%);
}
</style>
</head>
<body>
<div id="container" style="position:relative;"></div>
<script type="text/javascript">
function ProgressBar() {
    var width = 500;
    var height = 3;
    var objects = {};
    var max = 1;
    var value = 0;
    
    var _redraw = function() {
        if(objects.main) {
            objects.fluid.innerHTML = "";
            objects.text.innerHTML = "";
            objects.main.innerHTML = "";
            objects.main.parentNode.removeChild(objects.main);
        }
        
        objects.main = document.createElement("div");
        objects.main.className = "progressbar";
        objects.main.style.width = width + "px";
        objects.main.style.height = height + "px";
        
        objects.fluid = document.createElement("div");
        objects.fluid.className = "pb-fluid";
        objects.main.appendChild(objects.fluid);
    }
    var _setfluid = function(){
        if(!objects.main) _redraw();
        var percentage;
        if(max<=0) {
            percentage=0;
        } else if(value<0) {
            percentage=0;
        } else if(value>=max) {
            percentage=1;
        } else {
            percentage=value/max;
        }
        objects.fluid.style.width = Math.round(percentage*width) + "px";
    }
     
    this.appendTo = function(target) {
        if(!objects.main) {
            _redraw();
        }
        target.appendChild(objects.main);
    }
    this.jump = function() {
        if(!objects.main) return;
        if(objects.main.parentNode) {
            var parent=objects.main.parentNode;
        }
        _redraw();
        _setfluid();
        if(parent) {
            parent.appendChild(objects.main);
        }
    }
    this.setWidthHeight = function(newwidth, newheight) {
        if(newwidth) {
            width = newwidth;
        }
        if(newheight) {
            height = newheight;
        }
        _redraw();
        _setfluid();
    }
    this.setValueMax = function(newvalue, newmax) {
        value = newvalue;
        max = newmax;
        _setfluid();
    }
    this.setValue = function(newvalue) {
        value = newvalue;
        _setfluid();
    }
    this.setMax = function(newmax) {
        max = newmax;
        _setfluid();
    }
    this.getValue = function() {
        return value;
    }
    this.getMax = function() {
        return max;
    }
}

var myProgressBar = new ProgressBar();
//myProgressBar.setWidthHeight(200, 18);
myProgressBar.setValueMax(0, 10);
myProgressBar.setValue(5);
myProgressBar.appendTo(document.getElementById("container"));
</script>
<p>
<button onclick="myProgressBar.setValue(myProgressBar.getValue()+1);">Increase Value</button>
<button onclick="myProgressBar.setValue(myProgressBar.getValue()-1);">Decrease Value</button>
</p>
</body>
</html>