TiDB Weekly [2017.01.08]

Go开源项目qiuyesuifeng 发表了文章 • 0 个评论 • 397 次浏览 • 2017-02-04 11:42 • 来自相关话题

Weekly update in TiDB

Last week, we landed 查看全部

Weekly update in TiDB


Last week, we landed 38 PRs in the TiDB repositories.


Added



Fixed



Improved



New contributor



Weekly update in TiKV


Last week, We landed 15 PRs in the TiKV repositories.


Added



Fixed



  • Check cluseter ID to avoid PD joining different cluster.


Improved



原文链接

beego orm困惑

有问必答gloomyzerg 回复了问题 • 2 人关注 • 2 个回复 • 1699 次浏览 • 2017-02-03 17:33 • 来自相关话题

beego orm 使用困惑

回复

有问必答willian 回复了问题 • 1 人关注 • 1 个回复 • 1269 次浏览 • 2017-01-29 16:43 • 来自相关话题

Go Base64 Decode 的问题

有问必答皇虫 回复了问题 • 4 人关注 • 3 个回复 • 909 次浏览 • 2017-01-29 08:46 • 来自相关话题

在beego api开发中如何对几个API组合成一个新的API

有问必答gloomyzerg 回复了问题 • 3 人关注 • 2 个回复 • 1239 次浏览 • 2017-01-26 23:38 • 来自相关话题

glide get包 版本问题

文章分享astaxie 回复了问题 • 2 人关注 • 1 个回复 • 871 次浏览 • 2017-01-26 21:51 • 来自相关话题

GopherChina预祝大家新年快乐

文章分享astaxie 发表了文章 • 1 个评论 • 419 次浏览 • 2017-01-25 18:44 • 来自相关话题

GopherChina自建立以来,得到了大家的很多支持,这里祝大家新的一年里面心想事成,开心生活

查看全部

GopherChina自建立以来,得到了大家的很多支持,这里祝大家新的一年里面心想事成,开心生活


從商業利益看 Go 程式語言

文章分享appleboy 发表了文章 • 0 个评论 • 703 次浏览 • 2017-01-24 16:07 • 来自相关话题

文章轉錄自: 從商業利益看 Go 程式語言

從 2016 年開始寫 查看全部

文章轉錄自: 從商業利益看 Go 程式語言


從 2016 年開始寫 Go 程式語言,在這一年我向很多朋友介紹了 Go 語言,很多人就不經問到為什麼我這麼喜歡 Go 語言,在公司內同事或主管更會問,為什麼要從 Node.js 或其他語言轉換到 Go,Go 語言有什麼地方可以帶給公司更大的利益,否則為什麼要多花時間跟人力去嘗試 Go 語言。如果團隊要建置一個商業 Web 服務,那我覺得底下的優點,是讓您選擇 Go 語言的最主要原因。


Go 優勢



  • 快速又簡單部署

  • 支援跨平台編譯

  • 保護原始程式碼

  • 善用多核心處理


底下會針對上述提到的優點進行詳細說明。


1. 快速部署


傳統部署


大家都知道 Golang 可以將專案程式碼編譯成一個二進制檔案,直接部署此檔案會比上傳上百的或上千個檔案還要來得容易。傳統上傳多個檔案是非常慢的,這就是為什麼我們在部署之前會將所有檔案透過 zip 或 tar 的方式打包成一個檔案再部署到機器上,除此之外,上傳後,伺服器端要另外解壓縮或者做其他事情,想想看要寫多少 Shell Script 才能完成此事情,而這些事情都是要靠 DevOps 工程師去撰寫,以及花時間去調整 CI 伺服器 (像是 Jenkins)。


伺服器設定


當然還沒完,檔案上傳完後,每一台伺服器都需要準備相關軟體及設定,這時候可以透過 DockerPuppetChef 完成這些事情,這些都是要花很大量的時間去處理,另外還要處理相對應安全性問題,像是 PHPPythonRuby 甚至 Node.js 版本的升級,太多層面需要考量。


用 Go 語言


