- 博客(84)
- 资源 (6)
- 收藏
- 关注
原创 mysql锁机制要览+示例讲解
这篇文章对mysql的锁相关的概念以及关键特性做了清晰的阐述:包括mysql的锁隔离级别;共享与排它,意向与非意向,不同锁之间的兼容关系;三种行级锁:记录锁、间隙锁、next-key锁的特性以及相应的测试案例;几种死锁出现的例子。
2017-06-22 20:45:50 495 1
原创 vue3-element-admin实现同一个菜单多标签
本文介绍了在vue3-admin-template框架基础上Tagsbar,多tag菜单的实现。并介绍了如果通过动态菜单,实现通过一个菜单多个tag页面。
2024-04-09 14:36:05 581
原创 设计模式及其在项目、框架中的应用
本文以适用场景、类图分析、举例三部曲的方式讲解设计模式,举例时以真实项目中以及框架中的应用的为例,主要以类图、伪代码等方式展示结构。
2024-03-23 23:03:59 886
原创 Quartz自定义Trigger类型 WeekdaysTrigger
quartz是一个可以动态添加、管理定时任务的框架,因为业务需要,增加一种支持周XX执行的定时任务WeekdaysTrigger,需要编写WeekdaysTrigger的实现类WeekdaysTriggerImpl 和 trigger数据实例化类 WeekdaysTriggerPersistenceDelegate。
2021-07-31 21:24:57 867 1
转载 SpringCloud Gateway
本文系统地讲解了SpringCloud Gateway(即网关)的语法、组成结构以及高级特性:降级与限流,包含测试代码。
2020-09-20 08:26:45 667
转载 SpringBoot + MybatisPlus 实现多数据源事务
本文针对SpringBoot + MybatisPlus的架构,实现了在mapper级切换数据源,在service层指定需要实现事务的数据源的功能。
2020-09-13 11:54:07 7052 3
原创 SpringBoot整合Dubbo示例以及原理代码跟踪
本文首先介绍了SpringBoot 整合Dubbo的示例代码;接着讲解SpringBoot启动过程中Service暴露、Reference引用注入的过程,包括代码跟踪与类图展示。
2020-08-25 18:29:00 846 1
转载 SpringApplication启动过程和AutoConfiguration实现
本文讲解了SpringApplication启动的全过程,并讲了SpringBootApplication中使用SpringFactoriesLoader来加载配置类的实现;通过本文的讲解读者能够明白spring-boot-configure中配置类的加载时机 和 过程。
2020-08-23 10:35:35 1259
转载 mybatis代理sql执行实现流程和类图分析
本文讲解Mybatis在使用上通过Mapper接口即可实现实际数据库sql操作的流程,中间涉及到SqlSession、MybatisMapperProxy等类,会对类之间的关系做分析。
2020-08-16 13:15:48 703
原创 设计模式在项目、框架中应用
随着应用开发的流行,应对变化的需求和不断增长的代码量,一些有经验的开发者提炼出有效应对变化,并使代码结构清晰、易理解维护的实践,设计模式由此而来。本系列文章将介绍设计模式在项目实践、框架源码编写中的应用。设计模式入门 责任链模式 抽象工厂模式 外观模式 观察者模式 代理模式 ...
2020-08-15 16:11:23 181
原创 设计模式应用之代理模式
适用场景:要为一些过程增加统一的拦截处理,比如记录日志、权限验证,就可以使用代理模式。通过对实际对象的处理动作进行代理,就可以实现动作拦截、行为控制、增加统一动作的效果。类图分析:角色: 被代理接口 被代理类 代理类举例:1、拦截器实现权限过滤...
2020-08-15 16:10:01 121
原创 设计模式应用之观察者模式
适用场景:事件的发布者与订阅者常常属于不同的业务模块、不同的处理线程,如何将这两者、这两个过程解耦,就是观察者模式实现的效果。一个发布者可以对应多个订阅者,一旦发布者发出通知,订阅者收到消息,便可做相应的消息处理。类图分析:角色: 主题 观察者举例:1、消息队列在分布式应用中,为了达到模块之间解耦、数据处理过程异步拆解的目的,常常会以消息的形式来触发过程执行,通知者和被通知者分别对应消息队列中的发布者和订阅者。比如订单生成成功后,锁定库存需要同步进行,但是订单操作日志记录的工作实时性要.
2020-08-15 16:08:51 130
原创 设计模式应用之外观模式
适用场景:封装内部的多个服务的功能,给外界提供一个统一的接口。类图分析:角色:对外接口 内部实现类举例:1、快麦erp,模块一Dubbo接口的形式暴露本模块的对外功能接口,这些接口的实现中包含对本模块的服务功能的整合。...
2020-08-15 16:06:49 126
原创 设计模式应用之抽象工厂模式
适用场景:需要根据"系列名称"等来获取一系列的对象实例,这些对象实例有一个聚合的业务含义,比如都属于鞋子加工过程中用到的设备。类图分析:角色:抽象工厂 工厂 抽象产品 产品举例:1、快麦erp,业务流程中需要与不同平台(淘宝、京东)交互,比如从不同平台下载订单,下载部分的代码包含平台接口请求以及转化为我们系统的订单实体的代码。我们将这些与平台相关的业务逻辑代码提取出来,作为抽象接口,在业务代码中使用的时候以PlatformAccessManager.load(平台名,业务类.class)
2020-08-15 16:04:24 151
原创 设计模式应用之责任链模式
适用场景:在一个流程中,对某一个对象有一串不同的业务处理操作,可以把这些业务操作封装成一个抽象业务的不同实现类,便于在链路中动态添加处理逻辑。类图分析:角色:请求者处理者 处理者链路举例:1、快麦erp,订单进入系统后,需要进行一系列的后续处理动作:敏感信息加密、分配赠品、匹配仓库、物流方式、锁定库存,这些动作可以都抽象成对订单的操作,以链路的方式将这些动作串起来。2、Sentinel的SlotChainSentinel是一个流控框架,对进来的请求进行统计、限流、权限控制、降级.
2020-08-15 16:01:52 152
转载 Spring Cloud Stream消息分区
通过上一篇 Spring Cloud消息中间件抽象Stream,我们知道了Stream的概念模型以及使用方法。对于一些特殊场景,我们希望那些具备相同特征的消息能够被同一个实例消费,这时候我们就需要对消息进行分区处理。消费方配置在Spring Cloud Stream中实现消息分区非常简单,我们可以根据消费组实例做一些配置修改来实现,具体如下:server: port: 8852spring: cloud: stream: bindings: demo_
2020-08-14 20:23:33 1034
转载 Spring Cloud @SentinelResource方法层流控
Spring Cloud Sentinel,通过@SentinelResource实现方法级别的流控;并介绍了在代码层自定义 流控达到限制、降级时 的处理方法。
2020-08-14 14:44:40 328
转载 Spring Cloud Stream + RocketMq实现事务性消息
本文先介绍原理,再编码实践,通过Spring Cloud Stream框架,结合使用rocketmq来实现事务性消息。
2020-08-13 20:15:17 3724
转载 Spring Cloud消息中间件抽象Stream
Spring Cloud Stream是一个用来为微服务应用构建消息驱动能力的轻量级框架。它可以基于Spring Boot来创建独立的、可用于生产的Spring应用程序。它通过使用Spring Integration来连接消息代理中间件以实现消息事件驱动的微服务应用。概念理解Spring Cloud Stream为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并且引入了发布-订阅、消费组以及消息分区这三个核心概念。从组件结构上,Spring Cloud Stream中有以下几个重要概念:
2020-08-13 15:00:41 294
原创 快麦erp系统设计开发经验——整体把握
介绍产品时面试官会考察应聘者的沟通能力和思考能力,我们大部分情况都是做产品的一个功能或一个模块,但是即使是这样,自己有没有把整个系统框架或产品搞清楚,并能介绍清楚。为什么做这个系统?这个系统的价值是什么?这个系统有哪些功能?优缺点有哪些?如果让你重新设计这个系统你会如何设计?为什么做这个系统?快麦erp,因为公司做电商相关业务,通过一款叫超级店长的工具服务网店小卖家,但是对于有库存管理、采购、财务管理等需求的,大单量的大卖家却没有相关服务产品,所以开发了这个系统。这个系统的价值是..
2020-08-07 12:07:03 2832 1
转载 Sentinel使用Nacos存储限流规则
本文对Sentinel进行了改造,达到的效果:在Sentinel和Nacos上对流控规则做的修改可以互相推拉,并且会持久化到Nacos的配置中。
2020-07-19 12:43:06 2231
转载 Spring Cloud Sentinel实例(内存存储)
sentinel-dashboard: 提供了实时监控、流控规则、熔断规则的在线维护等功能。本文提供的例子仅仅是保存在内存中,在应用或Sentinel重启后会丢失规则信息,持久化存储的方案见下一篇。
2020-07-18 17:12:08 560
原创 Spring Cloud Alibaba基础教程:Feign
搭建步骤:1、新建工程 demo_feign_providermaven 依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <depe
2020-07-09 09:09:35 541
转载 Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
我们实际应用过程中还会经常碰到这样的问题:有时候我们会对应用的配置根据具体作用做一些拆分,存储在不同的配置文件中,除了归类不同的配置之外,也可以便于共享配置给不同的应用。对于这样的需求,Nacos也可以很好地支持,下面就来具体介绍一下,当使用Nacos时,我们如何加载多个配置,以及如何共享配置。加载多个配置通过前面的学习,我们已经知道Spring应用多Nacos中配置内容的对应关系是通过下面三个参数控制的:spring.cloud.nacos.config.prefixspring.cloud.
2020-07-08 21:41:56 1136
转载 SpringCloud Alibaba 配置中心多环境管理
在nacos中,本身有多个不同管理级别的概念,包括:Data ID、Group、Namespace。只要利用好这些层级概念的关系,就可以根据自己的需要来实现多环境的管理。下面,我来介绍一下,可以使用的几种实现方式:使用Data ID与profiles实现Data ID在nacos中,我们可以理解为就是一个Spring Cloud应用的配置文件名。最原始的nacos config匹配规则是这样的:${spring.cloud.nacos.cloud.prefix}-${spring.profiles.
2020-07-08 20:39:07 1322
转载 Spring框架的设计理念与设计模式分析
目录Spring的架构核心组件核心组件如何协调工作核心组件详解Bean组件Context组件Core组件Ioc容器如何工作如何创建BeanFactory工厂如何创建Bean实例并构建Bean的关系网Ioc容器的扩展点Ioc容器如何为我所用Spring中AOP特性详解动态代理的实现原理Spring AOP如何实现Spring中设计...
2020-03-11 11:30:37 393
原创 天池比赛短租数据集分析之数据图表
题目介绍活动背景共享,通过让渡闲置资源的使用权,在有限增加边际成本的前提下,提高了资源利用效率。随着信息的透明化,越来越多的共享发生在陌生人之间。短租,共享空间的一种模式,不论是否体验过入住陌生人的家中,你都可以从短租的数据里挖掘有趣的信息。活动采用了短租房源相关的公开数据,包括了结构化的表格数据、非结构化的文本和地图数据。可在统计分析、时间序列、关系网络分析、中英文自然语言处理、数据可...
2019-10-18 10:59:20 2173
原创 天池新人实战赛之[离线赛]之商品推荐
本篇文章以阿里天池的商品推荐项目为例子,介绍了通过spark的als模型来做商品推荐的方法,通过StreamingContext来实现断点继续。
2019-10-12 13:51:27 1024
原创 我的学习路径与方法之机器学习篇2——详细历程
继上一篇的大原则、方法论,这一篇讲述我机器学习的历程,包括大学时的专业积累、数学建模比赛实践;以及工作后的相关知识自学、参加网上的比赛。
2019-09-06 10:21:51 325
原创 我的学习路径与方法之机器学习导入篇
作为一名信息与计算科学专业的毕业生,我学了许多数学方面的知识以及与计算机相结合的实践。数学,这个现代科学的基石,大家又爱又恨的科目,是一门对数字以及相关的许多抽象概念不断组合、把玩的学问。所谓“阴阳术数”,在中国古代,数字有特定的含义,奇数为阳,偶数为阴,在中药、周易推演、风水评估等许多方面有应用。中药里,有时不是像现在西医配方那样以重量、体积来定一味成分的量,而是类似“蟋蟀一对”...
2019-09-05 19:29:32 319
转载 DeepFM模型理论和代码实现
背景特征组合的挑战 对于一个基于ctr预估的推荐系统,最重要的是学习到用户点击行为背后隐含的特征组合,低阶组合特征或者高阶组合特征可能都会对最终的ctr产生影响。因子分解机通过对每一维特征的隐变量内积来提取特征组合,最终效果非常好。但是虽然理论上来讲FM可以对高阶特征组合进行建模,实际上因为计算复杂度的原因一般都只用到了二阶特征组合。 DNN(深度神经网络)通过对输入...
2019-08-31 17:41:49 2037
原创 商品推荐之CIKM 2019 EComm AI:超大规模推荐之用户兴趣高效检索
题目介绍初次参加天池比赛,题目很简单:https://tianchi.aliyun.com/competition/entrance/231721/tab/158。训练集一共包含三个文件,分别为用户行为文件、用户信息表、商品信息表,详情如下。user_behavior.csv为用户行为文件,文件共有4列并以逗号分隔。每列的含义与内容如下:列名 描述 用户ID 正整数...
2019-08-25 16:34:32 4951 14
转载 产品设计之从战略到落地
战略层 成功的用户体验,其基础是一个被明确表达的战略。知道公司/团队与用户双方对对方的期许和目标,有助于促进用户体验各方面战略的确立和制定。明确商业目标和用户目标,解决两者之间的冲突,找到平衡点,确定产品原则和定位。“只可意会不可言传”的产品目标与定位,会让团队成员中的每一个人都有不同的想法,目标无法统一,会在以后的产品研发中陷入僵局,无法达到快速迭代、快速优化的效果。 ...
2019-07-28 09:45:38 728
原创 java锁机制基类AbstractQueuedSynchronizer从设计到实现到应用(源码级剖析,总目录)
本教程从并发概念、场景分析出发,依次引出锁、等待队列等概念,直至分析清楚java锁机制实现的原理。并以java锁机制实现基类AbstractQueuedSynchronizer的实现为例,从类(核心属性、方法)设计思路,到对关键代码做注释分析,再到以流程图方式直观解释流程;最后介绍了AbstractQueuedSynchronizer的应用,即如何用它来实现并发控制,以及如何自定义并发组件。分...
2019-07-20 15:54:05 253
原创 AbstractQueuedSynchronizer应用之读写锁
本文的代码部分理解,建议结合视频:https://edu.csdn.net/course/play/25414/301467思路分析首先分析读写锁的需求:1、读锁状态下,可以继续加读锁,但是不能加写锁;如果有写锁在等待队列,后续请求的读锁也需要加到等待队列中。2、写锁状态下,不能加其他锁。3、读锁获得锁之后,需要通知后继节点中(在第一个写锁之前)的读锁。如何实现呢?1、第一、二...
2019-07-18 11:56:16 372
图片工具(缩放、格式转换、pdf转图片)
2024-03-18
通过zabbix_get获取java-proxy监控项信息的脚本
2018-07-27
图片转zpl编码的方法,支持bmp、png、jpg等各种格式,分别测试有效
2017-11-12
android listview应用
2012-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人