不由聯想起島國日本的戰敗:php
上個世紀,在第二次世界大戰日本戰敗後,裕仁天皇是如何從被人恥笑的「雞巴」,國民陷入一種虛無的情緒,饑荒,瘟疫,失業等等接憧而來,整個國家苦不堪言。而美國大兵出於對相似「自殺式」的神風特攻隊的日本軍隊有過的交手,懷着畏懼的心理,踏上了這個頑固又無情的大和民族的島國土地。而使人出乎意料的是,美國大兵看到的倒是一羣可愛純真的小孩,滿大街跟他們要糖果、要巧克力,他們像聖誕老人同樣,坐在吉普車上面撒糖果、撒巧克力、撒東西。另外還有不少很溫柔、可愛的女性,併爲他們提供性服務。python
日本作了反思,全面擁抱了戰敗,換了戰後經濟三十年的騰飛,且曾成爲世界第二大經濟體。nginx
跟美國士兵要糖果的日本小孩git
做爲一名Phper, 我知道業界有不少吐槽php的。對此我是呲之以鼻,由於學編程又不是學語言,並且最終還不是爲了解決工業生產問題。C,C++,Java,python,lua這類服務端的語言我都有去學習過,只是在實際的工做項目中,沒有施展拳腳的機會。別說其餘的,就算個人學了PHP的面向生產環境的 PHP 異步網絡通訊引擎Swoole,docker容器技術(這個用起來是真的爽),分佈式架構。nginx高級應用,一樣也是晾着,我意識到平臺對於技術人員真的是太tmd重要了。github
我曾經很懷疑花時間去學習新技術的必要性,不過我後來我悟出:軟件技術做爲計算機的上層技術,應該多夯實基礎,就像馬克思主義的上層建築是要創建經濟基礎之上,好比計算機操做系統,數據結構和算法,計算機網絡等等,才能夠達到舉一反三的境界,而泥腿子是過不了河的。可是多接觸,多學習,多接受新事物,也會讓我整我的變得更加的有彈性。算法
不學內功和心法的周芷若docker
曾讀過一篇《技術正宗和野路子》的文章,裏面有這麼一段說話:數據庫
黃衫女子的武功彷佛與周芷若乃是一路,飄忽靈動,變幻無方,但舉手擡足之間倒是正而不邪,如說周芷若形似鬼魅,那黃衫女子即是態擬神仙。編程
《倚天屠龍記》第八十三回緩存
九陰神抓」本是《九陰真經》中的上乘武功,但當初梅超風夫婦因爲拿到的《九陰真經》不完整,學不到裏面的內功心法,硬是把這門上乘武功練到了邪路上,因而就成了「九陰白骨爪」。周芷若爲求速成,也練就了這門邪功。
黃衫女子
總所周知,大數據,人工智能,雲計算,物聯網等等都在如火如荼得進行着,此次我想全面去擁抱Golang(倚天劍), 來做爲我並行於PHP(屠龍刀)的利器,更好地遊走於江湖,遇上這班車,就像當年他們遇上移動互聯網同樣。
買本書回來墊椅子的技術書
簡介:Go(又稱Golang)是Google開發的一種靜態強類型、編譯型、併發型,並具備垃圾回收功能的編程語言。
開發者: Robert Griesemer、Rob Pike 和 Ken Thompson(都是編程界上頂呱呱的元老)
計算機一直在演化,可是編程語言並無以一樣的速度演化。如今的手機,內置的 CPU 核數可能都多於咱們使用的第一臺電腦。高性能服務器擁有64核、128核,甚至更多核。可是咱們依舊在使用爲單核設計的技術在編程。
Go解決的現代技術難題
開發速度快
不是像 Java、C 和 C++那樣,要遍歷依賴鏈中全部依賴的庫
併發
大部分編程語言都沒有有效的工具讓程序能夠輕易利用這些多核資源
Go 語言有個外號:移動互聯網中的C語言。C 和 C++這類語言提供了很快的執行速度,而 Ruby 和 Python 這類語言則擅長快速開發。Go 語言在這二者間架起了橋樑,不只提供了高性能的語言,同時也讓開發更快速。
Go開發的重量級開源項目
文章地址:
https://blog.csdn.net/qq_27384769/article/details/81076670
適逢Go語言誕生5週年之際,外媒JavaWorld也發佈文章,整理了由Go語言開發的10大流行開源項目。Go語言目前從虛擬化到Git代碼託管服務等方面,都有重量級項目現身,愈加凸現Go語言在雲計算時代的重要性。
1. Docker
到如今,Docker幾乎是Go再難找到也難以複製的一個成功案例。Docker項目在2014年9月份就拿到了C輪4000萬美圓融資,版本迭代速度超快,目前從GitHub看到已有78個版本,而它僅僅是再2013年初才正式開始的一個項目而已。目前,國內Docker技術推廣也進行的如火如荼,好比 Docker中文社區,CSDN也創建了 Docker專區。CSDN CODE也將在近期與Docker中文社區合做,推出Docker技術文章翻譯活動,屆時也請你們多多關注,及時關注與參與。
Docker團隊之因此喜歡用Go語言,主要是Go具備強大的標準庫、全開發環境、跨平臺構建的能力。
GitHub託管地址:
https://github.com/docker/docker
2. Kubernetes
Kubernetes是2014年夏天Google推出的Kubernetes,基於Docker,其目的是讓用戶經過Kubernetes集羣來進行雲端容器集羣的管理,而無需用戶進行復雜的設置工做。系統會自動選取合適的工做節點來執行具體的容器集羣調度處理工做。其核心概念是Container Pod(容器倉)。
GitHub託管地址:
https://github.com/GoogleCloudPlatform/kubernetes
3. Etcd & Fleet
etcd是由CoreOS開發並維護鍵值存儲系統,它使用Go語言編寫,並經過Raft一致性算法處理日誌複製以保證強一致性。目前,Google的容器集羣管理系統Kubernetes、開源PaaS平臺Cloud Foundry和CoreOS的Fleet都普遍使用了etcd。詳情,可瞭解 《Etcd:用於服務發現的鍵值存儲系統》。 Fleet則是一個分佈式的初始化系統。它們之因此選擇使用Go語言,則是由於Go語言對跨平臺的良好支持,以及其背後的強大社區。
GitHub託管地址:
https://github.com/coreos/etcd
4. Deis
Deis是一個基於Docker和CoreOS的開源PaaS平臺,旨在讓部屬和管理服務器上的應用變得輕鬆容易。它能夠運行在AWS、GCE以及Openstack平臺下。詳情,可瞭解 《Deis v1.0正式發佈!》。
GitHub託管地址:
https://github.com/deis/deis
5. Flynn
Flynn是一個使用Go語言編寫的開源PaaS平臺,可自動構建部署任何應用到Docker容器集羣上運行。Flynn項目受到Y Combinator的支持,目前仍在開發中,被稱爲是下一代的開源PaaS平臺。
GitHub託管地址:
https://github.com/flynn/Flynn
6. Lime
相對上面的幾款Go語言在雲端和服務器端以外,Lime則顯得比較特殊。Lime,則是一款用Go語言寫的桌面編輯器程序,被看作是著名編輯器Sublime Text的開源實現。
GitHub託管地址:
https://github.com/limetext/lime
7. Revel
Revel是一個高生產力的Go語言Web框架。Revel框架支持熱編譯,當編輯、保存和刷新源碼時,Revel會自動編譯代碼和模板;全棧特性,支持路由、參數解析、緩存、測試、國際化等功能。
GitHub託管地址:
https://github.com/revel/revel
8. InfluxDB
一個Go語音編寫的開源分佈式的時序、事件和指標數據庫,無需外部依賴。其設計目標是實現分佈式和水平伸縮擴展。
GitHub託管地址:
https://github.com/influxdb/influxdb
9. Syncthing
一款用Go語言編寫的開源雲存儲和同步服務工具,用戶的數據將由本身徹底控制,全部的通訊全都加密,每一個訪問節點都用加密證書驗證。該項目被認爲是Dropbox和 BitTorrent Sync的開源替代, 詳情。Syncthing之因此選擇Go語言,也是出於跨平臺考慮。
GitHub託管地址:
https://github.com/syncthing/syncthing
10. Gogs
Gogs則是一款由國人無聞(GitHub)開發的自助Git服務項目。Gogs的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助Git服務。據做者稱,之因此選擇使用Go語言開發,就是Go容許Gogs能夠經過獨立的二進制分發,且對跨平臺有良好支持。
GitHub託管地址:
https://github.com/gogits/gogs
GO佈道者:Go 平衡了底層系統語言的能力,以及在現代語言中所見到的高級特性。使用 Go 語言,能夠寫得更少,作得更多。
最讓我驚訝的是,Go還對 公認的面向對象編程 作了從新的思考。
離開一門使用舒服,掌握熟悉的編程語言,去學習一門對整個世界全新的語言,是須要勇氣的,這是一條人跡罕至,只有少數行者熟悉的路,沿途充滿Bug。但不論怎樣,不進則退,我選擇喜新戀舊,一邊繼續專研PHP,一邊新姿態擁抱Golang。