自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fajian.chen

技术与业务融合

  • 博客(224)
  • 收藏
  • 关注

原创 如何评价代码的质量

摘要:本文探讨了高质量代码的五个核心特性:1)可维护性,强调代码修改时能保持稳定;2)可读性,提出代码应便于人类理解;3)可扩展性,遵循"对修改关闭,对扩展开放"原则;4)灵活性,体现为代码对新功能的兼容性;5)简洁性,遵循KISS原则,用简单方案解决复杂问题。文章指出这些特性相互关联,共同构成优秀代码的标准。其中,可维护性因人而异,而可读性是其他特性的基础,最终目标都是提升代码质量和开发效率。

2025-06-11 21:53:49 353

原创 Spring Security是如何完成身份认证的?

摘要:Spring Security认证流程包含四个关键步骤:1)用户凭证被封装为UsernamePasswordAuthenticationToken;2)AuthenticationManager进行验证;3)验证成功返回包含权限信息的Authentication对象(密码被移除);4)认证信息通过SecurityContextHolder存入安全上下文。示例代码展示了完整的认证过程,包括自定义AuthenticationManager实现和线程绑定认证信息的操作。该流程体现了Spring Securi

2025-06-11 21:45:24 409

原创 UC并发工具 CountDownLatch应用&源码分析

摘要:CountDownLatch是JUC包下的并发计数器工具,用于并行任务协同。主线程通过await()等待计数器归零,子任务完成时调用countDown()减1。源码分析显示其基于AQS实现,state存储计数值,await()阻塞线程至state=0,countDown()CAS减state并在归零时唤醒阻塞线程。适用于多任务并行处理并需全部完成的场景,如文中的三任务并行示例。还介绍了超时等待和中断处理机制。

2025-06-08 14:49:56 906

原创 深入了解NIO的优化实现原理

网络通信中,最底层的就是内核中的网络 I/O 模型了。随着技术的发展,操作系统内核的网络模型衍生出了五种 I/O 模型,《UNIX 网络编程》一书将这五种 I/O 模型分为阻塞式 I/O、非阻塞式 I/O、I/O 复用、信号驱动式 I/O 和异步 I/O。每一种 I/O 模型的出现,都 是基于前一种 I/O 模型的优化升级。

2025-06-08 14:35:13 559

原创 CDN:静态资源如何加速?

CDN(Content Delivery Network/Content Distribution Network,内容分发网络)。简单来说,CDN 就是将静态的资源分发到,位于多个地理位置机房中的服务器上,因此它能很好地解决数据就近访问的问题,也就加快了静态资源的访问速度。在大中型公司里面,CDN 的应用非常的普遍,大公司为了提供更稳定的 CDN 服务会选择自建 CDN,而大部分公司基于成本的考虑还是会选择专业的 CDN 厂商,网宿、阿里云、

2025-06-06 23:04:09 1107

原创 配置管理:成千上万的配置项要如何管理?

配置管理的主要方式包括文件管理和配置中心管理。在Linux系统中,可通过配置文件或sysctl命令动态调整配置。应用开发中,初期常将配置与代码耦合,后期独立为配置文件(如properties、xml、yaml格式),但仍需重启生效。配置中心(如Apollo、Disconf)通过存储和推送机制实现动态更新,避免重启。关键设计包括:选择合适的存储组件(MySQL、ZooKeeper等)、变更推送机制(轮询或长连)、以及高可用方案(客户端两级缓存)。配置中心的高可用性尤为重要,可通过内存和文件缓存实现灾备,确保服

2025-06-06 22:56:22 605

原创 什么是I/O多路复用?

I/O多路复用技术让程序能用单线程高效管理多个I/O流,避免多线程开销。其工作原理类似同时监控多个炉灶:通过集中轮询机制(如select/poll)或事件通知机制(如epoll/kqueue)实时检测各I/O状态,实现单线程并发处理。典型实现包括跨平台的select/poll函数,以及系统专用的epoll(Linux)和kqueue(BSD/Mac),它们都能显著提升程序吞吐量和响应速度。这种技术尤其适合高并发网络应用场景。

2025-06-01 20:55:05 150

原创 在Java中,NIO(New I/O)与传统的I/O模型有什么不同?NIO中的核心组件有哪些?

Java NIO与传统I/O的主要区别在于阻塞机制:传统I/O是阻塞式的,需等待当前操作完成才能继续;而NIO是非阻塞式的,可以同时处理多个I/O操作。NIO的核心组件包括通道(数据传输管道)、缓冲区(数据容器)、选择器(多通道状态监控器)和通道适配器(不同类型I/O接口连接器),这些组件共同提升了I/O处理效率,避免了单线程阻塞问题。NIO模型类似自助餐厅的多任务处理方式,比传统I/O的单线程等待模式更高效。

2025-06-01 20:52:36 207

原创 TCP粘包和拆包问题是如何产生的,以及如何在网络编程中处理这些问题

