1.Algorithm:https://leetcode.com/problems/implement-trie-prefix-tree/
实现一个trie树。只要搞清楚trie树的结构,题目比较简单。对输入字符串遍历,按照trie树的结构进行构建即可。
顺便吐槽一下leecodecn的自动跳转,真的很烦人。
2.Review:https://www.geeksforgeeks.org/computer-network-tutorials/#basicsh
网络知识的基础课程。从头开始快速的浏览一遍。
3.Tip:最近还在读linux高级编程。本周一直在忙其他的事情,进度有些耽搁了,下周补回来。
4.share:现在流行的微服务,很多都在与领域驱动设计结合(Domain Drive Design。Eric Evans提出《领域驱动设计-软件核心复杂性应对之道》。
自Eric Evans提出DDD之后,这些年该技术又得到很多新的发展。人们用DCI(Data Context Interactive)架构对DDD进行补充,试图解决领域对象中行为边界和数据边界不一致的问题(即service
带来的贫血与充血之争)。人们为DDD补充了Domain Event
的建模元素,发展出了CQRS架构。人们提出了六边形架构更进一步解耦了传统的DDD分层架构。Anyway,这些最终都没抵上微服务架构的出现对DDD带来的推动作用。微服务架构从一出来就没有很好的理论支撑如何合理的划分服务边界,人们常常为服务要划分多大而争吵不休。而DDD被发现恰好可以弥补微服务的营养不良:服务最大不要大过一个BC,否则服务内会存在有歧义的领域概念;服务最小不要小过一个聚合,否则会引入分布式事务的复杂度;服务间最好通过Domain Event
来进行交互,这样可以让服务保持松耦合。微服务和DDD的结合,让微服务架构看起来似乎更加稳健了!但其实微服务需要的不只是DDD,微服务虽然让某些事变得简单了,但是构建好微服务对软件设计的优秀技术实践和基础设施的要求都变高了。
链接:https://www.jianshu.com/p/ab80cb9f307c