写点什么

ARTS 打卡第三周(200525-200531)

发布于: 2020 年 08 月 24 日
ARTS 打卡第三周(200525-200531)

Algorithm



leetcode-872:https://leetcode.com/problems/leaf-similar-trees/



leetcode-1022:https://leetcode.com/problems/sum-of-root-to-leaf-binary-numbers/

解题思路都很类似,递归,遍历根节点、左子树,右子树,关键是找到终止递归的点。



Review

JUnit最佳实践

  • 单元测试的目的不是为了找bug,只是为了检查代码单元逻辑的正确性

  • 如果要为了找bug,最好的办法就是运行整个应用,调用对应的接口

  • Mock一切外部服务

  • 每次只测试一个代码单元

  • 不要对配置进行单元测试



https://loneidealist.wordpress.com/2017/07/03/distributed-coordination/

总结学到的几个概念:

分布式协作

分布式协作出现的原因:在分布式系统中,一个集群中的所有节点需要互相通信,如果让节点自己去做,那么就会十分复杂,于是就需要一个“中间媒介者”去做这件事情。更进一步的,把这个“中间媒介者”从集群中拆分出来,独立为一个系统。



高可用

系统的高可用性意味着一群服务器运行时与单台机器运行时没区别。分布式系统就是为了实现高可用而出现的解决方案,通过负载均衡,将单个请求分布到多台机器,单台机器的失败就不会导致整个服务挂了。

解决了服务的可用性之后,遇到新的问题就是发现分布式系统中还会存储很多数据,这些不同服务器之间的共享的锁、数据、配置在运行中怎么保证就是正确的?这就需要分布式协作及共识。



共识

共识是分布式容错系统中最基本的问题,共识意味着多个服务器同意一个值。简单而言,共识就是分布式系统中如何认同一个值。



Tip

二叉树算法题的遍历框架



/* 基本的二叉树节点 */
class TreeNode {
int val;
TreeNode left, right;
}
void traverse(TreeNode root) {
traverse(root.left)
traverse(root.right)
}



JUnit最佳实践

  • 单元测试的目的不是为了找bug,只是为了检查代码单元逻辑的正确性

  • 如果要为了找bug,最好的办法就是运行整个应用,调用对应的接口

  • Mock一切外部服务

Share



【Blog】Mockito-提高单元测试效率利器



原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果本文对你有帮助,请点个赞吧,谢谢





发布于: 2020 年 08 月 24 日阅读数: 48
用户头像

公众号【老胡爱分享】 2018.03.13 加入

一个热爱分享,热爱分享的普通人。 追求终身成长,希望用文字的力量服务大众。

评论

发布
暂无评论
ARTS 打卡第三周(200525-200531)