随笔分类 -  软件工程

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要:调试很麻烦,困扰着无数程序员们。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看 2 进制;low 一点的就 gdb、看统计;再 low 就加打印。还可以再 low 吗?可以,自己写 bug,别人查。方法林林总总,长期掌握总可以找到适合自己的。 而调试的目的是什么,找到 BUG。想当年一个高手比喻的好:你找 BUG 其实你就是福尔摩斯,为啥是福尔莫斯呢?想想你看到 BUG 案发现场--合格的程序都有日志、dump 内存、计数等基本案发现场吧。嗯,什么都没有,找写代码的人自己查。找问题就是在众多信息中,抽丝剥茧,找到疑点、反复推演程序运行的代码,最终找到作案的那一行或者几行代码。 这个过程很折磨人,没有任何眉目时,令人茶不思饭不想。找到问题问题后,如打鸡血般兴奋,自己也会陶醉般飘飘然。真正受过折磨的人,才能体会到修改问题的滋味一二。 开发的程序大致要经过一下两个阶段,最终才可以上线发布。 阅读全文
posted @ 2023-05-30 08:31 古道轻风 阅读(115) 评论(0) 推荐(0) 编辑
摘要:汽车之家电商系统诞生在2014年,成长于2016~2019年,并经历多年双11、818晚会的洪峰考验,沉淀了稳定可靠、性能卓越的在线交易能力。随着业务中台的建设浪潮兴起,2019年进入中台化建设阶段,输出其在汽车电商领域五年沉淀的能力,助力汽车电商行业发展,加速企业数字化转型! 阅读全文
posted @ 2023-05-24 08:43 古道轻风 阅读(321) 评论(0) 推荐(0) 编辑
摘要:在探究 Kafka 核心知识之前,我们先思考一个问题:什么场景会促使我们使用 Kafka? 说到这里,我们头脑中或多或少会蹦出异步解耦和削峰填谷等字样,是的,这就是 Kafka 最重要的落地场景。 阅读全文
posted @ 2023-05-15 08:12 古道轻风 阅读(182) 评论(0) 推荐(0) 编辑
摘要:DDD作为架构设计思想帮助微服务控制规模复杂度,那它是怎么做到的呢? 阅读全文
posted @ 2023-05-14 09:09 古道轻风 阅读(272) 评论(0) 推荐(0) 编辑
摘要:前段时间,随着阿里集团CEO张勇的公开信发布,阿里集团也做出了历史上最大的一次组织调整。 随着新的1+6+N的组织阵型的调整和落地,阿里曾经的中台战略,变得有点非常的尴尬了,似乎成为了一个巨大的争议。 阅读全文
posted @ 2023-05-05 08:25 古道轻风 阅读(116) 评论(0) 推荐(0) 编辑
摘要:Rust作为一门学习曲线十分陡峭的语言,掌握其核心基础数据结构的内存分布对学习Rust会有很大的帮助,本文由浅入深仔细介绍了Rust的各个数据结构在内存中的分布情况。 阅读全文
posted @ 2023-05-04 08:28 古道轻风 阅读(2360) 评论(3) 推荐(2) 编辑
摘要:微服务网关作为微服务后端服务的统一入口,它可以统筹管理后端服务,主要分为数据平面和控制平面: 数据平面主要功能是接入用户的HTTP请求和微服务被拆分后的聚合。使用微服务网关统一对外暴露后端服务的API和契约,路由和过滤功能正是网关的核心能力模块。另外,微服务网关可以实现拦截机制和专注跨横切面的功能,包括协议转换、安全认证、熔断限流、灰度发布、日志管理、流量监控等。 控制平面主要功能是对后端服务做统一的管控和配置管理。例如,可以控制网关的弹性伸缩;可以统一下发配置;可以对网关服务添加标签;可以在微服务网关上通过配置Swagger功能统一将后端服务的API契约暴露给使用方,完成文档服务,提高工作效率和降低沟通成本。 阅读全文
posted @ 2023-04-26 08:26 古道轻风 阅读(1508) 评论(0) 推荐(0) 编辑
摘要:一、优缺点 ActiveMQ 官网地址:http://activemq.apache.org/ - 官网介绍 Apache ActiveMQ是最流行的开源、多协议、基于Java的消息代理。它支持行业标准协议,因此用户可以从多种语言和平台的客户端选择中获益。从JavaScript、C、C++、Pyth 阅读全文
posted @ 2023-04-22 12:10 古道轻风 阅读(272) 评论(0) 推荐(0) 编辑
摘要:在实际工作中,我们经常需要在项目中调用第三方API接口,获取数据,或者上报数据,进行数据交换和通信。 那么,调用第三方API接口会遇到哪些问题?如何解决这些问题呢? 这篇文章就跟大家一起聊聊第三方API接口的话题,希望对你会有所帮助。 阅读全文
posted @ 2023-04-20 08:32 古道轻风 阅读(150) 评论(0) 推荐(1) 编辑
摘要:目前go语言不仅在阿里集团内部,在整个互联网行业内也越来越流行,本文把高德过去go服务开发中的性能调优经验进行总结和沉淀,希望能为正在使用go语言的同学在性能优化方面带来一些参考价值。 阅读全文
posted @ 2023-04-17 08:40 古道轻风 阅读(577) 评论(0) 推荐(0) 编辑
摘要:本文作者用幽默又真实的文字总结了开发者日常工作中遇到的那些事儿。 阅读全文
posted @ 2023-04-16 00:27 古道轻风 阅读(114) 评论(0) 推荐(0) 编辑
摘要:相较于全书众多的干货笔记,这篇文章是个别思想经验的总结,希望和大家交流。 阅读全文
posted @ 2023-04-14 08:37 古道轻风 阅读(111) 评论(0) 推荐(0) 编辑
摘要:从我们作为业务开发主要的职责深入到DDD的本质是什么?复杂度应处理?规范设计怎么做?本文将全方位为大家解答。 阅读全文
posted @ 2023-04-06 08:41 古道轻风 阅读(306) 评论(0) 推荐(0) 编辑
摘要:支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。其实整体可以看成是交易核心+支付核心 两个大系统。交易系统关联了业务场景和底层支付,而支付系统完成了调 阅读全文
posted @ 2023-04-05 09:31 古道轻风 阅读(296) 评论(0) 推荐(0) 编辑
摘要:对于日志管理当前网络上提供了大量的日志工具,今天就给大家分析总结一下这些常用工具的特点,希望对你们在选型时有所帮助。 阅读全文
posted @ 2023-04-04 08:29 古道轻风 阅读(806) 评论(0) 推荐(0) 编辑
摘要:在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义, 因为概念是人认识这个世界的基础和用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅,本文根据相关资料进行总结。 阅读全文
posted @ 2023-03-25 08:14 古道轻风 阅读(186) 评论(0) 推荐(0) 编辑
摘要:多关于MQ的面试八股文中有这么一道题,“如何保证MQ消息消费的幂等性”。 为什么需要保证幂等性呢?是因为消息会重复消费。 为什么消息会重复消费? 明明已经消费了,为什么消息会被再次被消费呢? 不同的MQ产生的原因可能不一样 本文就以RocketMQ为例,来扒一扒RocketMQ中会导致消息重复消息的原因,最终你会发现,其实消息重复消费算是RocketMQ无奈的“bug”。 阅读全文
posted @ 2023-03-22 08:31 古道轻风 阅读(1877) 评论(0) 推荐(0) 编辑
摘要:软件开发中一个著名的反直觉就是“起名儿”,这个看上去很平凡的任务实际上很有难度。身边统计学显示,越是有经验的程序员,越为起名头痛,给小孩起名儿都没这么费劲。 命名的困难可能来自于以下几个方面: 信息压缩:命名的本质是把类/方法的信息提炼成一个或几个词汇,这本身需要对抽象模型的准确理解和概括。 预测未来:类/方法的职责可能会在未来有变化,现在起的名字需要考虑未来可能的变动。 语言能力:缺少正确的语法知识,或是缺少足够的词汇量。本来英文就不是大部分中国人的母语,更甚者,计算机的词汇表不同于日常交流词汇表,有大量黑话。 不良设计:混乱的职责分布、不清晰的抽象分层、错误的实现,都会导致无法起出好的名字。在这个意义上,起名字其实是对设计的测试: 如果起不出名字来,很可能是设计没做好 -- 重新想想设计吧。 命名就像写作,会写字不等于会写作。而且,命名更多像是一门艺术[注](此处艺术的含义取自于 Knuth -- 命名会诉诸品味和个人判断。),不存在一个可复制的命名操作手册。 阅读全文
posted @ 2023-03-20 08:38 古道轻风 阅读(251) 评论(0) 推荐(0) 编辑
摘要:了解过 Hex 六边形架构、Onion 洋葱架构、Clean 整洁架构的同学可以将本篇文章介绍的实践方法与自身项目代码架构对比并互通有无,共同改进。没了解过上述架构的同学可以学习一种新的架构方法,并尝试将其应用到业务项目中,降低项目维护成本,提高效率。 本文提及的架构主要指项目组织的“代码架构”,注意与微服务架构等名词中的服务架构进行区分。 阅读全文
posted @ 2023-03-19 18:46 古道轻风 阅读(482) 评论(0) 推荐(0) 编辑
摘要:钉钉单元化从2018年开始到今年已经是第五个年头了,五年的时间,钉钉单元化迭代了三个版本,从最初的毛头小子,到达今年已经小有成就。今天想借这个场来和大家分享我们单元化的心路历程和一些最佳实践。本文要分享的内容只涉及部分内容,无法做到面面俱到,主要是想在同路人中形成共鸣,进而能复用一些架构或者系统。在我们单元化建设过程中,除了网上仅有的文章外,其可以直接使用的系统乏善可陈,使我们不得不从最基础的系统开始,极大的影响建设效率。幸运最近几年云原生技术的兴起,让我们能复用很多基础设施,进而快速的提升我们单元化能力,助力钉钉的发展。 阅读全文
posted @ 2023-03-15 13:52 古道轻风 阅读(190) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
点击右上角即可分享
微信分享提示