全部文章all(224)
    简洁模式
21

【技术建设】规范git commit的提交记录(交互式命令行)

随着项目体积的增加,参与到项目中的同学越来越多,每个人都有自己的打 git log 的习惯:- 格式 1: `add: 添加...`- 格式 2: `[add]: 添加...`- 格式 3: `Add 添加...`为了形成统一的规范,达成共识,从而降低协作开发成本,需要对 git commit 记.....

2020.05.03
22

【系统设计】基于角色的权限管理设计实现

## 背景内部运营系统的很多 API,涉及到外网正式环境下的用户信息变更。出于安全考虑,在设计之初保留了所有的操作记录,但这用于事后回查;真正要避免线上事故的发生,还需要权限管理。当前,系统的代码由 3 部分组成:前端、中台和后台。其中,前端负责交互逻辑,中台负责主要的业务逻辑,后台负责提供数据库的读写 ap.....

2020.05.03
23

【系统设计】如何设计一个CMS系统

最近,学习和使用了基于腾讯云·CloudBase 开发的 CMS 管理系统。这篇笔记将记录在 cms 中学到的知识。<!-- more -->> 作者:心谭,腾讯云前端开发>> 来自:[心谭博客 xxoo521.com](https://xxoo521.com/2020-05-02-cms/),专注算法与 w.....

2020.05.02
24

【serverless实战】利用腾讯云·云开发实现短信验证码

最近支持了云开发的自定义短信验证码登录功能。第一次体会到利用云开发自身能力,开箱即用的快感。所有的精力集中在业务逻辑和数据库设计上,不用花费过多的精力浪费在运维上。整篇文章不涉及业务,单独以短信验证码相关逻辑,带你上手云开发,前后端一把梭。<!-- more -->> 作者:心谭,腾讯云前端开发>> 来自:[.....

2020.05.01
25

【LeetCode 8.字符串转换整数(atoi)】详细思路讲解

**题目描述**:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则.....

2020.04.19
26

【剑指offer:圆圈中最后剩下的数字】JavaScript实现

**题目描述**:0,1,,n-1 这 n 个数字排成一个圆圈,从数字 0 开始,每次从这个圆圈里删除第 m 个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4 这 5 个数字组成一个圆圈,从数字 0 开始每次删除第 3 个数字,则删除的前 4 个数字依次是 2、0、4、1,因此最后剩下的数字.....

2020.04.19
27

【LeetCode 236.二叉树的最近公共祖先】双解法:递归实现 + 利用父指针

**题目描述**:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。<!-- more -->## 解法 1: 递归实现(推荐)这题相较于 [LeetCode 235.二叉搜索树的最近公共祖先](https://xxoo521.com/2020-04-18-lowest-common-ancestor-.....

2020.04.18
28

【LeetCode 235.二叉搜索树的最近公共祖先】JavaScript/C++实现

**题目描述**:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。**说明**:1. 所有节点的值都是唯一的。2. p、q 为不同节点且均存在于给定的二叉搜索树中。例如,给定如下二叉搜索树: `root = [6,2,8,0,4,7,9,null,null,3,5]`![](https://tva.....

2020.04.18
29

【剑指offer:扑克牌中的顺子】

**题目描述**:从扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这 5 张牌是不是连续的。2 ~ 10 为数字本身,A 为 1,J 为 11,Q 为 12,K 为 13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。<!-- more -->## 解法题目说了是 5 张牌,这是很重要的一个点。.....

2020.03.30
30

【剑指offer:n个骰子的点数】两种思路:递归+动态规划

**题目描述**:把 n 个骰子扔在地上,所有骰子朝上一面的点数之和为 s。输入 n,打印出 s 的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。**示例**:```输入: 1输出: [0.16667,0.16667,0.....

2020.03.29