ARTS挑战打卡第十七周

Algorithm-一周至少一道算法题

Review-阅读并点评至少一篇英文技术文章

Tip-学习至少一个技术技巧,总结和归纳在日常工作中所遇到的知识点

Share-分享一篇有观点和思考的技术文章

01-Algorthm

   ———————  

https://leetcode.com/problems/sum-of-left-leaves/

计算所有左叶子节点的和,找到左叶子结点,做加法,左叶子节点的判断是 :root.left != null && root.left.left == null && root.left.right == null

02-Review

——————

https://www.nginx.com/blog/building-microservices-using-an-api-gateway/

文章介绍了使用API网关访问接口的好处以及介绍了实现一个API网关需要注意的地方,给对网关感兴趣的开发者一个很好的思路。

当一个接口需要访问多个服务才能完全展示时,如果让客户端去请求多个服务,会带来的问题有:太多的网络开销、数据协议不一致、重构比较麻烦。

可以考虑使用API网关来封装这一步的操作,API网关要做的就是分发请求,聚合数据,网络协议转换等等。

实现网关是需要考虑性能与可扩展性、使用响应式编程优化性能、服务调用方式(HTTP/Thrift)、服务发现、错误处理。

做的比较好的有Netflix。

自己在开发过程中也有考虑过实现一个API网关,主要做一些通用的操作,比如用户token校验、风控校验等等,如果由API网关层统一做这些校验,就不需要每一份业务代码都去写这些重复的代码。

03-Tip

——————

代码的抽象并没有通用的法则,没有一种方法可以教会程序员怎么抽象,但是可以通过反复优化代码来提高抽象的技能,抽象的过程应该是:

1、快速理解业务写出核心逻辑的代码

2、review代码,找到有共同点的地方,抽象出精炼的业务模型

3、修改代码,提高代码抽象级别

4、反复进行第二步与第三步

以前一直在找如何提高抽象的方法,直到最近才领会到,要提高抽象能力,唯有多写代码,多思考,反复优化代码,反复思考。

04-Share

—————

https://zhuanlan.zhihu.com/p/77026267

《抽象,简化和领域驱动设计》

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

如果本文对你有帮助,麻烦顺手点个赞吧,谢谢

推荐阅读:

ARTS挑战打卡的100天,我学到了这些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值