VOOZH about

URL: https://read01.com/2GKyGk8.html

⇱ 2017年單身程序猿編程學習必備清單 - 壹讀


Sunday, Apr 12, 2026

2017年單身程序猿編程學習必備清單

2017/08/04 來源:最新軟件應湧資訊
👁 Image

寒冷的2016年冬季伴隨著《君の名 は》一起來臨了,作為靈長類動物的一員,依然沒有女朋友的各種程序猿在(一個人)哭著看完電影後,開始列起了自己長長的wish list,攢夠自己的首付、去歐洲旅遊一趟、亦或是找個。。。好吧,到頭來,我們還是孑身一人,形單影隻的的敲著代碼,每天對我們最「熱情」的人還是自己的PM,也許我們依然沒有女友,但是就像戀愛中猜不透女友心思一樣,我們依然猜不透客戶或者PM的需求;就像女友嫌棄自己的男友沒用一樣,BOSS也在整天想著找一個更好地同類替代你,那麼我們如何在這場程序生涯的「戀愛中」不被下車呢?答案必將是:學習,那麼就讓我們來談一談未來的十二個月什麼才可能是最重要最值得學習的。

對於正在學習web前端但不知道學習路線,不知道學習方法,不知道該如何找到工作的朋友,我還是要推薦下我自己建的前端學習群:330242580,首先你要是學前端的,其次不管你是小白還是大牛,小編都挺歡迎,群里每天都會分享前端相關乾貨,包括我自己(一名工作六年的前端老司機)最近熬夜花了一星期整理出的一份適合2017年自學的最新web前端資料,都送給大家,歡迎初學和進階中的小夥伴。

首先,我們先來談些D(大)S(勢)S(所)Q(趨)

👁 Image
...

Progressive Web Apps(漸進式Web應用 PWA)

也許你還不知道,2016年一種叫做PWA的概念已經悄然興起,現在我們就來深♂入了解一下它的內♂涵。

在生活中你有沒有在沒有網或者幾乎沒有網的情況下打開過淘寶知乎或者B站,那些本應該是商品文章視頻的地方可能沒有圖片,但是也能完成一點簡單的功能,比如顯示商品名文章名視頻名。這時你被某個商品吸引,發現自己沒開網,打開網後就可以進到商品購買頁了。但是沒有網,哪裡來的數據呢?這一點就很好地體現了PWA的外殼型和離線性,先渲染一些類似於邊框的東西,並且由於其伺服器架構,用戶即使沒有網或者弱網也可以秒開一些東西我們認為,在2017年,PWA將變得更加重要,值得調查。

人工智慧+機器人,炒作還是未來?

現在每個人都在談論機器人。從運行它們的平台到構建它們的框架,整個網際網路社會都在嘗試製造自己的機器人。 機器人可以稱得上是下一個猶如今日手機APP一樣重量級的的開發項目,如果你加快腳步,你也許可以趕上潮流。但這也不是沒有風險的,一旦人們厭倦了它,機器人可能會被降級到一些無聊的角色,如自動客戶支持。但是,我們可以夢想!

人工智慧是2016年的流行語。語音識別和圖像分類只是該技術的兩種面向用戶的應用,其機器達到甚至超過人類的性能。有很多創業公司將AI和機器學習應用到新領域。許多開源項目被發布,比如谷歌的Tensor Flow和微軟的認知工具包。

前端框架合併

在JavaScript社區,看到一個有趣的現象幾乎每周都會有新的工具出現,但是在2016年,這些新工具並沒有在應用上取代那些舊的。相反,我們看到流行的框架交換想法和納入新手提出的創新。 所以在2017年,你選擇的主要JS框架無關緊要,它們的功能大多是相似的。

各地的公司和開發商都在將自己拋向「雲」端。 這種虛擬化的計算機基礎架構,可根據需要提供,並可從控制面板完全配置。 三大雲提供商是AWS,Google Cloud和Azure。由於他們持續的競爭價格一直在下降,這吸引了更多的小公司和個人開發商湧入。因此,無論你工作在BAT還是創企,熟悉雲工作流程將是2017年的一筆不錯的投資。

機器學習

機器學習在過去的十二個月中已經爆炸式增長。 AlphaGo對決李世乭比賽在3月將機器學習推進大眾的視野。 從原始數據中學習的智能計算機系統正在改變我們與行動裝置交互的方式。表面看來,機器學習將是2017年更大贏家。

