About

寫什麼都不奇怪了.....

| Posted by 小哇 walile

git 指令速記

Git指令速記 (因為太常忘記了)

git branch

  1. branch: git branch git branch
  2. delete a branch git push origin --delete
  3. local branch to remote: git push -u origin {branch_name}

tag

  1. list tag: git tag

  2. 打tag:

  3. push all tag到remote: git push origin --tags

  4. checkout remote tag: git checkout tags/version {version number}

git checkout

  1. checkout remote branch (new version git):
    git fetch
    git checkout

git revert

// revert code to specific point you want to keep
git reset --hard {hash}

// move branch pointer back to previous HEAD
git reset --soft HEAD@{1}

// remember commit revert change
git commit -m "revert to {hash}"

git rebase

| Posted by 小哇 walile

前端基本環境建置 gulp + gulp-cli + broswer-sync + gulp-less 變更自動同步瀏覽器

因為開發需要,希望可以自動監控專案底下的HTML/CSS/JavaScript,只要有變更即更新瀏覽器,就不用手動自己重新整理了。而且寫Less的時候,也可以在存檔的時候自動compile成css使用,很方便的處理方式~ 接下來就開始把環境設定一下:

  1. 初始化專案並且建立package.json
    npm init --yes

  2. 建立node.js的虛擬環境:(先請安裝nodeenv)
    nodeenv .env

