開啓編程世界的臨門一腳

寫在前面

前天晚上發的一篇博文《你不是學生,你是開發者》點贊數和收藏數都創了新高,內心小竊喜的同時也從可以從側面看出CSDN社區中還是有很多在不斷精進學習並且有明確目標的學生黨的(對號入座的可以在評論區扣1,大家報個團嘿嘿)。有時他們瀏覽CSDN並不是爲了解決BUG,也不是爲了完成學校老師佈置的課題或畢設,而是希望找到茫茫大海上的一盞明燈,指引自己掌舵離開港灣駛向遠方——即邁出學習編程的第一步,不再是被人口口稱道的小白,而是被同學敬仰的大佬。

因此我有了一個新想法,平時在做技術分享的同時,也把自己親身實踐並覺得有用的學習方法、學習經驗分享出來——正所謂工慾善其事必先利其器,對於學習編程這件充滿實踐性的事情,依舊照着其他學科的學習方法來進修可能並不能取得預想到的效果,反而會在學習了一段時間後沒看到成果而心如死灰,對計算機專業的學習失去興趣。

所以也就有了今天的這篇文章,這是我在半個月前作爲一名小講師在騰訊會議上給大概30名大一以及大二的本校學生講後端方向學習相關時寫的一篇推文(勉強算是一個課件吧,當時我講課也是照本宣科對着一條條講下去的)當時爲了方便分享,就發佈在了自己的微信公衆號上,沒有在CSDN社區上發佈。不過今天我改變想法了,心血來潮搬運過來,與君共賞。

我目前也是大二計算機專業學生,相對於其他同學多學一些後臺開發知識,而本次活動是學院獎助工作室組織的築夢青春·技能培訓活動,邀請我們工作室的成員來爲報名參加本次活動的同學講講自己在工作室裏的所學所悟。故此也就有了我人生第一次網上授課。


後臺"築夢青春·技能培訓"課堂實錄

一、從哪開始,怎麼開始

你的想法總是太多,但是做的事情卻太少,該從哪裏開始第一步呢?

其實,學習編程是有一個很好的開端的——在各大平臺寫博文。(CSDN,博客園,掘金,微信公衆號)

用寫博客的形式記錄下你的成長足跡,和有價值的思考,會給你帶來很多好處,卻沒有一點明顯的壞處。

下面是我總結的最大的幾點好處:

1.1 寫博客的好處

1. 能夠交到很多志同道合的朋友

在這個時代,對於生活中的大多數人,網絡成了很多人擴展朋友圈子的重要途徑。現實中,由於地域的限制,你認識的人太侷限,或者說能有共同追求的人太少。而網絡不同,大家因爲共同的興趣而聚集在一起,還能找到比自己更牛逼閃閃的人,互相學習前進。

當你看一個人的博客(專欄)很長時間了,就彷彿和這個人交流很久了,用程序員的話來說就是——專欄是你在互聯網時代的複製產品。我們沒有辦法像孫悟空一樣有72變,變出多個自己,但是我們可以通過專欄輕鬆的實現無限制複製。

2. 書寫是爲了更好地思考

如果一件事情你不能講清楚,十有八九你沒有理解透徹。

在程序員行業面試的時候,面試官都會要求你講解一個東西給他聽,就是考察你的思考理解能力。

爲了講清楚一個東西,你必須要知道如何從不明白到明白對象究竟要清楚哪些概念。而書寫的過程,會迫使我們的大腦對整個的知識體系來個"打破砂鍋問到底"的大操盤。

而在這個剖根問底的過程中,你會建立主動搜索答案的過程,而這個找問題的過程,又會幫助你在網上找到更多牛人寫的專欄,進而結識他們,開拓自己的見識。

3. 書寫爲你帶來新機會

最直接的機會就是書寫可以幫助你找到工作。如果你有自己的博客或者專欄,在面試之前把自己的博客地址寫入簡歷中。你說的面試官不一定信,但是將自己實踐的過程花時間記錄在博客中,面試官可以通過博客直觀地看到我一步一步是如何學習和實踐走過來的,當然無需多說他也會"眼見爲實"。

書寫會讓你成爲一個持續學習和思考的人,最重要的一點:寫作可以倒逼你成爲一個實踐主義者,因爲寫作需要輸出,會倒逼你去實踐,不然沒有輸入就不會有輸出了。當你創作出一個屬於自己的有價值的專欄,其他一切機會就會隨之而來。


