目录

工欲善其事

实践出真知

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

存档:

让多此一举的页面自动跳转的油猴脚本

1、需要安装油猴插件 2、添加以下脚本 // ==UserScript== // @name 自动跳转 // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @include ://link.csdn.net/ // @include ://link.zhihu.com/ // @include ://gitee.com/link // @include ://www.jianshu.com/go-wild // @author You // @icon https://www.google.com/s2/favicons?sz=64&domain=csdn.net // @grant none // @run-at document-end // ==/UserScript== window.addEventListener('load', (event) => { location.href = { 'l....

git提交规范

Conventional Commits <类型>[范围]: <描述> [正文] [脚注] 类型 || fix: 修复了某个 bug || feat: 增加了某个功能 🛠 || build: 一些影响构建系统的更新 change: 一些不更改核心代码的更新 || style: 代码格式化、添加空格等代码格式变更 || perf: 改进性能的变化 ⚙ || ci: 变更了一些 CI 配置 📚 || docs: 对文档做出了一些修改 🚨 || test: 新增或修改测试文件 📦 || refactor: 重构了代码(没有新增/修复) ♻ || chore: 不修改代码文件的其他修改 🗑 || revert: 恢复上次的提交

Java compareTo返回值为-1 、 1 、 0代表的意义总结

Comparable接口和Compatator接口都可以实现排序,那就是: 重写 compareTo(Object obj) 方法的规则(两个对象通过该方法的返回值来比较大小): 如果当前对象this大于形参对象obj,则返回正整数; 如果当前对象this小于形参对象obj,则返回负整数; 如果当前对象this等于参数对象obj,则返回零。 int compareTo(T o) 比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。 升序(默认,即官方定义,毕竟代码实现就是基于这个写的): < -1 = 0 //或者 1效果是一样的;-1相同元素会发生位置调整 1 降序: < 1 = 0 //或者 1效果是一样的;-1相同元素会发生顺序调整 -1 倒序: //直接 return -1; 不改变顺序: //直接 return 0或者1; 很多人总结了权重的问题: 1是前者权重大,-1是后者。JAVA则按照权重由小到大排序。 这样说法也好理解: 如果当前值<传递过来的值,返回-1,则后者权重大,升序排列 如果想要降序,则需要....

JS获取当前节点的兄弟/父/子节点

