Other

Compile with cppconn and mysqlclient

1. cpp #include Model/Util.h #include <functional> #include <string_view> #include <experimental/source_location> #include <cppconn/driver.h> #include <cppconn/resultset.h> #include <cppconn/statement.h> #include <cppconn/exception.h> #include <cppconn/prepared_statement.h> #include <mysql/mysql.h> void mysqlClient74(); int main(int args, char **argv) { batchInsert(atoi(argv[1])); } void batchInsert(int loops) { try { sql::Driver *driver; sql::Connection *conn; sql::PreparedStatement *prepStmt; driver = get_driver_instance(); conn = driver->connect(tcp://127.0.0.1:3306, root, Root0001!); conn->setSchema(myDB); stringstream ss; int repeatedTimes = 1000000; int64_t num = 0; Util ul; for (int i = 0; i < loops; i++) { ss = stringstream(); conn = driver->connect(tcp://127.

Python图片处理_PIL学习记录

①:PIL获取,保存,更改图片 #调用模块 from PIL import Image #打开图片 img1 :Image.Image = Image.open(./picture/001.jpg) #得到图片 img1.show() #显示得到的图片 img2 = img1.resize((1000,2000)) #更改图片大小 img2.save(./picture/002.jpg) #保存图片 ②:更改图片格式 from PIL import Image img1: Image.Image = Image.open(./picture/099.jfif) img1.save(./picture/099.jpg) ③:添加文本信息 from PIL import Image,ImageDraw,ImageFont img1: Image.Image = Image.open(./picture/099.jfif) img1_draw = ImageDraw.Draw(img1) # 选中字体,设置字体大小 img1_font = ImageFont.truetype(D:/iFontsClientFileCache/HYXieNTJ.ttf,240) #(x,y):x左右,y上下 #输入的信息 #设置颜色 #选中字体 img1_draw.text((50,30),学号:541913460XXX,fill='blue',font=img1_font) img1_draw.text((50,250),姓名:李XX,fill='red',font=img1_font) img1.show() ④:获取图片信息 from PIL import Image import numpy as np img1: Image = Image.

c++primer智能指针部分

1 内存篇 2 静态内存、栈内存、动态内存 3 静态内存:用来保存局部static对象,类static数据成员、以及定义在 任何函数外的变量 4 栈内存:用来保存定义在函数内的非static对象。 5 动态内存:new出来的内存 6 7 分配在静态内存和栈内存的对象由编译器自动创建和销毁,对于栈内存,仅在其定义的程序块运行时才存在 8 static对象在使用之前分配,程序结束时销毁。 9 10 除了静态内存和栈内存,每个程序还拥有一个内存池。这部分内存被称作自由空间或堆。 11 程序用堆来存储动态分配的对象; 12 13 动态内存与智能指针 14 动态内存是通过一对运算符来完成的; 15 new:在动态内存中为对象分配空间并返回一个指向该对象的指针 16 delete:接受一个动态对象的指针,销毁该对象,并释放与之关联的内存 17 18 19 智能指针: 20 shared_ptr:允许多个指针指向同一个对象 21 unique_ptr:独占所指对象 22 weak_ptr伴随类,它是一种弱引用,指向shared_pr所管理的对象 23 24 25 类似vector,智能指针也是模板 26 shared_ptr<string> p;//指向p是string类型的智能指针 27 28 29 它们支持的操作: 30 shared_ptr<T> p;//空指针,可以指向T类型 31 unique_ptr<T> p;//空指针,可以指向T类型 32 p;//判断p是否为空 33 *p;//解引用,获得它指向的对象 34 35 p->mem;//等价于(*p).mem; 36 swap(p,q);//交换两个指针 37 38 make_shared<T>(args);//返回一个shared_ptr,指向一个动态分配的类型为T的对象。并使用args初始化此对象 39 shared_ptr<T>p(q);//此操作会递增q中的计时器,q必须能转换成T* 40 41 p.

Java 面向对象之三大特性

封装 我们程序设计要追求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。(属性私有,通过get/set实现逻辑) 继承 Java中类只有单继承,没有多继承! 使用构造函数 new object1 时,如果 object1 继承了 object2,会默认先执行 object2 的构造函数,再执行 object1 的构造函数。 super 注意点: super调用父类的构造方法时,必须在构造方法的第一行 super b必须只能出现在子类的方法或者构造方法中 super 和 this 不能同时调用构造方法 Override(重写): 需要有继承关系,并且子类只能重写父类的方法,不能重写父类的属性! 方法名必须相同 参数列表必须相同 修饰符:范围可以扩大但不能缩写 - public>Protected>Default>private 抛出的异常:范围可以被缩小,但不能扩大 为什么需要重写:父类的功能,子类不一定需要,或者不一定满足!

