-
flyway实现java 自动升级SQL脚本的问题及解决方法
为什么要用Flyway在日常开发中,我们经常会遇到下面的问题: 自己写的SQL忘了在所有环境执行; 别人写的SQL我们不能确定是否都在所有环境执行过了; 有人修改了已经执行过的SQL,期望再次执行; 需要新增环境做数据迁移; 每次发版需要手动控制先发DB版本,再发布应用版本;其它场景...由于项目需求的变化,或者前期设计缺陷,导致在后期需要修改数据库,这应该是一个比较
新手了解java 集合基础知识(二)
目录三、Map1、HashMap2、TreeMap3.ConcurrentHashMap总结三、Map 存储的双列元素,Key是无序的,不可重复,而Value是无序,可重复的。1、HashMappublic class HashMapDemo { private Map map = null; public void init() { map = new HashMap(
微信小程序在{{ }}中直接使用函数的方法示例
前言在微信小程序开发中(原生wxml、wxcss),想直接在{{ }}调用方法处理数据, 但是会报错。如:在项目中涉及到百分比的计算,js浮点数运算会出现精度问题,造成小数位数过多,因此想在模板语法中对值进行相应的处理。1. 使用<view>¥{{(money*0.03).toFixed(2)}}手续费(费率3%)</view>报错,无法直接使用,也不能调用js中的方法。2. 解决方案既然{{}}
Python绘图之turtle库的基础语法使用
前言Python语言的turtle库是一个直观有趣的图形绘制函数库,是python语言标准库之一。turtle库也叫海龟库,是turtle绘图体系的Python实现。turtle库是Python语言的标准库之一,是入门级的图形绘制函数库。turtle绘图体系:也叫海龟绘图系统,它是在1969年诞生,主要用于程序设计入门的一种绘图方式。Python计算生态 = 标准库 + 第三方库标准库:随解释器直
详解java如何集成swagger组件
一:简介Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。二:集成swagger1.引入pom.xml文件包(导入4个jar包)注意:jdk1.8以
Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图(推荐)
目录如何运用vue+echarts前后端交互实现动态饼图前言一、环境配置1.1 安装acharts1.2 全局引用二、圆环图前端实现 2.1 先在vue页面添加渲染盒子2.2 前端逻辑实现部分2.3 展示(可按自己需求更改前端样式)三、前后端数据交互实现3.1 创建数据库3.2 后台代码的编写如何运用vue+echarts前后端交互实现动态饼图前言我们做项目的时候,常常需要一些统计图来展示我们的数
Java正则表达式实现经纬度的合法性操作
Java正则表达式 经纬度合法性经度: -180.0~+180.0(整数部分为0~180,必须输入1到5位小数)正则表达式:/^[\-\+](0\d{1,2}\.\d{1,5}|1[0-7]\d{1}\.\d{1,5}|180\.0{1,5})$/纬度: -90.0~+90.0(整数部分为0~90,必须输入1到5位小数)正则表达式:/^[\-\+]([0-8]\d{1}\.\d{1,5}|90\.
OpenCV全景图像拼接的实现示例
本文主要介绍了OpenCV全景图像拼接的实现示例,分享给大家,具体如下:left_01.jpgright_01.jpgStitcher.pyimport numpy as npimport cv2 class Stitcher: #拼接函数 def stitch(self, images, ratio=0.75, reprojThresh=4.0,showMatches=False)
idea中使用Inputstream流导致中文乱码解决方法
1.问题描述idea中使用Inputstream流导致中文乱码解决方法,当然也不一定就是输入流,可能输出流或者其他用到了流相关的字符的都可能出现乱码,这里有一个可能的解决办法。2. 解决办法① idea中找到下面的路径File--Settings--Editor--File Encodings② Transparent native-to-ascii conversion把这个前面勾上,重新创建文
如何用Laravel包含你自己的帮助函数
很多教程都会说,你在 composer.json 这个文件中通过添加一个自动加载的文件,就可以实现这个需求。但我认为这不是一个好的方式,当你在 helpers.php 文件中添加了更多的函数时,可读性将变得很差。下面我将介绍一种方式,让你可以定义很多文件,来包含不同的函数。这将让我们的程序更加整洁和更具可读性。首先创建一个 HelperServiceProvider.php 服务提供者文件:php
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
(一)、tf.train.Saver()(1). tf.train.Saver() 是用来保存tensorflow训练模型的,默认保存全部参数(2). 用来加载参数,注:只加载存储在data中的权重和偏置项等需要训练的参数,其他一律不加载,包括meta文件中的图也不加载 (二)、tf.train.import_meta_graph(1). 用来加载meta文件中的图,以及图上定义的结点参数包括权重
SpringBoot参数校验的方法总结
一、前言在上一篇MyBatis-plus 初体验 中已经简单实现了 MyBatis-Plus 数据库查询。我们知道 CURD 离不开前后端的数据交互,因此参数校验是必不可少的。这篇主要讲一下 SpringBoot 参数校验。在 Web 开发中经常需要对前端传过来的参数进行校验,例如格式校验、非空校验等,基本上每个接口都需要进行校验。如果使用常规的 IF ELSE 进行校验,随着参数越来越多,校验逻
详解敏捷过程中的需求管理
问题分析在交流中,笔者了解到每家公司的情况: 第一家企业在第一个迭代认领了15个故事,团队很容易就完成了;老板觉得以团队的能力可以做到每个迭代完成30个故事,于是后续每个迭代都希望团队认领30个故事,团队认领30个任务后,累死累活只能完成20左右的故事; 第二家企业研发团队8人,每个迭代总有两个成员工作完不成:团队每天早会正常开,但是总感觉那两个成员整个迭代都在做那一两个故事,做的功能
SpringBoot实现动态多线程并发定时任务
本文实例为大家分享了SpringBoot实现动态多线程并发定时任务的具体代码,供大家参考,具体内容如下实现定时任务有多种方式,使用spring自带的,继承SchedulingConfigurer的方式。一、实现1、启动类在启动类添加注解@EnableScheduling开启,不然不起用做。2、新建任务类添加注解@Component注册到spring的容器中。package com.example.
IntelliJ IDEA 老司机居然还没用过 Stream Trace功能(问题小结)
前言自从 Java 8 开始,作为程序员的我们都离不开 Stream 相关功能的使用,书写起来那叫一个流畅(这个 feel~~)。但总是有一些时候,我们对 stream 的操作所要的结果和预期不符,这就需要我们逐步调试,定位问题常规调试先来看下面这段代码:public static void main(String[] args) { Object[] res = Stream.of(1,2,3
浅谈Python类的单继承相关知识
上文我们总结过了Python多继承的相关知识,没看过的小伙伴们也可以去看看,今天给大家介绍Python类的单继承相关知识。一、类的继承面向对象三要素之一,继承Inheritance人类和猫类都继承自动物类。个体继承自父母,继承了父母的一部分特征,但也可以有自己的个性。在面向对象的世界中,从父类继承,就可以直接拥有父类的属性和方法,这样就可以减少代码、多服用。子类可以定义自己的属性和方法class
go:垃圾回收GC触发条件详解
版本: go version go1.13 darwin/amd64在go源码runtime目录中找到gcTrigger结构体,就能看出大致调用的位置 GC调用方式 所在位置 代码 定时调用 runtime/proc.
Android使用 Coroutine + Retrofit打造简单的HTTP请求库
基于 kotlin/coroutine/retrofit/jetpack 打造,100来行代码,用法超级简单舒适设置默认Retrofit工厂和全局错误处理程序HttpCall.init(retrofitFactory = { // ...}, errorHandler = { throwable -> // ...}) 基本用法data class Reault(val data:String
骁龙860对比麒麟990哪个好
骁龙860是最近发布的处理器,大家对骁龙860处理器都非常关注,那么骁龙860处理器究竟怎么样?骁龙860和麒麟990相比有什么区别吗?接下来小编就为大家分享一下关于骁龙860和麒麟990的详细对比分析,欢迎前来了解一下。1、制作工艺骁龙860和麒麟990处理器都采用了相同的7nm制作工艺。2、网络基带骁龙860 X50基带只是支持NSA模式组网的5G不支持SA模式组网的5G。麒麟990全球首发集
MySQL正确修改最大连接数的3种方案
我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MySQL连接数的方法有两个。show variables like 'max_connections';方法一:进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 m
Java算法之数组冒泡排序代码实例讲解
冒泡排序是数组查找算法中最为简单的算法冒泡排序原理:假设一个数组长度为k(最高索引k-1),遍历前k - 1个(最高索引k-2)元素,若数组中的元素a[i]都与相邻的下一个元素a[i+1]进行比较,若a[i] > a[i+1] ,则这两个元素交换位置。以此类推,若a[i+1] > a[i+2],则交换位置…直至a[k-2]与a[k-1]比较完毕后,第0轮迭代结束。此时,a[k-1]为数组元素中的最
elasticsearch+logstash并使用java代码实现日志检索
为了项目日志不被泄露,数据展示不采用Kibana1、环境准备1.1 创建普通用户#创建用户useradd querylog#设置密码passwd queylog#授权sudo权限查找sudoers文件位置 whereis sudoers#修改文件为可编辑 chmod -v u+w /etc/sudoers#编辑文件vi /etc/sudoers#收回权限chmod -v u-w /etc/sudo
python切片作为占位符使用实例讲解
我们提到切片的时候,一般想到的大多数是分割列表。其实它还可以对列表进行拼接,想必这点是很多人不知道的,这就是切片的占位符用法。留在原列表中,占据位置的同时起到拼接的作用。下面我们就切片和占位符的用法分别进行理解,然后带有切片作为占位符使用的实例代码。1、切片说明切片既可以作为独立对象被“取出”原序列,也可以留在原序列,作为一种占位符使用。2、占位符的使用拼接字符串的方法,其中三种格式化类的拼接方法
sqoop export导出 map100% reduce0% 卡住的多种原因及解决
我称这种bug是一个典型的“哈姆雷特”bug,就是指那种“报错情况相同但网上却会有各种五花缭乱解决办法”的bug,让我们不知道哪一个才是症结所在。先看导入命令:[root@host25 ~]# sqoop export --connect "jdbc:mysql://172.16.xxx.xxx:3306/dbnameuseUnicode=true&characterEncoding=utf-8"
详解Golang使用MongoDB通用操作
MongoDB是Nosql中常用的一种数据库,今天笔者就简单总结一下Golang如何使用这些通用的供能的,不喜勿喷。。。 研究的事例结构如下:type LikeBest struct { AuthorName string `bson:"authorname,omitempty"` BookName string `bson:"bookname,omitempty"` PublishTime



闽公网安备 35020302000061号