VR&AR

虛擬實境(VR)和增強現實(AR)已經存在了一段時間,但最終該技術已經成熟,足以提供引人注目的體驗。比如前一陣子淘寶試水的VR購物,或者網上熱賣的LeapMotion和kinect等遊戲設備,都標誌著VR/AR設備的遠大前景。 Facebook(Oculus Rift),Google(Daydream)和Microsoft(Windows Holographic)都有虛擬實境平台,各大公司對於第三方開發者打出了歡迎的態度。

學習其中之一:雲部署,機器學習庫,VR開發

程式語言——安身立命之本

👁 Image
...

JavaScript

JavaScript在2017年進展迅速。為了配合Web瀏覽器的快速發布計劃,JS標準每年就會更新一次。下一個版本,ES2017,預計將於2017年中期完成。它將帶來許多JS開發人員的夢想特徵——異步/等待,用於處理異步函數。

TypeScript

TypeScript 2.1於2016年年底發布,為舊瀏覽器帶來了異步/等待,並改進了類型推斷。 TypeScript是一種編譯為JavaScript的靜態類型語言。它增加了強大的功能,如經典的OOP模型和可選的靜態類型,使大代碼庫更容易維護。它是編寫Angular 2應用程式的首選語言,我們建議你嘗試。

C#

C#7.0預計在2017年推出。當他們推出開源Visual Studio代碼編輯器和.Net Core時,微軟已經讓每個人驚訝不已,讀到這裡你可能就會問了,一個新版本更新了一個框架和一個編輯器而已,何談驚訝不已呢?拋下「秒天秒地秒空氣」的VS不說(2016年微軟發布了Mac版VS),單單談.Net Core這個大家不太熟悉的框架就可以知道這一代的C#有多厲害了。眾所周知,Java幾乎可以算是目前應用最廣泛的程式語言,它之所以應用廣泛,能被安卓選為設計語言就是因為其跨平台性。而.Net Core就是將C#原來的架構.Net Framework和表現優秀的編輯器Mono(個人體驗而言Mono代碼提示和報錯都是相當優秀的),整合到跨平台上實現,並且在GitHub上嘗試開源。這一點直接觸動了Java的核心競爭力,因此才能算是令人瞠目結舌。現在的C#不僅在windows上運行,還可以跑在Linux、Unix、MacOS甚至BSD上,我們相信,2017年對於所有C#程式設計師來說將是令人興奮的一年。

Python

Python 3.6於12月發布。它正在鞏固其作為開發人員,IT專業人員和科學家的腳本語言的首選地位。它適用於自動化,Web開發,機器學習和科學計算。當你想寫一個簡單的爬蟲程序來獲取信息時,現在Python理應是你的第一選擇。至於Python 2/3版本的問題已經爭論多年,在社區的努力下,但是現在你可以輕鬆地選擇3並享受完整的庫支持。對於那些需要額外的性能,他們可以看看PyPy,並可以選用JIT啟用Python運行時。

RubyRuby 2.3今年早些時候發布了一些性能改進。 Ruby也是一個通用腳本語言的好選擇,但是當與Rails配對時可能會更加大放異彩。 Ruby 3×3的倡議被宣布,這將試圖使即將推出的Ruby 3版本比當前版本快3倍,為在更多的上下文中使用Ruby提供了基礎。

PHP

PHP 7.1是在12月發布的,並對該語言進行了小小的增強。這基於去年版本7.0中的主要性能改進,將PHP轉變為構建Web應用程式的快速平台。我們認為當你需要開發一個Web應用的時候,PHP將是一個不錯的選擇。

Java

Java 9預計在2017年,並將帶來歡迎的新功能,如評估代碼,HTTP 2.0支持和新的API的repl。對於有才能的Java開發人員和使用該語言的廣泛的令人興奮的項目有強烈的需求。如果Java不是你的菜,有一些基於JVM的語言,如Kotlin和Scala,你可以試試。

Swift

Swift 3今年早些時候發布。這是蘋果對現代程式語言的願景(賈伯斯屍骨未寒。。。),它簡化了iOS和macOS上的應用程式開發。 Swift是開源的,吸引了大量的社區參與維護開發。版本4計劃於2017年,將改進語言和介紹伺服器API,使其成為編寫網絡應用程式和後端的一個不錯的選擇。

