作为一个Java开发你用过Jib吗
1. 前言 Jib是Google开发的可以直接构建 Java应用的Docker和OCI镜像的类库,以Maven和Gradle插件形式提供。它最骚操作的是可以在没有Docker守护程序的情况下构建,也就是说,您不必在计算机上安装docker守护程序!尽管Spring Boot 2…
使用反应式关系数据库连接规范R2DBC操作MySQL数据库
1. 简介 三月份已经介绍过R2DBC,它是一种异步的、非阻塞的关系式数据库连接规范。尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQL并不是一个理想的选择。这促使了一个通用的响应式关系数据库连接规范的诞生。 作为拥有庞大用…
反应式数据库驱动规范R2DBC小试牛刀
1. 简介三月份已经介绍过R2DBC,它是一种异步的、非阻塞的关系式数据库连接规范。尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQL并不是一个理想的选择。这促使了一个通用的响应式关系数据库连接规范的诞生。 作为拥有庞大用户群的关系式数据库MySQL也有了反应式驱动,不过并不是官方的。但是Spring官方将其纳入了依赖池,说明该类库的质量并不低
一对多分页的SQL到底应该怎么写?
1. 前言 MySQL一对多的数据分页是非常常见的需求,比如我们要查询商品和商品的图片信息。但是很多人会在这里遇到分页的误区,得到不正确的结果。今天就来分析并解决这个问题。 2. 问题分析 我期望的两条数据是杯子和笔记本,但是结果却只有一条。原来当一对多映射时结果集会按照多的一…
JSON类库Jackson优雅序列化Java枚举类
1. 前言 在Java开发中我们为了避免过多的魔法值,使用枚举类来封装一些静态的状态代码。但是在将这些枚举的意思正确而全面的返回给前端却并不是那么顺利,我们通常会使用Jackson类库序列化对象为JSON,今天就来讲一个关于使用Jackson序列化枚举的通用性技巧。 2. 通用…
Spring Boot 2 实战:利用Redis的Geo功能实现查找附近的位置
1. 前言 老板突然要上线一个需求,获取当前位置方圆一公里的业务代理点。明天上线!当接到这个需求的时候我差点吐血,这时间也太紧张了。赶紧去查相关的技术选型。经过一番折腾,终于在晚上十点完成了这个需求。现在把大致实现的思路总结一下。 2. MySQL 不合适 MySQL是我首先能…
Spring Security 实战干货:如何实现不同的接口不同的安全策略
1. 前言 欢迎阅读 Spring Security 实战干货 系列文章 。最近有开发小伙伴提了一个有趣的问题。他正在做一个项目,涉及两种风格,一种是给小程序出接口,安全上使用无状态的JWT Token;另一种是管理后台使用的是Freemarker,也就是前后端不分离的Sess…
聊聊依赖注入注解@Resource和@Autowired
1. 前言 @Resource和@Autowired注解都可以在Spring Framework应用中进行声明式的依赖注入。而且面试中经常涉及到这两个注解的知识点。今天我们来总结一下它们。 2. @Resource 全称javax.annotation.Resource,它属于…
Spring Boot项目启动后如何自动执行逻辑
1.前言不知道你有没有接到这种需求,项目启动后立马执行一些逻辑。比如简单的缓存预热,或者上线后的广播之类等等。如果你使用SpringBoot框架的话就可以借助其提供的接口CommandLineRunner和ApplicationRunner来实现。2.CommandLineRunnerorg.spr
从聚合支付业务的设计来聊聊策略模式
你不再需要依靠运气,而是勤奋。截止统计日期2020年6月30日,统计数据以官方公众号工具为准,运营人员不参加活动,本次活动图书由掘金社区赞助。 1. 前言 前几天讲了设计模式中的命令模式,今天来看看另一个模式。移动支付目前在国内已经是非常普及了,连楼下早餐摊的七十多岁大妈也使用…
通过mysqldump来备份和恢复MySQL
前言今天我们聊聊MySQL的备份和恢复,在下面文章中,你会了解到MySQL常见的备份类型,以及基于mysqldump命令在日常开发中如何做MySQL数据库以及表的备份和恢复。一.为什么要做备份?在数据丢失的情况下快速恢复数据。作为实验数据的来源:将生产数据拷贝一份到到本地测试库用于测试,不影响生产数
Spring Boot项目启动后如何自动执行逻辑
1.前言不知道你有没有接到这种需求,项目启动后立马执行一些逻辑。比如简单的缓存预热,或者上线后的广播之类等等。如果你使用SpringBoot框架的话就可以借助其提供的接口CommandLineRunner和ApplicationRunner来实现。2.CommandLineRunnerorg.spr
如何在Spring Boot应用启动之后立刻执行一段逻辑
1. 前言 不知道你有没有接到这种需求,项目启动后立马执行一些逻辑。比如简单的缓存预热,或者上线后的广播之类等等。如果你使用 Spring Boot 框架的话就可以借助其提供的接口CommandLineRunner和 ApplicationRunner来实现。 2. Comma…
Github推出了GitHub CLI
我们正在从命令行-GitHubCLI(现在处于beta版)中引入一种更轻松,更无缝的方式与GitHub一起使用。数以百万计的开发人员依靠GitHub使构建软件更加有趣和协作,并将ghGitHub终端带给你体验。您可以立即在macOS,Windows和Linux上安装GitHubCLI,并且随着我们对
手把手教你深度学习目标检测框架 detectron2 环境搭建
最近主要在搞深度学习方面的一些东西,所以相关的文章会多一些。当然有关于Java方面的文章也在积极的策划中。如果你有好的文章或者干货不妨投稿到微信圈子程序员交流圈中分享给大家。1.detectron2FAIR开源的目标检测框架Detectron2,基于Pytorch。它训练比从前更快,功能比从前更全,
MySQL如何分组拼接字符串?
上一篇文章跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工馮大和馮二也要面对无情的KPI考核了,他们工作干的很不错,performance分别是4和5新需求来了,静悄悄的来了!!!领导想要查看每个performance下都有谁,同时要求将这些人的名称要逗
利用 Conda 安装深度学习框架 Pytorch
1.前言Pytorch目前是炙手可热的深度学习框架。和TensorFlow比较起来学习曲线更加平滑,不用写大量的样板代码就可以对网络进行训练和使用。在最新版本的Pytorch中开始支持Java。但是安装Pytorch并不是很容易的事。今天就来说一下如何利用Conda安装Pytorch。2.Conda
读《Clean Code 代码整洁之道》之感悟
盲目自信,自认为已经敲了几年代码,还看什么整洁之道啊。我那可爱的书架读懂了我的心思,很明事理的保护起来这本小可爱,未曾让它与我牵手最近项目中的bug有点多,改动代码十分吃力,每看一行代码都带一句“这是什么XX代码啊,真XX难改”,这样持续了好几天,有天晚上坐在书房回想这几天发生的一切,仰头定睛思考,
无套路,3分钟带你轻松上手SonarQube - 代码质量检测平台
前言想成为一名优秀的工程师,代码质量一定要过关!开始搭建SonarQube1、获取postgresql的镜像$dockerpullpostgres2、启动postgresql$dockerrun--namedb-ePOSTGRES_USER=sonar-ePOSTGRES_PASSWORD=sona
Spring Boot 中使用 Spring Task 实现定时任务
1.前言在日常项目开发中我们经常要使用定时任务。比如在凌晨进行统计结算,开启策划活动等等。今天我们就来看看如何在SpringBoot中使用Spring内置的定时任务。2.开启定时任务SpringBoot默认在无任何第三方依赖的情况下使用spring-context模块下提供的定时任务工具Spring