本专区由 开发技能 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
行走代码江湖,怎能没有一把趁手的兵器?本专区包括开发者工具、极客技能、开发库、文档、应用开发、操作系统、编码工具等。
本专区由 开发技能 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
伴随着移动互联网行业的快速发展,为了不断提升用户体验,软件产品快速迭代投入市场成为了企业的刚需。而作为产品与用户直接交互的门面,前端业务成为了产品快速迭代过程中最忙碌的岗位之一,前端的持续集成、交付、部署也成为企业研发效率提升的瓶颈。 前端研发效能瓶颈 随着软件产品规模不断扩大,复杂度不断提升,研发团队规模、管理难度也呈指数级增长。不断专业化的分工,所带来的是部门和角色之间的互相不理解。具体到研发... 展开更多
几个月前开始尝试用 Golang 写 Web 应用时,第一次意识到:对于一个像我这样过去总写 Java 代码的老程序员来说,因各类 IDE 带来的便利性,几乎忽略了热加载(Live Reload)这个问题的存在。开始使用 Golang 之后,特别是是编写 Web 应用时,因为改写页面上一个 JavaScript 函数而需要暂停当前运行的程序,再重新运行程序实在太令人沮丧了。好在,Golang 开发相关的资料和方案都已经相当齐全,只需要找到合适的解决方案就可以愉... 展开更多
摘要:输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。 本文分享自华为云社区《一条查询SQL是如何执行的》,作者: 共饮一杯无 。 执行如下SQL,我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。 select * from where id ='1'; 上图给出的是 MySQL 的基本架构示意图,从中你可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。大体来说,MySQL 可以分... 展开更多
## Istio简介 ### 2.1、istio架构  实际上Istio 就是 Service Mesh 架构的一种实现,服务之间的通信(比如这里的 Service A 访问 Service B)会通过代理(默认是 Envoy)来进行。 而且中间的网络协议支持 HTTP/1.1,HTTP/2,gRPC 或者 TCP,可以说覆盖了主流的通信协议。代理这一层,称之为数据平面。 控制平面做了进一步的细分,分成了... 展开更多
2022年了,重新做了一份`json path`的兼容性与性能测试。 免责声明:可能测试得方式不对而造成不科学的结果(另外,机器不同结果会有不同),可以留言指出来。以下测试数值只对我的电脑有效(配置:Macbook pro 13 2020款 i7+32G+1T)。 #### 本案测试用的三大流行框架及版本: * com.alibaba.fastjson2:fastjson2:2.0.4 * com.jayway.jsonpath:json-path:2.2.0 * org.noear:snack3:3.2.31 #### 三份测试数据样本: * A:`{code... 展开更多
spring提供的cache注解不能设置有效时间,sync参数设置可能导致死锁,在实际的使用中没法满足要求,有没有其他好用的工具能替换springcache?
网上文章都是说需要在Application上加@EnableCaching注解才能让缓存使用redis,但是测试发现不用@EnableCaching也可以使用redis,是网上文章有问题吗?现在Application上用了@EnableAsync,@SpringBootApplication,@EnableTransactionManagement,@MapperScan这几个标签。
ShardingSphere-Proxy 是 Apache ShardingSphere 的接入端之一,其定位为透明化的数据库代理。ShardingSphere-Proxy 实现了数据库协议,理论上可以被任何使用或兼容 MySQL / PostgreSQL / openGauss 协议的客户端访问。相比 ShardingSphere-JDBC,ShardingSphere-Proxy 的优势在于对异构语言的支持,以及为 DBA 提供数据库集群的可操作入口。  - 登录问题机器后,... 展开更多
 感受过被任天堂的游戏机卡挖空钱包的恐惧吗,现在有了 PicoBoot 你用 40 块的树莓派就能搞出个任天堂游戏机(NGC)“万能卡”。PicoBoot 替换了 NGC 的 IPL 芯片,而 duf 替换了 Linux 的 df 命令解锁更多查看磁盘用量的姿势。 还有本周获得近 2k star 的美团开源的目标检测框架——YOLOv6,国内常见的计算机视觉框架可能是来源于... 展开更多
