2013年9月17日 星期二

Column Selection

給自己做個筆記

一般在撈資料時, 如果我們要選取 name 的資料時
在一些的編輯器上或 終端機介面 有支援Column Selection
按住Alt + mouse左鍵 即可選取。
               id  |  name
-------------+-----------------
   61665107 | aaa
   35239077 | bbb
   53965186 | ccc
   13814776 | ddd
 

在Sublimt Text 下有不同使用方式

mouse右鍵 + Shift
OR:
Middle Mouse Button
OR:
Ctrl + Alt + Up
Ctrl + Alt + Down

透過這樣使用方式在Sublime Text下
可以利用Column Selection瞬間抓出
aaa
bbb
ccc
ddd

在轉成
aaa,bbb,ccc,ddd



2013年9月5日 星期四

Grunt

Grunt 是一個基於node.js用來自動化任務管理器能用來協助你開發專案,
可以設定你自己的grunt來打造自己的管理功能
在這裡來給自己做筆記一下
網路上grunt的plugin 非常得多
我目前只用了 uglify, compress, watch
以下是我自己寫好的grunt 及使用方式
uglify: 用來將javascript 的code 進行 compressor
 預設路徑為 ./pro1/public/js/build/
compress: 用來將你的專案用zip進行打包
 預設路徑為 ./build/
watch: 將修改好的檔案立即在browser顯示效果(LiveReload)
1.首先下載下來,放在你開發所有專案的目錄裡面
Github下載
ex: ~/nodejs/
2.在nodejs目錄底下,建立自己的專案名稱
ex ~/nodejs/pro1
3.我們在 pro1 裡面建立 public/js目錄跟 package.json檔案
package.json 內容
{
    "name": "pro1"
}
如果要執行uglify跟compress
 grunt pro1 
如果只要執行 uglify
 grunt pro1:uglify 
如果要執行 LiveReload
 grunt livereload 
丟到背景執行
 grunt livereload &

2013年8月31日 星期六

Git 基本用法

Git 是一個分散式的版本控制管理 在一個專案裡面可以建立多個分支給開發者 達到互不干擾彼此的程式碼 最後在交由給管理者負責合併發佈版號 以下介紹基本的用法
CentOS and Fedora 安裝
yum install git

建立專案

mkdir test1; cd ~/test1
git init

從遠端or本機(來源)抓取專案

git clone {git server link} 
git clone ~/test1 (從本機clone) 
git clone ~/test1 ~/test2 (從本機抓取放到test2目錄裡面) 

將untrace files 跟 modified files進入暫存快照區

## untrace files : 第一次新增檔案,還未被git做追蹤,在add做完之後變成以追蹤狀態
git add {file}  (single file)
git add . (all files)

將已儲存快照的檔案 commit 並輸入改版訊息 以便日後做log查詢

git commit 
git commit -a (將modified files儲存快照並且做commit)
git commit -am "{log message}"
更動最後一筆更新,最常見的復原發生在太早提交更新,也許忘了加入某些檔案、或者搞砸了提交的訊息。 若想要試著重新提交,可試著加上 --amend 選項:
git commit --amend  

將專案push到遠端(git server)上

git push origin master
git push origin developer:master (將developer分支的檔案 push 到 master分支裡面)

檔案復原

git checkout t.txt (將修改過的檔案未進快照暫存區的地方還原)
git checkout -- t.txt (將修改過的檔案未進快照暫存區的地方還原)
git checkout HEAD t.txt (從暫存快照區的檔案還原)
git reset HEAD t.txt (從暫存快照區的檔案拉回修改區)

復原上個版本

git reset --soft(可省略) HEAD^ (回到上個版本未commit 的狀態) 
git reset --hard HEAD^ (回到上個版本)
(回到指定的的版本{commit sha1} , 要記得當前版本的sha1 或是下git tag 做當前版本標記,以免還原之後回不去當前版本)
git reset --hard 232adbee544d57087317a909e6f8357475611ceb 

合併

git merge devel (將devel的分支log合併到目前的分支)
git rebase  master (將master的分支包含log 合併到 目前的分支,目前分支的log將會跟master的log一樣)
比較好的開發狀態分支圖

其他指令

(增加遠端的位置)
git remote add origin {link} 
git remote -v (查詢) 
從遠端抓取最新分支,兩者用法不解釋
參考網址: http://ruby-china.org/topics/4768
git fetch
git fetch origin master:master
git pull
git pull origin master:master 

查看當前狀態
git status

分支查詢
git branch 
git branch -a

切換分支
git checkout {branch}

刪除分支
git branch -D <branchname>
git push origin --delete <branchname> PS:(remote)


log 查詢
git log 
git log -all
參考資料:

2012年9月28日 星期五

介紹event的method用法

簡單的介紹幾個event的method

stopPropagation():
如果父元素有被綁定事件,將不執行父元素的事件動作。

preventDefault():
將一些原有標籤的事件動作給清除
例如:checkbox

example:
https://developer.mozilla.org/samples/domref/dispatchEvent.html

2012年8月31日 星期五

簡單的1加到100

function sumAdd(sumnum){
  if(num 0){
    sum += num;
    return sumAdd(sum--num)
  else {
    return sum;
  }
}
console.log(sumAdd(01000));


2012年8月24日 星期五

2012年8月14日 星期二

css3 important 使用方法

如果對tag的id或是class有下 !important
那不管是任何同樣名稱的class或是id 都將被受影響
如有 父 + 子層級描述 也會被影響
ex:
 .test .example{
   width:300px;
}

.example{
  width:400px !important;
}


http://jsfiddle.net/QsCxB/