详解IDEA中便捷内存数据库H2的最简使用方式

2021-03-07
在IDEA中做练习或做demo时,有时候需要使用到数据库,但如果自己机子上本来没有安装数据库(全新安装太麻烦或资源有限),也没有可用的远程数据库时,我们可以直接在IDEA上使用便捷式的内存数据库H2,关于H2更多知识就自己去找一下资料了,接下来主要讲一下如何在IDEA下的SpringBoot项目中把它用起来! 首先在IDEA中新建一个空的Maven项目,编辑项目pom.xml文件,增加SpringBoot和最基础的数据访问相关jar包依赖: <?xml version="1.0"

Ajax实现省市县三级联动

2021-03-07
本文实例为大家分享了Ajax实现省市县三级联动的具体代码,供大家参考,具体内容如下 首先建立数据库,如下所示 接口 省 import java.util.List; public interface ProvinceDao { List<Province> findAll(); } 市 import java.util.List; public interface CityDao { List<City> findCityByPid(int pid); } 县 import jav

C# 从Excel读取数据向SQL server写入

2021-03-07
第一次写C#与sql的东西,主要任务是从Excel读取数据,再存到SQL server中. 先上读取Excel文件的code如下. public bool GetFiles(string equipName) { //choose all sheet? or all data in sheet? string strExcel = "select * from [Sheet1$]"; //初始化system.IO的配置(路径) DirectoryInfo directoryInfo1

Elasticsearch工具cerebro的安装与使用教程

2021-03-07
Cerebro是Elasticsearch 版本5.x 以前插件 Elasticsearch Kopf 的演变,可以通过图形界面查看分片分配和执行常见的索引操作.完全开源,需要依赖 Java 1.8 或更高版本才能运行. 1. 工具信息 项目 说明 类型 开源 项目地址 https://github.com/lmenezes/cerebro/ 开发框架 Scala, Play Framework, AngularJS , Bootstrap 当前稳定版本 v0.9.3 (2020.12.27)

SpringBoot后端进行数据校验JSR303的使用详解

2021-03-07
如果只想查看注解,请跳到文章末尾部分 简介 在前后端进行数据交互中,在前端把数据传送到后端前,一般会先进行校验一次,校验成功之后,才把数据发送到后端.但是我们在服务端还得在对数据进行一次校验.因为请求数据发送的链接很容易获取,可以不经过前端界面,使用postman等工具直接向后台发送数据,这就可能造成发送的数据是不合法的情况. 项目创建 首先创建一个springboot项目 使用的springboot版本为:(本文代码以该版本为准,不同版本springboot,在下面内容会出现一些差异) <pa

js实现调用网络摄像头及常见错误处理