文章摘要: TCP粘包和拆包是网络编程中的常见问题。粘包指多条消息被合并发送,接收方难以区分;拆包指单条消息被分割发送,接收方难以重组。解决方法包括:添加消息边界标识、使用固定长度消息或在应用层采用JSON/XML等协议处理粘包;通过消息长度标识或固定长度格式避免拆包。这些方法能有效保证TCP传输的准确性和完整性。

2025-06-01 20:50:36 275

原创 电商产品详情接口并发编排提升性能

本文介绍了使用Java的CompletableFuture实现电商系统产品详情接口的并发编排优化。通过异步调用产品基本信息、库存、定价和评论等多个服务,显著提升接口响应性能。文章详细展示了项目结构设计,包括Controller层、Service层和各服务类的实现,重点解析了CompletableFuture.allOf方法用于并发任务编排,以及thenApply进行结果合并的关键技术。这种非阻塞的异步设计不仅提高了系统性能,还保持了代码的模块化和可扩展性,为类似场景的接口优化提供了实用参考方案。

2025-06-01 14:25:09 920

原创 MySQL中的锁

摘要: MySQL InnoDB引擎通过多种锁机制解决并发事务问题,包括共享锁(S锁)和排他锁(X锁)等行级锁,以及表级锁和意向锁。锁的类型根据操作需求选择,读操作可使用MVCC避免阻塞,写操作需加锁保证数据一致性。InnoDB还支持间隙锁(Gap锁)防止幻读。死锁发生在多个事务互相等待资源时,MySQL能自动检测并解除。锁的粒度影响并发性能,行锁比表锁更细粒度但开销更大。实际应用中需平衡锁的并发控制与系统性能。

2025-06-01 11:22:15 1020

原创 Tomcat优化篇

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下 class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。nio:new I/O,同步非阻塞的I/O操作,比传统的bio有更好的并发运行性能。

2025-06-01 11:19:25 1311

原创 Https

摘要:HTTPS已成为现代互联网安全的重要标准,本课程将从原理到实战讲解HTTPS技术。内容包括:通过OpenSSL工具生成服务器证书和自建CA机构进行签名,详细介绍在Windows和Linux系统中安装配置OpenSSL的步骤,以及如何创建私钥、待签名证书和根证书。最后讲解如何将生成的证书配置到Nginx服务器,实现HTTPS安全连接。课程旨在帮助学员掌握企业级HTTPS应用技术,提升网站数据传输安全性。

2025-06-01 09:40:12 974

原创 内存模型以及如何判定对象已死问题

本文介绍了Java内存管理相关内容,主要包括: 使用VisualVM的VisualGC插件监控JVM内存; 演示三种内存溢出情况:堆内存溢出(OOM)、方法区溢出(Metaspace)和栈溢出(StackOverflow); 四种引用类型(强引用、软引用、弱引用、虚引用)的区别及代码示例; 对象生命周期和垃圾回收机制,包括可达性分析和GC Roots概念; finalize方法的作用和局限性。 文章通过具体代码演示了各种内存异常场景,并分析了垃圾回收的判断标准和工作原理,帮助理解JVM内存管理机制。

2025-06-01 09:24:21 1165

原创 Java并发编程

本文系统地介绍了Java并发编程的核心知识,涵盖了线程基础、并发特性、锁机制和阻塞队列四大模块。 线程基础部分首先讲解了进程与线程的区别,线程是CPU调度的基本单位。接着详述了多线程的优缺点,包括提升CPU利用率但可能带来线程安全问题。还介绍了线程状态转换、创建线程的三种方式(继承Thread、实现Runnable、实现Callable)以及线程的常用方法。 并发编程三大特性部分深入解析了: 原子性:通过synchronized、CAS、Lock和ThreadLocal四种方式保证 可见性:使用volati

2025-06-01 09:22:36 909

原创 Spring的事务机制

Spring事务机制基于数据库事务和AOP实现,通过代理对象处理@Transactional注解方法,控制事务的创建、提交与回滚。事务隔离级别对应数据库设置,传播机制则通过多数据库连接实现。失效场景包括:非代理对象调用方法或将方法设为private(cglib无法代理)。事务的核心在于修改连接autocommit属性,由AOP在方法执行前后管理事务状态。

2025-05-27 21:33:41 282

原创 作为程序员,你应该有产品意识

产品意识是站在产品角度思考问题的思维方式,包含用户意识、数据意识和商业意识。用户意识要求挖掘真实需求,提升用户体验;数据意识强调通过数据分析验证决策;商业意识关注产品价值。程序员培养产品意识需要转变思维习惯:从技术实现转向用户体验,从功能开发转向价值创造。具备产品意识能提升模块体验、优化技术方案、改善协作效率,为产品和自身带来更大价值。关键在于解放思想、改变习惯并付诸实践,在技术思维基础上融合产品视角。

2025-05-27 21:26:34 350

原创 为什么要使用线程池

摘要:Java线程创建成本高昂,涉及内存分配和系统调用,频繁创建销毁线程效率低下。线程池通过复用线程提升性能,并管理线程统计信息实现高效任务调度。推荐阅读业务幂等性技术架构相关内容。

