原创 Golang三行代碼發送釘釘機器人消息

dingtalk 釘釘機器人消息封裝,三行代碼發送釘釘消息——Golang實現,簡化日常通過釘釘羣機器人發送提示、報警消息操作。 目前自定義機器人支持 文本(text) 鏈接(link) markdown ActionCard

原创 優秀的工程師文化

自我認識 有深刻的認知和認同 暫時沒有做到或沒有切身體會 優秀的工程師文化最基本三要素 尊重 信任 責任 工程師文化 團隊纔是王道 快速失敗,學習,迭代 爲學習預留時間,保持學習耐心 必須坦誠,隱瞞是有害的 學會批評和接

原创 Python 實現 BloomFilter

學習筆記,如有不足之處,歡迎指正。 類定義 import math import time import redis from hashlib import md5 class SimpleHash(object):

原创 Mac安裝sshpass

網上好多都失效了,2019-11-20以下方法親測可行。 brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Form

原创 golang——併發、重複抑制、非阻塞緩存

package main import ( "fmt" "io/ioutil" "net/http" "sync" "time" ) type entry struct { res result ready

原创 LeetCode——賣股票

賣一次 //賣一次 func getProfit(arr []int, start, end int) int { min := arr[start] profit := 0 for i := start; i < end;

原创 Redis——SortedSet排行榜同分

排行榜可以使用SortedSet,但是如果同分的時候會有兩種相對難搞的情況: 誰排名靠前,按需求展示。 同分名次並列。 同分不同名 SortedSet score支持浮點數,只要給每個score加上對應的小數,就能實現按先後達

原创 Redis zset爲什麼用跳錶

zset相關命令時間複雜度 命令 時間複雜度 功能 zadd O(log(N)) 添加 zscore O(1) 獲取score zcard O(1) 獲取member個數 zincrby O(log(N)

原创 LeetCode——單向鏈表相關

兩兩交換位置 func swapPairs(head *ListNode) *ListNode { pre := ListNode{Val: -1, Next: head} temp := &pre for temp.Ne

原创 LeetCode——旋轉二分

什麼是數組旋轉 [1,2,3,4,5,6,7,8,9] 旋轉 [5,6,7,8,9,1,2,3,4] 上面這個數組爲例:其實就是把5之前的數,有序的移到數組右邊。 解題思路 二分法 每次二分之後都能得到一個有序的數組和一個旋

原创 MySQL——Explain能看出點啥

mysql explain用法和結果的含義 explain或desc顯示了mysql如何使用索引來處理select語句以及連接表。可以幫助選擇更好的索引和寫出更優化的查詢語句。 explain 數據表 或 desc 數據表 顯示

原创 LeetCode——接雨水

利用兩個數組記錄每個位置,左邊和右邊的最大值。 func Min(x, y int) int { if x < y { return x } return y } func Max(x, y int) int { i

原创 Django源碼學習——MySQL

model裏需要爲每個字段設置類型,那有哪些類型? 源碼 db/backends/mysql/base.py class DatabaseWrapper(BaseDatabaseWrapper): vendor = '

原创 LeetCode——最長子序列和

找出給定數組中最長子序列的和 func Max(x, y int)int{ if x<y{ return x } return y } func MaxSubSum(arr []int, n int) int { re

原创 Pipeline批量獲取值

實現批量獲取的方式 1、MGET 2、PIPELINE pipe := redis.Pipeline() for _,k := range keys { pipe.Get(k).Val() } cmdValues := p