JS获取当前节点的方式: 通过事件监听器获取当前节点: <button onclick="fun(this)"></button> function fun(obj){ // obj就是当前节点 //可以通过.父节点/子节点的方式来获取节点。 obj.nextSiling; } 1.getElementById()----通过ID获取 2.getElementsByTagName()--通过标签名获取 3.getElementsByClassName()--通过class(类名)获取 4.querySelector()----()号里可以根据css选择器的形式获取,获取第一个 5.querySelectorAll()--同上,获取所有""里的内容,返回的是一个“伪数组” 6.getElementsByName()---通过name属性来获取表单元素,一般也只用于表单元素 示例: <ul> <li>li1</li> <li id="li2">li2</li> <li class="li3">.....

SpringBoot 16个有用的扩展接口

Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。 我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。想要把自动装配玩的转,就必须要了解spring对于bean的构造生命周期以及各个扩展接口。当然了解了bean的各个生命周期也能促进我们加深对spring的理解。业务代码也能合理利用这些扩展点写出更加漂亮的代码。 在网上搜索spring扩展点,发现很少有博文说的很全的,只有一些常用的扩展点的说明。 所以在这篇文章里,我总结了几乎Spring & Springboot所有的扩展接口,以及各个扩展点的使用场景。并且整理出了一个bean在spring内部从被加载到最后初始化完成所有可扩展点的顺序调用图。从而我们也能窥探到bean是如何一步步加载到spring容器中的。 可扩展的接口启动调用顺序图 以下是我整理的....

vue-router中参数设置的问题

在router配置 url组成的角度来分析: scheme:协议 (例如http、https) authority(user/information/host/prot)一般会忽略 path:获取资源的路径就是在router中我们在route中需要的path const route = [ { path: '/Home', component: Home } ] query:查询参数 在router-link中需要配置的参数(只能是对象) <router-link :to="{path: "'/Home/'+id", query: { weiget: 140, height: 1.8 }">首页<router-link> fragidl: 一般也忽略 PS:注意query必须是对象类型,因为包含多个查询参数。

springboot启动参数解释

Java在启动时参数在jar文件的位置与效果有关,如: # 当参数spring.profiles.active放在前面时需要加-D java -jar -Dspring.profiles.active=prod ./springboot-jvm-params-1.0-SNAPSHOT.jar #而放在后面只需要写spring.profiles.active这样子 java -jar ./springboot-jvm-params-1.0-SNAPSHOT.jar --spring.profiles.active=prod --myParam='test' 不过要注意,参数的加载顺序,如下:配置文件变量 < JVM系统变量 < 命令行参数(注意:优先级由低到高,非常多的启动命令中传参也是这个道理) 测试配置的参数如下: /usr/local/jdk/jdk1.8.0_261/bin/java -jar -server \ ## 服务模式,linux默认是server模式,window默认是client参数 -XX:+HeapDumpOnOutOfMemoryError \ .....

Java启动参数详解

Java启动参数的内容是JVM调优的必备知识,也是学习JVM的必经之路,这篇文章就用于记录相关知识。 java启动参数分类: 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认JVM实现这些参数的功能,但是并不保证所有JVM实现都满足,且不保证向后兼容; 非Stable参数(-XX),此类参数各个JVM实现会有所不同,将来可能会随时取消,需要慎重使用; 本文基于JDK8获取的参数,仅供参考。 一、标准参数(-) 获取:java -help PS C:\Users\Administrator> java -help 用法: java [-options] class [args...] (执行类) 或 java [-options] -jar jarfile [args...] (执行 jar 文件) 其中选项包括: -d32 使用 32 位数据模型 (如果可用) -d64 使用 64 位数据模型 (如果可用) -client 选择 "client" VM -server 选择 "server" VM 默认 VM 是 client. ....

springboot启动时加载外部jar包

一、打包时不包含依赖 修改pom.xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includes> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> </includes> </configuration> </plugin> </plugins> </build> 二、启动时加载外部依赖 java -cp springboot-demo.jar:lib/* org.springframework.boo.....

Spring 的一生

我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程)。 没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出。 除此之外,我们在使用spring的过程中,有没有发现它的扩展能力非常强。由于这个优势的存在,让spring拥有强大的包容能力,让很多第三方应用能够轻松投入spring的怀抱。比如:rocketmq、mybatis、redis等。 今天跟大家一起聊聊,在Spring中最常用的11个扩展点。 1.自定义拦截器 spring mvc拦截器根spring拦截器相比,它里面能够获取HttpServletRequest和HttpServletResponse等web对象实例。 spring mvc拦截器的顶层接口是:HandlerInterceptor,包含三个方法: preHandle 目标方法执行前执行 postHandle 目标方法执行后执行 afterCompletion 请求完成时执行 为了方便我们一般情况会用HandlerInterceptor接口的实现类HandlerInterceptorA....

esp32s 蓝牙探针

1、蓝牙探针有效距离为10米,决定了近场场景,且采集的mac地址也会出现假的,iphone xr是这样的,可以采集到小米手环,其它机型测试并不灵敏,没发现采集到 2、开发环境 配置“开发板管理器地址”:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json #define SCAN_TIME 60 // seconds #include <Arduino.h> #include <sstream> #include <BLEDevice.h> #include <BLEUtils.h> #include <BLEScan.h> #include <BLEAdvertisedDevice.h> std::stringstream ss; class MyAdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks { void....

nginx Rewrite(重写地址)

一、[Nginx] 正则表达式 常用的正则表达式元字符 字符说明 ^匹配输入字符串的起始位置 $匹配输入字符串的结束位置 *匹配前面的字符零次或多次 +匹配前面的字符一次或多次 ?匹配前面的字符零次或一次 .匹配除“\n”之外的任何单个字符 \将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用 \d匹配纯数字 {n}重复n次 {n,m}重复n次或更多次 [ ]定义匹配的字符范围 [c]匹配单个字符c [a-z]匹配a-z小写字母的任意一个 [a-zA-Z]匹配a-z小写字母或A-Z大写字母的任意一个 ()表达式的开始和结束位置 l或运算符 从功能看 rewrite 和 location 似乎有点像,都能实现跳转,主要区别在于 rewrite 是在同一域名内更改获取资源的路径,而 location 是对一类路径做控制访问或反向代理,还可以proxy_pass 到其他机器。 二、location 2.1、location大致可以分为三类 精确匹配:location = / { … } 一般匹配:location / { … } 正则匹配:location ~ / { … } 2....

玩转 【ESP32】

该文章已经加密。

sata电源接口解析

Serial ATA Power connector sata硬盘的电源接口有用的有2对,分别是5v电源和12V电源,但是我在部分设备中发现电源11号引脚Gnd貌似有特殊的用处。 网上查到资料如下: Pins 1, 2, and 3 are optional. Pins 3, 7, 13 and Ground are longer on the plug so they connect first. Pin 11 can be used for activity indication, staggered spin-up, both, or nothing.

SpringBoot 注入静态变量的三种方式、从yml中读取参数

Spring Boot读取properties配置文件中的数据 Spring Boot最常用的3种读取properties****配置文件中数据的方法: 1、使用@Value注解读取 读取properties配置文件时,默认读取的是application.properties。 application.properties: import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class GatewayController { @Value("${demo.name}") private String name; @Value("${demo.age}") private String age; @RequestMapping(....

修复MySql表出现Table 'XXX' is marked as crashed and should be repaired 的方法

首先用root进入数据库,列如出现问题的表名为XXX 检查 check table XXX 修复 repair table XXX

Linux 硬盘篇

硬盘温度查看 hddtemp /dev/sda hddtemp不存在可以使用apt-get或yum安装 硬盘使用寿命查看 smartctl -a /dev/sda |grep 'Power_On_Hours' smartmontools用apt安装没找到用编译安装的 https://nchc.dl.sourceforge.net/project/smartmontools/smartmontools/7.3/smartmontools-7.3.tar.gz

【MySql】日常总结

mysql的in关键字使查询出来的数据与in的条件一样排序 select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7); field() 函数 : 是将查询的结果集按照指定顺序排序。 格式: FIELD(str,str1,str2,str3,...)

【 nano 】使用总结

设置行号 两种:一种是设置配置文件 .nanorc set linenumbers 另一种是 nano -c [filename] 或者使用nano时用于显示当前行号的键盘组合是CTRL+C 后两种我测试的都不管用。。可能是mac电脑的问题

【ssl】本机生成nginx可用的ssl证书

1、nginx安装 略,不要忘记安装ssl模块 2、ssl证书生成 生成key openssl genrsa -out server.key 1024 根据私钥生成证书申请,创建签名请求的证书(CSR)注意 ch那边必须写 openssl req -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----.....