3月份周度分享(三)

今天的主要話題圍繞這麼幾個方面?html

 

1、9個基於Java的搜索引擎框架前端

2、本週學習筆記分享java

3、《測試驅動開發》知識普及node

4、VsCode推薦插件mysql

 

 

1、9個基於Java的搜索引擎框架git

今天分享9個基於Java的搜索引擎框架程序員

(1)Java 全文搜索引擎框架 Lucenegithub

官方網站:算法

http://lucene.apache.org/spring

 

(2)開源Java搜索引擎Nutch

官方網站:

http://nutch.apache.org/

 

(3)分佈式搜索引擎 ElasticSearch

官方網站:

http://www.elasticsearch.org/

 

(4)實時分佈式搜索引擎 Solandra

官方網站:

https://github.com/tjake/Solandra

 

(5)IndexTank

官方網站:

https://github.com/linkedin/indextank-engine

 

(6)搜索引擎 Compass

官方網站:

http://www.compass-project.org/

 

(7)Java全文搜索服務器 Solr

官方網站:

http://lucene.apache.org/solr/

 

(8)Lucene圖片搜索 LIRE

官方網站:

http://www.semanticmetadata.net/lire/

 

(9)全文本搜索引擎 Egothor

官方網站:

http://www.egothor.org/cms/

 

關於搜索引擎框架,建議最好仍是學Lucene、Solr、ElasticSearch等。這三個文檔比較豐富,應用也比較多。

 

固然了,有個小小的建議,最好仍是系統學習一下MySQL。

在此我推薦《高性能MySQL》這本書。

這個系統的學習並非指你天天都看,最好是一週抽時間看一章左右,最好仍是實際操練一下里面的相關操做。固然了,若是以爲這本書看的有難度,能夠去市面上找其它MySQL相關的書籍看看,好比《跟老男孩學Linux》之MySQL、《MySQL技術內幕:SQL編程》、《MySQL DBA修煉之道》等這些相關開發者朋友均可以看看。有人說最好的學習方式是工做驅動。這句話的確有道理,可是我的以爲除了工做驅動外,還有一種叫刻意學習,這種刻意學習,好比你在工做中遇到一個問題,這個問題你很快就解決了,可是你並不明白問題的根源所在,這時你能夠深究一下(深究的前提,創建在你當天工做基本完成了,特別是領導分配的優先級最高任務,把優先級最高的完成了,剩下的你能夠天天完成兩到三個,剩下的時間你能夠去深究一下,有朋友說工做中這樣作會不會很差,其實否則,由於最理想的狀況是「今日事,今日畢」,今天遇到的一些問題,雖然你解決了,可是你仍是不明白爲何出現這個問題(沒有把握問題的根源所在),初中級開發者最多見的問題就是解決了問題以後作個小記錄(有一部分甚至不會作記錄),而後就無論了,下次再遇到這個問題,根據以往的經驗解決了,可是過一段時間還會出現這樣的問題,一次兩次屢次時不時出現這個問題是很是有問題的。爲何就不能在問題出現三次以上就將其完全解決呢?初中級開發者存在一個最大的問題就是問題解決就好,其它一律無論,包括我本身也會遇到這種狀況(不能說這樣很差,由於在不少小公司,領導基本上所要求的就是你把個人需求完成就好,至於怎麼完成的,無論個人事情)。

 

目前我正在讓本身改變這種行爲方式,可是仍是會犯的,我只能儘量的減小犯的次數。

 

 

2、本週學習筆記分享

天天記錄一點點,不知不覺就這麼多了。我的建議IT開發者們最好都養成記筆記的習慣。

 

後期本人打算在我的GitHub弄一個Wiki,將本身的知識系統化。

 

Node.js之mysql增刪改查:

https://www.cnblogs.com/youcong/p/10624292.html

 

node.js api文檔生成

https://www.cnblogs.com/youcong/p/10624201.html

 

Ubuntu16.04之安裝Nutch

https://www.cnblogs.com/youcong/p/10624622.html

 

Ubuntu16.04之Solr7.7.1環境搭建

https://www.cnblogs.com/youcong/p/10624609.html

 

org.springframework.jdbc.BadSqlGrammarException

https://www.cnblogs.com/youcong/p/10624585.html

 

org.xml.sax.SAXParseException;在實體引用中, 實體名稱必須緊跟在 '&' 後面

https://www.cnblogs.com/youcong/p/10624576.html

 

如何讓Node.js運行在瀏覽器端

https://www.cnblogs.com/youcong/p/10624571.html

 

Ubuntu16.04安裝和使用ElasticSearch

https://www.cnblogs.com/youcong/p/10624567.html

 

VsCode雲端版本

https://www.cnblogs.com/youcong/p/10624548.html

 

普通用戶使用Docker

https://www.cnblogs.com/youcong/p/10624543.html

 

Docker安裝MySQL並配置遠程訪問

https://www.cnblogs.com/youcong/p/10624539.html

 

MySQL去除查詢結果重複

https://www.cnblogs.com/youcong/p/10624623.html

 

3、《測試驅動開發》知識普及

 

本人以爲TDD能夠看這個Wiki,對此能夠有一個大概的理解

測試驅動開發(簡稱TDD): 

https://en.wikipedia.org/wiki/Test-driven_development

 

以我目前公司編寫業務,一般狀況下,都是把對應的DAO和Service寫好後,放到src/test/java某個單元測試,不過一般我會給這個單元測試進行分類,不一樣的業務放在不一樣的包下(以Blog爲例,src/test/java會有一個cn.blog.test,我會在其寫一個PostJunitTest類,從這個名字能夠看出,這個單元測試專門針對文章相關的功能。一般編寫單元測試,作一下邊界條件測試,分正常狀況、異常狀況,覆蓋率比較低,不過這樣有一個好處就是,一般單元測試沒有問題,直接放到對應的Controller裏面,基本上不多出現問題,這就使我養成了,喜歡單元測試的緣由,單元測試對於開發者的業務邏輯也會有較大的提高。最後說一下我的的觀點:不寫單測的程序員,不是一個合格的程序員;寫了單測的程序員是一個合格的程序員;寫好單測的程序員,是一個優秀的程序員。也許觀點會有很多人反對,不過以我我的的實踐經驗來看,單測真的節省我不少時間,同時在編寫的過程當中,讓邏輯也更加清晰。有很多程序員在小公司裏面同時兼任先後端開發+測試+運維等,特別是負責先後端,若是你後端的Controller有問題,前端改其來是無比痛苦(在我以前沒有養成單測的習慣,深入體會到這個痛苦)。

 

4、VsCode推薦插件

刷VsCode的朋友們,建議大家可使用VsCode,在VsCode插件市場搜索LeetCode並安裝對應的插件,就能夠開始寫算法題了(主要是在這裏寫,不管是提交仍是測試都比較方便)。

如圖所示:

相關文章
相關標籤/搜索