2016/04/27

nvm 一套 nodejs 版本管理程式


沒有管理員權限,照樣安裝nodejs

幸好有了 nvm 這玩意,可以把 nodejs 裝在自己目錄下

在安裝 global 套件時也沒問題

** ~~nvm 被系統鎖權限時好用的 nodejs 安裝程式~~ **

**nvm 一套 nodejs 版本管理程式**

非常好

首先我們只要執行 readme 提供的指令就可以了

我的 mac 沒有 wget 所以選擇 curl 安裝

```
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
```

安裝前記得先產生 ~/.bashrc 或是 ~/.bash_profile

不然你的 terminal 不會每次開啟都可以直接設定好喔

結束...

將你 mac 的 terminal 改成 monokai 配色




新工作新 mba 一切都要重新設定,在這邊紀錄一下

我所使用的配色檔是 monokai.terminal

1. 首先 git clone https://github.com/stephenway/monokai.terminal.git

2. 開啟 terminal 並且 import 該描述檔進去就可以了

這樣你的 terminal 就變成美美的

2016/04/26

將你的 vim 改成 monokai 配色




新工作新環境一切都要重新設定,在這邊紀錄一下

我所使用的配色檔是 vim-monokai

1. 首先下載 monokai.vim 並放在 ~/.vim/colors/ 底下

2. 開啟 vim 的 syntax 並設為 monokai

vim 命令模式

# :syntax on 也可以
:syntax enable
:colorscheme monokai


或是編輯 ~/.vimrc

# syntax on 也可以
syntax enable
colorscheme monokai


這樣你的 vim 就變成美美的

2016/04/25

將 canvas 轉為圖檔並下載



紀錄一下新工作第一個討論到的問題

”把手寫簽名轉存成圖檔下載“



// 在此建立一個空的 canvas 
var canvas = $('<canvas>');

// 把 canvas 轉成 base64(DataURL) 型態
var imageData = canvas[0].toDataURL("image/png");

// 建立一個 a 讓使用者可以點擊下載
var a = $('<a>').attr('href', imageData).attr('download', 'name.png');


// 把 a 放到網頁上點擊試試看,會下載一個名為 name.png 的空白檔案
$('body').append(a);


下載下來的圖檔是沒有內容的,你可以照你的方式編輯 canvas 之後在下載下來就有內容了

2016/03/15

vim 的分割視窗功能


以前在使用 vim 去比對並編輯兩個檔案的時候我都是用以下兩個笨方法

1. 不停的來回開關 vim 切換作切換
2. 開兩個 terminal 出來


今天終於心血來潮想去找找 vim 有沒有這種功能

以下

:e filename        # 編輯另一個檔案
:split filename    # 水平分割
:vsplit filename   # 垂直分割
ctrl w w           # 視窗來回切換
ctrl w 方向鍵      # 切換到該方向的視窗
ctrl w _           # 視窗最大化
ctrl w =           # 將所有視窗大小設一樣
ctrl w -           # 將視窗大小減少一行
ctrl w +           # 將視窗大小增加一行
:hide              # 隱藏現在這個視窗
:only              # 只顯示現在這個視窗



如果要分割的視窗同步捲動的話就在要同步的視窗中下(兩個分割視窗就切換各下一次)

:set scrollbind

2016/01/20

mongodb 2.6 command 小記



設定 replica set 相關

初始化 replica set

var config = { _id : "repl", members : [ {_id : 0, host : 'repl1:27017'}] };
rs.initiate(config);

修改 replica set 設定

var config = rs.conf();
config.members[1].priority = 0;
rs.reconfig(config);

加入仲裁者

rs.addArb('replarb:27017');

權限相關

新增 user

db.createUser(
  {
    user: "username",
    pwd: "password",
    roles: [
      'userAdminAnyDatabase',
      'dbAdminAnyDatabase',
      'readWriteAnyDatabase'
    ]
  }
);

移除 user

db.removeUser('username');

現有 user 加入新權限角色

db.grantRolesToUser(
  "backupuser",
  [
    { role: "backup", db: "admin" },
    { role: "restore", db: "admin" }
  ]
);

Capped Collections
建立一個有大小/筆數限制的collection
官方文件: capped-collections

// set on create
db.createCollection( "<collection name>", { capped: true, size: <size in byte>[, max : <num of max documents>] } );

// set on exists
db.runCommand({"convertToCapped": "<collection name>", size: <size in byte>[, max : <num of max documents>]});

2016/01/07

sudo: unable to resolve host




這個問題煩惱我一陣子了

除了每次出現訊息之外

在打 sudo 的時候 還會 lag 好一陣子

嘗試過在 /etc/hosts 加上一筆正解,但還是不行

在這邊提供另一種解決方法

修改 /etc/resolve.conf

加上一筆 domain 就可以了

如果你出現的訊息是


sudo: unable to resolve host moa.sw

那麼就在 /etc/resolve.conf 加上一行

domain moa.sw

我們可以繼續快樂的使用 sudo 了