GT Pack – 私藏的 Webpack 整合簡化模組。

嗨,大家好久不見。

筆者最近正朝著萬能的全端開發者邁進,而最近遇到了一個棘手的問題,就是使用 Webpack 時的各種麻煩事,所以我與我的好夥伴好朋友 Single Zero 就一起弄了這一個整合包模組,讓我們只要一些基本的設定後,什麼 ES6、Less、樣版引擎啥的都能快速搞定,而且支援在不同需求中的不同設定,然後只需要在專案根目錄下一次 webpack 指令便能根據各自的設定完成打包。

雖然比起全自由的wepback.config.js有些許限制,但個人覺得夠用了 XD

而且因為有了這個模組,我們考試都考100分就不需要再手動安裝和設定一堆有的沒的,設定到腦神經衰落還不會動。

閱讀全文〈GT Pack – 私藏的 Webpack 整合簡化模組。〉

Node.js 做一個 NPM 模組更新或安裝的進度條

前陣子因為專案需求,我需要一個在使用 npm 更新或安裝模組時回推提示的方式。原本的想法是直接透過 Node 呼叫 Shell Script 來做這件事情,等 Shell Script 做完就將視為動作完成。

但這樣其實有缺點,除了回送的無用資訊很多之外,那就是我們無法讓更新的動作被主程式所監視,還有最重要的是,這樣的方式沒有辦法做出進度條!這很重要!更新的 UI 上無法顯示進度條是我無法接受的事!

閱讀全文〈Node.js 做一個 NPM 模組更新或安裝的進度條〉

想建造自己的 Cloud9 雲端環境?兩步驟讓你擁有!

我們曾經介紹過 Cloud9 這一個雲端環境,當時所介紹的是官方所提供的版本,那一定會有人想問:「有沒有可以自行架設的版本呢?」

答案是,有的!

閱讀全文〈想建造自己的 Cloud9 雲端環境?兩步驟讓你擁有!〉

在找免費的電路模擬器?123D Circuits 滿足你的願望!

本服務已轉移至Tinkercad Circuits,教學影片已更新:https://www.youtube.com/watch?v=HhhhWwSH0YU

又快過完一個學期了,是否正在為專題煩惱呢? 或是你正因為學校所教的電子電路課程在家無法實做而感到麻煩嗎? 還是說你是一位剛剛接觸 Arduino 的自造者(Maker),對於自己所創造的東西不會動又找不出原因而感到煩躁?

試試 123D CIRCUITS 吧!這個由 AUTODESK 提供的線上模擬器擁有相當全面的功能,你只需要打開瀏覽器、登入這個網站然後你就可以開始接線路還能在上面寫 Arduino 程式來測試呢!如果你還有印象,之前發表過的 Arduino 教學文章也有用到這個網站。

閱讀全文〈在找免費的電路模擬器?123D Circuits 滿足你的願望!〉

Beaglebone Black – 透過 NodeJS 使用 RF24 Library

RF24 是一個相當完整的 nRF24L01 函式庫(library),它目前支援許多平台,例如 Arduino、樹莓派等等,先前有草草的介紹過。

最近因為在使用 Beaglebone Black (BBB) 這個單板電腦在做些實驗,需要用到 nRF24L01,本來是想直接用已寫好並放在 NPM 中的套件,結果發現無法使用,於是就想起了 RF24 有支援到 BBB,但遇到了些麻煩。

因為我只想用 NodeJS 去做大部分的控制,並不想要用 RF24 那種全 C/C++ 的方式來做,所以我就寫了一個簡單的程式來讓 NodeJS 與 RF24 能夠傳遞訊息並且操作 nRF24L01 模組。

閱讀全文〈Beaglebone Black – 透過 NodeJS 使用 RF24 Library〉

Ubuntu – 讓 Sendmail 以 Gmail 的 SMTP 來發送信件

前陣子我在設定實驗室在用的伺服器,為了一些需求,要從伺服器寄送一些電子信件出來。不過之前的經驗是,直接從伺服器送出的信件會被當作是垃圾郵件,所以這次想透過 Gmail 的 SMTP 來送信件,而實測結果是這樣的方法的確不會再被當做垃圾郵件了。

閱讀全文〈Ubuntu – 讓 Sendmail 以 Gmail 的 SMTP 來發送信件〉

免安裝!Cloud 9 讓你打開瀏覽器就能寫程式!

免安裝-Cloud 9 讓你打開瀏覽器就能寫程式

身為一位程式設計師,是否常覺得一些開發環境實在是笨重又肥大呢? 或者覺得輕巧自由而且許多前輩們愛用的 VIM 或 EMACS 難以駕馭? 這裡有一款你只需要準備好對應的環境,你只需要開啟瀏覽器,就能開始寫程式的工具,它叫做「Cloud 9」!

閱讀全文〈免安裝!Cloud 9 讓你打開瀏覽器就能寫程式!〉

NodeJS – 為 console.log 加上時間與檔案紀錄。

如果你有開發 Node.js 的經驗,一定相當常運用其內建的 console.log() 來作為 Debug 的方式之一。

而當整個系統完成或上線之後,就比較無法使用這種方式去找後續發生的問題,因為我們不見得能看到系統端終端機中的內容,但若為了這個紀錄功能要多寫一個 function 然後替換掉原本拿來 debug 用的 console.log …這也太麻煩了吧。

幸運的是,JavaScript 允許你用 Override 的方式來覆寫原有的程式,改成你所需要的樣子。

等一下我們就要來覆寫 console.log 這個 function 來為它加入時間戳記以及寫入一個檔案作為紀錄的功能。 閱讀全文〈NodeJS – 為 console.log 加上時間與檔案紀錄。〉

Arduino Basic (6) – AnalogRead 類比輸入

前面幾節講的都是數位的處理,也就是只有 0 和 1 兩種訊號,但我們的世界並不是只有 0 和 1 兩種訊號而已,我們還有更複雜的類比訊號。

諸如電壓、聲音、光亮、溫度等等的,都無法單純的由 0 和 1 構成。

那當我們需要處理這些訊號的時候該怎麼辦呢?

這時候就是 ADC (Analog to Digital Convert, ADC) 出場的時候啦!

閱讀全文〈Arduino Basic (6) – AnalogRead 類比輸入〉

Arduino Basic (5) – PWM 類比輸出

當你想用單晶片控制馬達時,最大的麻煩一定是轉速的控制。一般來說,數位電路只能會送出高態與低態兩種電壓,也就是 Arduino 的正 5V 以及 0V。而這種電壓只能控制馬達轉或不轉,並無法控制轉速。因此我們需要倚靠 PWM 來做控制。

閱讀全文〈Arduino Basic (5) – PWM 類比輸出〉