在 Go 語言,你只需要將程式碼編譯出二進制執行檔,就可以直接丟到多台伺服器,直接啟動,並不需要準備各種環境或軟體設定,省下來的時間就是大量的金錢。如果是用 Go 語言,我相信團隊內的 DevOps 工程師會很感謝你。假如團隊還沒將 DevOps 流程納入公司的商業考量,那您就落伍了。一位好的 DevOps 工程師可以幫團隊省下很多資金。


2. 不需要 Web 伺服器


這點其實就跟 Node.js 很像,你不需要 Apache 或 Tomcat 或 Nginx 等相關服務,Go 的執行檔就可以處理 Http 連線,這意味著不會有伺服器設定,也不需要維護成本,更不用考慮伺服器安全性問題。當然你執意要使用 load balance 像是 NginxHAProxy 這時候就會變得比較難除錯,也會多花不少時間再調整設定。


3. 保護程式碼


這點非常重要,如果你是賣軟體或者是雲端的公司,這時候客戶希望你將整套雲端放置在客戶公司內部,讓他們測試使用,這時候如果你是使用 Node.js, Ruby 或 PHP 的話,你只能乖乖的將整套原始碼放置在對方公司,並且心驚膽跳的怕對方有意去複製整套程式碼,這時候你敢跟老闆講說,我們需要將程式碼放到對方公司嗎?但是如果是在 Go,我們只需要給客戶一個檔案,請他們直接執行,就可以將服務跑起來,如果想要 decompile 此 binary,答案是 NO。


4. 多核心處理


Go 是個多核心處理的程式語言,這對於伺服器非常重要,許多 web 多語言都是跑 single thread,所以會閒置許多系統效能,現在的伺服器幾乎都是多核 CPU 了,像在 Node.js 你就必須在一台機器跑多個 Node 服務,才可以有效率地發揮效能。在 Go 1.5 版本後 (含 1.5) 已經將 GOMAXPROCS 預設值為系統可用的多核數,所以只要啟動一個執行檔,就可以將系統效能發揮到極限。


5. 跨平台編譯


Go 語言可以將程式碼編譯成 WindowsMacOSLinux 的執行檔,方便攜帶或測試,想看看業務到外面跟客戶 Demo,還要連到 Internet 才可以 Demo 給客戶看,如果網路環境不好或者是沒網路該怎麼辦呢?這時候你只需要攜帶一個執行檔在身上就可以解決您的問題。在團隊內部,每次 QA 都要等工程師部署到內部機器才可以開始測試,這時只要給他們執行檔,就不需要等待工程師部署才可以測試,省下多少時間,這些寶貴的時間都是金錢啊。


結論


其實你會發現上面提到的所有優勢都是省下時間金錢,時間在公司是非常重要及寶貴,大家可以想看看,省下的時間是不是可以讓團隊多做一些事情,讓公司更進步更有競爭力呢?

http.Post 请求 返回一个图片

有问必答songtianyi 回复了问题 • 2 人关注 • 1 个回复 • 1167 次浏览 • 2017-01-24 14:22 • 来自相关话题

wechat web协议

开源程序songtianyi 发表了文章 • 7 个评论 • 562 次浏览 • 2017-01-24 11:32 • 来自相关话题

sql转es dsl的小工具

开源程序caibirdme 回复了问题 • 4 人关注 • 2 个回复 • 1577 次浏览 • 2017-01-24 11:00 • 来自相关话题

Http请求遇到一个非常郁闷的问题

有问必答Xargin 回复了问题 • 3 人关注 • 2 个回复 • 1055 次浏览 • 2017-01-24 10:17 • 来自相关话题

如何在window上连续执行cmd命令?

有问必答Ky 回复了问题 • 3 人关注 • 3 个回复 • 855 次浏览 • 2017-01-23 11:23 • 来自相关话题

beego log 绝对路径

回复

技术讨论xiaofeng211 回复了问题 • 1 人关注 • 1 个回复 • 1072 次浏览 • 2017-01-22 17:56 • 来自相关话题