目录

工欲善其事

实践出真知

活跃标签: linux java mysql 待分类 js springboot win10 windows 电路 vue macOS nginx esp32 git docker idea maven esp8266 python Arduino

存档:

文件服务器 FastDFS 安装和启动

使用命令 启动: sudo service fdfs_trackerd start sudo service fdfs_storaged start 重启: sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart 终止: sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop 安装 下载fastdfs安装包和依赖包(sourceforge->fastdfs),然后解压 配置tracker sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf 在/home/python/目录中创建目录 fastdfs/tracker mkdir –p /home/python/f....

mysql 创建表标准语句

create table IF NOT EXISTS test_user ( id int auto_increment, username varchar(255) null, password varchar(255) null, mobile varchar(255), primary key (id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 comment '权限测试用的表';

mysql

拯救数据库方法 alter table tableName discard tablespace;# 卸载表空间 # 拷贝 idb文件后 alter table tableName import tablespace ;# 导入表空间

mysql 聚合函数 (个人收集的)

sum(列名) 求和 max(列名) 最大值 min(列名) 最小值 avg(列名) 平均值 first(列名) 第一条记录 仅Access支持 last(列名) 最后一条记录 仅Access支持 count(列名) 统计记录数 注意和count(*)的区别 group_concat() #统计group by之后的相同字段

JS 的 URL 的编码或解码方法

URL的合法字符 URL的合法字符表示再浏览器的地址栏中不会被转义的字符,有两种: URL元字符:分号(;),逗号(’,’),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#) 语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号(),圆括号(()`) 当输入的字符不符合以上的字符时,浏览器就会把该字符转义,规则:根据操作系统的默认编码,将每个字节转为百分号(%)加上两个大写的十六进制字母。 比如:当再浏览器地址栏中输入 www.baidu.com/q=你好时,会被转义成例如 www.baidu.com/q=%E6%98%A5%E8%8A%82类似的字符串,浏览器才会读取。 JavaScript的四个URL编码/解码方法: encodeURI 将元字符和语义字符之外的字符都进行转义,一般用于知道该URL只用于完整的URL时使用 encodeURIComponent 将除了语义字符之外的字符进行转义,包括元字符,因此,它的参数通常是URL的路径或参数值,而不是整个....

python 激活环境的进入和退出

创建 conda create -n cling 激活 source bin/activate 切换环境 conda activate cling 退出 conda deactivate

GitHub 基本的基本用法

git使用 cd existing_folder git init git remote add origin http://112.126.100.212:8099/liguanglei/children-pg-ow.git git remote add origin http://112.126.100.212:8099/liguanglei/children-pg-backstage.git git add . git commit -m "Initial commit" git push -u origin master

js 三种在浏览器储存数据的方法

三种本地存储方式 cookie 前言 网络早期最大的问题之一是如何管理状态。简而言之,服务器无法知道两个请求是否来自同一个浏览器。当时最简单的方法是在请求时,在页面中插入一些参数,并在下一个请求中传回参数。这需要使用包含参数的隐藏的表单,或者作为URL参数的一部分传递。这两个解决方案都手动操作,容易出错。cookie出现来解决这个问题。 作用 cookie是纯文本,没有可执行代码。存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来向访问者电脑上存储数据,或者某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 如何工作 当网页要发http请求时,浏览器会先检查是否有相应的cookie,有则自动添加在request header中的cookie字段中。这些是浏览器自动帮我们做的,而且每一次http请求浏览器都会自动帮我们做。这个特点很重要,因为这关系到“什么样的数据适合存储在cookie中”。 存储在cookie中的数据,每次都会被浏览器自动放在http请求中,如果这些数据并不是每个请求都需要发给服务端的数据,浏览器这设置自....

js 中页面跳转的几种方式和区别

location.href常见的几种形式 self.location.href;//当前页面打开URL页面 window.location.href;//当前页面打开URL页面 this.location.href;//当前页面打开URL页面 location.href;// 当前页面打开URL页面 parent.location.href;//在父页面打开新页面 top.location.href;//在顶层页面打开新页面 注:①如果页面中自定义了frame,那么可将parent、self、top换为自定义frame的名称,效果是在frame窗口打开url地址。 ②此外,window.location.href=window.location.href;和window.location.Reload();都是刷新当前页面。区别在于是否有提交数据。当有提交数据时,window.location.Reload()会提示是否提交,window.location.href=window.location.href;则是向指定的url提交数据. ③用window.open()打开新页面 但是.....

js 将文本以文件的形式上传到服务器

let file; const properties = {type: 'text/plain'}, data = this.code; try { file = new File([data], "file.txt", properties); } catch (e) { file = new Blob(data, properties); } const formData = new FormData() formData.append('file', file, key) postAction(this.url.uploadUrl, formData).then(res => { if (res.success) { } });

Spring boot实现监听Redis key失效事件

开启redis key过期提醒 修改redis相关事件配置。找到redis配置文件redis.conf,只需修改配置文件redis.conf中的:notify-keyspace-events** Ex**,默认为notify-keyspace-events "", 查看“notify-keyspace-events”的配置项,如果没有,添加“notify-keyspace-events Ex”,如果有值,添加Ex,重启redis。 相关参数如图: K:keyspace事件,事件以__keyspace@<db>__为前缀进行发布; E:keyevent事件,事件以__keyevent@<db>__为前缀进行发布; g:一般性的,非特定类型的命令,比如del,expire,rename等; $:字符串特定命令; l:列表特定命令; s:集合特定命令; h:哈希特定命令; z:有序集合特定命令; x:过期事件,当某个键过期并删除时会产生该事件; e:驱逐事件,当某个键因maxmemore策略而被删除时,产生该事件; A:g$lshzxe的别名,因此”AKE”意味着所有....

Docker安装RabbitMQ

查看镜像 docker search rabbitmq:management 拉取镜像 docker pull docker.io/macintoshplus/rabbitmq-management 查看镜像 docker images 制作容器并启动 docker run -d --hostname fuyi-rabbit --name rabbitmq -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -p 15672:15672 -p 5672:5672 c20 参数说明 -d #后台运行 -- homename fuyi-rabbit #主机名 RABBITMQ_DEFAULT_USER=guest #可视化界面登录用户名 RABBITMQ_DEFAULT_PASS=guest #可视化界面登录密码 -p 15672:15672 #端口映射 c20 #镜像ID 启动成功 docker ps -a 登录访问 http://ip:15672/ 用户名密码为 : guest

linux 查询出指定文件并删除

linux查找符合条件的文件并删除 找到根目录下所有的以test开头的文件并把查找结果当做参数传给rm -rf命令进行删除: find / -name “test*” |xargs rm -rf find / -name “test*” -exec rm -rf {} ; rm -rf $(find / -name “test”) 如果想指定递归深度,可以这样: find / -maxdepth 3 -name “.mp3” |xargs rm -rf find / -maxdepth 3 -name “test” -exec rm -rf {} ; rm -rf $(find / -maxdepth 3 -name “test”) 这样只会查找三层目录中符合条件的文件并删除掉!

Linux下hydra的使用

Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] Parameter: -R 继续从上一次进度接着破解 -S 大写,采用SSL链接 -s 小写,可通过这个参数指定非默认端口 -l 指定破解的用户,对特定用户破解 -L 指定用户名字典 -p 小写,指定密码破解,少用,一般是采用密码字典 -P 大写,指定密码字典 -e 可选选项,n:空密码试探,s:使用指定用户和密码试探 -C 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数 -M 指定目标列表文件一行一条 -o 指定结果输出文件 -f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解 -t 同时运行的线程数,默认为16 -w 设置最大超时的时间,单位秒,默认是30s -v / -V 显示详细过程 server 目标ip service 指定服务名....

linux 进程常用命令

查看进程启动时间 ps -o lstart -p PID 删除指定名字的说有进程 ps -ef | grep $1 | grep -v grep | cut -c 9-15 | xargs kill -s 9

linux 安装mvn环境

1、下载 wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz 也可以在浏览器去maven官网下载需要的版本,这里安装的是二进制包,所以选择“-bin.tar.gz”结尾的包 2、解压 tar -xf apache-maven-3.6.3-bin.tar.gz -C /usr/local/ mv /usr/local/apache-maven-3.6.3/ /usr/local/maven3.6/ 3、加入环境变量 在/etc/profile文件最下方加入新的一行 export PATH=$PATH:/usr/local/maven3.6/bin 添加完后,执行 source /etc/profile,让配置生效 验证: 执行 which mvn 显示/usr/local/maven3.6/bin/mvn就说明配置成功了 4、JAVA环境 运行maven需要Java环境----系统安装有jdk,并且在系统中配置了JAVA_......

Mysql 全局查找

查询数据库的表 SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA like 'child%';

js 数组操作

添加元素 push [].push("1") 添加单个元素 [].push(...['1','2','3']) 添加一个数组 元素获取 最简单的方法 Array[index] 获取最后一个 一、JavaScript pop() 方法 pop() 方法用于删除并返回数组的最后一个元素。 var arr = new Array("js","JavaScript","jQuery"); var end = arr.pop() console.log(end);//jQuery console.log(arr);//["js", "JavaScript"] 注意: pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。 二、数组的 length 属性 var arr = new Array("js","JavaScript","jQuery"); var end = arr[arr.length-1] console.log(end);//jQuery 三....

策略模式 在 SpringBoot 中使用

场景:当我们接收到一些数据需要对其进行处理时,由于它们来自于不同的渠道(如:腾讯,头条),不同渠道所需的处理方式不同,下面我们写一个简单Demo来实现该的场景。 解决思路 实例一:简单举例 首先构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法process(),不同的渠道都需要实现该抽象方法。 public abstract class GeneralChannelRule { public abstract void process(); } 编写一个腾讯的规则类,定义具体对于腾讯渠道数据的处理逻辑 public class TencentChannelRule extends GeneralChannelRule @Override public void process() { // Tencent处理逻辑 } } 编写一个头条的规则类,定义具体对于头条数据的处理逻辑 public class TouTiaoChannelRule extends GeneralChannelRule @Override public void process(......

Springboot 参数校验

@Valid 用于验证注解是否符合要求,直接加在变量user之前,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息。 @RestController @RequestMapping("/user") public class UserController { @PostMapping public User create (@Valid @RequestBody User user) { System.out.println(user.getId()); System.out.println(user.getUsername()); System.out.println(user.getPassword()); user.setId("1"); return user; } } 然后在 User 类中添加验证信息的要求: public class User { private String id; @NotBlank(message = "密码不能为空") private String password; } @NotBlank 注解所指的 ......