2025-05-24 16:46:43 228

原创 如何用事件风暴构建领域模型?

本文介绍了通过事件风暴进行领域建模的方法,以用户中台为例,重点阐述了产品愿景和业务场景分析两个关键阶段。产品愿景阶段需要明确产品定位、目标用户和核心价值,通过团队讨论达成一致;业务场景分析则需从用户视角出发,梳理典型业务流程(如系统岗位设置、用户权限配置、登录校验等),识别领域对象。该方法强调跨职能团队参与,确保业务需求与系统设计的有效对接。

2025-05-24 16:39:53 275

原创 领域建模:如何用事件风暴构建领域模型?

摘要: 采用DDD(领域驱动设计)能有效划分微服务的逻辑与物理边界,其战略设计(如事件风暴)比战术设计更关键。事件风暴通过工作坊形式,聚集领域专家、开发团队等,利用可视化贴纸协作构建领域模型。核心参与者包括业务专家(如产品经理、资深开发等),需准备不同颜色的贴纸标记命令、实体、事件等,并选择宽敞墙面以促进高效互动。重点关注业务行为、触发关系及领域对象(事件、命令、实体),从而统一团队语言并指导微服务设计。

2025-05-24 16:34:17 738

原创 数据保护与通讯安全

本文摘要:数据安全保护要点包括实施最小权限原则、加密存储敏感数据、清除临时文件、保护源代码和客户端信息;通信安全方面要求使用TLS加密传输、配置有效证书、防止降级攻击,并对所有含敏感内容的连接强制加密。同时需注意清除注释文档、禁用自动填充和客户端缓存,过滤HTTP请求中的敏感参数。

2025-05-24 00:15:37 790

原创 会话管理有哪些

本文总结了会话管理的安全控制要点:1)服务器端生成强随机会话标识符;2)安全设置cookie属性(Secure、HttpOnly);3)实施会话超时和强制终止机制;4)禁止并发登录和会话复用;5)敏感操作使用随机令牌防CSRF;6)避免在URL/日志中暴露会话ID;7)HTTPS环境下创建新会话标识符。这些措施可有效防范会话劫持、CSRF等安全风险。

2025-05-24 00:13:12 454

原创 MySQL8新特性底层原理

MySQL 8.0引入了降序索引,仅InnoDB存储引擎支持,且仅限于BTREE索引。与之前的版本不同,MySQL 8.0不再对GROUP BY操作进行隐式排序,需要手动添加排序语句。降序索引通过优化B+树结构,使得查询时无需额外排序操作,提高了查询效率。此外,MySQL 8.0在Doublewrite Buffer和redo log方面也进行了优化,如将doublewrite存储区从系统表空间独立出来,提高了写入效率和灵活性。快速添加列的功能通过InnoDB的“Fast Index Creation”特性

2025-05-17 11:07:56 640

原创 超高并发直播弹幕方案

弹幕是一种在视频网站上广泛使用的互动形式,允许用户在观看视频时实时发表评论和吐槽。服务器推送技术则用于实现信息的实时更新,无需用户手动刷新页面。这种技术在视频网站的弹幕功能、股票网站的实时数据更新以及电商平台的支付成功后页面跳转等场景中广泛应用。弹幕和服务器推送技术均基于HTTP协议,通过JavaScript和后台技术实现,无需Flash支持。服务器推送技术包括Ajax短轮询、Comet和SSE(Server-Sent Events)等,每种技术各有优势,适用于不同的业务需求。WebSocket则提供了真正

2025-05-17 10:41:36 940

原创 程序开多少线程合适?

文章讨论了CPU密集型和I/O密集型程序在处理线程数上的不同策略。CPU密集型程序主要依赖于CPU的计算能力,因此其最佳线程数通常等于CPU的核心数或核心数加一,以确保CPU的高效利用。而I/O密集型程序由于涉及大量的输入输出操作,线程等待时间较长,因此需要更多的线程来优化性能,最佳线程数可以按照CPU核心数乘以(1+(I/O耗时/CPU耗时))来计算,通常建议为2N+1,其中N为CPU核心数。这些策略有助于根据程序类型合理分配线程资源,提升系统整体性能。

2025-05-17 10:37:01 327

原创 如何预防死锁?

死锁发生的四个必要条件是:互斥条件、不可剥夺条件、请求和保持条件、循环等待条件。预防死锁的策略包括破坏这些条件。互斥条件由于是资源使用的固有特性,无法改变。破坏不可剥夺条件可以通过在进程等待时释放其占有的资源,使其重新加入系统资源列表。破坏请求与保持条件可以通过静态分配(进程开始执行时申请所有资源)或动态分配(申请资源时不占用系统资源)实现。破坏循环等待条件则采用资源有序分配,要求进程按资源编号顺序申请资源。这些策略有助于预防死锁的发生。

2025-05-17 10:33:52 255

原创 字符串性能优化不容小觑,百M内存轻松存储几十G数据