Java4.4

<!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title>登录界面</title> <link rel=stylesheet href=login.css> <script type=text/javascript src=https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js></script> <script type=text/javascript src=js/echarts-wordcloud.js></script> <style> .column1{ text-align:center; } </style> </head> <body> <div class=column1 style=width: 100%;height: 10%; > <p>输入词云图的个数:<input type=text id=count ><input type=button value=显示 onclick=click1(mydata) ></p> </div> <div style=width: 100%; height: 400px> <table border=1 align=left> <THEAD align=center><TR><TH>单词</TH><TH>词频</TH></TR></THEAD> <TBODY id='main'></TBODY> </table> <div id=main1 style=width:100%; height: 400px align=center></div> <script type=text/javascript> var b = new Array(); var n = new Array(); var c = new Array(); var mydata = new Array(); window.

Mysql 字符串字段判断是否包含某个字符串的3种方法

1. 方法1: INSTR函数用法 mysql 进行模糊查询时,可使用内部函数 instr,替代传统的 like 方式,并且速度更快。 instr(field, str) 函数,第一个参数 field 是字段,第二个参数 str 是要查询的串,返回串 str 的位置,没找到就是0 select * from book where INSTR( book_name , 经 ) > 0 1 2. 方法2: like SELECT * FROM users WHERE emails like %[email protected]%; 1 3. 方法3: find_in_set(); 必须以,分割开。 SELECT * FROM users WHERE find_in_set('[email protected]', emails);

走进Linux的世界

 开源软件Linux的起源:   Linux——操作系统。 Linux,1991年Linux之父林纳斯 本纳第克特 托瓦兹,创建了Linux操作系统内核(开源)。 Linux的发行版和RHCE  1.Linux发行版介绍  RHEL(Red Hat Enterprise Linux) 红帽Linux商业公司 CentOS(Community Enterprise Operating System) 社区企业操作软件 免费的商业软件 Ubuntu(乌班图) 桌面应用为主的开源GNU/Linux操作系统 Debian社区  2. RHCE:红帽认证工程师 RHCA:红帽认证架构师 RHCE:红帽认证工程师 RHCSA:红帽认证系统管理员(初级) Linux初级认证是(RHCSA)——rh(红帽)c(认证)s(系统)a(管理员)  服务器  

Redis篇02-Redis单体持久化及恢复数据

1. 概述两种持久化方案 Redis默认支持RDB(Redis DataBase)和AOF(Append Only File)两种持久化方案。 RDB:生成一个数据库快照,在服务挂掉想要恢复数据的时候可以通过快照文件dump.rdb来恢复数据。 默认的RDB策略如下(可以在redis.conf文件的SNAPSHOTTING模块中找到): # save <seconds> <changes> # seconds秒内有changes次修改操作则执行保存快照的操作 save 900 1 save 300 10 save 60 10000 AOF:记录Redis的修改指令,保存在文件appendonly.aof中。可以和RDB模式一起开启,但是在恢复数据的时候会默认使用RDB的dump.rdb来恢复数据。 AOF有三种策略供选择,默认采用appendfsync everysec模式,即:每秒记录一次,是一种折中的方案。(可以在redis.conf文件的APPEND ONLY MODE模块中找到) # appendfsync always 有一条写操作就刷一条到appendonly.aof文件中,安全性高 appendfsync everysec # appendfsync no 依赖系统刷新将数据从内存刷到硬盘,性能高 2. 持久化的开启和关闭 RDB持久化策略是默认开启的,我们只需要指定一个存放dump.rdb的路径以方便我们找到文件,在redis.conf文件的SNAPSHOTTING模块末尾有一个dir ./的配置,将路径替代./即可, 注意:AOF策略产生的appendonly.aof也会存放在这个路径下。 开启AOF策略,在redis.conf文件的APPEND ONLY MODE模块中,将appendonly no修改为appendonly yes。 如何关闭RDB策略,将RDB策略的save策略全部失效即可,放开SNAPSHOTTING模块中的save ,就在那三个策略的上面。 注意:经过笔者的实验,如果dir路径下同时存在dump.rdb和appendonly.aof文件,那么Redis会按照dump.rdb文件来恢复数据。 3. 恢复数据 如果有持久化文件,不需要做其他操作,在启动的时候Redis就会恢复数据。 4. 其他 有关AOF策略还有一个概念叫做重写,简而言之就是多条修改命令可以做简化节省存储空间,可以在Redis持久化:RDB、AOF看看