即便我在上面列出了N條寫博客的好處,但有時候只需要一條不寫的理由就會讓人停止做一件事情。所以,在這裏我寫下可能出現的問題及如何面對。

1.2 寫博客的阻礙

1. 寫不出來

對於剛入門編程或者剛學習某個方向的同學來說,可能會說自己什麼都不會,怎麼能寫出一篇博文來呢?這裏不是要求你一上手就是一篇上千讚的優秀文章,你可以簡單地將自己的學習筆記或者一些BUG排查記錄上去,也是自己成長的腳印。同時前期還是推薦先把筆記記錄在雲筆記軟件上,方便查閱和防丟失。

另外一方面寫不出來的最大問題在於你沒有去實踐做東西,如果你實踐做了demo,自然會有內容去寫了。

這就好比,你不知道如何談戀愛,是因爲你沒有開始去時間追一個女孩子。在追女孩子的過程中,和追上的戀愛過程中,你自然就會了。

2. 到哪裏寫

相信很多人爲了嚐鮮都開通了微信公衆號,但是微信公衆號最大的壞處是它所處的環境是微信。而微信的朋友圈又是一個噪音及浮躁的環境。可能你寫了很好的一篇文章,轉發出來閱讀量很少。

那到哪裏寫最好呢?

  • 首推是到所在專業的最熱門社區,例如技術博文,那麼CSDN、知乎、博客園、掘金等都是不錯的IT平臺。相信大家沒少訪問過CSDN吧。

  • 其次就是微信公衆號了,寫在微信公衆號的一個好處是方便與微信好友共享,但是閱讀量會偏少。

  • 最後就是自己搭建獨立博客,好處是沒有廣告,內容都是自己的。缺點是搭建一般需要服務器,或者搭建過程複雜勸退。這裏推薦Hexo、WordPress

這裏還有一個問題要提一下,不關注閱讀量,自己成長最重要,肯定是正確的。但是,別忘了人性的弱點:人類都是快感型動物。得不到激勵的事情,你很快會放棄的,幾乎沒有人會逃脫這個人性的弱點。

3. 擔心想法太幼稚被別人笑話

如果你有這個思想,說明你目前寫的博文是原創的,這是十分值得鼓勵的事情,從copy到create,邁出了很大的一步。在這裏你可以轉念想想,你學習遇到的問題,很多人也會遇到。不僅沒有人笑話,很多人還會給出意見,讓你對學到的技術有進一步的理解。

更大的一個好處是,將自己學習時間的內容寫到博客上,遇到以前解決過的問題忘記了,可以返回來在分類中查找到當時的解決方法。博客是一個很好的備忘錄。(有點類似於筆記

所以,大膽地開始寫博客吧!如果真遇到了只喜歡嘲笑批評的人,請忽略他們,這些人連自己都不知道怎麼去升級,哪有資格說別人。


二、Typora+PicGo+Snipaste筆記三件套

工慾善其事必先利其器,古人都懂的道理,我們自然也是不能忽略了。可能我們最初記筆記只是寫在紙質筆記本上,一些同學覺得效率不高,開始使用印象筆記、有道雲筆記。作爲計算機專業的學生,記電子筆記是趨勢和潮流。各大IT平臺上的博文也都是電子文章,使用的是程序員通識的語言——Markdown(以下簡稱md)。

Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。

使用md格式來記電子筆記是可以提高自己效率的。你只需要關注內容,而排版和格式的問題,只需要記住幾個常用的符號就可以做到。

2.1 Typora

既然要使用md,當然需要一個編輯器的幫助,總不能學某些技術大佬用記事本寫代碼吧。這裏首推Typora

使用Typora寫文章

Typora是一款優秀的md編輯器,支持實時渲染,在左側有文件+大綱顯示,能很方便的縱覽全局。並且主題豐富,寫的時候賞心悅目。這裏我使用的是Barfi暗色主題。

2.2 PicGo

我們平時在記電子筆記的時候,少不了放一些圖片,可能是一張流程圖,或者是一張架構圖,甚至是一個表情包,有圖的筆記能讓我們更好地理解我們所學的知識。(現在的初高中教輔教材也在往這個方向靠攏了)

所謂圖牀工具,就是自動把本地圖片轉換成鏈接的一款工具,網絡上有很多圖牀工具,就目前使用種類而言,PicGo 算得上一款比較優秀的圖牀工具。它是一款用 Electron-vue 開發的軟件,可以支持微博,七牛雲,騰訊雲COS,又拍雲,GitHub,阿里雲OSS,SM.MS,imgur 等8種常用圖牀,功能強大,簡單易用

PicGo軟件的界面

這裏我使用的是阿里雲OSS對象存儲服務,價格不高,一年好像是10塊錢。40G能放很多圖片了。至於具體的圖牀搭建自己百度。

2.3 Snipaste

Snipaste 是一個簡單但強大的截圖工具,也可以讓你將截圖貼回到屏幕上!下載並打開 Snipaste,按下 F1 來開始截圖,再按 F3,截圖就在桌面置頂顯示了。就這麼簡單!

Snipaste 是免費軟件,它也很安全,沒有廣告、不會掃描你的硬盤、更不會上傳用戶數據,它只做它應該做的事。

上述是官方介紹,我再說下。Snipaste是一款截圖工具,與微信截圖工具不相上下,比Win10自帶的截屏不知道好到哪裏去了。

如果你不想每次截圖都:打開微信—>截圖—>發送到微信傳輸助手—>複製到你想要的地方;這樣的一套繁瑣的流程,下載一個Snipaste是一個不錯的選擇。使用其流程可以簡化爲:F1—>框選截圖,加上箭頭文字等—>ctrl+c保存至剪切板—>ctrl+v粘貼。

一套下來就是這麼簡單,快去試試吧~

2.4 日常使用

保持 picgo,sniptaste都在後臺運行

typora 編寫博客,sniptaste F1 隨時截圖,ctrl+c 複製到剪切板,picgo ctrl+q 上傳圖片至圖牀,在文章內 ctrl+c 插入剛剛保存的截屏。


三、怎麼在編程中找到快樂,並得到持續的動力

編程也是需要新鮮感的。就好比一個"上了道" 的程序員,估計這輩子,再也找不回當年首次Run起"Hello World"時,迴響於內心的那陣陣抑制不住的欣喜了。

認識的一個朋友,大家都叫他"亮哥",4年前開始混互聯網公司,陸續從銷售,轉到運維,再轉到後端,一身技術全是自學的。問他爲什麼要轉做技術,他很爽快地說:"做技術,工資高呀!還可以接外單,收入可觀,水魚也多。"然後他接着說,他在週末還在自學React,太難肝了。

我打趣地問他說:“你這樣學技術,以後會不會變成樣樣會,沒樣精通呀”,他笑着說:“沒關係,對於技術,我只想學到能賺錢,夠用的程度就行。一想到往後可以把外單的技術環節都獨攬下來,賺更多的錢,想想就開心。”

轉眼幾年過去,他已搖身一變,成爲一家小外包公司的BOSS。值得敬佩的是,爲了滿足不同客戶的新需求,他依舊保持着對新技術的涉獵熱情。

亮哥的路線,是否爲我們提供了一種新的思路?

程序員的編程動力,不一定只能源於編程這件"法器"的內部,何況其內部的乾坤,是相當得抽象,非朝夕之功可品鑑把玩。

我們是否可以設法讓自己有一個外部的目標,高新也好、賺外快也好、進大廠也好、買房也好、準備創業都好。總之,讓自己有個具體利好的小目標,你特別心儀的那種最好。以此作爲驅動你在編程道路上前進的馬達。

興許某天,你會在追求編程外部的紅利的過程中,漸漸領悟到編程內部的精粹。

這種由外而內的路子,或許纔是大多數程序員保持編程動力的較優路線

畢竟,技術精神有時候也是一種天賦,卻非人人都有。而物質名利則是芸芸衆生的生活剛需,雖然俗氣,但它能真能產生驅使人行動的巨大能量,無論是主動的,還是被動的。

所以,當你暫時在編程中找不到樂趣時,不放先把它當成一個刷金幣的工具,先往Money看起吧。至少,這個世界能用"鈔能力"獲得的樂趣還是相當多的喲~

以上內容摘抄自知乎

我的外部目標

我的愛好還是傾向於電子產品的——

  1. Asus/華碩天選 AMD R7-4800H 16G+512G 144Hz屏幕
  2. ipadAir3
  3. iphone11
  4. MBP
  5. 分享技術、成爲大佬
  6. 切實一些,進大廠

四、後臺學習網課推薦

如今雖然說有很多網課資源在小破站上可以搜到,但是良莠不齊,有選擇困難症的同學卡在這一步就麻煩了。這裏我就按我當時的學習經歷(順序)推薦幾門網課——

4.1 JavaSE

JavaSE是java基礎知識,其中面向對象概念、語法貫穿Java開發始終,而異常處理和三大集合框架又能便利我們開發,同時線程相關操作能讓我們開發出高併發的程序,最後反射又是許多框架的基礎。因此JavaSE的重要性可想而知。

推薦課程:尚學堂JAVA300集2020版 [https://www.bilibili.com/video/BV1L7411N77n?from=search&seid=11024377461426442031]

如果想要追求速度的同學可以學到異常處理和三大集合框架之後繼續學JavaEE,線程+反射以後學。

4.2 JavaEE

Java EE階段學的主要是WEB開發方面的內容,也是以後做項目比較多用到的,建議跟着視頻學。

推薦課程:JavaWeb視頻教程 [https://www.bilibili.com/video/BV18s411u7EH]

4.3 Maven

Maven是一個用做包管理的工具,用了Maven以後導包就不用專門跑去下載,方便很多。

推薦課程:尚硅谷Java視頻教程_Maven視頻 [https://www.bilibili.com/video/BV1Pt411y7Rh?from=search&seid=10873798893901584747]

4.4 SSM

SSM框架包括Spring(IOC,AOP),SpringMVC,Mybatis

推薦課程:Spring教程IDEA版-2018黑馬,SSM三個框架課程地址——

  • Mybatis:[https://www.bilibili.com/video/BV1Db411s7F5?from=search&seid=15754277871204284468]

  • Spring:[https://www.bilibili.com/video/BV1Sb411s7vP?from=search&seid=15754277871204284468]

  • SpringMVC:[https://www.bilibili.com/video/BV1Sb411s7qa?from=search&seid=15754277871204284468]

4.5 SpringBoot

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成爲領導者。

推薦課程:SpringBoot 權威教程 雷豐陽 尚硅谷:[https://www.bilibili.com/video/BV1Et411Y7tQ?from=search&seid=15754277871204284468]

4.6 後續

之後的學習就是微服務+中間件+數據庫了,這部分就自行尋找資源吧。


五、後臺開發定位

5.1 前言

有些同學雖然選擇了後臺,但是可能並不清楚後臺開發到底是在幹嘛,需要做什麼。知道的可能只是很多人使用Java語言開發,能開發網站、小程序,Spring框架…但對於後臺開發的具體內容可能沒有一個形象地認識,Java語言在開發中怎麼使用?開發流程?需要的技術棧?架構?服務器部署?因此在這裏就帶大家看一看師兄開發的項目源碼以及一些作品展示——

我的Gitee地址:https://gitee.com/smietao,一些開源的項目大家可以clone下來運行下來自己研究,有能力的可以運行試試。

5.2 VTMER招新後臺管理系統縱覽

招新後臺管理系統登錄界面

招新後臺管理系統註冊界面

招新後臺管理系統首頁

後臺管理系統-數據統計

前後端交互的接口文檔

對於大學生來說,後臺開發做的學生項目無非這些內容——開發接口,提供接口文檔,開發後臺管理系統

從0基礎到能開發上述系統,如果是真的用心去學,3個月足矣~

5.3 …

技術太菜,也沒有什麼其他項目展示了。其中還有一個商業項目,這裏不方便展示,做的是電商小程序,其中也涉及到了上述內容,本質上是一樣的。


六、結語

按照文章的形式來說,該有一個收尾的環節。該說些什麼好呢…

希望大家都能順順利利地進入BAT吧。(啪!)

希望大家都能找到適合自己的編程學習方向以及學習方法,制定好每日\每週\每月的學習計劃以及目標,並堅持地付諸行動。我不能打包票說這般做你就能一帆風順地成爲技術大牛,但至少也能同我一樣,能寫技術博文、做知識分享,甚至是給你的同學開小課堂~

套用一句老話:但行好事,莫問前程

既然選擇了遠方,就只顧風雨兼程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章