在 Java 语言中,Sun 公司的工程师们对 String 对象做了大量的优化,来节约内存空间, 提升 String 对象在系统中的性能。了解了 String 对象的实现后,你有没有发现在实现代码中 String 类被 final 关键字修饰 了,而且变量 char 数组也被 final 修饰了。我们知道类被 final 修饰代表该类不可继承,而 char[] 被 final+private 修饰,代表了 String 对象不可被更改。

2025-05-07 15:46:24 416

原创 JDK8 新特性 Stream 如何优化遍历?

现在很多大数据量系统中都存在分表分库的情况。例如,电商系统中的订单表,常常使用用户 ID 的 Hash 值来实现分表分库,这样是为了减 少单个表的数据量,优化用户查询订单的速度。 但在后台管理员审核订单时,他们需要将各个数据源的数据查询到应用层之后进行合并操 作。 例如,当我们需要查询出过滤条件下的所有订单,并按照订单的某个条件进行排序,单个数 据源查询出来的数据是可以按照某个条件进行排序的,但多个数据源查询出来已经排序好的 数据,并不代表合并后是正确的排序,所以我们需要在应用层对合并数据集合重

2025-05-07 15:38:52 536

原创 Kafka消费者端重平衡流程

重平衡的完整流程需要消费者 端和协调者组件共同参与才能完成。我们先从消费者的视角来审视一下重平衡的流程。在消费者端,重平衡分为两个步骤:分别是加入组和等待领导者消费者(Leader Consumer)分配方案。这两个步骤分别对应两类特定的请求:JoinGroup 请求和 SyncGroup 请求。 当组内成员加入组时,它会向协调者发送 JoinGroup 请求。在该请求中,每个成员都要将 自己订阅的主题上报,这样协调者就能收集到所有成员的订阅信息。一旦收集了全部成员的 JoinGroup 请求后,协调

2025-04-18 18:12:01 638

原创 Kafka 中幂等生产者和事务生产者是一回事吗

所谓的消息交付可靠性保障,是指 Kafka 对 Producer 和 Consumer 要处理的消息提供什么样的承诺。常见的承诺有以下三种:最多一次(at most once):消息可能会丢失,但绝不会 被重复发送。精确一次(exactly once):消息不会丢失,也不会被重复发送。目前,Kafka 默认提供的交付可靠性保障是第二种,即只有 Broker 成功“提交”消息且 Producer 接到 Broker 的应答才会认为该消息成功发送。

2025-04-18 17:00:32 365

原创 解读数据集成建模中的数据模型

概念数据集成模型是针对目标系统数据集成需求的一种无需实现的展示,该 系统将作为基本的“范围”,定义了它们要如何才能被满足,同时也是为了源系统 分析,仸务和持续时间以及资源的项目规划的目的。在这个阶段,只需要确定主要的概念性流程,充分理解用户数据集成幵规划 下一阶段需求。逻辑数据集成模型对捕获首次过滤源映射、业务规则、目标数据集表戒者文 件)的数据集成需求产生一组详细描述。这些模型为预期的数据集成应用描绘逡辑 提取,数据质量,转换,以及加载需求。这些模型仍然被认为是不技术无关的。

2025-04-13 20:49:37 361

原创 如何优化多线程上下文切换?

如果是单个线程,在 CPU 调用之后,那么它基本上是不会被调度出去的。如果可运行的线程数远大于 CPU 数 量,那么操作系统最终会将某个正在运行的线程调度出来,从而使其它线程能够使用 CPU ,这就会导致上下文切换。还有,在多线程中如果使用了竞争锁,当线程由于等待竞争锁而被阻塞时,JVM 通常会将 这个锁挂起,并允许它被交换出去。如果频繁地发生阻塞,CPU 密集型的程序就会发生更 多的上下文切换。

2025-04-12 16:40:43 955

原创 如何制定性能调优策略

性能测试是提前发现性能瓶颈,保障系统性能稳定的必要措施。下面我先给你介绍两种常用 的测试方法,帮助你从点到面地测试系统性能。微基准性能测试可以精准定位到某个模块或者某个方法的性能问题,特别适合做一个功能模 块或者一个方法在不同实现方式下的性能对比。例如,对比一个方法使用同步实现和非同步 实现的性能。宏基准性能测试是一个综合测试,需要考虑到测试环境、测试场景和测试目标。首先看测试环境,我们需要模拟线上的真实环境。然后看测试场景。我们需要确定在测试某个接口时,是否有其他业务接口同时也在平行运 行,造成干扰。

2025-04-12 16:31:26 748

原创 数据仓库元数据的管理

数仓建模方法元数据(),主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态 及的任务运行状态。一般会通过元数据资料库()来统一地存储和管理元数据,其主要 目的是使数据仓库的设计、部署、操作和管理能达成协同和一致。元数据是数据仓库管理系统的重要组成部分,元数据管理是企业级数据仓库中的关键组件,贯穿数据仓库构建 的整个过程,直接影响着数据仓库的构建、使用和维护。元数据可分为技术元数据和业务元数据。

