初入編程之門的個人建議1.0

學習態度-個人建議

☺ 不必完美主義

  • 說得不好聽點,叫鑽牛角尖,雞蛋裡挑骨頭。

舉2個例子:

對於實踐和書中的描述不一致

不要鑽牛角尖,原地打轉,卡在那裡很久,從而可能出現一些不太好的負面情緒,眼見為實,否認書里的作者的不專業。

對於初學者,很可能會因為知識不深厚,經驗不足,例如你忽視了實踐中的版本問題,從而出現書里描述不一致的;還有一種可能,技術的迭代,作者寫該書的時候,情況如他所見,後邊技術迭代,底層的實現進行了更換等原因

學習理論概念時,不用強迫精準歸類劃分

​ 例如,對於一些比較模糊的概念或者交叉概念,不用強迫精準歸類劃分。比如學習記憶體的時候,你會了解到記憶體包括隨機存儲器、只讀存儲器、高速快取(cache); 又了解到快取分為一級快取(cpu 快取)、二級快取、三級快取。從而去了解cpu快取,了解到”cpu快取的出現主要是為了解決cpu運算速度與記憶體讀寫速度不匹配的問題”、”快取大小是cpu的重要指標之一”、”cpu 快取是位於cpu和記憶體之間的臨時存儲器”等

這時候,你應該會疑問,這個cpu快取[高速快取] 還應該歸類於記憶體嗎?

不必糾結這個歸類問題,因為沒有人會考你哈哈哈。思考角度:應該從問題切入”pu運算速度與記憶體讀寫速度不匹配”—>出現了高速快取[本質是暫存器],而暫存器分記憶體和外存[記憶體之外的輔存目的是擴大容量],高速快取應該屬於記憶體範疇。

還是不必糾結於精準歸類劃分,因為站在不同的標準的角度,劃分的情況又會不同。而且也會存在一些交叉概念,了解知道它是一個什麼東西,重點放在它為什麼會出現上,使用它的目的。

☺ 帶著目的去學習了解一個新事物

  • 興趣是最好的老師,但是對一個東西熱愛保有興趣也許有點難,但是好奇一個東西是什麼,並不難。

學習態度應該是放在這個東西的使用目的上

  • 它存在的目的是為了解決什麼問題
  • 它具備什麼特性從而解決了什麼問題
  • 它是由什麼組成的,才具備上某些特性
  • 它具備什麼特性,常常在哪些場合下使用

☺ 保持學習的效率,保持高效率

  • 保持高效,需要不在意無關緊要的細節,例如花里胡哨的背景、花里胡哨的字體等這種無關細節
  • 保持高效,需要不在意不影響結果的警告等低級日誌資訊,有時候警告並不會影響結果,可以暫時不管它,直到排除其他問題,依然沒解決,可以考慮一下是否是警告導致
  • 保持高效,需要不在意使用率很低的工具是否夠”智慧、順手”,浪費時間給它安裝一些插件之類的

☺ 保持好奇,多問為什麼

通過為什麼,你會不斷的自行到百度或Google搜索,從而鍛煉了自己的動手解決問題的能力,積累更多的編程經驗。

  • 這個功能是靠什麼快捷鍵、怎麼實現的?

  • 為什麼結果是這樣的?

  • 為什麼會出現這個bug?

  • 為什麼需要這麼設計?

  • 為什麼使用某某技術?

  • 這個技術點,還有其他有應用的地方嗎?

☺ 遇到bug,不要依賴別人給你解決答案,要自己動手分析解決

不同場景,即使問題相同,解決方式也會因為版本問題而不同,當百度或Google搜索不到解決途徑時,重新思考一下,更換一下關鍵詞再次搜索,搜索的解決方法都無效的時候,請靜下來……

學會自我分析問題,思考發生問題前執行了什麼操作,查看一下日誌記錄的資訊,思考一下是不是跟版本有關,程式碼問題還可以自己動手debug.......

作為初學者的時候,遇到各種麻煩、各自警告、各種bug,我們會容易著急、煩躁、頭疼、甚至懷疑自己,但是請不要放棄,每個人都是這麼過來的在學習的路上,沒有什麼捷徑

日積月累,不斷地思考,不斷地動手去嘗試,不斷地提升解決bug的能力,經驗越多,你越值錢~

☺ 學會放棄,變強再回來啃硬骨頭

  • 離開是為了更好的歸來

作為初學者的時候,看不懂源碼是很正常的,但是,你要記住這塊硬骨頭,你要變強後回來啃它。初學者,在閱讀源碼上,至少不要做逃兵。當你實力不夠的時候,你可以先了解關於閱讀源碼相關的,看某個框架的時候,整套影片涉及到源碼分析的部分,不要直接跳過。慢慢了解,不要心急,一口氣是吃不成胖子的。在學習路線上,看影片的過程,涉及到源碼閱讀和分析的,都認真動手嘗試調試閱讀源碼,在調試的過程中熟練掌握了調試工具的使用;在調試的過程中,閱讀源碼有了自己的技巧;在調試的過程中,閱讀源碼知道了重點;在閱讀源碼的過程中越來越自信……

