純粹是爲了實現本身的一些小需求,利用閒時作了一些小功能。node
工做中,咱們常常要離開座位,有時候會忘記鎖上電腦,咱們能不能利用node
去作這種事情呢?答案是不能的,由於咱們不能調用系統的接口,能夠作的語言有objective-c
或swift
。可是咱們能夠用簡單的方法去實現,因爲離開工做也是在公司範圍,同一個局域網下,咱們是能夠經過http來操做的。git
... const spawn = require('child_process').spawn; const lock = spawn('/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession', ['-suspend']);
核心的代碼其實就只有2行,當咱們發送一個請求的時候,利用child_process
能夠執行一個命令。github
有時候到github上下載軟件特別慢,若是本身有vps,何不用vps來作箇中轉呢?利用node
,寫一些代碼就能夠實現。web
獲取你要下載的urlobjective-c
我用到了aria2,把url交給aria2下載swift
aria2下載完畢就發送郵件給我websocket
完成socket
代碼寫着就多了,我就把它發到github上。ui
在使用aria2這個模塊,遇到了一個問題。aria2的通知事件會遞增,這就很尷尬了,它會給我發送N多個郵件。因而我決定去看看它的源碼,粗看一遍,它的源碼也沒寫太多的東西。就是用websocket連到aria2的rpc服務,而後就能夠發送指令了。再看到通知事件那裏的實現,我傻眼了,這只是一個佔位的。一時不知道怎麼去解綁這些事件,我就把它丟一邊了。直到後面再回去看,我發現能夠手動的空掉事件,再收到請求的時候,再次監聽。感受有點傻,可是問題就這樣解決了。url