1. 程式人生 > >論程式碼所需要的環境、版本的重要性

論程式碼所需要的環境、版本的重要性

學員們在參與“基於Spring Boot的部落格系統實戰”課程的時候,可能沒有太注意版本的問題。其實,版本是一個非常重要也是一個非常容易忽略的問題。

版本不一致會導致各種奇怪的問題,比如:

  • 應用啟動不了
  • 啟動過程中報錯
  • 提示找不到 class
  • 功能不正常
  • 等等

初級學員往往不重視軟體版本,存在隨意更改版本的現象,從而導致上述問題。同時,學員又缺乏除錯程式的能力,一旦出錯,將不知所措。認為程式碼都是跟老師的一樣的啊,但是怎麼就執行不成功呢?

所以,環境、版本需要納入和程式碼同等重要的位置。從某種意義上來講,環境配置、版本配置都是原始碼,都要納入原始碼管理系統之中。

以下,是課程中學員經常犯的常見的由於環境、版本不一致所導致的問題:

學員們可以對照檢查。

如何避免此類錯誤

簡單一句話“莫裝逼”。如果能力還不夠的話,建議嚴格按照課程的所採用的版本來。因為課程中所有的軟體版本、環境都是經過老師嚴格測試,並確保可用的。避免此類錯誤,有效節省學員試錯的時間。時間就是money哦~

以下是《基於Spring Boot的部落格系統實戰》課程所使用的版本:

* JDK 8
* Gradle 3.5
* Eclipse Neon.2 Release (4.6.2):本書示例採用Eclipse編寫,但示例原始碼與具體的IDE無關,讀者朋友可以自行選擇適合自己的IDE,比如IntelliJ IDEA、NetBeans等。
* Spring Boot 1.5.2.RELEASE
* Thymeleaf 3.0.3.RELEASE
* Thymeleaf Layout Dialec 2.2.0
* MySQL Community Server 5.7.17
* MySQL Workbench 6.3.9
* 
Spring Data JPA 1.11.1.RELEASE * Hibernate 5.2.8.Final * MySQL Connector/J 6.0.5 * H2 Database 1.4.193 * Elasticsearch 2.4.4 * Spring Data Elasticsearch 2.1.3.RELEASE * JNA 4.3.0 * Tether 1.4.0 :<http://tether.io/> * Bootstrap v4.0.0-alpha.6 : <https://v4-alpha.getbootstrap.com/> * jQuery 3.1.1 : <http://jquery.com/download/> * Font Awesome 4.7.0 :<http://fontawesome.io> * NProgress 0.2.0 :<http://ricostacruz.com/nprogress/> * Thinker-md :<http://git.oschina.net/benhail/thinker-md> * jQuery Tags Input 1.3.6 : <http://xoxco.com/projects/code/tagsinput/> * Bootstrap Chosen 1.0.3 :<https://github.com/haubek/bootstrap4c-chosen> * toastr 2.1.1 :<http://www.toastrjs.com/> * Spring Security 4.2.2.RELEASE * Thymeleaf Spring Security 3.0.2.RELEASE * Apache Commons Lang 3.5 * Markdown parser for the JVM 0.16 * MongoDB 3.4.4 * Embedded MongoDB 2.0.0

當對講師的程式碼熟悉了之後,同時,掌握了調錯的能力之後,學員就可以根據自己的情況來調整版本了。 比如,將 Spring Boot 升級到 Spring Boot 2 、使用最新的 ES 版本等。

想學 Spring Boot 2

目前,上述課程是基於 Spring Boot 1.5.2 來講解的,新版本的 Spring Boot 大致上也是差不多的。學員可以舉一反三。

如果想直接學 Spring Boot 2 ,可以關注老師出版的另外一門書《Spring Boot 企業級應用開發實戰》(https://book.douban.com/subject/30192752/),基於最新的 Spring Boot 2 來展開。可以理解為是上述課程的升級。對課程的版本進行了升級,同時補充了課程中無法展開的知識點的梳理。

該書所使用的版本如下:

* JDK 8
* Gradle 4.0
* Eclipse Oxygen Release (4.7.0):本書示例採用 Eclipse 編寫,但示例原始碼與具體的 IDE 無關,讀者朋友可以自行選擇適合自己的 IDE,比如 IntelliJ IDEA、NetBeans 等。
* Spring Boot 2.0.0.M2
* Spring 5.0.0.RC2
* Thymeleaf 3.0.6.RELEASE
* Thymeleaf Layout Dialect 2.2.2
* MySQL Community Server 5.7.17
* MySQL Workbench 6.3.9
* Spring Data JPA 2.0.0.M4
* Hibernate 5.2.10.Final
* MySQL Connector/J 6.0.5
* H2 Database 1.4.196
* Elasticsearch 5.5.0
* Spring Data Elasticsearch 3.0.0.M4
* Tether 1.4.0 :<http://tether.io/>
* Bootstrap v4.0.0-alpha.6 : <https://v4-alpha.getbootstrap.com/>
* jQuery 3.1.1 : <http://jquery.com/download/>
* Font Awesome 4.7.0 :<http://fontawesome.io>
* NProgress 0.2.0 :<http://ricostacruz.com/nprogress/>
* Thinker-md :<http://git.oschina.net/benhail/thinker-md>
* jQuery Tags Input 1.3.6 : <http://xoxco.com/projects/code/tagsinput/>
* Bootstrap Chosen 1.0.3 :<https://github.com/haubek/bootstrap4c-chosen>
* toastr 2.1.1 :<http://www.toastrjs.com/> 
* Spring Security 5.0.0.M2
* Thymeleaf Spring Security 3.0.2.RELEASE
* Apache Commons Lang 3.6
* Markdown parser for the JVM 0.16  
* MongoDB 3.4.6
* Spring Data Mongodb 2.0.0.M4
* Embedded MongoDB 2.0.0
* IK Analysis for Elasticsearch 5.5.0

看視訊還是看書

從我個人來看,看視訊、看書是兩種非常不同的學習方式。視訊更加生動且易於理解。而書則更加全面且方便回顧。

如何選擇看視訊還是看書來學習,取決於個人學習習慣。當然,學習是不嫌多的,如果有充足的時間不妨書和視訊一起結合起來看。

老衛課程的優點就是,所有的視訊課程,都是會有相關配套的書籍提供的,以利於學員知識點的回顧。視訊、看書兩不誤,雙管齊下,老衛更懂你。

以下是老衛的課程,以及對應的書籍:

視訊課程 對應書籍
基於Spring Boot的部落格系統實戰 Spring Boot 企業級應用開發實戰
基於Spring Cloud的微服務實戰 Spring Cloud 微服務架構開發實戰