同樣,當你感知到某塊知識暫時超出你的理解能力的時候,可以先放手,日後再來…….

學習習慣-個人建議

☺ 學習資料的整理存放要規範

建議:對應學習資料,按名稱建立好目錄,存在在固定某個盤的某個學習目錄下

  • ppt筆記、.md筆記、word筆記、execl筆記,還有源碼等都要整理好存放到一個方便找的目錄下,目錄的命名要看到就知道是什麼東西。
  • 學習過的影片,也建議分門別類建立好目錄,方便後續複習影片某個知識點的,快速查找。

開發環境的安裝

(1)以java 開發為例:

  • 剛入門java,會接觸到jdk 和 集成工具 eclipse 或 IntelliJ IDEA:

    jdk:Java Development Kit,java 開發工具,開發java程式時必須要安裝jdk

    理由:Windows 系統默認是沒有java環境的,在Window 系統下無法使用有關java編譯運行的一些命令。

    例如我們使用eclipse 或 記事本編寫了一個java 程式[最簡單的helloworld程式],需要進行編譯運行,才能看到結果。而編譯命令 javac 和 運行命令 java,Window 系統默認是沒有這兩個命令的,需要通過安裝jdk,在 Window 的系統環境變數進行添加,然後在 Window 系統下才可以進行使用 javac 和 java命令。

    eclipse 或 IntelliJ IDEA: 集成的java開發環境的開發工具,它也是配置依賴jdk的,具備編寫java程式碼智慧提示。

  • 編譯器、編輯器和集成開發環境:

    編譯器

    簡單講,編譯器就是將“高級語言翻譯為低級語言“的程式。編譯器將高級語言(c++,java,等寫的文件翻譯成系統可執行文件(如Windows下 .exe文件)的程式。

    ▷ 常用的編譯器:gcc、clang、msbuild、javac

    編輯器

    常見的編輯器有文本編輯器、網頁編輯器、源程式編輯器、影像編輯器,聲音編輯器和影片編輯器等。重點講的是程式碼編輯器用來編寫程式碼,查看源文件和文檔等。

    ▷ 常用的編輯器:NodePad++、Vim、EditPlus

    集成開發環境

    用於提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、調試器和圖形用戶介面工具。集成了程式碼編寫功能、分析功能、編譯功能、調試功能等一體化的開發軟體服務。

    ▷ 常用的集成開發環境:Visual Studio、Eclipse、IntelliJ IDEA

(2)軟體的安裝分類:

軟體的安裝包有在windows下有2種形式
  • .msi的安裝 [安裝版]

  • .zip的安裝 [綠色的解壓版]

② 總結安裝版.msi和 綠色的解壓版.zip 區別:
  • msi 安裝包:安裝過程是圖形介面操作、自動配置,安裝操作相對簡單,發生錯誤的解決操作簡單,會生成桌面圖標,可以通過圖形介面設置開機自動啟動等。

  • zip 壓縮包:有解壓即可用的【例如tomcat、redis】,也有需要通過手動配置,並命令行進行安裝的【例如mysql、node】

安裝版.msi和 綠色的解壓版.zip 都可以設置電腦開啟後自動啟動的,只是 .msi 圖形介面操作一下,而 .zip 通過命令安裝一下即可

③ 舉例:tomcat或mysql一樣 [解壓版的安裝方式],想實現每次電腦開啟自動啟動Tomcat的話,把Tomcat作為伺服器安裝到Windows的服務列表中:

也是cmd切換進入tomcat根目錄下bin下,其實就是為了使用 Tomcat安裝目錄/bin/service.bat (只不過這個腳本既有刪除又有安裝服務的作用):

□ 安裝服務命令:service install

□ 卸載服務命令:service remove

補充可執行程式.exe 和 安裝包 .msi 區別

.exe:是可執行文件,是一個安裝引導程式。.exe文件是不依靠其他軟體而單獨運行的文件,因為.exe就是軟體。

.msi:msi文件是Windows Installer的數據包,包含安裝一種產品所需要的資訊和在很多安裝情形下安裝(和卸載)程式所需的指令和數據

(3)開發過程的環境,建議存放要規範

● 建議:建立一個文件夾 environment 統一管理一下這些環境配置文件,然後什麼環境依次取名後加Environment

例如:java的環境的安裝路徑:E:\environment\javaEnvironment (如果是安裝 jdk 的話,需要在 javaEnvironment建立 一個叫jdk 的目錄)

  • 這是我的情況:

☺ 保存、備份的好習慣

(1) 保存:

當你寫著筆記、寫著平時作業,抑或是期末論文乃至是畢業論文,為了查閱資料,打開越來越多的網站,為了得到具體測試數據結果,打開多個編譯器窗口,然後

卡了!!!,這時候,請一定把筆記、平時作業等等按一下快捷鍵Ctr+s!!!然後再去處理卡了的情況,當然也有可能是筆記記著記著卡了,這時候,聽天由命,按Ctr+s,能保存多少算多少!

(2) 備份:

修改文件,記得備份!尤其是配置文件。
資料庫備份也非常重要!!!

學習方法-個人建議

下次抽空補全

如果本文對你有幫助的話記得給一樂點個贊哦,感謝!