2025-04-11 20:35:42 545

原创 金融科技数据安全

金融科技安全架构金融科技安全架构数据安全生命周期数据安全管理从数据全生命周期角度,从数据产生、数据存储、数据使用、数据展现、数 据传输,到数据销毁,最终建立闭环数据安全管理机制移动安全 - 域名解析HTTPDNSHTTPDNS使用HTTP协议承载DNS服务,代替传统的基于UDP协议的DNS。绕开运营商LocalDNS,有效防止域名劫持,提高域名解析效率。智能解析,精准调度。域名修改实时生效,支持HTTP/HTTPS。

2025-04-11 20:27:10 611

原创 业务幂等性技术架构体系-接口幂等

但是,业务失败或超时,在生产环境下,一万个里最多也就十个左右会失败,那为了这十来个请求,让其 他九千九百多个请求都产生额外请求,就有一些得不偿失了。当用户进行表单提交时,会重定向到另外一个提交成功页面,而不是停留在原 先的表单页面。其实也会存在问题,假设具体业务代码执行超时或失败,没有向客户端返回 明确结果,那客户端就很有可能会进行重试,但此时之前的token。则是一个合法请求允许执行,如果是其他值,则代表是非法请求,直接返回。已经被删除了,则会被认为是重复请求,不再进 行业务处理。后退导致表单重复提交。

2025-04-11 16:08:32 376

原创 业务幂等性技术架构体系-业务问题

幂等性介绍幂等性介绍现如今很多系统都会基于分布式或微服务思想完成对系统的架构设计。那么在这一个系统中,就会存在若干个微服 务,而且服务间也会产生相互通信调用。那么既然产生了服务调用,就必然会存在服务调用延迟或失败的问题。当 出现这种问题,服务端会进行重试等操作或客户端有可能会进行多次点击提交。如果这样请求多次的话,那最终处 理的数据结果就一定要保证统一,如支付场景。此时就需要通过保证业务幂等性方案来完成。

2025-04-11 16:03:19 1016

原创 Java 存储模型

我们知道,Java 采用共享内存模型来实现多线程之间的信 息交换和数据同步。在解释为什么会出现这样的结果之前, 我们先通过下图来简单了解下 Java 的内存模型,程序在运行时,局部变量将会存放在虚拟机栈 中,而共享变量将会被保存在堆内存中。由于局部变量是跟随线程的创建而创建,线程的销毁而销 毁,所以存放在栈中,由上图我们可知,Java 栈数据不是 所有线程共享的,所以不需要关心其数据的一致性。共享变量存储在堆内存或方法区中,由上图可知,堆内存和 方法区的数据是线程共享的。

2025-04-08 14:59:28 195

原创 如何避免死锁

避免死锁最直观的方法就是在两个事务相互等待时,当一个事务的等待时间超过设置的某一 阈值,就对这个事务进行回滚,另一个事务就可以继续执行了。5. 设置锁等待超时参数,我们可以通过 innodb_lock_wait_timeout 设置合理的等待超时 阈值,特别是在一些高并发的业务中,我们可以尽量将该值设置得小一些,避免大量事务等 待,占用系统资源,造成严重的性能开销。例如,以上我例举的两种发生死锁的场景,一个考验的是我们对锁算法的了解,另外一个考 验则是我们对聚簇索引和辅助索引的熟悉程度。

2025-04-08 14:49:43 308

原创 需求管理策略

优先战略、标准、成熟需求,强化流程对需求的管控与牵引,强化各个部门分工与协同,实现需求有序管理、高效交付。统一归口,实现需求端到端的可视化管理。根据需求分类分级,快速响应需求。加强架构对需求的主动引导。

2025-04-07 16:01:35 407

蚂蚁金融智能中台的数据底座建设与应用场景

内容概要:本文详细介绍了蚂蚁金服从构建数据底座的角度出发,搭建了一套能够应对大规模金融数据处理的基础设施架构和技术体系。该文中涵盖多个方面内容:一是通过具体事例阐述了智能理财、智能营销、智能保险、智能客服等金融科技实际落地的应用案例;二是深入剖析了蚂蚁集团内部如何通过构建高效的金融视觉平台、NLP 和知识图谱技术平台来满足不同的金融服务需求;三是讨论了确保金融行业底线的安全策略,特别是数据流转过程中的安全保障措施;四是从提升效率入手,讲解AI 在标注环节、数据流转和数据增强等方面的具体应用;五是对标注质量控制流程及其关键的技术细节进行了详细解读,提出了针对标注过程的安全性和合规性的解决方案。 适合人群:金融行业的技术人员、从事数据科学的专业人士以及对金融智能化感兴趣的科技从业者。 使用场景及目标:帮助金融机构了解和学习蚂蚁集团在智能金融领域的最佳实践;为其他想要采用相似技术和方法的企业提供了宝贵的经验借鉴;促使业内工作者关注数据质量和安全管理,并掌握提高工作效率的方法。 阅读建议:鉴于文中涉及到大量的专业术语和技术要点,建议读者提前准备好相关领域的基础知识以便更好地理解全文;同时,鼓励读者结合自身工作背景思考如何将在文中提到的技术应用于所在组织当中。

