[TIL] 使用eclipse 將已經建好的 Node.JS 載入

一般而言,因為你沒有Eclipse的專案檔案,你無法直接載入. 你需要安裝 nodeclipse ,整個簡單步驟如下: You need install nodeclipse, first. npm install -g nodeclipse Go to your folder, nodeclipse -g to generate nodeclipse project setting. Open it from Eclipse “import from exist projects”. 這樣在 Eclipse Import 就會找到有那個專案.
繼續閱讀

程式設計週記[2016/04/08]: 微軟帝國大反擊之機器人大軍

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 本週只有三天,工作上再思考一些自動化處理的方式.並且也把微軟的 Bot Framework 又看了一次,也思考一下該如何做. 本週的重頭戲就是 Ubuntu on Windows Insider 測試版本 14316 有公佈.大家可以玩玩看. 最後,本週專案就是一個簡單的 Go Plurk Post Server,主要是讓 IFTTT 可以接 Twitter 資料進來,然後轉到這個伺服器上面貼文到Plurk. 主要都是因為我懶.. XD Go Golang 1.6.0 與 1.5.3 重大安全漏洞 一個安全報告指出,目前的 Golang 1.6.0 與 1.5.3 有重大安全漏洞,大家記得要更新 1.6.1 跟 1.5.4 Github: Big Data (Gigabytes) cache It omits GC to handle it to save performance Writing a very fast cache service with millions of entries in Go 這篇文章的出發點是想要幫團隊裡面架設高效與高吞吐的 cache service ,透過研究之後決定使用 Go 來開發,並且整理出出的一些小訣竅. Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http 號稱比起原生的 net/http 還快上十倍的 HTTP package,可以看看. Efficient cache for gigabytes of data written in Go. 有效存取大量資料的暫存,並且可以避免被 GC 拖累速度的工具. Paranoid text spacing in Go (Golang) Vinta 大大的作品,可以把英文字跟中文字中間加上一個空白.官方網站在這裡. slack based chess client 可以在 Slack 上面下西洋棋的工具. Echo is a fast and unfancy web framework for Go (Golang). Up to 10x faster than...
繼續閱讀

[分享][Go] 建立一個 Server 幫你把 Twitter 透過 IFTTT 轉發到 Plurk

Plurk 一直是台灣人很愛的推文服務.不過因為只有台灣在使用,所以許多大的服務(比如說 IFTTT ) 就不太理他. 之前本來還可以很簡單的透過 Email 來發送噗,結果也不知道為何關閉 (聽說要收費?) . 於是想了很多方式來弄,都還是有點麻煩. 最後還是自己寫一個 Server 來給 IFTTT 使用 如何讓你的 Twitter 轉發到 Plurk ? 首先申請一個 Plurk APP 先到這個地方,申請你的 App. 類別: 手機或應用程式 其他相關資料填寫可以參考這篇文章 點下測試工具 取得以下四個數值 App key App secret Token Token secret 在Plurk App就算是完成,接下來要到 IFTTT設定 再來架設你自己的Plurk Maker Server 到 https://github.com/kkdai/plurk-makerserver 按下下面的按鈕 記住你的 Server URL 等等要使用 在 IFTTT Maker 上的設定 接下來到 IFTTT Maker 申請一個帳號. 建立一個 IFTTT Receipt , 前端用 Twitter 接起來,後面接到剛剛建立的 Maker . Maker 設定頁面上,資料依照以下的格式來填: URL : 你剛剛的 Server URL Method: POST Content Type: application/json Body: 依照以以下的修改,貼上去 // 記得將以下資料換成剛剛在 Plurk 拿到的資料 // [[App key]] -> App key // [[App secret]] -> App secret // [[Token]] -> Token // [[Token secret]] -> Token secret // [[Text]] -> 改成 twitter 內容 {"ConsumerToken":"[[App key]]", "ConsumerSecret":"[[App secret]]", "AccessToken": "[[Token]]","AccessSecret":"[[Token secret]]", "Msg": "[[Text]]"} 這樣就可以了…. 有問題來討論…
繼續閱讀

