要不要再学学下面的文章?
关于gradle中plugins依赖未走私服导致编译失败的原因探析 (wiki.eryajf.net)
我们的项目标配使用gradle进行编译,我们也配置了nexus作为私服,理论上来说,不应该再会出现因包依赖的原因导致编译失败的情况,但是这个问题仍旧会偶尔发生,我解决过一两次,只看到通常失败的编译都是在开头的时候去 plugins.gradle.org 拉包的情况,当时将该问题存疑,本文特来探析一下导致这个问题的根因。
by @技术头条 2023-07-02 23:44 查看详情
微服务坏味道之循环依赖 (insights.thoughtworks.cn)
微服务间的循环依赖是一个非常容易发生的坏味道,对系统的健康危害巨大。可视化的方式可以帮忙快速找到系统中的循环依赖问题,比如通过链路追踪可视化服务间依赖关系,或通过流程时序图识别。微服务的循环依赖有一些典型的成因,针对这些问题定义一些原则,通过架构守护的方式加以保护,就可以杜绝循环依赖的问题发生。
by @Thoughtworks 2022-01-21 17:52 查看详情
依赖倒置就是每一个实现都要抽一个接口出来吗 (insights.thoughtworks.cn)
依赖倒置应该是先由业务消费方定义接口,再由服务提供方实现,只不过从最终产出物的角度看,的确是可能每个实现都抽取了一个接口而已。
by @Thoughtworks 2021-08-18 10:27 查看详情
依赖什么啊?依赖注入……,什么注入啊? (insights.thoughtworks.cn)
我们在讨论性能优化的时候,一个经常被忽略的因素恰恰是软件本身的设计。不过经过这几个月对某组件库中十多个组件的重构之后,我们发现这两部分工作在很大程度上是同一件事的两个方面:好的设计往往可以带来更好的性能,反之亦然。
by @Thoughtworks 2021-07-28 11:15 查看详情
Linux开发过程那么麻烦,是否值得? (mp.weixin.qq.com)
Linux 从诞生至今,已经快有 30 年了。这期间 Linux 一直延续着通过邮件来提交变更、审查、讨论直至批准的研发过程,这一流程非常费时费力,不仅成为新人的进入门槛,也成了可持续生产的障碍。那么,为什么 Linux 一直要坚持遵循这一过程呢,它能带来什么好处?存在哪些弊端?有什么解决办法吗?
by @code小生 2021-04-18 11:49 查看详情
一文说透依赖注入 (insights.thoughtworks.cn)
控制反转在整洁架构中非常重要,而大部分现代框架的设计思想都是暗合《架构整洁之道》的,因此,在大部分现代框架中,都内置了依赖注入机制,以支持控制反转。
by @Thoughtworks 2021-03-15 09:54 查看详情
信任的传递——为什么我们需要第三方授权? (insights.thoughtworks.cn)
在证书验证、基于JWT(Json Web Token)的身份认证、IDP(身份提供商)、SP(服务提供商)等技术中,都有一个可信的第三方,可明明是用户对资源或者服务的访问,为啥还要个第三方?
by @Thoughtworks 2020-12-16 12:06 查看详情
Koin in Android: 更简单的依赖注入 (mp.weixin.qq.com)
如果还不清楚什么是依赖注入,那么请参考之前写的 Dagger2 in Android(一)通俗基础开头部分。如果你不了解 Dagger 倒也无妨,本文会进行一定的对比,但仅针对接触过 Dagger 的同学,否则大可以忽略。
by @code小生 2020-09-27 00:01 查看详情
Jetpack Hilt 依赖注入框架上手指南 (mp.weixin.qq.com)
依赖注入是什么

个人理解:把有依赖关系的类放在容器中,解析这些类的实例,并在运行时注入到对应的字段中,就是依赖注入,目的是为了类的解耦
by @code小生 2020-08-31 00:52 查看详情
不使用第三方库,Bitmap 的优化策略 (mp.weixin.qq.com)
如今市场上有很多封装好的第三方库,对Bitmap内存也是做到了很好的优化,比如Glide、Fresco,每次加载只要直接调用就好,但是除掉第三方库外,我们还是需要去了解一下Bitmap的基本优化手段。
by @code小生 2020-06-28 21:58 查看详情
技术头条

现在,越来越多的应用都开始面向服务架构,这意味这更好的重用性;一个设计良好的服务,不仅可以被网站使用,也可以被各种移动应用使用。但是世界上没有免费的午餐,在网站的开发过程中,如果依赖于第三方服务,很可能存在这样的问题:另一个团队正在开发这些第三方服务,他们也在不断的部署这些服务,服务经常不可达。

这会导致两个问题,首先功能测试失败,build失败,代码无法提交;其次,很多前端的功能需要依赖数据,这些服务不可达,就意味着没有数据,那么前端的功能开发也被阻塞了。

这种情况下,一般的做法是在项目中构建一些假的服务(以下统称本地模拟服务),直接返回静态的数据,稳定可靠;

然后,所有的测试都依赖于本地模拟服务, 不稳定的第三方服务就被隔绝了,程序员们就可以无忧无虑的提交代码,但好景不长,随着时间的推移,新的问题又来了。

前面我们已经假定,第三方服务也在开发中,在不断的变化中,一段时间后,那些本地模拟服务返回的数据已经失效。无奈地程序员们手动的更新了本地的静态数据,没过多久随着第三方服务的变更,这些静态数据有失效了。

by @技术头条 2015-10-12 16:15