後面的.env可以置換成想要置放的資料夾名稱

  1. 將環境換成剛剛建好的node.js虛擬環境(此做法在於如果不小心出了問題,比較不會影響到整個電腦的node.js環境 source .env/bin/actiave

到時候有需要退出環境的時候,只需要直接執行
deactivate_node

就可以退出環境了。

  1. 安裝所需要的套件: 這個安裝的目的是希望能夠監控專案裡面的HTML/LESS/JavaScript檔案,有變更的時候就會編譯LESS或是重新整理正在開發的瀏覽器(即Livereload的功能),基本上來說,需要先利用npm安裝以下幾個套件:
  • gulp 這邊個人會使用gulp來處理,其實也可以使用grunt,但因為沒玩過就是了。(記得要安裝在global)
  • gulp-cli (在terminal使用gulp,記得要裝在global)
  • gulp-less
  • browser-sync (檔案改變的時候可以將結果同步瀏覽器,不用再另外安裝extension)

接下來就示專案需求可以安裝webpack或是babel之類的工具了。

  1. 設定gulpfile.js 因為gulp吃的是gulpfile.js,請先在專案根目錄中設定gulpfile.js,接下來準備設定gulpfile.js的部分:
這邊是先在gulpfile.js上設定載入使用的library

var gulp = require("gulp");
var less = require("gulp-less");
var browsersync = require("browser-sync").create();

下方的部分是設定less file compile

gulp.task('less',function(){
gulp.src('./less/*.less')
.pipe(less())
.pipe(gulp.dest('./css/'))
});

設定監控檔案,有變動即利用rowsersync重新整理瀏髡器

gulp.task('watch',function(){
gulp.watch('./less/.less',['less']).on("change", browsersync.reload)
gulp.watch('./js/
.js').on("change", browsersync.reload)
gulp.watch("./*.html").on("change", browsersync.reload)
});

browser sync configuration

gulp.task('browser-sync', function(){
browsersync.init({
server: {
baseDir: "./",
proxy: "test.dev"
},
ui: {
port: 3000,
weinre:{
port: 3001
}
}
})
})

這個是最後一行需要放上的部分,default startup的設定

gulp.task('default',['less','watch', 'browser-sync']);

以上檔案處理完畢後,就可以回到專案資料夾根目錄的地方,直接用gulp即可以執行我們設定好的環境並且進行開發了。

| Posted by 小哇 walile

mac os預設zsh

其實用了超久結果每次電腦重灌都要再挖一次記錄,直接簡單記錄改用zsh做為基本使用的shell。不過首先,要先裝好homebrew:

  1. brew install zsh
  2. 設定oh-my-zsh: 以下擇一即可,一個是用wget來安裝,另一個是curl來處理

(設定使用https://github.com/robbyrussell/oh-my-zsh)

  1. brew install zsh-completions

基本上應該這樣就可以完成基本設定,而且預設會把bash改成zsh。另外,如果想修改theme的話,預設系統的theme是放在:~/.oh-my-zsh/themes (theme是由oh-my-zsh提供的),基本上來說,可以透過這篇官方說明來設定。這樣就大功告成了。

| Posted by 小哇 walile

AWS CloudSearch 入門

因為之前公司需求,研究了AWS的cloudsaerch以及Elastic search二套。這篇就之前研究的cloudsearch的部分做一個簡單的筆記。Amazon AWS的cloudsearch是一個讓人能夠簡單建立一個搜尋的服務。在中文分詞的部分是已建立了...但倒是有一件很重要的事情就是,中文搜尋的部分,基本上一定要建入「二個中文字」才能進行搜尋。因為一個中文字,在搜尋中是不被認成是一個詞,這點是在使用上最重要要注意的部分,接下來就細節建議進一步說明。

在一開始要建立一個cloudsearch的時候,我們必需要先建立一個domain。在cloudsearch中,一個domain,我們當成是一個大的table。所有的資料都是在這個table中搜尋。接下來每一個在cloudsearch中的index則為一個欄位。這點會方便我們在一開始進入使用cloudsearch的時候不清楚該如何操作時,利用了一點RMDB的觀點來理解(但這並非完全對或錯)。這個方式和之前在看Elastic search的時候有一個對照在理解操作方式:

RMDB DB Table rowcolumn
ES Index Type document fields

** ES指的是Eastic Search

接下來在觀念較為清楚的狀態下,我們要再注意一點,就是在search的條件。我們一般在做搜尋是資料精確度由最精準到愈不精準排序下來的。在AWS中也是有地方可以調整自己的ranking pattern的,這個部分要另外再做研究了。

在Cloudsearch中可以使用輸入search的方法照官方文件中有幾種:

  1. simple - 籍由較簡單的url parameter的方式把想搜尋的資料丟進去搜尋。
  2. structured - 除了simple的方式外另外加上可以特別指定搜尋的欄位以及一些綜合條件。
  3. lucene - 不用多說,就是提供和Apache Lucene的語法條件方式讓使用者使用
  4. dismax - 除了使用Apache Lucene的解析方式以及dismax的語法

這幾個方式並沒有特別的好或是不好,以自己在開發時所需要的方式使用。最後二個因為是提供lucene的語法,在AWS的文件上並沒有特別說明,這個部分就要去Apache Lucene去查語法來使用。

以最基本來說,能夠將資料完整倒進去,就可以完成一個很簡單的搜尋功能,其餘就要看怎麼發揮了....

| Posted by 小哇 walile

R語言重點速記

因為修課的關係所以需要記錄一下:

| Posted by 小哇 walile

在mac上建立python開發的虛擬環境virtualenv

python virtualenv configuration。(參照:virtualenv官網)

目前環境:Mac OS 10.11.3 (EI capitan)
原生Python Version: 2.7.10

| Posted by 小哇 walile

Mac上如何建立Rails的開發環境

太久沒玩Ruby很多東西也整個忘的很乾淨了。這次試著將一些東西撿回來(主要是想使用Ruby on Rails)。所以重新整理了環境建置的筆記。(主要的intruction是參照:ihower的Ruby on Rails 實戰聖經)

目前環境:Mac OS 10.10 (Yosemite)
原生Ruby Version: 2.0.0p481

| Posted by 小哇 walile

Perl 入門轉換 part 2

這篇來些進階的...檔案IO以及正規表示法的部分

| Posted by 小哇 walile

[Mac] 2014目前使用的mac 軟體

好久沒更新一下,所以來記錄一下今年有使用的mac軟體列表。不過有些東西是付費的部分,會在項目最後加上$來表示。

| Posted by 小哇 walile

Perl 入門轉換

世事多變化...以前因為寫PHP,對於PHP的符號愈來愈多的狀況下,我的內心曾經一度有一個願望:不要再碰到符號很多的語言了....沒想到.....新工作開始被抓去寫perl... (不知道有多少人會想問為啥我還是寫了,實際上碰了perl之後,發現有不少有趣的部分)對於一開始寫perl老是卡卡的狀況,所以還是把常碰到的問題先記下來,日後避免常被一堆符號搞混....