- 什么是 separation of concern? 在软件开发中,separation of concern 是指将业务逻辑、数据访问和控制分离成不同的组件,以实现各个组件之间的解耦和复用。它的目的是将业务逻辑从具体的实现细节中解放出来,使得不同的组件之间可以独立地进行改进和重用,从而提高软件系统的可维护性、可扩展性和可重用性。 几种常见的设计模式工厂模式:工厂模式是一种创建型设计模式,用... 什么是 separation of concern? 在软件开发中,separation of concern 是指将业务逻辑、数据访问和控制分离成不同的组件,以实现各个组件之间的解耦和复用。它的目的是将业务逻辑从具体的实现细节中解放出来,使得不同的组件之间可以独立地进行改进和重用,从而提高软件系统的可维护性、可扩展性和可重用性。 几种常见的设计模式工厂模式:工厂模式是一种创建型设计模式,用...
- 设计模式是计算机领域中的一种通用解决方案,用于解决一类特定问题。它是通过在大量实践中总结出的经验教训而形成的,可以帮助开发人员更加高效地设计和实现软件系统。设计模式提供了一些常用的解决问题的技巧和方法,以便在实现类似功能时可以更快地完成任务。以下是一些常见的互联网设计模式,每个模式都有其特点和用途:单例模式(Singleton Pattern):这种模式用于确保一个类只有一个实例,并提供全局... 设计模式是计算机领域中的一种通用解决方案,用于解决一类特定问题。它是通过在大量实践中总结出的经验教训而形成的,可以帮助开发人员更加高效地设计和实现软件系统。设计模式提供了一些常用的解决问题的技巧和方法,以便在实现类似功能时可以更快地完成任务。以下是一些常见的互联网设计模式,每个模式都有其特点和用途:单例模式(Singleton Pattern):这种模式用于确保一个类只有一个实例,并提供全局...
- 单例模式概述单例模式是一种创建型设计模式,它保证一个类仅有一个实例,并提供一个访问该实例的全局访问点。单例模式可以分为懒加载单例模式和饿汉式单例模式。懒加载单例模式是指在第一次使用时才创建实例,之后的使用直接返回已有的实例。这种模式的优点是减少了内存占用,缺点是在第一次调用时可能会延迟。饿汉式单例模式是指在类加载时就创建实例,之后的使用直接返回已有的实例。这种模式的优点是调用速度快,缺点是... 单例模式概述单例模式是一种创建型设计模式,它保证一个类仅有一个实例,并提供一个访问该实例的全局访问点。单例模式可以分为懒加载单例模式和饿汉式单例模式。懒加载单例模式是指在第一次使用时才创建实例,之后的使用直接返回已有的实例。这种模式的优点是减少了内存占用,缺点是在第一次调用时可能会延迟。饿汉式单例模式是指在类加载时就创建实例,之后的使用直接返回已有的实例。这种模式的优点是调用速度快,缺点是...
- 什么是软件架构?常见的Java应用架构模式软件架构指 SOFTWARE ARCHITECTURE ,是描述软件系统结构的模型,包括软件组件、关系和系统属性。一个好的架构能够:提高软件系统的可读性和可维护性减少模块间的耦合和冗余提高系统的扩展性和可复用性帮助开发人员更好地规划和组织项目软件架构对于大型软件项目来说,至关重要。不同的架构模式往往具有不同的优缺点,适用于不同的场景。在设计大型Ja... 什么是软件架构?常见的Java应用架构模式软件架构指 SOFTWARE ARCHITECTURE ,是描述软件系统结构的模型,包括软件组件、关系和系统属性。一个好的架构能够:提高软件系统的可读性和可维护性减少模块间的耦合和冗余提高系统的扩展性和可复用性帮助开发人员更好地规划和组织项目软件架构对于大型软件项目来说,至关重要。不同的架构模式往往具有不同的优缺点,适用于不同的场景。在设计大型Ja...
- 服务网格(Service Mesh)简介 什么是服务网格服务网格(Service Mesh)是一种用于管理和监控微服务架构的网络基础设施层。它通过为微服务之间的通信提供可靠性、安全性和可观测性的能力,使得开发人员可以专注于业务逻辑的开发,而无需关注底层的网络通信细节。服务网格通常由一组具有特定功能的代理组成,这些代理位于微服务的边界处,负责将请求转发给目标服务,并提供丰富的功能,如流量管理... 服务网格(Service Mesh)简介 什么是服务网格服务网格(Service Mesh)是一种用于管理和监控微服务架构的网络基础设施层。它通过为微服务之间的通信提供可靠性、安全性和可观测性的能力,使得开发人员可以专注于业务逻辑的开发,而无需关注底层的网络通信细节。服务网格通常由一组具有特定功能的代理组成,这些代理位于微服务的边界处,负责将请求转发给目标服务,并提供丰富的功能,如流量管理...
- 高可用性(High Availability) 什么是高可用性(High Availability)?高可用性(High Availability,简称HA)是指在系统运行过程中,当某个组件或服务出现故障时,系统能够自动切换到备用组件或服务,从而保证系统的持续稳定运行。简单来说,就是确保系统在任何时候都能正常提供服务,不会因为单点故障而导致整个系统崩溃。 实现高可用性的常见策略和技术 负载... 高可用性(High Availability) 什么是高可用性(High Availability)?高可用性(High Availability,简称HA)是指在系统运行过程中,当某个组件或服务出现故障时,系统能够自动切换到备用组件或服务,从而保证系统的持续稳定运行。简单来说,就是确保系统在任何时候都能正常提供服务,不会因为单点故障而导致整个系统崩溃。 实现高可用性的常见策略和技术 负载...
- 锁是计算机科学中非常重要的概念之一,用于保护共享资源,避免多个进程或线程同时对资源进行访问,从而导致数据竞争和不确定性结果。在互联网领域,锁的应用也非常广泛,例如分布式系统、数据库、缓存等。本文将深入探讨锁的粒度,以及其在互联网系统中的应用和优化。一、锁的粒度锁的粒度是指锁的控制范围,即哪些资源可以被锁定以及锁定的时间长度。根据锁的粒度不同,可以分为以下几种类型:细粒度锁细粒度锁是指锁的范围... 锁是计算机科学中非常重要的概念之一,用于保护共享资源,避免多个进程或线程同时对资源进行访问,从而导致数据竞争和不确定性结果。在互联网领域,锁的应用也非常广泛,例如分布式系统、数据库、缓存等。本文将深入探讨锁的粒度,以及其在互联网系统中的应用和优化。一、锁的粒度锁的粒度是指锁的控制范围,即哪些资源可以被锁定以及锁定的时间长度。根据锁的粒度不同,可以分为以下几种类型:细粒度锁细粒度锁是指锁的范围...
- 随着业务的发展和技术的演进,数据库的迁移和升级成为许多软件开发者面临的挑战之一。华为云提供了强大的数据库迁移服务,使得数据迁移和升级变得更加平滑和高效。本文将介绍如何在华为云上利用数据库迁移服务进行数据迁移和升级,并提供示例代码帮助读者理解和实践。步骤1: 创建华为云数据库服务首先,我们需要在华为云上创建一个数据库实例。在控制台中选择合适的数据库引擎和规格,并设置相关参数。完成创建后,我们将... 随着业务的发展和技术的演进,数据库的迁移和升级成为许多软件开发者面临的挑战之一。华为云提供了强大的数据库迁移服务,使得数据迁移和升级变得更加平滑和高效。本文将介绍如何在华为云上利用数据库迁移服务进行数据迁移和升级,并提供示例代码帮助读者理解和实践。步骤1: 创建华为云数据库服务首先,我们需要在华为云上创建一个数据库实例。在控制台中选择合适的数据库引擎和规格,并设置相关参数。完成创建后,我们将...
- 在互联网应用中,查询优化问题是一个常见的问题。注查询是指在一个查询语句中,对多个表进行关联查询,从而获取更加详细的数据。在实际应用中,由于数据量大、查询复杂等原因,注查询优化问题经常会成为系统性能瓶颈。以下是一些常见的注查询优化问题及解决方案:多表联接在进行多表联接时,如果使用传统的 Join 语句,会导致查询效率低下,因为 Join 语句需要进行多次扫描操作。为了解决这个问题,可以使用 E... 在互联网应用中,查询优化问题是一个常见的问题。注查询是指在一个查询语句中,对多个表进行关联查询,从而获取更加详细的数据。在实际应用中,由于数据量大、查询复杂等原因,注查询优化问题经常会成为系统性能瓶颈。以下是一些常见的注查询优化问题及解决方案:多表联接在进行多表联接时,如果使用传统的 Join 语句,会导致查询效率低下,因为 Join 语句需要进行多次扫描操作。为了解决这个问题,可以使用 E...
- MyBatis是一个流行的Java ORM框架,它提供了许多强大的功能和API,其中之一就是#和的区别。#和$是MyBatis中的两个不同的关键字,它们的作用和使用场景有所不同。#表示占位符,它可以被用于代替实际的表名或列名,从而简化SQL语句的书写。例如:xmlCopy code<select id="selectUsers" resultType="User">SELECT * FROM... MyBatis是一个流行的Java ORM框架,它提供了许多强大的功能和API,其中之一就是#和的区别。#和$是MyBatis中的两个不同的关键字,它们的作用和使用场景有所不同。#表示占位符,它可以被用于代替实际的表名或列名,从而简化SQL语句的书写。例如:xmlCopy code<select id="selectUsers" resultType="User">SELECT * FROM...
- Spring是一个流行的Java开源框架,它提供了许多强大的内置类和服务,其中之一就是Spring的Bean(BeanFactory)。BeanFactory是Spring框架的核心,它是一个全局的ObjectMapper,用于实例化和管理所有的Bean(包括Bean的实例、属性和方法等)。Spring中有一种特殊的注解,叫做@Autowired,它用于自动装配Bean。@Autowired... Spring是一个流行的Java开源框架,它提供了许多强大的内置类和服务,其中之一就是Spring的Bean(BeanFactory)。BeanFactory是Spring框架的核心,它是一个全局的ObjectMapper,用于实例化和管理所有的Bean(包括Bean的实例、属性和方法等)。Spring中有一种特殊的注解,叫做@Autowired,它用于自动装配Bean。@Autowired...
- 读多写少是数据库设计中一个常见的场景,在这种场景下,数据库需要处理较多的读取请求,而写入请求相对较少。为了提高数据库的性能和响应速度,需要针对读多写少的特点进行相应的优化。一种常见的解决方案是采用缓存技术,例如使用Redis存储部分高并发的读请求数据。通过将热门数据存储在Redis缓存中,可以减轻数据库的压力,加快读取请求的响应速度。这样既减少了对数据库的读取压力,又提高了系统整体的性能。另... 读多写少是数据库设计中一个常见的场景,在这种场景下,数据库需要处理较多的读取请求,而写入请求相对较少。为了提高数据库的性能和响应速度,需要针对读多写少的特点进行相应的优化。一种常见的解决方案是采用缓存技术,例如使用Redis存储部分高并发的读请求数据。通过将热门数据存储在Redis缓存中,可以减轻数据库的压力,加快读取请求的响应速度。这样既减少了对数据库的读取压力,又提高了系统整体的性能。另...
- 怎么说呢,有一种年度总结之前赶进度的感jio,盛产似那啥了突然就,昨天先是改了需求,再报了2个异常,又紧接着报了个故障,没把我累死,对了,这是我入职之后第一次被报故障,当然了,最后我没让他成为故障,对了,故障解决后,把我从故障群踢了(因为解决了就解散群),从报障到确认为非故障15分钟。好了进入正题,处理下bug。异常描述org.springframework.jdbc.BadSqlGramm... 怎么说呢,有一种年度总结之前赶进度的感jio,盛产似那啥了突然就,昨天先是改了需求,再报了2个异常,又紧接着报了个故障,没把我累死,对了,这是我入职之后第一次被报故障,当然了,最后我没让他成为故障,对了,故障解决后,把我从故障群踢了(因为解决了就解散群),从报障到确认为非故障15分钟。好了进入正题,处理下bug。异常描述org.springframework.jdbc.BadSqlGramm...
- 在实际场景中提供了N个接口给第三方,常规情况下是不会同时调用的,如果N个接口同时调用,随着接口的数量和业务场景逻辑增加,将会给服务带来很不好的体验,但恰恰业务就是如此,面对同一类型的业务查询场景,我将策略模式应用到此接口上来应对。关于实际设计的demo可参考往期文章炫技?No. 这个对外接口与以往不同的是,接口调用通过openFeign方式调用,针对此类调用也提醒了注意事项Comp... 在实际场景中提供了N个接口给第三方,常规情况下是不会同时调用的,如果N个接口同时调用,随着接口的数量和业务场景逻辑增加,将会给服务带来很不好的体验,但恰恰业务就是如此,面对同一类型的业务查询场景,我将策略模式应用到此接口上来应对。关于实际设计的demo可参考往期文章炫技?No. 这个对外接口与以往不同的是,接口调用通过openFeign方式调用,针对此类调用也提醒了注意事项Comp...
- python通过百度地图API,获取所给地址的经纬度和地点模糊搜索,并将返回的点反选回地图点上第一步:申请百度地图AK创建你的第一个应用注意:这里的创建应用如果是PC浏览器应选择web端,而不是服务端根据页面模糊搜索所在城市的经纬度和名称,白名单不限制时设置英文状态下的*效果如图找到海量加载的HTML代码部分地图JS API示例 | 百度地图开放平台 (baidu.com)复制代码到指定页... python通过百度地图API,获取所给地址的经纬度和地点模糊搜索,并将返回的点反选回地图点上第一步:申请百度地图AK创建你的第一个应用注意:这里的创建应用如果是PC浏览器应选择web端,而不是服务端根据页面模糊搜索所在城市的经纬度和名称,白名单不限制时设置英文状态下的*效果如图找到海量加载的HTML代码部分地图JS API示例 | 百度地图开放平台 (baidu.com)复制代码到指定页...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签