淺談kotlin的泛型

kotlin跟java一樣,同樣支持類型參數,也就是我們常說的泛型。泛型的英文單詞是generics,通常譯作:一般的,廣泛的,普通的。在計算機和web開發領域,被稱作泛型,也成為通配符類型。泛型可以簡單理解為:函數附帶的一個參數,支持廣泛的數據類型。對於php程序員來說,基本沒有這個困擾。但是對於類型嚴格的編程語言來說,這就有點複雜了。今天就來談談,kotlin的泛型。

Continue reading

淺談kotlin的協程

Go語言的協程曾經是一大賣點,kotlin在1.1+版本中也實現了協程。不過目前kotlin的協程實現,還是試驗性質的,也就是說以後可能會大改。下面談談,我對kotlin協程的理解。

Continue reading

淺談kotlin的lambda表達式以及與匿名函數的區別

php最新的7.2版本貌似還不支持lambda表達式,所以在學習kotlin的過程中,kotlin的lambda表達式引起了我很大的興趣。kotlin的高階函數,跟lambda表達式有異曲同工之妙。國內很多文章對lambda表達式的誤解很升,認為不過是語法糖而已,這裡談談我的看法。最後講一下,lambda表達式和匿名函數的區別。

Continue reading

PHP連接MongoDB資料庫報錯「No suitable servers found (`serverSelectionTryOnce` set)」的解決辦法

公司的核心系統使用了MongoDB資料庫,最近也碰到了那個煩人的 「No suitable servers found (`serverSelectionTryOnce` set): [connection refused calling ismaster on ‘xxx.xxx.xxx.xxx:xxxx’]」 問題。搞了好幾天,總算把問題解決了。

故障原因:谷歌搜索這段報錯的提示,很容易找到故障的原因。主要是因為伺服器開啟了ipv6支持,但是MongoDB默認是不開啟ipv6的支持的。進一步深層次的原因,目前谷歌搜索也沒幾個說的明白的,先說說解決問題的辦法吧。

Continue reading