Friday, January 29, 2016

golang與sublime

gosub

Golang安裝與環境設定

wget https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz
sudo tar -xzf go1.5.linux-amd64.tar.gz -C /usr/local
GO環境設定 /etc/.bashrc 中設定
export GOROOT=/usr/local/go 
export GOPATH=$HOME/golang/projects/foo
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOROOT/bin
我們先建立GO project位置
mkdir ~/golang/projects/foo
mkdir ~/golang/projects/foo/bin
mkdir ~/golang/projects/foo/pkg
mkdir ~/golang/projects/foo/src

SUBLIME安裝

這時候我們開始安裝sublime3。
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer
安裝完後透過sublime設定環境變數 preference ->package Setting -> go sublime-> setting Default -> env
//"env": {},
    "env": {
        "GOROOT": "/usr/local/go",
         "GOPATH": "~/golang/Projects/foo"
     },
透過sublime自帶的安裝plugin,這點實在太優秀了。
ctrl+shift+p
install -> enter
gosublime -> enter
sidebarenhancement -> enter
go build -> enter
可以試試看環境對不對了,我們應該可以看到fmt下所有的function。

Ctags Plugin 安裝

安裝ctags,追蹤source code。雖然經驗上ctags很容易找錯,但我還是裝看看。
在sublime環境中安裝ctags plugin
ctrl+shift+p
install -> enter
ctags
在ubuntu環境中安裝ctags
apt-get install ctags
接下來在sublime的編輯鈕中,build ctags
find->ctags->rebuild ctags
然後你可以透過下列shourtcut key完成function追蹤。
ctrl+shift+.
ctrl+shift+,

Third Party 套件 and auto-completion

可以auto-completion是我選擇sublime的出發點,VIM目前我是無法成功設定auto-completion的。 我們還沒測試如果安裝third party套件後是否還能夠auto-completion。 答案是不行,因此還需要以下的解法才可以,很簡單的。
首先我們先找個套件安裝看看,用mux好了。
go get github.com/gorilla/mux
別忘了安裝git在ubuntu中,否則會報錯
apt-get install git
依照上述方式設定,go get安裝的pkg 會落在$GOPATH中,即你的工作目錄中。 此時先安裝的套件,你會發現無法auto-completion。 這時候你要
cp golang/projects/foo/pkg/linux_amd64/github.com/gorilla /usr/local/go/pkg/linux_amd64/github.com/. -rf
如此一來,就可以auto-completion了,程式碼寫起來也輕鬆多了。

VIM enable

preference -> setting-User
取消ignore_package的設定。
ignore_packages:[
    ""
]
此時你在sublime的操作就跟VI很像了,最特別的是當你:w儲存檔案時,sublime會幫你從新整理檔案的格式。 不再害怕出格式混亂的現麵條式程式碼了。

Wednesday, January 6, 2016

jenkins and git server

jenkinsNgit

Install Git Server

安裝方法於Ubuntu14.04 1。 原本要裝個GitLab來做實驗,但發現實在太複雜了。 因此決定簡單裝個Git Server來玩玩就好。
在Server端
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo install git git-core
$ cd /var/git (目錄位置可以自己決定)
$ sudo mkdir newproject.git
$ cd newproject.git
$ sudo git --bare init
在Client端
git clone ssh://root@localhost:/var/git/newproject.git
接下來測試一下 簡單寫個python小程式 test.py
import commands
commands.getoutput("ls > /tmp/scrrr")
在Client端commit試試看
git add test.py
git commit -m 'adding test.py
git push origin master
把之前的newproject.git砍掉,再試試看clone新的看看
git clone ssh://root@localhost:/var/git/newproject.git
Client
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub root@172.16.235.128:/tmp/git-admin.pub
Server
apt-get install gitolite
useradd -s /bin/bash -m -G sudo -d /home/git git
su - git
gl-setup /tmp/git-admin.pub
Client
git clone git@172.16.235.128:gitolite-admin.git
現在我們可以用git了

與Jenkins整合

每兩分鐘更新一次再Build periodically的schedule中設定
*/2 * * * *
Jenkins上選擇 https://github.com/jonahwu/test 作為在Jenkins上的Repository URL
這部分只能用http,不能用git,因此之前的git安裝無法運作在Jenkins上。
安裝完後每兩分鐘就會去github上下載代碼,而此下載位置為
/var/lib/jenkins/job/tt/workspace/
/var/lib/jenkins/job/tt/workspace/default
此內容包含
a.py
readme
haha.txt
有趣的事,下載的位置會直接解開在workspace下,並且同時也放在default裡。我以為他應該會解在自己的目錄,結果不是。
在shell script中,因為此目錄為系統可看見的目錄,我們可以直接用
python a.py

  1. http://rexxoncoding.blogspot.tw/2015/03/ubuntu-linux-git-server.html 