2025-02-06

腾讯社交网络APM端到端运维监控体系解析及其应用场景

内容概要:本文详细介绍了腾讯社交网络在应用性能管理(APM)领域的端到端运维监控体系建设经验。从传统的基础设施监控出发,逐步演进形成了涵盖云环境下的大规模分布式系统的全维度实时监控解决方案。文章重点探讨了针对不同类型的服务对象(如用户端、服务端及基础设施层面)所构建的一系列监控子系统的工作机制与实际效果,并深入阐述了根因定位系统——'ROOT'的设计思想和技术细节。特别是通过对告警信息的智能化筛选、分类以及根源挖掘,极大地缩短了问题排查的时间周期,有效提升了整个平台的稳定性和用户体验感。此外还涉及了一些前沿方向如微服务治理和SaaS化的展望。 适合人群:对于想要深入了解大型互联网企业运维管理模式的技术从业者或者研究者。 使用场景及目标:该资料旨在帮助用户掌握现代IT运营管理的最佳实践方法,适用于希望改进自身系统可用性的公司内部团队参考借鉴。同时也可以作为高校相关专业师生的学习资料来辅助教学科研工作。 其他说明:本文展示了腾讯多年来积累下来的宝贵工程经验和创新思维,在当前软件定义一切的趋势下极具参考价值。文中提及的各项技术和思路不仅可以应用于社交类产品,同样也能移植到其他类型的在线服务平台之上,具有广泛的实际操作意义。

2025-01-20

对于MySQL调优,需要确认业务表结构设计是否合理,SQL语句优化是否足够,该添加的索引是否都添加了,是否可以剔除多余的索引等等

对于这个查询,我们当然可以选择全表扫描来逐一对比搜索条件是否满足要求,我们也可以先使用二级索引找到对应记录的id值,然后再回表到聚簇索引中查找完整的用户记录。 由于普通二级索引并不限制索引列值的唯一性,所以可能找到多条对应的记录,也就是说使用二级索引来执行查询的代价取决于等值匹配到的二级索引记录条数。如果匹配的记录较少,则回表的代价还是比较低的,所以MySQL可能选择使用索引而不是全表扫描的方式来执行查询。这种搜索条件为二级索引列与常数等值比较,采用二级索引来执行查询的访问方法称为:ref。 对于普通的二级索引来说,通过索引列进行等值比较后可能匹配到多条连续的记录,而不是像主键或者唯一二级索引那样最多只能匹配1条记录,所以这种ref访问方法比const要差些,但是在二级索引等值比较时匹配的记录数较少时的效率还是很高的(如果匹配的二级索引记录太多那么回表的成本就太大了)。

2025-01-17

基于Activiti的低代码办公平台设计与开发:实现流程与表单自动化管理

内容概要:本文介绍了一个基于 Activiti 流程引擎的低代码办公平台的设计与开发。该平台由低代码设计模块和基本信息模块组成,支持线上创建业务对象、表单、数据对象和流程模型等,利用 DDL语言进行数据库操作、Activiti 进行流程管理,前端使用 Bpmn-js 和 Vue.js 开发,表单和数据对象通过 JSON 存储和 Vue 的 Element UI 回显。基本信息模块则涵盖了权限管理和系统管理。测试结果显示平台功能完整,设计简便易用。 适合人群:适合中小型企业的技术人员、管理人员和其他参与办公流程设计与实施的相关人员。 使用场景及目标:平台旨在减少开发投入,降低对专业开发人才的依赖。主要适用于企业内部审批、业务流程自动化等领域,帮助优化业务流程管理,提高办公效率。 其他说明:本文展示了基于Activiti低代码办公平台的具体应用场景和技术实现细节。关键技术点涉及 Activiti 工作流、Vue.js 前端框架和 MySQL 数据库管理系统,为开发类似办公系统提供了有价值的参考和借鉴。

2025-01-11

银行业IT治理最佳实践-构建安全、高效的IT治理框架以适应数字化转型

内容概要:本文系统性探讨了银行业的 IT 治理最佳实践,特别是结合 COBIT5框架与建设银行的成功经验。全文分为六大部分,依次讲解了IT组织、IT制度、业务架构、IT架构、科技内控五大方面。首先强调IT组织需在高层构建强有力的决策体系并明确各职责,同时需在基层构建高效执行体系,确保IT战略的有效实施。接着,提出了制度体系的框架和制定流程,确保IT治理机制的透明和有效。随后讨论了基于业务需求设计的企业级业务架构,以及如何通过分层的 IT架构实现高效的数据、应用和技术资源整合。最后一部分讲述了科技内控,强调建立监管体系的重要性,确保科技合规、检查监督、考核评价、整改落实的有效闭环运作。 适合人群:具备一定金融行业知识和IT背景的技术和管理人员。 使用场景及目标:适用于希望提升IT治理能力的银行和其他金融机构,旨在为企业构建全面的IT治理框架,应对复杂的内外部风险和满足不断变化的监管需求,以促进数字化转型的成功。 其他说明:文中提及的具体实例和操作细节,可以帮助管理者深入了解IT治理的具体实现方法,并从中获得有益的参考和借鉴。同时强调安全和效率兼顾的理念,并指出安全架构的重要性。此外,《IT治理最佳实践》还提供了详细的图表以辅助理解和实践。