如果你正在尋找更令人興奮的東西,你可以嘗試Crystal and Elixir,它們結合了一個友好的類似ruby的語言平台。或者你可以看看一個功能語言如Haskell或Clojure。另外兩種可以選擇的快速語言應該是Rust和Go。

2017年語言方向建議:

學習一個或多個:JSES2017),TypeScriptC#,PythonRubyPHP7Java / Kotlin / Scala

前端(9K)到全棧(10k+)

Web

Web平台最近有兩個重要的技術更新——Web Assembly字節碼技術 和 Service Workers。Web Assembly整合了JavaScript·、flash、sliverlight等插件的功能,並減少了漏洞,讓未來前端的整合看到了希望。這兩個更新讓我們能更好地Service Workers,尤其是漸進式Web應用程式(上文中提到的PWA)技術,並為Web平台的通知提供支持,在這兩個功能方面將來還會有更多的API。

Angular.js 2

Angular.js 2今年發布。該框架由Google支持,非常受企業和大公(Gu)司(Ge)的歡迎。它具有大量的功能,使從網絡到桌面和移動應用程式的寫作成為可能。框架是用TypeScript編寫的,這也是編寫應用程式的推薦語言。有很多要學習的內容,但我們認為在2017年學習Angular 2將是一筆不錯的投資。

Vue.js

Vue.js也看到了今年的2.0版本。它借鑑了Angular,React和Ember的好主意,並將它們放入一個易於使用的包中。它也比前兩個更輕量級並且更快。我們建議你今年試試,從我們的一個Vue.js教程開始。http://igeekbar.com/igeekbar/post/109.htm

Ember

Ember是JavaScript框架的另一個選擇。它支持數據綁定,自動更新模板,組件和伺服器端呈現。與其競爭對手相比,它的一個好處是它更成熟和穩定。打破變化的頻率要低得多,社區也會降低兼容性。這使得框架成為長期應用程式的不錯選擇。

另外兩個值得一看的框架是Aurelia和React。去年,React的生態系統變得越來越複雜,因此很難為初學者推薦。但經驗豐富的開發者可以將庫與GraphQL,Relay,Flux和Immutable.js組合成一個全面的完整堆棧解決方案。

沒有前端編譯可以繞開Bootstrap,Bootstrap4目前處於Alpha版本,預計在2017年發布。值得注意的變化是新的通用卡組件和flexbox網格,這個現代化的框架,使工作環境更加簡單快樂。

SASSLESS

SASS和LESS仍然是當今最流行的兩種CSS預處理器。雖然vanilla CSS最終得到了對變量的支持,SASS和LESS仍然優於對mixins,函數和代碼組織的支持。如果你還沒有,請查看我們的SASS和LESS快速入門指南。

2017年前端框架方向建議:

學習以下一個或多個:Angular 2Vue.jsEmberBootstrapLESS / SASS

後端

後端有很多選擇,所有這一切都取決於你對程式語言或特定性能需求的偏好。Web開發中的持續趨勢是遠離後端,將該層轉換為由前端和移動應用程式使用的API。但是,一個完整的堆棧框架通常更簡單,更快地開發,並且仍然是許多web應用程式的有效選擇。

Node.js

Node.js是在瀏覽器外運行JS的主要方式。它看到了今年的許多新版本,增加了性能和增加覆蓋整個ES6標準。Node具有構建快速API,伺服器,桌面應用程式甚至機器人的框架,以及創建可以想像的各種模塊的龐大社區。在Node.js的框架中你可能想研究:Express,Koa,Next,Nodal。

PHP

什麼?PHP,我沒逗你。PHP首先是一種Web語言,並且有大量的Web框架可供選擇。由於其出色的文檔和未來,Laravel已經形成了一個活躍的社區。 Zend Framework發布了第3版,這標誌著這種面向業務的框架的極大升級。 Symfony在今年也看到了很多新的版本,使它成為一個完整的堆棧解決方案,一個更好的選擇。

Ruby

對於Ruby,Rails框架是首選。版本5.0於2016年發布,為Web套接字,API模式提供支持。 Sinatra也是小應用程式的不錯選擇,版本2.0預計2017年有時。

Python

Python以Django和Flask的形式有了自己的全棧/最小框架組合。 Django 1.10在8月發布,引入全文搜索Postgres和一個大修的中間件層。

