很多人想知道自己是否適合編程?程序員的日常工作是什么?你可以用編程做什么?但他們通常不知道從哪里開始,因為他們?nèi)狈σ恍┫嚓P(guān)信息(我稱之為“初始”或“從這里開始”文章)。如果您還想知道編程是否適合您?你需要做什么?你能做什么?編程能為我們做什么?什么都不能帶?從哪里開始?然后繼續(xù)閱讀。TL;DR:選擇一個您感興趣的領(lǐng)域,學(xué)習(xí)基礎(chǔ)知識,然后開始創(chuàng)建真正的小型項目。繼續(xù)練習(xí),練習(xí)... 免責(zé)聲明:我寫這篇文章是為了了解如果我是新手,編程是否值得學(xué)習(xí)?如果值得,從哪里開始?學(xué)什么?那么這篇文章就是為我量身定做的。作者'
什么是編程?
編程是與機器通信的過程,幫助我們向機器解釋它在給定情況下應(yīng)該做什么和不應(yīng)該做什么。看起來他是在用某種奇怪的語言和機器說話,而機器不知怎么聽懂了。此外,其他懂語言的人也可以閱讀您給機器的說明。有很多這樣的語言,有些程序員會說好幾種。摘要:編程就是告訴機器該做什么。
我們可以做什么?
通過管理機器,我們可以創(chuàng)建有趣、復(fù)雜的程序/系統(tǒng)來簡化日常任務(wù)?;蛘?,讓事情變得更有趣。所有電子設(shè)備都經(jīng)過編程,以幫助我們完成日常任務(wù)。當(dāng)有人靠近時自動打開的燈泡?一切都與編程有關(guān)!我們甚至可以在機器中編寫魔法世界。就像一個網(wǎng)站,或者一個視頻游戲。為了通過編程讓生活更輕松入門寫程序下載什么軟件,除了物理定律和技術(shù)進步之外,我們還需要想象力和其他技能。此時此刻,數(shù)十億臺機器正準(zhǔn)備接單。您的智能手機正在等待您打開瀏覽器并搜索“如何開始編程”;您的 Wi-Fi 路由器正在等待處理此類網(wǎng)絡(luò)請求,如果有任何相關(guān)信息,它會詢問互聯(lián)網(wǎng)上的其他機器(又名服務(wù)器);這些服務(wù)器處理請求并將信息發(fā)回。編程使所有這些機器能夠協(xié)同工作以執(zhí)行一組特定的任務(wù)。最終,將有數(shù)十億臺機器等待我們在云中為它們分配有用的工作!想象一下,在如此龐大數(shù)量的計算機的基礎(chǔ)上,我們可以構(gòu)建什么樣的系統(tǒng)?,F(xiàn)在,讓我回到最簡單的問題。那么作為程序員,我們能做些什么呢?想象一下,在如此龐大數(shù)量的計算機的基礎(chǔ)上,我們可以構(gòu)建什么樣的系統(tǒng)?,F(xiàn)在,讓我回到最簡單的問題。那么作為程序員,我們能做些什么呢?想象一下,在如此龐大數(shù)量的計算機的基礎(chǔ)上,我們可以構(gòu)建什么樣的系統(tǒng)?,F(xiàn)在,讓我回到最簡單的問題。那么作為程序員,我們能做些什么呢?
程序員的工作是什么?
下面,我將介紹我所做的工作——與Web應(yīng)用程序相關(guān)的工作。談?wù)劇盀槭裁础??一些人或公司對?chuàng)建和維護可以通過 訪問的網(wǎng)頁感興趣。由于網(wǎng)頁可以展示人們在現(xiàn)實世界中所做的事情,因此企業(yè)通常需要自己的企業(yè)網(wǎng)站。這樣,搜索此類企業(yè)的人就可以看到他們的頁面,閱讀有用的信息,并決定是否為公司提供的服務(wù)付費。一些企業(yè)在網(wǎng)上銷售他們的產(chǎn)品。因此,他們需要一個可以處理客戶請求和銷售產(chǎn)品的網(wǎng)頁。從這個角度來看,創(chuàng)建網(wǎng)頁(和應(yīng)用程序,如果你想)的市場需求是巨大的。企業(yè)需要網(wǎng)站,OK!然后?他們可能會聯(lián)系可以幫助創(chuàng)建網(wǎng)站的公司。我們稱他們?yōu)閿?shù)字機構(gòu)。他們擁有相關(guān)的專業(yè)知識和技術(shù),企業(yè)需要一個網(wǎng)站,而這些機構(gòu)通過創(chuàng)建他們需要的網(wǎng)站來賺錢。數(shù)字機構(gòu)需要程序員來做這些事情:他們知道如何建立一個網(wǎng)站,并最終建立它??偟膩碚f,就是這么簡單。還有其他類似的機構(gòu)通過出售程序員的時間(而不是網(wǎng)站)來賺錢。其中一些是按項目收費的,包括程序員工作、測試、收集需求、管理人員等等。一些產(chǎn)品公司不賣員工的時間,他們通過制造有價值的產(chǎn)品來賺錢。這些產(chǎn)品本身已經(jīng)是一項有利可圖的(或可能不是)業(yè)務(wù)。這些機構(gòu)通過創(chuàng)建他們需要的網(wǎng)站來賺錢。數(shù)字機構(gòu)需要程序員來做這些事情:他們知道如何建立一個網(wǎng)站,并最終建立它。總的來說,就是這么簡單。還有其他類似的機構(gòu)通過出售程序員的時間(而不是網(wǎng)站)來賺錢。其中一些是按項目收費的,包括程序員工作、測試、收集需求、管理人員等等。一些產(chǎn)品公司不賣員工的時間,他們通過制造有價值的產(chǎn)品來賺錢。這些產(chǎn)品本身已經(jīng)是一項有利可圖的(或可能不是)業(yè)務(wù)。這些機構(gòu)通過創(chuàng)建他們需要的網(wǎng)站來賺錢。數(shù)字機構(gòu)需要程序員來做這些事情:他們知道如何建立一個網(wǎng)站,并最終建立它??偟膩碚f,就是這么簡單。還有其他類似的機構(gòu)通過出售程序員的時間(而不是網(wǎng)站)來賺錢。其中一些是按項目收費的,包括程序員工作、測試、收集需求、管理人員等等。一些產(chǎn)品公司不賣員工的時間,他們通過制造有價值的產(chǎn)品來賺錢。這些產(chǎn)品本身已經(jīng)是一項有利可圖的(或可能不是)業(yè)務(wù)。還有其他類似的機構(gòu)通過出售程序員的時間(而不是網(wǎng)站)來賺錢。其中一些是按項目收費的,包括程序員工作、測試、收集需求、管理人員等等。一些產(chǎn)品公司不賣員工的時間,他們通過制造有價值的產(chǎn)品來賺錢。這些產(chǎn)品本身已經(jīng)是一項有利可圖的(或可能不是)業(yè)務(wù)。還有其他類似的機構(gòu)通過出售程序員的時間(而不是網(wǎng)站)來賺錢。其中一些是按項目收費的,包括程序員工作、測試、收集需求、管理人員等等。一些產(chǎn)品公司不賣員工的時間,他們通過制造有價值的產(chǎn)品來賺錢。這些產(chǎn)品本身已經(jīng)是一項有利可圖的(或可能不是)業(yè)務(wù)。
任務(wù)
如果你是新手,你通常會做相對簡單的任務(wù)。經(jīng)驗豐富的資深同事也希望您在遇到問題時多向他們提問。隨著經(jīng)驗的積累,你會逐漸參與到更復(fù)雜的任務(wù)中,相應(yīng)地承擔(dān)更多的責(zé)任。程序員的日常任務(wù)因項目而異,但大多數(shù)任務(wù)都包括實際的編碼工作。而且您需要以特定的方式進行操作。在處理 Web 應(yīng)用程序時,程序員分為以下幾類: 前端開發(fā)人員。當(dāng)我們打開一個網(wǎng)站時,我們首先看到的是他們在做什么。頁面上那些漂亮的塊、文本、模態(tài)框、排列整齊的圖像、動畫——他們都對此負責(zé)。他們至少需要了解 HTML 和 CSS 才能設(shè)計靜態(tài)頁面。HTML 是一種標(biāo)記語言,它告訴瀏覽器將內(nèi)容放在哪里。例如,我想在網(wǎng)頁頂部放置一個導(dǎo)航菜單,然后在其下方放置兩個圖像,并在最底部呈現(xiàn)文本“站點”。所有這些都可以轉(zhuǎn)換為 HTML,因此瀏覽器可以準(zhǔn)確地表達您想要的內(nèi)容。CSS 是一種樣式語言,可為原始 HTML 元素提供美觀的外觀。它可以為文本或塊設(shè)置顏色、大小、寬度、高度等。借助 HTML 和 CSS,我們可以創(chuàng)建靜態(tài)網(wǎng)站。靜態(tài)是指不需要額外的邏輯操作,例如處理按鈕點擊、對鼠標(biāo)雙擊特定元素做出反應(yīng)等等。
Web 應(yīng)用程序是具有額外邏輯和復(fù)雜性的網(wǎng)頁。在網(wǎng)上很常見。我們購買東西的在線商店是一個 Web 應(yīng)用程序,因為它處理:我們選擇一個項目,將一個項目添加到購物車,打開一個模式,詢問一個送貨地址,等等。這些類型的網(wǎng)站需要前端開發(fā)人員掌握一門編程語言,因為這些指令不能用 HTML 或 CSS 編寫。最常用的編程語言是 . 總而言之,前端開發(fā)人員負責(zé)創(chuàng)建網(wǎng)站的視覺部分,同時他們還構(gòu)建了描述視覺部分應(yīng)該如何呈現(xiàn)的邏輯。除此之外,網(wǎng)站還有其他部分嗎?當(dāng)然,還有后端(服務(wù)器)部分。后端開發(fā)人員。他們負責(zé)編寫用于傳輸、驗證、從前端(可視化)部分清理數(shù)據(jù),將數(shù)據(jù)放入某個存儲中,然后檢索它。服務(wù)器負責(zé)管理數(shù)據(jù)。如果前端(我們稱之為FE)部分也可以有邏輯,那為什么還要有服務(wù)器呢?因為 FE 受限于瀏覽器環(huán)境,我們無法在前端實現(xiàn)一切。服務(wù)器端(后端,BE)開發(fā)人員負責(zé)為 FE 或其他服務(wù)器編寫 API。什么是 API?讓我們看看 怎么說:應(yīng)用程序編程接口 ( ),一個實現(xiàn)兩個應(yīng)用程序相互通信的 軟件 中介。為什么我們有服務(wù)器?因為 FE 受限于瀏覽器環(huán)境,我們無法在前端實現(xiàn)一切。服務(wù)器端(后端,BE)開發(fā)人員負責(zé)為 FE 或其他服務(wù)器編寫 API。什么是 API?讓我們看看 怎么說:應(yīng)用程序編程接口 ( ),一個實現(xiàn)兩個應(yīng)用程序相互通信的 軟件 中介。為什么我們有服務(wù)器?因為 FE 受限于瀏覽器環(huán)境,我們無法在前端實現(xiàn)一切。服務(wù)器端(后端,BE)開發(fā)人員負責(zé)為 FE 或其他服務(wù)器編寫 API。什么是 API?讓我們看看 怎么說:應(yīng)用程序編程接口 ( ),一個實現(xiàn)兩個應(yīng)用程序相互通信的 軟件 中介。
這就像人的嘴和耳朵:我用嘴說話——你用耳朵聽,反之亦然。API 就是這樣一種交換信息的方式。
作為一個更實際的例子,讓我們回想一下在線購物網(wǎng)站。當(dāng)我們想從上面買東西時,F(xiàn)E收集我們的數(shù)據(jù),發(fā)送到服務(wù)器,驗證數(shù)據(jù)是否有效,在數(shù)據(jù)庫中檢索我們的身份(是注冊用戶嗎?有訂閱嗎?),然后進行通信與銀行服務(wù)器對話,如果有支付入門寫程序下載什么軟件,銀行服務(wù)器處理支付。經(jīng)過這一系列的檢查和操作,服務(wù)器會回復(fù)FE,說:客戶已經(jīng)付款了,我們在網(wǎng)站上給他發(fā)個感謝信息吧。因此,F(xiàn)E 通過提供的 API 與 BE 對話,他們交換信息并協(xié)同工作。有些程序員既能勝任 FE 又能勝任 BE 工作。全棧忍者。他們擁有處理 FE 和 BE 所需的所有技能。所以,他們可以自己完成Web應(yīng)用程序的創(chuàng)建。還有一些移動開發(fā)人員,我們將在接下來的章節(jié)中介紹。
學(xué)習(xí)什么開始編碼
練習(xí),練習(xí),練習(xí)。在了解了程序員的工作類型之后,或許你已經(jīng)有了想要選擇的方向:FE、BE、移動應(yīng)用。如果你還沒有決定也沒關(guān)系。你所要做的就是積累更多的經(jīng)驗,然后你自然會找到你內(nèi)心的渴望。
無論您選擇哪種方式,您都應(yīng)該開始構(gòu)建一個真正的項目。這里提到的項目并不是指亞馬遜配送系統(tǒng)的大型項目。您編寫的任何代碼都可以被視為一個項目。你可以先了解一些基礎(chǔ)理論,比如目標(biāo)編程語言的知識,或者計算機科學(xué)的基礎(chǔ)知識。如果您還沒有基礎(chǔ)知識也沒關(guān)系,只需開始創(chuàng)建一些實用的東西。但是如果沒有理論基礎(chǔ)來支持它,我們可能會發(fā)現(xiàn)自己不知道在構(gòu)建時要注意什么。因此,我們應(yīng)該盡量避免這種情況。
前端路徑
這也取決于你打算做什么。例如,如果您想為靜態(tài)網(wǎng)頁創(chuàng)建美觀、美觀的設(shè)計,那么 HTML 和 CSS 就足夠了。為此,您需要找到“HTML 指南”并在每節(jié)課后編寫一些代碼。然后,找一本《CSS 指南》,結(jié)合 HTML 來學(xué)習(xí)。您不需要學(xué)習(xí)所有 HTML 元素。
, ,
這樣的事情就足以開始了。然后,當(dāng)您遇到其他問題時,您可以求助于 。CSS 也是如此,但可能還有更多需要學(xué)習(xí)的地方。如果您對制作 Web 應(yīng)用程序感興趣,那么您還需要了解 HTML 和 CSS。一開始,你需要具備一些基礎(chǔ)知識,比如如何編寫函數(shù)、調(diào)用函數(shù)、創(chuàng)建變量、求和、打印字符串等——了解你可能遇到的情況。網(wǎng)頁的 DOM 部分允許您將所學(xué)內(nèi)容與操作網(wǎng)頁相結(jié)合。例如,按下按鈕會將頁面上的紅色塊變成藍色塊。然后,在您熟悉了基礎(chǔ)知識之后,就該選擇一個前端框架了(但這也不是必需的)??蚣苁情_發(fā)人員用來解決特定問題的工具,它可以幫助我們減少我們編寫的代碼量。但是,我們也可以建立沒有框架的網(wǎng)站。如果你開始選擇框架,恭喜你,你已經(jīng)進步了,是時候閱讀一些新的東西了。我應(yīng)該選擇什么樣的項目?最好是快速簡單的項目。這樣我們可以在短期內(nèi)看到效果,而不會把前面拉得太長,最終放棄學(xué)習(xí)編碼。例如,您可以先創(chuàng)建一個個人網(wǎng)頁并將您的信息放在上面。一些帶有文本的原始 HTML 塊。用不同的積木練習(xí),看看效果。然后,開始使用 CSS 添加樣式。想象一下多個類似的項目,在接下來的幾天或幾周內(nèi)練習(xí) HTML 和 CSS。掌握 HTML 和 CSS 后,您可以學(xué)習(xí)基礎(chǔ)知識。您將學(xué)習(xí)如何編碼,例如,按鈕單擊處理程序 - 單擊并且頁面變?yōu)榧t色。想一些類似的任務(wù),寫代碼。之后,您應(yīng)該能夠使用 HTML、CSS 和 . 例如,創(chuàng)建一個簡單的頁面,包含頁眉、頁腳、內(nèi)容,并在其中添加一些邏輯:單擊一個按鈕,會出現(xiàn)一個啟用輸入的塊,當(dāng)輸入更改時,頁面標(biāo)題會隨之更改。大量練習(xí)新任務(wù)和項目。不要跳過這一步的練習(xí)!大量練習(xí)新任務(wù)和項目。不要跳過這一步的練習(xí)!大量練習(xí)新任務(wù)和項目。不要跳過這一步的練習(xí)!
后端路徑
你需要學(xué)習(xí)一門編程語言。Web 應(yīng)用程序的最佳選擇是因為您可以在前端和服務(wù)器端使用相同的語言編寫代碼。這是全棧開發(fā)的不錯選擇。你需要學(xué)習(xí) Node.JS 平臺——它是一個服務(wù)器端。可以通過閱讀或觀看介紹性視頻來學(xué)習(xí)基礎(chǔ)知識:如何安裝 Node,并編寫一個簡單的服務(wù)器來監(jiān)聽請求并響應(yīng)它們。我們都對 REST API 感興趣,因此您的第一個實際項目可能是創(chuàng)建一個具有兩條路由的服務(wù)器:“POST /”用于創(chuàng)建新消息,“GET /”用于返回所有已保存的消息。它可以臨時保存在內(nèi)存或文件中。如果你有興趣成為一名全棧程序員,
移動路徑
我們一直在討論它如何幫助我們使用 React 框架創(chuàng)建移動應(yīng)用程序。通常,開發(fā)人員使用其他語言編寫代碼,例如 Java(適用于 iOS)或 Swift(適用于 iOS)。React 可以同時為這兩個平臺編寫代碼,甚至可以為 Web 和桌面編寫代碼。
總結(jié)
希望您現(xiàn)在對選擇哪條路徑有了更好的了解。無論您選擇什么,都應(yīng)該定期練習(xí)。沒有適當(dāng)?shù)闹R庫,就很難看到大局,也更容易忘記。當(dāng)你掌握了基礎(chǔ)知識后,試著寫一些簡單的項目,選擇那些需要一段時間的,但盡量控制在幾個小時以內(nèi)。否則,如果短期內(nèi)看不到提升效果,很容易放棄,甚至失去學(xué)習(xí)興趣
小編也遇到過剛開始編程的時候不知道怎么上手,不知道學(xué)什么的情況?,F(xiàn)在我終于有所成就了。我想幫助那些想以低薪轉(zhuǎn)行的人,以及那些想進入編程但不知道如何學(xué)習(xí)的人。我會給你我多年的材料。
獲取方式:請轉(zhuǎn)發(fā)關(guān)注并私信小編。關(guān)鍵詞:“學(xué)”獲取最全的編程自學(xué)視頻教程
你在等什么?
期間看不到進步,很容易放棄,甚至失去學(xué)習(xí)興趣
小編也遇到過剛開始編程的時候不知道怎么上手,不知道學(xué)什么的情況?,F(xiàn)在我終于有所成就了。我想幫助那些想以低薪轉(zhuǎn)行的人,以及那些想進入編程但不知道如何學(xué)習(xí)的人。我會給你我多年的材料。
獲取方式:請轉(zhuǎn)發(fā)關(guān)注并私信小編。關(guān)鍵詞:“學(xué)”獲取最全的編程自學(xué)視頻教程
你在等什么?