狠狠操夜夜甜|人妻在线中文字幕亚洲无码不卡av|一区二区欧美亚洲|日躁夜躁狠狠躁2001|亚洲,超碰,欧美|18AV成人电影|午夜成人免费在线|婷婷激情网深爱五月|色欲综合成人在线|在线美女搞黄大片

中企動力 > 頭條 > 人工智能網(wǎng)站開發(fā)

網(wǎng)站性能檢測評分

注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。

人工智能網(wǎng)站開發(fā)

史上最完整的人工智能資訊學(xué)習(xí)網(wǎng)站,想要學(xué)AI的同學(xué)請收藏! 人工智能視頻課程

國內(nèi)最好的人工智能網(wǎng)站

中國人工智能學(xué)會

http://caai/

語音識別網(wǎng)

http://yuyinshibie

神經(jīng)網(wǎng)絡(luò)在線

http://2nsoft

智能中國網(wǎng)

http://5iai

中文自然語言處理開放平臺

http://nlp.org

21世紀(jì)人工智能論壇

http://21ai

最人工智能網(wǎng)

http://mostai

人工智能實驗室

http://ailab.org

中國人工智能網(wǎng)

http://chinaai.org

雷鋒網(wǎng)

https://leiphone/category/ai

人工智能學(xué)習(xí)網(wǎng)

http://aihot/

CSDN

http://csdn/

機(jī)器人網(wǎng)

http://robot.ofweek/

大數(shù)據(jù)產(chǎn)業(yè)觀察

http://cbdio/node_3928.htm

網(wǎng)易智能

http://tech.163/smart/

集智社區(qū)

https://jizhi.im/index

機(jī)器之心

https://jiqizhixin/

新智元

http://t/RY71NA1

北大AI實驗室

http://ai.pku.edu/

西安交通大學(xué)AI研究所

http://aiar.xjtu.edu/

國外最好的人工智能網(wǎng)站

人工智能熱門博客列表

http://t/RY7gnJU

斯坦福大學(xué)AI實驗室

http://ai.stanford.edu/

AI weekly

http://aiweekly.co/

The Visionary

http://t/RY7rwt3

Machine Learning

http://subscribe.machinelearnings.co/

Chris Olah的博客

http://colah.github.io

Andrei Karpathy的博客

http://karpathy.github.io

牛津大學(xué)博士Trask的博客

http://iamtrask.github.io/

@hardmaru的博客

http://blog.otoro/

一個有大量樣例的博客

http://fastml/

講Keras框架深度學(xué)習(xí)的博客

http://blog.keras.io

Top Bots博客

http://topbots/

Denny Britz的技術(shù)博客

http://wildml/

Distill期刊博客

http://distill.pub/

FastML博客

http://fastml/

Jason Brownlee博士的博客

https://joanna-bryson.blogspot.de/

Sebastian Ruder博士的博客

http://sebastianruder/

Robbie Allen博士的博客

http://unsupervisedmethods/

Explosion AI工作室博客

https://explosion.ai/blog/

Tim Dettwers碩士博客

http://timdettmers/

Shawn Tan教授的博客

http://blog.wtf.sg/

加州大學(xué)學(xué)生運(yùn)營的博客

https://ml.berkeley.edu/blog/

國外人工智能界牛人主頁

http://t/RY7eqF3

人工智能浪潮下的 Web 開發(fā),程序員該如何上手? 人工智能視頻課程

img

家初晴

關(guān)注

經(jīng)歷了網(wǎng)絡(luò)互聯(lián)的 Web 1.0 時代、社交的 Web 2.0 時代、基于移動的 Web 3.0 時代,如今的我們正逐步邁向知識分配的 Web 4.0 時代。與此同時,隨著人工智能的興起,聊天機(jī)器人和會話式 UI 也開始滲透 Web 領(lǐng)域,所以說,現(xiàn)在的 Web 開發(fā)已經(jīng)和幾年前完全不一樣了。