2025-01-10

华为变革及流程管理框架:IPD和ISC流程的详细解析

内容概要:本文档详细介绍了华为公司的变革管理及主要业务流程框架,重点探讨了IPD(集成产品开发)和ISC(集成供应链)两大核心流程。文中通过具体的项目管理和流程执行细节,阐述了华为如何通过IPD和ISC提升产品开发效率和供应链管理水平。内容涵盖了从项目启动、项目规划、项目执行到项目收尾的全过程,包括关键活动、责任人、时间安排和相关工具与方法。 适合人群:适用于对企业管理和业务流程改进感兴趣的管理者、项目经理和企业顾问。 使用场景及目标:适用于企业的变革管理、流程优化和业务流程重组等场景。主要目标是帮助企业建立高效的业务流程,提高产品开发和供应链管理的效率。 其他说明:文档提供了大量的图表和实例,便于读者理解和应用。同时,文档还包含了一些华为内部的实际案例,有助于读者深入理解变革管理的具体实施过程。

2024-12-18

领域驱动设计中实体与限界上下文的重构方法

内容概要:本文介绍了领域驱动设计(DDD)中的实体与限界上下文的重构技术。内容涵盖如何从数据库表转换成Java类、属性与方法的定义、实体、值对象、聚合根和服务的概念,以及在限界上下文中封装类元素以避免不必要的副作用。同时讨论了关系管理、通用语言的创建与维护,以及验证过程。 适用人群:适用于具有Java编程背景,希望深入了解和掌握领域驱动设计重构技巧的研发人员和技术领导者。 使用场景及目标:帮助开发者理解和实践领域驱动设计的关键概念和技术手段,包括但不限于实体与限界上下文的构建和优化,从而提升系统的设计质量和可维护性。 其他说明:文章还强调了在多个限界上下文中共享内核的重要性,并探讨了不同关系类型(如一对多、多对多)的应用场景。通过学习本文,读者将能够更好地应用DDD原则,改善软件架构设计。

2024-12-17

构建高效研发体系:IPD理论及案例解析

内容概要:本文详细介绍了IPD (Integrated Product Development) 研发管理体系的概念、模式背景及其实际应用。首先解释了IPD的基本理念——集成产品开发方法,强调产品开发需全面考虑业务流程、角色与信息等多方面因素的有效协作。文章还探讨了IBMPACE模式与NPD BOK对于现代产品研发体系的重要贡献。此外,具体阐述了华为及其他中国企业导入IPD后的成功经验,揭示了其对企业研发管理效率、产品质量以及客户满意度等方面的显著改善作用。 适用人群:从事技术研发管理的企业领导者、产品经理、项目管理人员。 使用场景及目标:帮助企业管理层理解并实践IPD模式,提高新产品的市场竞争力,缩短开发周期,减少成本开支。适用于希望改进内部研发管理体系、寻求技术创新路径的成长型企业。 其他说明:文章通过实例展示了IPD模式在大型科技公司的具体运用情况,提供了宝贵的学习资料,尤其对正处于快速发展阶段的中国制造业和互联网行业有着重要的借鉴意义。

2024-11-01

领域驱动设计(DDD)中统一语言的开发方法与实践

内容概要:本文介绍了领域驱动设计(DDD)中的统一语言开发方法及其重要性。文章首先阐述了统一语言的目的,即构建一种由团队、开发人员、领域专家和其他参与者共享的语言。随后详细探讨了开发统一语言的方法,如通过对话消除术语和表达的混淆,以及使用事件风暴进行业务流程学习。文中还强调了统一语言在图表、文档和演讲中的应用,确保模型和语言的一致性。最后提供了代码示例,展示如何在实际项目中表达统一语言。 适合人群:对领域驱动设计感兴趣的软件开发人员和技术团队,特别是具有一定经验的研发人员。 使用场景及目标:①理解和应用统一语言的概念和方法;②促进领域专家和技术团队之间的有效沟通;③提高领域模型的质量和准确性。 阅读建议:建议仔细研读每个部分,特别是在代码示例部分,理解如何在实际项目中实施统一语言。此外,参与实践,通过小组讨论和事件风暴等活动来加深理解。

2024-10-26

代码为王时代:车企软件开发能力转型策略解析

