学习笔记

大型车祸现场,电商秒杀超卖,这个锅到底有谁来背?

背景 小明在一家在线购物商城工作,最近来了一个新需求,需要他负责开发一个商品秒杀模块,而且需求很紧急,老板要求必须尽快上线。 方案 小明一开始是这么做的,直接用数据库锁进行控制,获取秒杀商品数量并加锁,如果数量大于零则成功,否则秒杀失败。 @Override @Transactional public Result startSeckilDBPCC_ONE(long seckillId, long userId) { //获取秒杀商品数量并加锁 String nativeSql = "SELECT number FROM seckill WHERE seckill_id=? FOR UPDATE"; ...

Spring中@Import的各种用法以及ImportAware接口

@Import 注解 @Import注解提供了和XML中元素等价的功能,实现导入的一个或多个配置类。@Import即可以在类上使用,也可以作为元注解使用。 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Import { /** * {@link Configuration}, {@link ImportSelector}, {@link ImportBeanDefinitionRegistrar} ...

利用Helm简化Kubernetes应用部署(2)

目录 定义Charts 使用Helm部署Demo Helm常用操作命令 定义Charts 回到之前的“charts”目录,我们依次进行解读并进行简单的修改。 Chart.yaml 配置示例: 复制代码 apiVersion: v1 appVersion: "1.1" description: A demo Helm chart for Kubernetes name: k8sapp version: 0.1.1 复制代码 如上述定义所示,Chart.yaml用于提供Charts相关的元数据定义,比如名称、版本,属于必备文件。主要字段如下所示: ...

带你涨姿势的认识一下 Kafka

Kafka 基本概述 什么是 Kafka Kafka 是一个分布式流式平台,它有三个关键能力 订阅发布记录流,它类似于企业中的消息队列 或 企业消息传递系统 以容错的方式存储记录流 实时记录流 Kafka 的应用 作为消息系统 作为存储系统 作为流处理器 Kafka 可以建立流数据管道,可靠性的在系统或应用之间获取数据。 建立流式应用传输和响应数据。 Kafka 作为消息系统 Kafka 作为消息系统,它有三个基本组件 file Producer : 发布消息的客户端 Broker:一个从生产者接受并存储消息的客户端 ...

Spring Boot 2.X(八):Spring AOP 实现简单的日志切面

AOP 1.什么是 AOP ? AOP 的全称为 Aspect Oriented Programming,译为面向切面编程,是通过预编译方式和运行期动态代理实现核心业务逻辑之外的横切行为的统一维护的一种技术。AOP 是面向对象编程(OOP)的补充和扩展。 利用 AOP 可以对业务逻辑各部分进行隔离,从而达到降低模块之间的耦合度,并将那些影响多个类的公共行为封装到一个可重用模块,从而到达提高程序的复用性,同时提高了开发效率,提高了系统的可操作性和可维护性。 2.为什么要用 AOP ? 在实际的 Web 项目开发中,我们常常需要对各个层面实现日志记录,性能统计,安全控制,事务处理,异常处理等等功能。如果我们对每个层面的每个类都独立编写这部分代码,那久而久之代码将变得很难维护,所以我们把这些功能从业务逻辑代码中分离出来,聚合在一起维护,而且我们能灵活地选择何处需要使用这些代码。 ...

markdown公式转为知乎格式

     在知乎中写技术类文章,经常会用到markdown知乎文章可以导入markdown格式,但是不支持Latex公式。知乎大神提供了替代方案: https://zhuanlan.zhihu.com/p/69142198...

从零开始入门 K8s | Kubernetes 网络概念及策略控制

作者 | 阿里巴巴高级技术专家 叶磊 一、Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特别好的参考案例。Kubernetes 对一个容器网络是否合格做出了限制,也就是 Kubernetes 的容器网络模型。可以把它归结为约法三章和四大目标。 约法三章的意思是:在评价一个容器网络或者设计容器网络的时候,它的准入条件。它需要满足哪三条? 才能认为它是一个合格的网络方案。 ...

图解数据结构】 二叉树遍历

01、赤裸裸的中年危机 前几天,《就聊挣钱》的一个球友(月亮雨)加了我的微信后,发了一条信息: 您好,非常感谢您能通过微信好友请求,我在看星球第一期精华的时候,看到了您的文章,同为技术人,对您的奋斗很感慨,对自己浑浑噩噩的日子感到很惭愧。 看到这条留言的时候,我的脸上泛起了不好意思的红晕,于是我就回他说:“见笑了,我比你更配得上浑浑噩噩这个词呢。” 也许是被我这句无心的话逗乐了,月亮雨就放松了下来,然后给我回复了一段长长的内容,我摘取其中的一部分,大家看一看。 哈哈,您说笑了。您通过自己的行动,体现了自己的价值。 ...

CocosCreator 快速开发推箱子游戏,附代码

游戏总共分为4个功能模块: - 开始游戏(menuLayer) - 关卡选择(levelLayer) - 游戏(gameLayer) - 游戏结算(gameOverLayer) Creator内组件效果如下: ​ 游戏开始默认显示menuLayer,游戏中,通过控制各个层级的显示和隐藏,实现不同模块的切换。例如开始游戏,点击开始以后,触发回调函数,切换到游戏关卡选择界面,绑定关系如下图: ​ 实现代码如下: 复制代码 // 开始按钮回调 startBtnCallBack(event, customEventData){ ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程