mysql 直接拷贝data 目录下文件还原数据的实现

参考:https://www.jb51.net/article/217783.htm  这篇文章主要介绍了mysql 直接拷贝data 目录下文件还原数据的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教  mysql 拷贝data 目录下的文件还原数据 背景:MySQL的的崩溃无法启动,决定重新搭环境,但数据库测试数据忘记备份时,MySQL的的数据目录幸存 操作: 1,复制测试数据库的文件夹(包含.frm .ibd等文件) 2,重启mysql 通过Navicat查看数据库某张表,结果显示“表'xxx 不存在 ” 3,各种谷歌,百度后发现innodb的表 直接复制文件是无法使用的,会提示表不存在,在复制的时候,应将数据目录下的ibdata1文件一并复制过去,并且删除ib_logfile0,ib_logfile1等文件 mysql通过拷贝数据文件方式迁移数据库 1、关闭服务 以管理员身份运行cmd,执行以下命令: 1 net stop mysql 2、拷贝数据文件 将data文件的数据库文件拷贝(不需要拷贝mysql、performance_schema、sys),一定要拷贝ibdata1文件 3、导入文件 将拷贝的文件放入目的数据库的data文件中

在Windows10系统下,搭建Java的运行开发环境以及配置系统环境变量

在Windows10系统下,搭建Java的运行开发环境 下载Windows10适用的JDK软件包 目前主流的稳定版本的JDK有jdk8和jdk11 选择哪个版本,请自行选择 这里将以jdk8为例,演示下载安装的步骤: 下载地址 如图:找到jdk8的下载地址,64位的系统,选择x64版本(32位的系统,选择x86版本)。 安装Windows10适用的JDK软件包 找到下载好的安装包如图: 双击开始安装: 一定要记清楚jdk8安装的目录(建议在除C盘以外的盘符,新建一个全英文目录,如:D:\Java\JDK8)。 选择好安装目录之后,点击下一步,傻瓜式安装。 安装好之后的目录结构 此时,我们可以在D:\Java\JDK8\bin目录下使用cmd的Dos命令,查看JDK的安装情况: 需要用的三个命令: java javac java -version 如果安装完成并在Dos下输入上面三条命令之后,出现的情况与图片相似,表示您已经正确地安装好了JDK8,接下来就要配置环境变量了。 (如果不配置环境变量的话,上面的三条命令只能在D:\Java\JDK8\bin,这一个目录下使用,所以配置环境变量非常重要!) 配置Java的环境变量 第一步,配置JAVA_HOME 首先找到我的电脑,右键点击属性,然后找到高级系统设置,点击环境变量,在系统变量中新建, 变量名,填写:JAVA_HOME 变量值,填写:D:\Java\JDK8 (所填写的内容即为自己电脑的JDK8的安装路径,安装路径不同,此处所填写的内容也不同,上面所说记得安装路径的重要性!) 填写完成之后,点击确定(不点确定,电脑环境变量将不做任何修改,必须要点击确定,才会对电脑环境变量进行修改) 第二步,配置Path 接上述操作,接下来找到Path,点击编辑,再点击新建 输入:%JAVA_HOME%\bin 【等价于D:\Java\JDK8(这部分是电脑JDK8的安装路径)\bin】 第三步,检查环境变量的配置情况 上述操作完成之后,在任意目录打开cmd命令提示符 可以使用Win+R键,输入cmd,确定 然后同上,分别输入: java javac java -version 如果输入后回车,显示的结果与上面的情况一致,那么恭喜您,您的电脑Java的运行开发环境以及环境变量配置成功,可以复制以下代码进行测试: public class Hello { public static void main(String[] args) { System.out.println(Hello World!); } } 将代码复制到一个文件名和后缀名为Hello.java的文本文件中,并保存。然后分别在cmd命令提示符下输入并回车 javac Hello.java java Hello 效果如图: 此时,一个深受程序员们喜爱的“Hello World!”将出现在您的电脑屏幕,赶快动手尝试一下吧!!!