原创 Groovy map和String 互相轉化

m = [a: 123, b: 'test'] print "原來的: $m" s = m.Inspect() print "轉成str: $s" m2 = Eval.me(s) print " 再轉換回來: ${m2}"

原创 財富的本質

如何向上跨越階層 先陳述一個事實,人生而不平等, 那些一直嚷嚷着大家都在同一起跑線上就是扯淡。即使在統一起跑線,條件優越的人是開着汽車,普通人是跑步,而身處逆境的人是拉着一堆貨物的人力車,這種即使在同一起跑線大家可利用的資源也是不

原创 序-囉嗦幾句

爲讀書筆記寫序,也是沒誰了 最近養成了每天晚上讀幾頁書的習慣,雖然比之前渾渾噩噩的自己好了一些,心裏上有了一些滿足感。但由於看的都是一些小說、遊記類的東西,沒有心思整理筆記,以至於現在我只記得書名,以及一些八卦事情,沒有深層次的研

原创 第一章 成爲一個很厲害的人

爲什麼要學習 就好像燒開水,不在下面添柴,水不會維持原溫度,只會慢慢變涼。學習也是一樣,只有不斷的學習,才能逆勢向上。不學習每天刷抖音,看劇,感覺很爽,因爲這是趨勢向下的。就好像順着山坡向下,毫不費力。不斷學習,不斷接觸新的未知的

原创 判斷一個值是否是ObjectId類型

經常用到,這裏記一下 const mongoose = require('mongoose'); const { ObjectId } = mongoose.Types; ObjectId.isValid(undefined);

原创 MongoDB數據庫規範

數據庫 【強制】數據庫命名禁止使用任何 _(下劃線)外的特殊字符,禁止使用數字打頭的庫名,數據庫名最多爲 64字符。 反例: 3pan / db_$test / 【推薦】數據庫名全部使用小寫 反例:Parents

原创 微服務之熔斷器

熔斷器模式可以防止應用程序不斷地嘗試執行可能會失敗的操作,使得應用程序繼續執行而不用等待修正錯誤,或者浪費CPU時間去等到長時間的超時產生。熔斷器模式也可以使應用程序能夠診斷錯誤是否已經修正,如果已經修正,應用程序會再次嘗試調用操

原创 用十條命令在一分鐘內檢查 Linux 服務器性能

如果你的Linux服務器突然負載暴增,告警短信快發爆你的手機,如何在最短時間內找出Linux性能問題所在?來看Netflix性能工程團隊的這篇博文,看它們通過十條命令在一分鐘內對機器性能問題進行診斷。 概述 通過執行以下命令,可以

原创 抽獎算法

根據實際需求整理的抽獎算法邏輯 需求說明 獎品多數爲虛擬商品,只設置比例,不設置數量 獎品需要精準發放,舉例:假如只有兩個獎品,比例爲1:9,那麼10個人抽獎一定要1個人中獎品1,9個人中獎品2 算法邏輯 注: 獎池相當於一個隊列

原创 mongoose document 判斷屬性是否存在的問題

mongoose schema 如下 const userSchema = new Schema({ username: String, password: String, age: Number, isLogin:

原创 koa status 204的問題

當設置ctx.body=undefined時,ctx.status會自動設置爲204,即使ctx.body再次賦值時這個值也不會變 ctx.body = undefined; console.log(ctx.status); // 2

原创 【Nodejs】9.8-10.8 setInteral 運行中停止的問題

現象 setInterval(function() { // do samething console.log(Date.now()); }, 500); 以上這段代碼運行25天后會停止,而且不會有任何錯誤日誌 gi

原创 mongoose複雜類型doc.save()無法更新的問題

原始document: { "_id" : ObjectId("5c234903be557205da9343d7"), "apps" : {}, "createTime" : NumberLong(154581

原创 踩坑-微信高級羣發接口

接口地址: 羣發接口和原創校驗 1. 根據OpenID列表羣發 post實例: { "touser":[ "OPENID1", "OPENID2" ], "mpnews":{ "media_

原创 AB測試初探

什麼是AB測試? AB測試的概念來源於生物醫學的雙盲測試,雙盲測試中病人被隨機分成兩組,在不知情的情況下分別給予安慰劑和測試用藥,經過一段時間的實驗後再來比較這兩組病人的表現是否具有顯著的差異,從而決定測試用藥是否有效。互聯網公司的AB測