原创 使用ngork解決聊天機器人webhook url
在開發聊天機器人時,最痛苦的事情不是寫code,而是測試 聊天機器人的原理就是接收到訊息時,發送一個request到你指定的位置(就是webhook),然後你的程式收到用戶傳的訊息之後,你再call API回訊息 然而痛苦的點就在
原创 Intellij Idea - 升級遇到的問題 Error: java: invalid flag: -version
有時候在升級idea時會遇到 Error: java: invalid flag: -version 解決辦法 打開 File -> settings,搜索 Java compiler 此時會發現右下角的每一個modul
原创 Spring - 註解 vs XML 哪個好?
Spring中,使用註解@Autowired進行注入好,還是使用xml配置進行注入好?先講結論,使用註解@Autowired注入比較好當時Spring開發的初衷是爲了解決類與類之間的強藕合new,所以當時提出了xml配置注入bean的方法
原创 Java - Iterator和ListIterator
Iterator是所有Collection類(List、Set....)們都可以使用的迭代器,而ListIterator則是專門爲List類所設計的迭代器 Iterator只支持hasNext()、next()、remove()三種操
原创 Dubbo - 遠程debug
由於Dubbo的特性是遠程調用,因此正常來說無法在本地進行debug因爲你調用的方法在別臺機器上跑,你只能知道給他的input和他返回的結果,但沒辦法知道這個接口內部的執行,所以也沒辦法在裡面打斷點進行debug就算在本地有dubbo代碼
原创 ElasticSearch - 輸入即搜索 edge n-gram
在此之前,ES所有的查詢都是針對整個詞進行操作,也就是說倒排索引存了hello這個詞,一定得輸入hello才能找到這個詞,輸入 h 或是 he 都找不到倒排索引中的hello 然而在現實情況下,用戶已經漸漸習慣在輸入完查詢內容之前,就
原创 Java多線程 - ThreadLocal類的使用
ThreadLocal是線程的局部變量, 是每一個線程所單獨持有的,其他線程不能對其進行訪問 ThreadLocal支持泛型,也就是支持value是可以設置類型的,像是ThreadLocal<Date>就是設置value爲Date類型
原创 ElasticSearch - 批量操作 bulk
bulk允許在一個請求中進行多個操作(create、index、update、delete),也就是可以在一次請求裡做很多事情 也由於這個關係,因此bulk的請求體和其他請求的格式會有點不同 bulk的請求模板 分成actio
原创 ElasticSearch - 環境架設、基本運維
ElasticSearch環境架設 先下載想要的版本ES ElasticSearch : https://www.elastic.co/downloads/elasticsearch 確保每臺機器都升級 jdk 到 1.8
原创 Java - Iterable接口、迭代器Iterator
所有的集合類(List、Set...)都實現自Collection接口,而Collection接口又繼承於Iterable接口,因此可以說所有的集合類(List、Set...)都實現了Iterable接口 當某個類實現Iter