當(dāng)面對日新月異的技術(shù)、錯綜復(fù)雜的網(wǎng)站時,新入行的開發(fā)者很容迷失方向。以下這篇指南,展示了后端開發(fā)的全景、運(yùn)維的趨勢,希望給從事 Web 開發(fā)的程序員們一個清晰的概念,去其糟粕取其精華。

以前,后端的路線圖只是一些平鋪的技術(shù)介紹,而無法給出任何有關(guān)趨勢的方向。而在這篇文章中,有詳細(xì)的后端學(xué)習(xí)路線圖,可助前行路上的開發(fā)者一臂之力。廢話不多說,現(xiàn)在就開始吧。

接下來,我們將一步步來解釋一下這張圖。

開始之前要說明一點,雖然我們在圖中沒有列出 HTML/CSS 的知識,但建議你至少懂得一點,并會寫一些基本的 HTML/CSS。

▌學(xué)一門語言

選擇語言時總是會遇到無數(shù)種選擇。我把語言按照類別分開,以便你作出決定。對于剛剛進(jìn)入后端開發(fā)的初學(xué)者,我建議選任何一種腳本語言,它們的市場需求都很大,因此你可以迅速進(jìn)步。如果你有前端知識,Node.js 會很容易,而且工作機(jī)會也很多。

如果你已經(jīng)在從事后端開發(fā),并且會某種腳本語言,我建議你不要再選另一種腳本語言,而是從“函數(shù)式”(Functional)或“多重編程”(Multiparadigm)中選擇一種。例如,如果你會 PHP 或 Node.js,那就別再學(xué) Python 或 Ruby,而是嘗試下 Erlang 或 Golang。這樣能開闊你的思維和視野。

▌練習(xí)學(xué)到的知識

學(xué)習(xí)知識的最佳途徑就是練習(xí)。選好語言并了解一些基本概念之后,就應(yīng)該學(xué)以致用,用它多做一些小應(yīng)用。下面是一些建議:

實現(xiàn)一些常用的 bash 命令,例如實現(xiàn) ls 的功能;寫個命令從 reddit 的 /r/programming 上以 JSON 格式獲取并保存文章;寫個命令以 JSON 格式返回目錄結(jié)構(gòu),例如 jsonify dir-name,返回一個 JSON 文件,內(nèi)容是 dir-name 下的目錄結(jié)構(gòu);寫個命令讀取上一條的 JSON 文件并創(chuàng)建目錄結(jié)構(gòu);想一想每天要做的任務(wù),并嘗試自動化。

▌學(xué)習(xí)包管理器

理解語言的基礎(chǔ)知識并做了一些簡單的應(yīng)用后,可以學(xué)一下那門語言的包管理器如何使用。包管理器可以幫你在應(yīng)用中使用第三方庫,還可以把你的庫發(fā)布給其他人使用。

如果你選了 PHP,可以學(xué)一學(xué) Composer;選了 Node.js 可以學(xué)習(xí) NPM 或 Yarn;選了 Python 可以學(xué)一學(xué) Pip;選了 Ruby 可以學(xué)一學(xué) RubyGems。不論你選和種語言,都應(yīng)該去學(xué)學(xué)相應(yīng)的包管理器。

▌標(biāo)準(zhǔn)做法和最佳實踐

每種語言都有標(biāo)準(zhǔn)做法和最佳實踐。學(xué)一學(xué)你選擇的語言的這些知識。例如, PHP 有 PHP-FIG 和 PSR。Node.js 和其他語言都有許多社區(qū)主導(dǎo)的規(guī)范。

▌安全性