上一篇文章中引入了消息队列对秒杀流量做削峰的处理,我们使用的是Kafka,看起来似乎工作的不错,但其实还是有很多隐患存在,如果这些隐患不优化处理掉,那么秒杀抢购活动开始后可能会出现消息堆积、消费延迟、数据不一致、甚至服务崩溃等问题,那么后果可想而知。本篇文章我们就一起来把这些隐患解决掉。 ## 批量数据聚合 在**SeckillOrder**这个方法中,每来一次秒杀抢购请求都往往Kafka中发送一条消息。假如这个时候有一千万... 展开更多
场景: 注解@Api的tags内容存在正斜杠时 问题: 正斜杠会被替换为横杠,且对应的页面接口文档并不可用
引言 在日常工作当中,大家是否有这种感觉:“好”代码和“差”代码,都可以实现产品的需求。但是不同的人写出的代码,在效率、质量、可维护性、可扩展性、可读性等方面千差万别。想法、构思、架构设计得再好,写出来的代码三天两头踩坑,这是纸上谈兵。因此软件的健壮性是衡量一名工程师水平的重要标准。如何提升软件的健壮性?合理的顶层设计、完备的测试必不可少,但终其根本是提升代码质量。 防御式编程是一种安全编码的思维... 展开更多
敏捷开发原则说:“最好的架构、需求和设计出自自组织团队。” 什么是自组织?为什么敏捷需要自组织?如何才能建设一支自组织团队? 为了将「自组织」彻底弄清楚,我们采访了 LigaAI 创始人 Ryan,向他请教了有关自组织的诸多问题,并讨教了团队自组织化的实战经验。相信下面 5000 字的采访精华一定能帮助你更好地理解和实践「团队自组织」。 Liga:目前在国内,有些团队不太看好敏捷开发,为什么 LigaAI 坚定地认为敏捷一定是未... 展开更多
摘要:装饰者模式通过组合的方式,提供了能够动态地给对象/模块扩展新功能的能力。理论上,只要没有限制,它可以一直把功能叠加下去,具有很高的灵活性。 本文分享自华为云社区《【Go实现】实践GoF的23种设计模式:装饰者模式》,作者: 元闰子。 简介 我们经常会遇到“给现有对象/模块新增功能”的场景,比如 http router 的开发场景下,除了最基础的路由功能之外,我们常常还会加上如日志、鉴权、流控等 middleware。如果你查... 展开更多
00 前言 Shuttle[1] 是OPPO大数据团队开源的高可用高性能的 Spark Remote Shuffle Service,文章[2]中详细介绍了Shuttle的架构和设计理念。Shuttle在设计之初选用分布式文件系统作为存储Shuffle数据的基座,灵活利用多种分布式存储的优势。同时,将存储计算剥离,不依赖本地存储介质,方便云上部署。 基于磁盘存储的 Remote Shuffle 已经解决磁盘碎片读写问题,但小规模作业的Shuffle性能提升仍不明显。那么 Shuffle 还有哪些潜... 展开更多
在分布式、微服务架构下,应用一个请求往往贯穿多个分布式服务,这给应用的故障排查、性能优化带来新的挑战。分布式链路追踪作为解决分布式应用可观测问题的重要技术,愈发成为分布式应用不可缺少的基础设施。本文将详细介绍分布式链路的核心概念、架构原理和相关开源标准协议,并分享我们在实现无侵入 Go 采集 Sdk 方面的一些实践。 ---- # 为什么需要分布式链路追踪系统 ## 微服务架构给运维、排障带来新挑战 在分布式架构下,... 展开更多
*作者:* *鲁严波* 从 Java Agent 报错开始,到 JVM 原理,到 glibc 线程安全,再到 pthread tls,逐步探究 Java Agent 诡异报错。 ## 背景 由于阿里云多个产品都提供了 Java Agent 给用户使用,在多个 Java Agent 一起使用的场景下,造成了总体 Java Agent 耗时增加,各个 Agent 各自存储,导致内存占用、资源消耗增加。 MSE 发起了 one-java-agent 项目,能够协同各个 Java Agent;同时也支持更加高效、方便的字节码注入。 其... 展开更多
当使用flink时间窗口实时计算时候, 如果没有后续数据,最后一个窗口永远不会关闭计算,, 使用事件时间(源数据中的 create_time)进行窗口计算。为方便观察,create_time1为格式化后的时间 任务条件,使用滑动时间窗口 ,窗口大小10s,滑动步长5s, 通过app_id分组,count >5 进行数据输出 发送测试kafka数据: 发送第1条:{"create_time1":"2022-06-30 16:10:48","create_time":1656576648431,"id":"46fb2b26-7fff-47b9-80de... 展开更多