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 了

2015/11/19

捨棄forever擁抱pm2吧



用了forever一陣子了

也為了在開機時自動啟動寫了init script

也解決可以共同管理不同使用者forever job的需求

但心血來潮,在把我的pi2搞好之後想說試用看看pm2

2015/11/18

在 raspberry pi2 上安裝 nodejs



pi2也出來一陣子了

之前也順利安裝0.10.36進去

不過一直以來在安裝某些套件(例: iced-coffee-script)的時候都會出現錯誤(似乎是gyp的問題?)

雖然暫時是不會用到iced-coffee-script了

但是今天我想試用看看pm2時也發生同樣問題

想說來升級個nodejs版本看看可不可以解決

[windows] Skype 7.0 登入停止回應 解決辦法



最近遇到了Skype的一個狀況

在某次重開機後我的Skype只要一登入會就停止回應

用什麼sfc /scannow或是關閉自動更新之類的方法都無法解決