Java

Java生態系統還有流行的Web框架可供選擇。 Play和Spark是兩個固定的選擇,,他們也可以與Scala一起使用。

Phoenix

對於愛好者來說,Phoenix也是一種後端可選項,這是用Elixir編寫的,並試圖成為一個功能完整、性能卓越的Rails替代品。如果Elixir是你想在2017年學習的語言之一,試試Phoenix吧。

2017年後端方向建議:

學習其中之一:全棧後端框架,一個微框架。

資料庫

MySQL

MySQL 8.0將是資料庫的下一個主要版本。預計2017年某個時候,它將給系統帶來很多改進。 MySQL仍然是最受(mian)歡迎(fei)的資料庫管理系統,整個行業都受益於這些新版本。

PostgreSQL

PostgreSQL 9.6於9月發布。它帶來更好的全文搜索,加快了資料庫系統的並行查詢和更高效的複製,聚合,索引和排序。 Postgres用於大規模,太字節規模的數據集,以及繁忙的網絡應用程式,這些優化在大數據和海量數據時代都是是受歡迎的。

NoSQL

對於NoSQL粉絲,我們可以推薦CouchDB。它是一個快速和可擴展的JSON存儲系統,它公開了一個REST-ful HTTP API。資料庫易於使用,性能卓越。 PouchDB是一個精神對應的CouchDB,完全在瀏覽器中工作,可以與Couch同步。這允許你在離線準備的網絡應用程式中使用Pouch,並在網際網路連接可用後自動同步。

Redis

Redis是我們最喜歡的鍵值存儲,它具有輕量級,快速的特點,並且功能繁多。你可以將其用作智能內存替代方法,作為NoSQL數據存儲或進程消息傳遞和同步通道。它提供了大量的數據結構可供選擇,並且即將到來的4.0版本將有一個模塊系統和改進的複製。

2017年資料庫方向建議:

學習其中之一:MySQLPostgresCouchDBRedis

開發工具

Yarn

Yarn是由Facebook開發的Node.js的替代包管理器。它是對npm命令行工具的升級,提供更快捷的安裝,更好的安全性和穩定的項目構建。它仍然使用npm包註冊表作為其後端,因此你可以訪問優秀的JavaScript模塊。 Yarn與npm使用的package.json格式兼容,而且相較於npm,二者最大的差別可能就是快速安裝了吧。

Visual Studio CodeAtom

兩個最受歡迎的開原始碼編輯器 - Visual Studio Code和Atom在過去12個月中為我們呈現到了不可思議的創新成果。首先是網絡構建項目,如果你還是一個「單打獨鬥」的程式設計師也許你並不需要網絡項目,但如果你不能提前養成一個好的版本控制習慣,當你進入大型項目組時,你可能會成為需要在回家的路上半路跑回公司次數最多的那個人。語法檢查可以幫助你提前減少BUG。編輯器有可用的語言檢查,linting和重構工具的大量語言的插件。

Git

Git是最流行的原始碼版本控制系統。它是無伺服器的,你可以將計算機上的任何文件夾轉換為存儲庫。如果你想共享代碼,你有很多選擇,如GitLab,

BitbucketGithub

Bitbucket和Github,僅舉幾例。對於2017年,我們建議你熟悉git命令行,因為它會比你想像的更方便。桌面應用程式還沒有死。即使網絡應用程式變得越來越有能力,有時你需要強大的功能和API,這是網絡平台根本不可用。使用諸如Electron和NW.js之類的工具,你可以使用Web技術編寫桌面應用程式。藉此,你可以如魚得水地在作業系統中儘量發揮npm的各個模塊的功能。

DevOps

軟體團隊組織的最新趨勢是讓開發人員負責自己的軟體部署。也稱為DevOps,這導致更快的發布和更快地修復生產中的問題。現在公司也越來越看重那種即會運營又會寫代碼的程式設計師(或者說有可能在35歲之後能和公司一起走下去的員工),因此熟悉能夠實現這一目標的技術將是一個巨大的進步。我們推薦的一些工具是Ansible和Docker。擁有Linux命令行和基本系統管理技能的經驗也將使你看起來更優秀。

2017年發發工具方向建議:

嘗試一個或多個這些:YarnGitVisual StudioElectronAnsibleDocker

您可能感興趣
免責聲明:本文內容來源于最新軟件應湧資訊,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM