❶ 如何自學編程
自學編程對很多萌新來說是一件很難的事,但我們應該要克服這個困難。畢竟學習從來都不是一馬平川的坦途,等著別人來教,那就意味著自己會永遠被限制在一個小圈子裡。
關於如何自學編程,我們首先要有一個明確的目標。很多萌新在初學編程的時候都喜歡想東想西,看到黑客很酷就想學滲透搞信息安全,看到別人做的 游戲 很炫,就想去學 游戲 開發。殊不知,學習一道,最忌三心二意。在初學之時,我們一定要明確自己的目標,然後朝著它前進。東搞一下,西搞一下,到頭註定是竹籃打水一場空。
明確好自己的目標後,就要對自己所選擇的方向做一個大概了解。如常用開發語言、主流技術這些。再對自己的學習路線進行合理的規劃,為什麼要制定一個學習路線規劃了?一是能讓你對未來的學習有一個明確的大概認知,腦袋裡面想的始終不如落實到的紙面上;二是能在學習之初給你帶來一定的信心提升,而且每實現一個目標都能給自己帶來一定成就感和更多的信心,以此來提高繼續學習的動力,避免學著學著就不想學了的情況;三是起到一個督促作用,計劃既然已經做出來了,那就要去落實,沒落實的話一般人心理或多或少都會想著這個事,心裡空落落的以此逼迫自己去學習。
講完了做計劃的用處,再來講講做計劃時常入的誤區。很多萌新總是計劃的很好,排的滿滿的,想的很多很好,卻忽略了實際情況,以至於執行總是不能到位,挫敗感不斷積多導致放棄學習。所以我們一定要注意,在制定學習計劃的時候一定要考慮自身因素,如自己的學習能力、自己的管控能力等。其次是對於做計劃這件事,我們最好是自己來做,別人的計劃頂多隻能用來參考,直接生搬硬套很容易導致不符合自身的情況出現。每個人都有每個人的學習方法與方式,可借鑒可參考,一味死磕註定路會越走越窄。從自身出發,去尋找最根本的解決。
在制定計劃的時候我們可以搭配一些腦圖工具來讓計劃更快的制定好且條理清晰,如筆者想要學習Web前端,就先了解Web前端的基礎知識是哪些,進行記錄並安排好學習順序。後期的進階知識,項目實踐都可以用上面的方法實現。
這個部分是讓大家對自己的學習路線進行梳理並簡單了解自己所要學習的知識,破除對學習的恐懼和迷茫。
製作腦圖的工具大家可以自行選擇,常用的如XMind、幕布、網路腦圖、ZhiMap等(排名不分先後順序,選擇自己用的順手的即可。網路腦圖、ZhiMap為在線腦圖工具)。
定完了計劃,做好了腦圖,就到了執行的時候了,我們在這一步可以使用番茄鍾類的工具來進行提高己身執行力,如番茄ToDo、番茄土豆等。在這里我們需要注意的是,工具終究只是外物,是外力是靠不住的,過分依賴外力的後果就是被外力所束縛;工具所起的作用只是輔助和提醒,關鍵還是要靠我們自己去執行。學習一事是自己的事,是於自己有益的事,我們如果有拖延症、懶癌那我們一定要克服它們,在心裡在腦海中反復提醒自己不要被拖延和懶惰吞噬,不要被一時的歡娛而引誘,自律很痛苦,但沒有自律的人生會更痛苦。
學習過程中,切忌好高騖遠,學著眼前的,想著後面的,更不可一口氣吃成個胖子,學習一道還是要一步一個腳印為好,當前所學最好是要融會貫通,不濟也得要明白學的是個什麼東西,一味追求效率豈不落了下乘?萬丈高樓平地起,基石是重中之重。
遇到問題,我們不要直接去問別人。一定要自己先思考而後實踐,閱資料翻看文檔,尋求自己的解決方法,萬般未果之後再去尋求他人的幫助。在獲取到他人幫助時,我們也不要一味接受,可以將他人的方法與自己先前思考實踐所得來的成果進行互相印證,尋找自己錯在哪,還有哪些不足。吃了一塹,那就要長一智,不要為了解決問題而去解決問題。
我們生在了一個很好的時代,這個時代有互聯網,使得我們獲取知識相對再簡單了很多。在互聯網上獲取各種資源我們必不可少的要用到搜索引擎,最常見的是網路搜索,但做為學計算機的我們還應該知道"傳說"中的Google搜索,小眾的必應搜索和秘跡搜索。為什麼要知道這些了?首先我們要明白,網路搜索雖然本土化做的相對較好,但有時候並不是那麼靠的住,這個時候就需要其它搜索引擎上場了,如果你在網路搜索上沒有找到自己想要的答案和資源,何不試試其它搜索引擎了?
了解完搜索引擎我們再來了解一些比較常用的學習資源獲取網站和平台。首先我們要提到CSDN(Chinese Software Developer Network)中國專業IT社區,也是中國最大的IT社區,有著非常多(混雜)的學習資源,是萌新學習時必會接觸到的一個社區網站。
其後是博客園,作為開發者的知識分享社區和純凈技術交流社區,博客園相比CSDN"簡陋"了許多,但相應的也簡潔不少,也有著不少的開發者進行經驗和資源分享。
上面提到的都是社區類型的網站,但我們的學習光靠社區還是不夠的。社區雖然資源多,但大多不夠系統和優質,萌新學習起來很容易懵圈,而且萌新階段學習過程中必不可少要接觸一些文字教程和視頻教程,這時候就要輪到那些專門做相關方面的網站顯身手了。
文字教程,可以去菜鳥教程上面尋找,菜鳥教程上的文字教程相對來說全面。萌新前期學習的知識基本都能找到。如果菜鳥教程上的資源不夠滿意,還可以去自己想學習的技術社區尋找,基本上一門技術和編程語言都有自己相應的社區。再以Web前端為例,學習Web前端,就可以去W3School教程(全球最大的中文 Web 技術教程)上尋找學習資源。當然,除了上述的尋找方法我們還可以依靠搜索引擎和自己上電商網站購買書籍來獲取文字教程和資料。
視頻教程資源的獲取就要比文字教程資源的獲取要多很多了。國內的諸如中國大學慕課、慕課網、優達學城、網易雲課堂、網易公開課、騰訊課堂等一些列視頻教程網站(中間有些是付費課程,個人按需選擇並分辨即可)。
擁有了學習資源,我們在自學過程中難免會遇到一些自己甚至身邊的同學朋友及老師也解決不了的問題,這個時候我們除了可以去社區發帖提問還可以去專門的問答平台提問,國外有個叫StackOverFlow的網站就是一個IT技術問答網站,不過它要轉比較久的圈圈才能打開,而且使用體驗對萌新來說可能並不是很好。我們可以去SegmentFault(思否,以StackOverFlow為原型的技術問答網站)看看,說不定就會有令我們滿意的答案。
對於一些學習能力比較強的同學來說,除了在學習之餘做些小項目之外難免想要自己動 手參與到真正的項目中去,那可以去Github上找一找有沒有適合自己的項目。作為世界最大的開源中心及有軟體項目託管平台,上面一定會有你的"真愛"。
文末,附上一些未介紹的網站,有興趣的同學可以自己去發掘一下。
V2EX、掘金——社區類
InfoQ——知識拓展
程序員的工具箱——在線工具箱
Office-converter——在線文件轉換器
FirefoxSend——在線臨時網盤
Bigjpg——AI人工智慧圖片無損放大
宜配屋——國內外公開課下載
IT eBooks——電子書下載
牛客網——刷題
codingground——在線使用的免費 IDE 和終端工具
Speedtest測速網——在線網速測試
道阻且長,仍需努力。縱有疾風起,人生不言棄。
❷ java初學者,應該如何學習java呢
初學Java編程時,大家通常會對學習方法、知識難點做一個了解,但學一項技能不僅僅只是這樣,學習過程少不了我們的親身參與,那我們對自己的學習條件了解是否充分?心理上思想上是否做好了准備?要准備學到哪種程度?···這些其實都是學習編程時需要注意到的。
學Java編程的目的?
知乎無數的優秀學習類回答、技術大佬的分享,在開頭的第一段都會提到的,是想清楚做某事的目的是什麼。千萬別覺得這樣很老套很無用,明確學習目的其實就是在做思想上的准備,不然在後期非常容易缺乏堅持下去的信念。
因為沒有描述,就假設題主同學學習Java是為了從事相關的開發工作,去發現一下真實的需求就能知道,「找工作」其實都是表象,真正的本質是「高薪」,是「掙錢」是「有發展」。那麼「薪資高」就是學編程的目的之一。
稍微多想想我們就會有接下來的問題:企業招聘的基本要求是哪些?需要達到什麼樣的技術水平薪資才高?薪資比較高的Java崗位是哪些?大公司都需要哪種技術人才?
問題比較多也沒關系,接下來就是一步步理清楚。
有沒有自己的學習目標?
學習目標圍繞學習目的而定,別太貪心什麼都想學,學不完的,太高深的概念對於初學者也是有毒的。
高薪資的崗位需要的技術能力都在Java的知識體系中了,我們從整體到局部開始,先了解Java的大致全貌--Java是用來做什麼的。
按Java的應用場景來分有三類:J2SE,J2ME和J2EE,這也就是SunONE(Open NetEnvironment)體系。
J2SE就是Java2的標准版,主要用於桌面應用軟體的編程;
J2ME主要應用於嵌入式系統開發,如手機和PDA 的編程;
J2EE是Java2的企業版,主要用於分布式的網路程序的開發,如電子商務網站,OA系統和ERP系統。接著是局部--比如其中涉及J2EE方向的是什麼崗位,需要會什麼?且薪資是多少?
在此場長還要補充兩句,對於程序員來說,學歷高低不是唯一標准,但絕對是加分項,能提升學歷就盡快提升,不要讓它在後期成為你職業發展的阻礙。
以上從「整體到局部」的好處是,不僅為你的學習找到重心,還是在定位你的技術重心,也將會成就你寫在簡歷中的那句「本人擅長XX開發,熟悉XXX技術,且精通XXXX,在XXX有豐富經驗。」
有沒有一個學習計劃?
有了學習目的,找到了一個高薪的技術方向和技術重點,有了這些信息,你就可以開始制定學習計劃了。
一個科學而合理的學習計劃,關鍵並不是面面俱到的詳細,而是「極高的可執行性」,要避免看到自己定的計劃就頭疼,無法完成這樣的情況,就要注意別一開始就把自己逼得太狠。
記得圍繞著學習目標開展學習,專注能保持高效率,這也能減少你的學習時長,還能保證學習效果。
最後,
編程講的是多多練習沒錯,但別忘了編程背後是思維,是邏輯,是解決問題的思路,希望在學編程的你,能把編程看成一種智力的游戲,在提升自己心智的同時,看到一個奇特而有趣的代碼世界。
祝編程愉快。