務(wù)必要讀一讀有關(guān)安全性的最佳實踐。閱讀OWASP(https://owasp.org/index.php/Main_Page)的規(guī)范,理解各種安全問題,以及如何在所選語言中避免這些問題。

▌練習(xí)

現(xiàn)在你已經(jīng)了解了語言的基本知識、標(biāo)準(zhǔn)做法和最佳實踐、安全信息,以及如何使用包管理器?,F(xiàn)在可以去創(chuàng)建一個包,并把它發(fā)布給其他人使用了。在這個過程中要時刻遵循你學(xué)到的標(biāo)準(zhǔn)和最佳實踐。例如,如果你選了 PHP,你就應(yīng)當(dāng)在 Packagist 上發(fā)布。選擇了 Node.js,就應(yīng)該在 Npm 上發(fā)布等。

完成這一步之后,可以在 Github 上找一些項目,然后試著建一些 pull request。一些建議:

重構(gòu)代碼,實現(xiàn)你學(xué)到的最佳實踐;尋找 Bug 并試圖解決;增加新功能。

▌學(xué)習(xí)測試

測試有好幾種類型。要理解這幾種類型的測試,以及每種測試的目的。不過,可以從給你的應(yīng)用編寫單元測試和集成測試開始。同時,還要理解各種測試的術(shù)語,如 mock、stub 等。

▌實踐

作為練習(xí),可以為你之前的項目寫一些單元測試,特別是給第 6 步做好的那些項目。

還要學(xué)習(xí)并計算你寫的測試用例的覆蓋率。

▌學(xué)習(xí)關(guān)系型數(shù)據(jù)庫

學(xué)習(xí)如何在關(guān)系型數(shù)據(jù)庫中永久保存數(shù)據(jù)。在選擇要學(xué)習(xí)的數(shù)據(jù)庫之前,要先理解各種數(shù)據(jù)庫術(shù)語,如鍵、索引、正規(guī)化、元組等。

學(xué)習(xí)數(shù)據(jù)庫有好幾種選擇。不過,學(xué)完其中一個數(shù)據(jù)庫后,再學(xué)其他的就會很容易??梢詫W(xué)習(xí) MySQL、MariaDB(是 MySQL 的一個分支,與 MySQL 幾乎完全相同)或 PostgreSQL。建議先從 MySQL 開始。

▌練習(xí)時間

現(xiàn)在可以把所有學(xué)到的知識放到一起了。

用學(xué)到的所有知識做一個簡單的應(yīng)用。選一個點子,比如建立一個簡單的博客應(yīng)用,并實現(xiàn)以下的功能:

用戶賬號 - 注冊和登錄注冊用戶可以創(chuàng)建博文用戶可以查看他創(chuàng)建的所有博文用戶可以刪除博文用戶只能看到他自己的博文,看不到其他人的給應(yīng)用寫單元測試和集成測試數(shù)據(jù)庫查詢要使用索引。分析查詢,確保索引被用到了。

▌學(xué)習(xí)一個框架

根據(jù)項目和語言不同,你可能需要框架,也可能不需要。每種語言都有多個框架供選擇,應(yīng)當(dāng)去看看你選擇的語言都有哪些框架,然后選一個關(guān)聯(lián)最大的。

如果你選的是 PHP,我建議學(xué)習(xí) Laravel 或 Symfony,如果需要微型框架的話,可以選擇 Lumen 或 Slim。如果選擇 Node.js,也有多種框架可以選擇,但最流行的就是 Express.js。

▌練習(xí)時間

這一步的練習(xí),可以將你之前在第 10 步創(chuàng)建的應(yīng)用改成用框架實現(xiàn)。同時要保證移植一切功能,包括測試用例。

▌學(xué)習(xí)一種NoSQL數(shù)據(jù)庫

首先要理解 NoSQL 是什么,它們與關(guān)系型數(shù)據(jù)庫有何區(qū)別,以及為什么需要 NoSQL。NoSQL 數(shù)據(jù)庫也有許多種,做一點研究,比較它們的功能和區(qū)別。常見的選擇有 MongoDB、Cassandra、RethinkDB 和 Couchbase。如果必須選擇其一,可以用 MongoDB。

▌緩存

學(xué)習(xí)如何在應(yīng)用級別實現(xiàn)緩存。理解如何使用 Redis 或 Memcached,并在第 12 步創(chuàng)建的應(yīng)用中應(yīng)用緩存。

▌創(chuàng)建 RESTful API

理解 REST 并學(xué)習(xí) RESTful API。一定要讀一讀 Roy Fielding 的論文中有關(guān) REST 的那部分。確保有人說 REST 只能用于 HTTP API 時你能夠反駁。

▌學(xué)習(xí)不同的認(rèn)證方式

學(xué)習(xí)各種認(rèn)證和授權(quán)方式。你應(yīng)該知道它們的含義,它們之間的區(qū)別,以及何時該用哪個。

OAuth - 開放認(rèn)證Basic認(rèn)證Token認(rèn)證JWT - JSON Web TokensOpenID

▌消息傳遞

學(xué)習(xí)消息傳遞機(jī)制,理解為何、何時要使用消息傳遞。也有多種選擇,但主流就是RabbitMQ和Kafka。如果只能選擇其一,可以先學(xué)習(xí)RabbitMQ。

▌搜索引擎

隨著應(yīng)用程序變得越來越大,在關(guān)系型數(shù)據(jù)庫或 NoSQL 上的簡單查詢將無法滿足需求,這就必須使用搜索引擎。搜索引擎也有多種選擇,每種都有自己的優(yōu)缺點。

▌學(xué)習(xí)使用 Docker

Docker 可以大幅度降低開發(fā)的難度,它能復(fù)制與生產(chǎn)環(huán)境完全相同的環(huán)境,能保證操作系統(tǒng)干凈,還能讓編碼、測試和部署更快捷。讀者可以自己搜索“Docker 有哪些好處”的答案。在這一步,只需要去學(xué)習(xí)如何使用 Docker。

▌Web 服務(wù)器的知識

如果你已學(xué)到這里,那么在前面的步驟中你一定已經(jīng)接觸過了服務(wù)器。這一步主要是要找出不同 Web 服務(wù)器之間的區(qū)別,了解其限制和不同的配置選項,并理解怎樣編寫應(yīng)用才能更好地利用這些限制。

▌學(xué)習(xí)如何使用 WebSocket

盡管這一步不是必須,但掌握 WebSocket 總會有好處。學(xué)習(xí)如何利用 WebSocket 編寫實時 Web 應(yīng)用程序,并用它寫個示例應(yīng)用??梢栽谇懊嫱瓿傻牟┛蛻?yīng)用中使用 WebSocket 實現(xiàn)實時更新博文列表。

