在拼多多入手2019款15寸MBP,真香

不知道什么時候,網上開始流行一種“真香定律”,而近期在拼多多入手2019款MBP的我,也不由想說一句——真香

相信絕大部分人可能都接觸過拼多多砍價的病毒式營銷,各種微信、QQ群一度被砍價消息占據,甚是反感。對此我曾經也是嗤之以鼻,直至最近,和朋友約了去泰國玩,他缺一20寸行李箱,在拼多多砍價免費入了一20寸行李箱,于是我也加入了砍價“大軍”,最終也免費拿了20寸行李箱一個。

查看更多...

基于Nuxt構建動態路由SSR服務

大約兩年前曾經分享過基于Vue的SSR框架Nuxt的簡單使用《基于Vue.js的SSR方案之Nuxt.js》,今天因為有SSR需求又重新做了一些嘗試。

由于目前在做的是一個能夠動態構建頁面的平臺產品,當前現狀是構建產物全為靜態資源,路由由前端渲染,且為動態創建。也由于眾所周知的原因,國內網站不做SSR基本不可能被搜索引擎收錄,于是有了此文,簡單記錄一下結合Nuxt和Vue做的一些嘗試。

查看更多...

用Monaco Editor取代Ace Editor

大概在5年前,曾分享過一篇《ACE Editor在線代碼編輯器簡介及使用引導》,恰巧最近我們產品上又有用到Ace Editor,看了下博客,沒曾想,在五年后的今天,還有相當一部分人通過搜索引擎搜到這篇文章。不過在這次使用中,也發現了諸多不爽,主要有:不支持es6的import導入(需要二次封裝);自帶模塊加載器和webpack打包的項目不太好結合等。所幸的是,在github上找到了現成的二次封裝版本https://github.com/vue-bulma/brace(剛好我們在用Vue)。

查看更多...

基于Array的JavaScript表達式執行函數實現

最近項目涉及到表達式,簡單封裝了一些功能,如表達式解析、執行等,解析不用說,網上很多表達式字符串解析為詞法樹的庫,我們也不必再造輪子(我用jsep進行解析),這里說下執行表達式的方式。

默認字符串解析抽象詞法樹按理說是可以直接解析執行的,只不過通常此類詞法樹要表達的內容過于多,數據的存儲也過于龐大,于是我們結合自己業務對關鍵數據做了抽象,比如

查看更多...

讓input maxlength區分中英文

經常有需求,在限制文本框輸入長度的時候,區分中英文,如:中文(全角符號類似)占兩個字節,英文則占一個,最近審查代碼,發現項目上存在類似需求,組內同學實現了網上經常提到的方案,輸入后替換,由于監聽的是input事件,導致任何越界輸入都會出現閃爍的情況,不同于原生效果。

回憶到以前曾經用keydown結合其他事件實現了一版,晚上沒事,就嘗試重新實現了一下,由于目前項目不考慮非webkit內核瀏覽器,只在chrome下簡單測試了下,有兼容性問題歡迎評論告知

查看更多...

node gRPC *.proto 生成 js/ts

最近項目增加node的bff(Backends For Frontends)層,后端用了golang&gRPC。node端使用了nestjs框架,為了ts能夠識別proto定義的接口,希望通過proto生成gRPC接口文件,期間繞了不少彎路,簡單分享下。

首先組內同學找到這個庫
https://github.com/agreatfool/grpc_tools_node_protoc_ts
按照示例,命令如下,發現不好用

查看更多...

seajs amd 改造

說起來seajs,早些年接觸前端的同學應該都有所了解,經常被我們拿來和requirejs對比,而今,webpack等構建工具盛行,這些加載器的使用逐漸退出了我們的視野。

但是,目前手上就有個在用webpack的項目遇到了一些問題——不能在構建階段拿到或者預期到即將加載的代碼有哪些,換句話說頁面框架的構建與業務代碼是完全分離的,甚至不是同一個團隊寫的。于是想到了早期的模塊化方案,我們知道,webpack支持打包umd、commonjs2、amd等形式的輸出物,但是,在web端我們的選擇只有amd。

查看更多...

golang函數究竟是值傳遞還是引用傳遞?

接上文,踩完php的坑,又遇到golang,golang和之前提到過的Java、JavaScript類似。

在golang中只存在值傳遞(要么是該值的副本,要么是指針的副本),不存在引用傳遞。之所以對于引用類型的傳遞可以修改原內容數據,是因為在底層默認使用該引用類型的指針進行傳遞,但是也是使用指針的副本,依舊是值傳遞。

查看更多...

php函數之值傳遞&引用傳遞

由于工作忙碌,博客已經斷更整一年,最近終于抽出點時間,來分享一些近一年經歷中印象深刻的經歷。

大概三年前,曾經整理過這樣兩篇文章《JavaScript函數究竟是值傳遞還是引用傳遞?》、《Java方法究竟是值傳遞還是引用傳遞?》,不為別的,只因為在工作中有人遇到類似問題,查閱資料后加以整理。巧的是,前陣子做php的同事又造出了相似的bug,不同的是,php并不像前兩者一切皆值傳遞。

在php的世界里,存在傳值和傳引用兩種方式

查看更多...

使用mpvue開發小程序——vuex、router的支持

繼續前面話題,mpvue提供了vue的語法編譯為小程序的能力,但語法上局限實在有點多。

當然,其根因還是小程序官方的限制,以致于我們vue中常用vuex、router都支持有限,截止發文時間,mpvue對vuex全局store的支持也有所提升,目前可以說基本滿足需求,這里不再贅述。

使用上,vuex和以往類似,不同的是,小程序以多頁形式渲染,故每個頁面都需要創建vue實例并引入相應的store模塊 查看更多...

吉利彩票网