程式設計週記[2016/04/01] 微軟: 今年我們讓 Windows 越來越不像 Windows.. 語畢 全場歡呼

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 最近幾週越來越少有時間可以好好的把每週專案來寫, 主要是因為這一週都把時間拿去重新閱讀 Raft Paper. 只好這一週寫一個小工具 slack-console 來幫助自己管理伺服器上面發生的問題. Go Building Minimal Docker Containers for Go Applications 這一篇主要是討論如何編譯出一個最小的docker container給Go application使用. 以下的方式可以: CGO_ENABLED=0: 拔掉CGO (在Go裡面使用C的library, 如果你沒用到) GOOS=linux: 預設定好環境 linux -a: 連所有的使用到的package都重編譯(在這邊,一併會把cgo拿掉) -installsuffix cgo: 前面明明把cgo拔掉,為何後面還要把需要的部分加回去呢? 因為這是Go 1.4 的workaround 全部參數如下: CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main . 另外一個可以參考的repo go-proxy: A simple proxy implementation 剛剛測試,以上的部分在Go 1.6 沒有看到太大差異.可能因為我還沒有用到太複雜的package. LeftPad and Go: can tooling help? 從 Go 開發者角度來看 LeftPad 事件 Writing a Text Adventure Game in Go 透過 Go 來寫一個文字冒險遊戲 Paranoid text spacing in Go (Golang) Vinta 大大寫的工具, 可以自動幫你把中文與英文中間加上空白. (Paranoid text spacing) Python Android/JAVA/NODE.JS Docker Docker image for thumbor. Detectors, optimizers, lazy detection and separate docker for remotecv. 透過 docker 架設一個具有自動縮圖與人臉辨識的伺服器, 從碼天狗看到的. Docker Monitoring with the ELK Stack: A Step-by-Step Guide 透過Docker來架設ELK (Elasticsearch, Logstash, Kibana)的架構. Docker Machine driver plugin for xhyve (native OSX hypervisor) 排不到 Docker for MacOSX Beta ? 先來看看裡面用的技術, 也就是原生的 MacOSX Hypervisor...
繼續閱讀

[TIL][Go] 把http.response.body 在關閉前先清乾淨可以達到重複使用增加四倍速度

I think I just made go-github 4x faster in 4 lines of code (and 4hrs). Always make sure you are reusing connections! https://t.co/ORCv1a4prv— Filippo Valsorda (@FiloSottile) March 27, 2016 前言 主要是因為這一份twiiter讓我注意到,Filippo Valsorda(@FiloSottile) 提到說他只花了四行程式碼就讓go-github (Google 出的直接操控github 的package) 連線速度可以增加四倍 原因? 根據這次的PR,可以知道主要的原因是在於json decoder對於io.reader讀取資料的時候. 不會一次把所有的直抓完,而會剩下一個 \n 由於這個因素 response.Body (io.Readcloser)呼叫close的時候會把整個TLS的connect關閉.造成每次的connection 都會重新啟動,浪費了許多無謂的時間. 解法 針對Reader的行為而言,如果是讀到了最後一個位元,接下來的讀取都會讀到EOF. 這裡有一個範例可以參考. (When Read encounters an error or end-of-file condition after successfully reading n > 0 bytes, it returns the number of bytes read. It may return the (non-nil) error from the same call or return the error (and n == 0) from a subsequent call. An instance of this general case is that a Reader returning a non-zero number of bytes at the end of the input stream may return either err == EOF or err == nil. The next Read should return 0, EOF.) 所以如果不是使用json decoder,而是使用其他方式來讀資料.就會連\n都讀完,使得response.Body清空後close不會直接把connect 整個關閉. I wrote new #golang package that can make your app 4x faster. #joke /...
繼續閱讀

[TIL] Note: about change your shell from bash to fish

Preface When I first take a look about fisherman, I got lots of interesting to change my shell from bash to fish How to Change to Fish (shell) Install Fish shell brew install fish Change it to default shell //Add fish shell into known shell list sudo -s echo /usr/local/bin/fish >> /etc/shells //back to original user //change default shell to fish exit chsh -s /usr/local/bin/fish Suggestion a good plugin for Fisherman? ## My suggest plugin for fisherman fisher omf/theme-bobthefish # ~   master *…  Documents/  Ops, Why my all configurations missing? You might occur all the ~/.bash_profile and ~/.bashrc setting missing in fish. Here is guideline to change it I got help from @jbucaran, here is his guildline. 1. Convert aliases into functions to opt in fish autoloading, tl;dr alias is slow, functions are fast. For example: function vi vim $argv end 2. For export, use set...
繼續閱讀