API设计的几条原则 (insights.thoughtworks.cn)

【简介】

API 设计是微服务设计中非常重要的环节,代表服务之间交互的方式,会影响服务之间的集成。 通常来说,一个好的 API 设计需要满足两个主要的目的。

点击查看全文 >>

@ThoughtWorks 2020-08-14 15:48分享 / 0个评论
赞过的人: 技术头条
要不要再学学下面的文章?
如何优雅使用「快应用」API (quickapp.lovejade.cn)
查阅快应用开发文档,可以知道官方提供了诸多接口;对于如何使用,文档中也给出了简单的说明和代码示例;但照着示例写法,在实际项目中,不够优雅且更不高效;所以,在开发中需要加以变通去写,使得大幅提升开发效率,同时也令整个代码优雅,以便于维护。所以在此篇文章的存在,旨在于讨论:如何优雅使用「快应用」API。
by @杨琼璞 2020-08-17 09:19 分享 查看详情
Android架构设计--MVP模式第(二)篇,如何减少类爆炸 (mp.weixin.qq.com)
总共分成三层
a 、View: 视图层,对应xml文件与Activity/Fragment;
b 、Presenter: 逻辑控制层,同时持有View和Model对象;
c 、Model: 实体层,负责获取实体数据。
by @code小生 2020-08-10 21:20 分享 查看详情
如何使用 gitlab api 触发 CI (quickapp.vivo.com.cn)
Gitlab 是一个类似于 Github 用于托管和审查代码,管理项目和构建软件;相较于 Github,其源代码本身也开源,允许用户自行搭建部署,是很多公司管理代码首选。可以通过 Webhook 或者 api 来触发 ci,配合 gulp 等工具,以此来构建更加完整的自动化工作流。本文将带你初步学会使用 Gitlab api,更多深入使用请参考官方文档 。
by @杨琼璞 2020-07-16 14:36 分享 查看详情
下载!Linux 内核设计的艺术 (mp.weixin.qq.com)
Linux内核设计的艺术这本书是我认为对Linux内核描述非常优秀的书籍。书籍中描述了内核启动的流程,内核运行的机理,内存管理,进程管理等等。
by @code小生 2020-06-21 22:34 分享 查看详情
以深度学习为例理解22种设计模式(三)行为模式 (johnhany.net)
系列文章以深度学习的模型搭建和训练过程为例,解释面向对象编程中22种设计模式的基本原理,并给出C++实现。第三篇介绍行为模式,包括责任链、命令、迭代器、中介者、备忘录、观察者、状态、策略、模板方法以及访问者。
by @JohnHany 2020-06-08 13:04 分享 查看详情
以深度学习为例理解22种设计模式(二)结构型模式 (johnhany.net)
系列文章以深度学习的模型搭建和训练过程为例,解释面向对象编程中22种设计模式的基本原理,并给出C++实现。第二篇介绍结构型模式,包括适配器、桥接、组合、装饰、外观、享元以及代理。
by @JohnHany 2020-06-04 11:14 分享 查看详情
以深度学习为例理解22种设计模式(一)创建型模式 (johnhany.net)
以深度学习的模型搭建和训练过程为例,解释面向对象编程中22种设计模式的基本原理,并给出C++实现。第一篇介绍创建型模式,包括工厂方法、抽象工厂、生成器、原型以及单例。
by @JohnHany 2020-05-29 14:25 分享 查看详情
记录项目升级 AndroidX+API29 的各种坑 (mp.weixin.qq.com)
年前的时候,公司为了业务发展,签署了一个第三方的代码库,需要我们集成,然后这个项目是依赖于androidX和各种各样新库.所以为了集成该项目,我们强制升级了我们的gradle,依赖库,目标api版本.我们的项目一直使用API27作为target和build的版本,所以在前期利用api版本避免了很多坑,自从集成了这个项目,噩梦开始了
by @code小生 2020-04-26 20:01 分享 查看详情
使用 YApi 管理 API 文档,测试, mock (juejin.im)
接口的维护管理非常耗时,大概占用了30%开发时间。后端程序员要维护对于他们冗余的文档,前端程序员又因为后端开发提供的文档不准确,导致浪费了大量的时间。
接口的正确性和稳定性很难保证,前端工程师为了处理各种数据异常情况,将会写大量异常处理逻辑。传统的接口自动化测试成本非常高,开发一个接口可能只需要一天,但写接口测试用例,需要花费好几天的时间。

对于前端程序员,在后端功能没有开发完成之前,他们需要接口返回数据 Mock ,以便不影响开发进度。传统的数据 mock 是把模拟数据写到项目代码里,这么做会带来更多新的问题,首先后端程序员定义的接口随着需求、架构涉及随时发生变化的,如果前端程序员完全按照最初的设计定义mock数据,将会和实际做出来的接口有很大的出入。

没有一个标准化的流程统一处理,这个过程是非常分散的,需要配合非常多的工具,效率比较低。
by @shengting 2020-04-20 14:53 分享 查看详情
JDK的sql设计不合理导致的驱动类初始化死锁问题 (club.perfma.com)
当我们一个系统既需要mysql驱动,也需要oracle驱动的时候,在并发加载初始化这些驱动类的过程中产生死锁的可能性非常大,下面是一个模拟的例子,对于Thread2的实现其实是jdk里java.sql.DriverService的逻辑,也是我们第一次调用java.sql.DriverManager.registerDriver注册一个驱动实例要走的逻辑(jdk1.6下),不过这篇文章是使用我们生产环境的一个系统的线程dump和内存dump为基础进行分析展开的。
by @PerfMa社区 2020-03-31 10:32 分享 查看详情