Vert.x裡面那些b格很高的玩意
扯遠,說一下Vert.x裡面那些b格很高的工具,Vert.x本身不用說了,在web端,有一個非常重要的web模版,叫做thymeleaf(讀作time leaf),這個可以說是最好的模版了,其實web的動態網頁本質上就是一堆模版,無論是jsp還是freemarker(struts),都是模版工具,但是這些模版對於html有明顯的侵入,比如jsp的<%%>,也就是會修改html的語法,導致一般美工用瀏覽器打開html的時候,會變形,所以一般都是讓美工先做完,然後程序猿再上,無法並行,這樣做效率就很低,尤其是如果要改的話,麻煩就來了。那怎麼辦呢?thymeleaf說,瀏覽器對於它不認識的標籤,會自動忽略,比如<a href="1.html" th:href="2.html">,這裡面th:開頭的部分,瀏覽器不認識,所以自動忽略,所以thymeleaf說,那就在原來的基礎上增加tag,尤其是瀏覽器不認識的tags吧,然後在運行時,自動替換掉原先的tag,比如<a href="1.html" th:href="2.html">,在運行時自動替換1.html為2.html,以這種非侵入的方式來保證美工人員和開發人員可以同時進行,同時,th:的語法也非常便於記憶,你想替換掉哪個標籤,在那個標籤前面加上th:前綴就好了,以這種方式分離了美工和程序猿的工作,保證兩者可以並行,以提升開發效率,當然vert.x也支持其他大路貨,比如freemarker。
另外一個b格很高的工具是對於hikari(日語光的意思)連接池的支持,傳統的c3p0資料庫連接池運行極為緩慢,簡直無法忍受,tomcat自帶的連接池效率也差不多,都很慢,為此人們搞出了bonecp,以增加效率,但是bonecp長時間不更新,同時作者也開始承認hirakicp才是其替代品,甚至鼓勵用戶轉向hikari,所以vert.x也增加了對於hikari的支持,但是目前支持的版本呢,跟c3p0連接池的參數是不一樣的,已經提交一個issue給Vert.x項目組,他們回應已經在修改了,估計下一個版本會更新,到時候看看文檔就好了,hikari連接池可以說是目前為止最快的連接池,overhead基本上為0,可能跟日本人的民族性有關,在hikari的github界面上,有不少benchmark,可以過去觀摩一下,當然有連接池還不夠,我們還需要有b格比較高的database來配合,那這個db呢,我選擇了postgresql,可能有讀者會問,為什麼不選擇mysql呢?因為mysql是大路貨,b格太低,笑,其實pg在性能上是超過mysql的,而且增加了對於json等的支持,背後是大學這種公益組織,所以不像mongodb一樣存在商業陷阱,也不像mysql,是oracle家的棄子,誰都能看出來oracle欲殺之而後快,只是迫於輿論壓力,不敢那麼明目張胆罷了,而且pg自帶分詞,可以省了solr這一步,不過這裡說一下,對於中文這種維度比較高的語言,分詞查詢的效果並不明顯,遠不如英文法語這種分詞管用。
不知不覺寫了這麼多,差不多是時候收尾了,因為Vert.x連接的工具代表著業界最新趨勢和潮流,除了連接池和html模版以外,還有其他很多部件,都是這些年新冒出來的,如果有志成為構架師,而不僅僅是一般程序猿的話,應該不滿足於用那些大路貨,而應該對於新的趨勢產品有所了解,Vert.x是一個很好的入口,就看Vert.x在連接什麼,你就可以猜出,什麼東西在矽谷is prevailing,當然Vert.x裡面有幾個red hat的私貨,比如Ceylon,這個忽略就好了。
題外:你為什麼用mac啊?因為b格高,裝b啊,一個b格低的程序猿是干不好程序猿這一行的
推薦閱讀:
※追求客戶端和伺服器編程語言的一致有多大的意義?
※windows10下用gem安裝jekyll失敗,怎麼辦?(已解決)
※brew升級後ruby報錯怎麼辦?
※如何快速學習 Ruby on Rails?
※使用 Visual Studio 開發的情況下 C# 的編程效率能否和 Python、Ruby 媲美?
TAG:PostgreSQL | Groovy | Ruby |