内容概要:随着软件在汽车行业的重要性和复杂度日益增加,各大车企纷纷寻求提升自身软件开发能力,以应对自动驾驶化、网联化、电动化、共享化(ACES)等趋势的冲击。文章详细探讨了车企在软件开发方面的转型需求和最佳实践,涵盖了软件开发的各个方面,包括模块化架构、用户为中心的设计、需求管理、组织结构调整、人才引进和培训、‘自研或外包’策略、敏捷开发、持续集成、自动化测试以及性能管理和工具链建设。 适用人群:汽车制造及相关领域的研发管理人员、软件开发人员、企业高管。 使用场景及目标:帮助企业理解和掌握软件开发能力提升的方法论,实现高效的软件开发流程,提高产品质量和市场竞争力,防止因软件问题引发的安全隐患和召回风险,更好地把握未来的行业发展机遇。 其他说明:文章基于麦肯锡的研究和实际案例,提出了11项软件开发的最佳实践,这些实践涵盖了软件开发的各个环节,为车企在软件领域的全面转型提供了实用的指南和借鉴。

2024-10-21

DevOps与持续交付

DevOps与持续交付

2024-10-11

云闪付微服务基础设施建设及分布式ID实践

本文由沈光辉在全球软件研发行业创新峰会上的演讲整理而成,详述了云闪付的微服务基础设施构建与实践路径,涵盖了一般性和专用网关的功能设计及其优势展现、针对多活跃数据中心的具体网络解决方案及部署方法,介绍了统一业务监控系统的设计理念和技术实施方案,并阐述了FastID作为高效稳定的分布式唯一识别号解决方案的设计思路与实施要点。内容涵盖了从云闪付APP的产品和服务概述开始,详细剖析了该产品的业务场景和技术挑战;再到详细的云闪付系统整体技术和应用程序构架,探讨了系统在支持高流量条件下的伸缩性与弹性,进而引出对微服务平台建设的关注,特别是在基础设施建设方面的探索实践,特别是其网关建设和分布式事务处理策略。此外还展示了如何应对业务增长而引发的技术瓶颈问题。 适合人群包括但不限于系统设计架构师、软件研发人员、云服务提供商和IT项目管理等相关从业人员,对于正在从事或有意于大规模在线支付系统建设的工作者尤为适用。适用于正在寻求通过改进网关和分布式事务处理机制增强自身服务能力的情境,并希望实现更为智能高效的运维管理和业务监控的企业和个人。 本文旨在分享云闪付的实践经验与技术成果,并希望能为行业内面临相似挑战的人士们带来启发和借鉴。通过对云闪付实例的研究探讨解决大规模支付平台上所面临的具体问题的方法。

2024-10-10

中国信通院:企业数字化转型蓝皮报告

中国信通院:企业数字化转型蓝皮报告

2024-09-24

中国**公司供应商主数据管理办法

中国**公司供应商主数据管理办法

2024-09-24

加州政府企业架构框架V2.0

The content overview of the article is about a new enterprise architecture framework for California state agencies (CEAF 2.0), with improvements made based on practical experiences from implementing CEAF 1.0, shifting focus from IT consolidation to business capabilities and results. Suitable for agency staff developing or maintaining Enterprise Architecture (EA), providing EA services as well as planners and supervisors involved in state project implementation processes; and vendors supporting these activities. The framework is applicable when conducting strategic planning and making investment decisions, to ensure investments contribute best towards achieving organizational business goals by promoting a 'architect-plan-implement' approach. To help readers grasp its principles and benefits quickly, it provides detailed guidance across all aspects of creating an effective enterprise architecture.

2024-09-24

业务结果驱动型企业架构的分阶段规划

内容概要:本文探讨了业务结果驱动型企业架构(EA)的重要性与实际操作技巧。文章提出了面对复杂环境时企业需采用分阶段迭代法开发架构的理念,使每个阶段的业务决策更具针对性。并通过明确界定目标商业结果及其对应的关键业绩指标来引导EA发展。进一步区分EA交付结果类型的必要性和具体的实施方案细节也被深入讨论。此外,作者指出要保持企业业务发展的连贯性和高效性,EA团队不仅要与各层级利益相关方密切配合还需掌握一系列的EA工作拆解方法论。 适用人群:企业IT管理人员、技术人员及相关专业学生。 使用场景及目标:企业寻求以更高效、务实的态度开展信息化建设,希望更好地发挥企业IT资源的价值。通过明确目标和制定相应的EA策略,以达成提升企业生产力、效益与市场竞争力的目标。 其它说明:文中强调通过细致的工作分解结构、明晰的利益相关方沟通机制与有效的变更管理机制确保每一个阶段的任务顺利进行,并以此促进整个企业的长远发展战略实现。

2024-09-24

TOGAF系列指南:企业架构中的业务场景方法论

内容概要:本文为TOGAF系列指南的一部分,详细介绍并解释了用于企业架构(EA)项目的业务场景(Business Scenarios)方法的应用与步骤

2024-09-17

TOGAF系列指南-业务架构中的价值流映射及其优势

主要内容:文章探讨了‘价值’在业务领域的含义,解释了价值流的结构及其与业务架构其它部分的关系

2024-09-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除