Monday, December 14, 2015

如何在blog貼上code

經過一番折騰,我不想用任何改變 CSS的方式貼code了。

我採用,先將code轉成HTML後,在BlogSpot中切換成HTML mode後,將轉成HTML的Code直接貼上。
轉code網站為下

http://hilite.me/

好處是有各種語言Golang, Python等。

另外一種方式是選擇一個編輯器再轉成HTML並貼在blogspot的html編輯器內。
編輯器,我選擇用markdown編輯器。目前在MAC下測了三款Markdown editor
1. MOU
2. TYPORA
3. MACDOWN
最後選擇MACDOWN因為轉成HTML與blogspot相容性最佳,也就是,在編輯器上呈現的跟blogspot呈現的最接近。
以下為測試結果,與編輯器內非常接近。

lala

我不知道拉
我我我
hahaha

我我我

package main
import (

)

Friday, October 30, 2015

半夜的陽光 - 武漢

武漢的半夜兩點。
但我感受到陽光與這城市給我的燦爛。
每一刻我都感恩。
下一個階段,能讓我持續突破的行為就是互動-- 
站在舞台上,對著不同的人說話。
寫文章,並讓每個人都看到。








Wednesday, September 3, 2014

Sky on Fire

看過兩次火紅的天空,一次在淡水這次在台中。

既然這樣,只好,哈哈哈

感謝您對 Google AdSense 的關注。不過,在審核您的申請後,我們目前無法接受您加入 Google AdSense。
以下是我們無法核准申請的具體原因。
內容不夠豐富:要加入 AdSense 並在網站上顯示相關廣告,您的網頁上必須要有足夠的文字內容,AdSense 專家才能進行審核,我們的檢索器也才能選出適合顯示在您網頁上的廣告。
要解決這個問題,請依照以下建議進行修改:
  • 確保您的網頁上有足夠的文字內容:以圖片、影片或 Flash 動畫為主的網站無法通過審核。
  • 內容裡應該含有完整的句子和段落,不能只有標題。
  • 確認您的網站在申請 AdSense 之前就已完工並啟用:網站仍在測試或建置階段,或只有網站範本時,請勿提出申請。
  • 將廣告程式碼放在網站的一個已上線網頁中,不一定要放在主頁。但如果測試頁上除了 AdSense 廣告程式碼以外什麼都沒有,網站將無法通過審核。
  • 為您的訪客提供清楚的導覽系統,方便他們找到網站上的所有區段和網頁。
  • 如果您想使用 YouTube 影片賺取收益,請透過 YouTube 營利計劃申請。請注意,僅包含影片的網誌和網站將無法通過審核。
在您完成必要的修改後,我們很樂意再次審核您的申請。

---------------------
相關詳情與申請訣竅請參閱本說明文章
如果要更新申請內容並重新提出,請造訪 google.com/adsense然後使用申請當時提供的電子郵件地址和密碼登入。我們的專家會審查您的帳戶是否符合計劃政策,因此請務必先解決上述所有問題,再重新提出申請。
如需 AdSense 資格條件的完整清單,請參閱 AdSense 計劃政策AdSense 條款及細則
如果您想知道更多資訊,請參閱說明中心或搜尋 AdSense 說明論壇,這是 AdSense 發佈商交流實用資訊的園地。Google AdSense 小組代表也會參與討論。
祝一切順心!
Google AdSense 小組敬上
這封信是從通知專用的電子郵件地址寄出,這個地址沒有專人處理,請勿直接回信。如果有任何疑問,請造訪Google AdSense 說明中心查看常見問題的解答。

Wednesday, August 27, 2014

初衷

錯誤,可大可小。
造成錯誤的過程與心態總是很複雜的。
總覺得只要活著就有機會平反。
錯誤,難以避免。
其實初衷可以是判定事情的選項。
而且該是最高指導原則。
回想大大小小的錯誤,其實造著初衷走反而正確。
但這因人而異,你可以回想一下錯誤的結果與初衷的關係。
如果初衷帶給你更多的機會並帶走災難。
如果是的話,下次你就該相信初衷。