▌學(xué)習(xí) GraphQL

學(xué)習(xí)如何用 GraphQL 編寫 API。理解它與 REST 的區(qū)別,理解為何它被稱為 REST 2.0。

▌看看圖數(shù)據(jù)庫

圖模型能靈活地表示并處理數(shù)據(jù)之間的關(guān)系,而圖數(shù)據(jù)庫提供了快速、有效的方式來存儲、讀取并查詢圖。學(xué)學(xué)如何使用 Neo4j 或 OrientDB。

▌繼續(xù)探索

一旦開始學(xué)習(xí)并練習(xí)后,你一定會遇到很多我們沒有覆蓋到的東西。保持開放的心態(tài)和健康好學(xué)的態(tài)度,去學(xué)習(xí)新東西吧。

記住,關(guān)鍵就是要多練習(xí)。剛開始可能有些不使用,但很快就會習(xí)以為常,時間長了還會覺得越來越好。

在此也推薦作者之前寫的一篇前端開發(fā)技術(shù)全景文章:https://medium/tech-tajawal/modern-frontend-developer-in-2018-4c2072fa2b9c

原文:https://medium/tech-tajawal/modern-backend-developer-in-2018-6b3f7b5f8b9作者:Adnan Ahmed,tajawal 的首席工程師,喜歡 Web 開發(fā)、新技術(shù),崇尚簡單,開源的忠實粉絲。譯者:彎月,責(zé)編:屠敏

img

在線咨詢

建站在線咨詢

img

微信咨詢

掃一掃添加
動力姐姐微信

img
img

TOP