2021-03-07
最近由于业务的原因,需要在Web端页面接入调试各类的网络摄像头,遇到了很多匪夷所思的问题(说的就是读得出摄像头的品牌,读不出摄像头的分辨率).于是整理了这篇文章作为备忘录,也希望能帮到有类似的小伙伴们. 基础代码 navigator.mediaDevices.getUserMedia({ audio: false, video: true }).then(async (stream) => { let video = document.getElementById('#video') // 兼容

python 实现存储数据到txt和pdf文档及乱码问题的解决

2021-03-07
第一.几种常用方法 读取TXT文档:urlopen() 读取PDF文档:pdfminer3k 第二.乱码问题 (1). from urllib.request import urlopen #访问wiki内容 html = urlopen("https://en.wikipedia.org/robots.txt") print(html.read()) 输出的结果中出现乱码原因: 计算机只能处理0和1两个数字,所以想要处理文本,必须把文本变成0和1这样的数字,最早的计算机使用八个0和1

c# socket心跳超时检测的思路(适用于超大量TCP连接情况下)

2021-03-07
假设一种情景: TCP服务器有1万个客户端连接,如果客户端5秒钟不发数据,则要断开.服务端如何检测客户端是否超时?这看起来是一个非常简单的问题,其实不然! 最简单的处理方法是: 启动一个线程,每隔一段时间,检查每个连接是否超时.每次处理需要1万次检查.计算量太大!检查的时间间隔不能太小,否则大大增加计算量:如果间隔时间太大,超时误差会增大. 本文提出一种新颖的处理方法,就是针对这个看似简单而不易解决的问题!(以下用socket表示一个客户端连接) 1 内存布局图 假设socket3有新的数据到达

使用Python建立RNN实现二进制加法的示例代码

2021-03-07
只有一百行左右代码,应该还是比较好理解的. 首先看一下结果, The end error is:[0.05344101] 发现还是不错的.如果不想看讲解,就直接跳到文末,有所有的代码,安装numpy库就能够跑. 二进制加法 这个没啥好说的,就是逢二进一,不知道的就看看计算机组成原理的相关内容吧. RNN主要学两件事,一个是前一位的进位,一个是当前位的加法操作.只告诉当前阶段和前一阶段的计算结果,让网络自己学习加法和进位操作. 具体代码 既然是神经网络,肯定就非线性的,首先是sigmoid函数,这

Python 图片转数组,二进制互转操作

2021-03-07
前言 需要导入以下包,没有的通过pip安装 import matplotlib.pyplot as plt import cv2 from PIL import Image from io import BytesIO import numpy as np 1.图片和数组互转 # 图片转numpy数组 img_path = "images/1.jpg" img_data = cv2.imread(img_path) # numpy数组转图片 img_data = np.linspace

python中GIL的原理及用法总结

2021-03-06
1.说明 GIL规定一个Python解释程序只能同时由一个线程控制. 在CPU限制类型和多线程代码中,GIL是一个性能瓶颈. GIL使Python多线程成为伪并行多线程. 仅CPython解释器上存在GIL. 2.原理 (1)线程1.2.3轮流执行,每一个线程在执行是,都会锁住GIL,以阻止别的线程执行: 同样的,每一个线程执行一段后,会释放GIL,以允许别的线程开始利用资源. (2)由于古老GIL机制,如果线程2需要在CPU2上执行,它需要先等待在CPU1上执行的线程1释放GIL(记住:GIL

使用Python的pencolor函数实现渐变色功能

2021-03-06
前言 在学习turtle库绘图时,改变线条颜色往往可以获得惊艳的效果.对于pencolor函数的使用,简单的字符串调用颜色十分简单,但其乐趣远不止一个"red".一个"blue"这样,利用RGB参数进行选色,还可以玩出渐变的花样 提示:以下是本篇文章正文内容,下面案例可供参考 一.RGB简介 RGB,工业界的一种颜色标准,说白了就是我们现在所能见到的几乎所有颜色都是红绿蓝三种颜色按照不同比例混合而成的. 二.RGB在pencolor中的应用 1.RGB模式 penc

python heic后缀图片文件转换成jpg格式的操作

2021-03-06
我就废话不多说了,直接上代码 heic_to_jpg.py import subprocess import os import io import whatimage import pyheif import traceback from PIL import Image def decodeImage(bytesIo): try: fmt = whatimage.identify_image(bytesIo) # print('fmt = ', fmt) if fmt in ['heic']

JS实现购物车中商品总价计算

2021-03-06
JS计算购物车中商品总价,供大家参考,具体内容如下 题目要求: 购物车中有若干商品信息,其中包括商品的名称.单价.数量,计算购物车中商品的总价. 具体思路: 商品信息通过创建商品对象来实现,若干商品的加和通过创建数组来放置若干商品,再通过遍历数组读取指定属性对价格进行计算. 具体代码: <script type="text/javascript"> // 总价变量 var sum = 0; // 商品对象 function Goods(name,price,amount){

详解Redis 缓存删除机制(源码解析)

2021-03-06
删除的范围 过期的 key 在内存满了的情况下,如果继续执行 set 等命令,且所有 key 都没有过期,那么会按照缓存淘汰策略选中的 key 过期删除 redis 中设置了过期时间的 key 会单独存储一份 typedef struct redisDb { dict *dict; // 所有的键值对 dict *expires; //设置了过期时间的键值对 // ... } redisDb; 设置有效期 Redis 中有 4 个命令可以给 key 设置过期时间,分别是 expire pexpi

C++ 中的虚函数表及虚函数执行原理详解

2021-03-06
为了实现虚函数,C++ 使用了虚函数表来达到延迟绑定的目的.虚函数表在动态/延迟绑定行为中用于查询调用的函数. 尽管要描述清楚虚函数表的机制会多费点口舌,但其实其本身还是比较简单的. 首先,每个包含虚函数的类(或者继承自的类包含了虚函数)都有一个自己的虚函数表.这个表是一个在编译时确定的静态数组.虚函数表包含了指向每个虚函数的函数指针以供类对象调用. 其次,编译器还在基类中定义了一个隐藏指针,我们称为 *__vptr,*__vptr 是在类实例创建时自动设置的,以指向类的虚函数表.*__vptr

JavaScript实现二叉搜索树

2021-03-06
JavaScript中的搜索二叉树实现,供大家参考,具体内容如下 二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树 二叉搜索树是一颗二叉树, 可以为空:如果不为空,满足以下性质: 非空左子树的所有键值小于其根结点的键值 非空右子树的所有键值大于其根结点的键值 也就是左结点值想<根结点值<右节点值 左.右子树本身也都是二叉搜索树 二叉搜索树的操作 insert(key):向树中插入一个新的键 search(key):在树中查找一个键,如果结点存在,则返回tr

python实现碑帖图片横向拼接

2021-03-06
本文实例为大家分享了python实现碑帖图片横向拼接的具体代码,供大家参考,具体内容如下 一.原图 二.拼接效果(按照书法的从右往左顺序) 三.Python代码 #Collection of calligraphy characters import os from PIL import Image if __name__ == '__main__': im_list = [] path = r"C:\Users\Administrator\Desktop\724" pathlist

OpenCV4.1.0+VisualStudio2019开发环境搭建(超级简单)

2021-03-06
先说一下其实根本无需修改环境变量等系统设置,只需要对 project 进行一些设置就好. 编译需要的是 .h 文件和 .lib 文件,运行需要的是 .dll 文件,调试需要的是代码源文件和 .pdb 文件. 1. 准备 Open CV 的文件 : https://opencv.org/releases/ 解压到哪里无所谓,我们后面会把需要的文件复制到 Solution 的目录里面. 2. 在 vs 中新建一个空的工程,添加一个 source.cpp,随便加几行代码能跑起来.注意把 Solutio

详解记录MySQL中lower_case_table_names的坑

2021-03-06
1 起因 项目迁移数据库, 重新启动后, 报错"T_AAA表不存在", 但数据库中可以查看到该表并有数据 2 问题分析 通过重装系统与数据库, 确认系统与数据库纯净, 排除系统和数据库的原因 使用同一方式恢复两天前和一天前的数据备份, 同样不能启动项目, 排除数据内容的原因 使用mysqldump和导出SQL文件两种方式, 恢复一天前的数据, 同样不能启动项目, 排除恢复方式的原因 以上方式基本是运维人员参与, 等技术总监参与观察项目报错后, 猛然发现是表名大小写的问题, 通过测试最终