目录

工欲善其事

实践出真知

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

存档:

存档: 2021 年 10 月 (20)

显示器接口定义和互转

浅谈高清显示接口HDMI、RGB、LVDS、MIPI、eDP、mini-LVDS、V-By-One 目前高清显示协议接口有RGB、LVDS、MIPI、eDP、HDMI、miniLVDS、V-by-One等,由于方案公司设计产品时通常会遇到信号协议转换问题。 eDP EDP接口是液晶显示屏的一种通信接口,一般采用EDP接口的液晶显示屏其分辨率更高,高清液晶显示屏都采用EDP的通信接口。EDP接口是一种基于DisplayPort架构和协议的一种全数字化接口,可以用较简单的连接器以及较少的引脚来传递高分辨率信号,且能够实现多数据同时传输,所以它的传输速率也要远高于LVDS。接下来我们就来说说液晶显示屏中EDP接口有哪些特点: 液晶显示屏中EDP接口特点: 1、微封包结构,能够实现多数据的同时传输。 2、无需LVDS转换电路,电路简洁。 3、较小的EMI(电磁干扰),并具有强大的版权保护功能。 可能看完上面的描述后还是有很多小伙伴有疑问,我们就来举个例子,以分辨率为1920x1200、24bit彩色的液晶显示屏为例,如采用LVDS接口,则数据传输线需20对;若采用EDP接口,则只需要4对线。由....

Mysql 8.0 之后的Json 类型玩法

首先 json 类型有两种: // 数组 var array = [...]; // 对象 var object = {...} MySQL8.0开始支持JSON格式,可以对JSON格式的数据进行高效的访问。 和原来JSON格式的字符串相比,JSON格式有以下的优点: 1,自动验证。错误的JSON格式会报错。 2,存储格式优化。数据保存为二进制格式,文件存储很紧凑,读取速度快。 3,MySQL可以通过键或数组索引查询和修改对应的值,不用把整个字符串都读出来。 一些其他的介绍: 1,JSON格式需要的磁盘空间和longblob或longtext差不多。 2,JSON格式的默认值只能是null。 3,JSON格式的列不能直接建立索引,可以建立JSON索引。 4,JSON格式的key必须是字符串格式。value可以是字符串,数字,布尔型。 5,JSON格式默认使用utf8mb4字符集,utf8mb4-bin排序,其他字符集使用JSON格式需要做字符集转换。ascii或utf8不用转换,他们是utf8mb4的子集。 6,大小写敏感,而且true,false,null这些关键字在JSON格式里.....

Java 中文字符转码

只要有跨应用数据交换的地方,都可能产生编码和解码。 出现乱码问题唯一的原因都是在 char 到 byte 或 byte 到 char 转换中编码和解码的字符集不一致导致的。 几个常用的类: String name = "I am 君山"; byte[] utf8 = name.getBytes("UTF-8"); String n = new String(utf8, "UTF-8"); Charset charset = Charset.forName("UTF-8"); ByteBuffer byteBuffer = charset.encode(string); CharBuffer charBuffer = charset.decode(byteBuffer); 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要.....

Linux 网络查看命令ip

linux的ip 命令和ifconfig 类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。 设置和删除命令 要给你的机器设置一个IP地址,可以使用下列ip命令: $ sudo ip addr add 192.168.0.193/24 dev wlan0 请注意IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0。 在你按照上述方式设置好IP地址后,需要查看是否已经生效。 $ ip addr show wlan0 你也可以使用相同的方式来删除IP地址,只需用del代替add。 $ sudo ip addr del 192.168.0.193/24 dev wlan0 列出路由表条目 ip命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的.......

Mockjs在Vue项目中使用

先放一下 Mockjs 官网地址 首先安装mockjs npm install mockjs 我们可以使用数据模板生成模拟数据 Mock.mock( rurl?, rtype?, template ) ) // 或者 Mock.mock( rurl, rtype, function( options ) ) Mock.mock( rurl, rtype, template ) 表示当拦截到rurl和rtype的ajax请求时,将根据数据模板template生成模拟数据,并作为响应数据返回。 Mock.mock( rurl, rtype, function( options ) ) 记录用于生成响应数据的函数。当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。 其中: rurl 可选 表示要拦截的url,可以使字符串,也可以是正则 rtype 可选 表示要拦截的ajax请求方式,如get、post template 可选 数据模板,可以是对象也可以是字符串 function(option) ......

Java开启代理

String proxyHost = "127.0.0.1"; String proxyPort = "19180"; System.setProperty("http.proxySet", "true"); // 对http开启代理 System.setProperty("http.proxyHost", proxyHost); System.setProperty("http.proxyPort", proxyPort); // 对https也开启代理 System.setProperty("https.proxyHost", proxyHost); System.setProperty("https.proxyPort", proxyPort);

对Promise中的resolve,reject,catch的理解

.then()的时候到底是在then什么… 首先要理解…Promise是一个对象,有then()方法的对象 then()的入参是一个函数,通常在promise链中,入参是 一个返回promise的函数 ,这句话好像有点拗口,就是说入参是一个函数,这个函数会return一个promise对象。 如何破坏promise链 如果有这样一个promise链: p1().then(p2).then(p3) .then((data) => { console.log('data: ' + data); }) .catch((error) => { console.log('error: ' + error); }); function p1() { let p1 = new Promise((resolve, reject) => { console.log('p1 resolved'); resolve(123); }); return p1; } function p2() { let p2 = new Promise((resolve, reject) => { co....

给vue项目ESLint 规则详细

'rules': { "comma-dangle": ["error", "never"], //是否允许对象中出现结尾逗号 "no-cond-assign": 2, //条件语句的条件中不允许出现赋值运算符 "no-console": 2, //不允许出现console语句 "no-constant-condition": 2, //条件语句的条件中不允许出现恒定不变的量 "no-control-regex": 2, //正则表达式中不允许出现控制字符 "no-debugger": 2, //不允许出现debugger语句 "no-dupe-args": 2, //函数定义的时候不允许出现重复的参数 "no-dupe-keys": 2, //对象中不允许出现重复的键 "no-duplicate-case": 2, //switch语句中不允许出现重复的case标签 "no-empty": 2, //不允许出现空的代码块 "no-empty-character-class": 2, //正则表达式中不允许出现空的字符组 "no-ex-assign": 2, //在try catch语句....

vue项目出现error Unexpected ‘debugger‘ statement no-debugger

问题描述: 项目中使用debugger/console报错 error Unexpected ‘debugger’ statement no-debugger error Unexpected ‘debugger’ statement no-debugger 解决办法: 找到项目中的 package.json 文件 找到 eslintConfig 配置参数 在 eslintConfig 下的 rules 添加 “no-debugger”: “off”, “no-console”: “off”, 重启项目 "eslintConfig": { "root": true, "env": { "node": true }, "extends": [ "plugin:vue/essential", "eslint:recommended" ], "parserOptions": { "parser": "babel-eslint" }, "rules": { "no-debugger":"off", "no-console":"off" } },

macOS开启高性能模式

性能模式会更改您的 Mac 的系统参数。这些更改会更好地利用您的硬件来满足服务器应用程序的要求。 装有 macOS Server 且需要运行高性能服务的 Mac 可以开启性能模式,以便将更多系统资源专用于服务器应用程序。 OS X El Capitan 10.11 及更高版本 要在 OS X El Capitan 10.11 及更高版本中开启性能模式,请使用 nvram 命令来调整 boot-args NVRAM 变量。如果您重置 NVRAM,该设置也将被清除。 以下命令会显示 boot-args NVRAM 变量。如果您看到 serverperfmode=1,则说明性能模式已开启。 nvram boot-args 如果性能模式尚未开启,您可以在 boot-args NVRAM 变量中使用以下命令来设置 serverperfmode=1,从而启用该模式: sudo nvram boot-args="serverperfmode=1 $(nvram boot-args 2>/dev/null | cut -f 2-)" 要关闭性能模式,请使用以下命令: sudo nvram bo.....

阿里云OSS图片基本操作整理

图片缩略图参数 https://dulebot.oss-cn-shenzhen.aliyuncs.com/sys/loginbg.jpg?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/quality,q_90 缩放操作 resize m_fill 指定缩放模式 fill 将原图等比缩放为延伸出指定w与h的矩形框外的最小图片,之后将超出的部分进行居中裁剪。 mfit:等比缩放,缩放图为延伸出指定w与h的矩形框外的最小图片。 lfit(默认值):等比缩放,缩放图限制为指定w与h的矩形内的最大图片。 w_300 指定目标缩放图的宽度 。范围值[1,4096] h_300 指定目标缩放图的高度 。范围值[1,4096] limit_0 指定当目标缩放图大于原图时是否进行缩放。 1(默认值):表示不按指定参数进行缩放,直接返回原图。 0:按指定参数进行缩放。 auto-orient,0 指定图片是否进行自适应旋转。 0:保持原图方向,不进行自适应旋转。 1:将图片进行自适应旋转 quality,q_90 设....

js 将字符串保存成txt文件

function exportRaw(name, data) { var urlObject = window.URL || window.webkitURL || window; var export_blob = new Blob([data]); var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a") save_link.href = urlObject.createObjectURL(export_blob); save_link.download = name; var ev = document.createEvent("MouseEvents"); ev.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); save_link.dispatchEvent(ev); }

private修饰的方法可以通过反射访问,那么private的意义是什么?

在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的,这就是java反射带来的便利。利用反射访问类的私有属性及方法如下: public class Reflect { private String name; private int age; private Reflect(int age) { this.age = age; } private void speak(String name) { System.out.println("My name is" + name); } public Reflect(String name) { this.name = name; } } 首先,我们要了解三个反射包中的类: Constructor:代表类的单个构造方法,通过Constructor我们可执行一个类的某个构造方法(有参或者无参)来创建对象时。 Method:代表类中的单个方法,可以用于执行类的某个普通方法,有参或无参,并可以接收返回值。 Fiel.....

图解 Git 各种用法,简单明了,一目了然!

基本用法 上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。 git add files 把当前文件放入暂存区域。 git commit 给暂存区域生成快照并提交。 git reset -- files 用来撤销最后一次git add files,你也可以用git reset 撤销所有暂存区域文件。 git checkout -- files 把文件从暂存区域复制到工作目录,用来丢弃本地修改。 你可以用 git reset -p, git checkout -p, or git add -p进入交互模式。 也可以跳过暂存区域直接从仓库取出文件或者直接提交代码。 img* git commit -a相当于运行 git add 把所有当前目录下的文件加入暂存区域再运行。git commit. git commit files 进行一次包含最后一次提交加上工作目录中文件快照的提交。并且文件被添加到暂存区域。 git checkout HEAD -- files 回滚到复制最后一次提交。 约定 后文中以下面的形式使用图片。 绿色的5位字符表示提交的ID....

js正则表达式

获取字符串中间的内容 'cin>>123123;'.match(/cin>>(\S*);/); 输出: 123123

网络通信

网络协议 网络通信中最重要的就是网络通信协议。当今网络协议有很多,局域网中最常用的有三个网络协议:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP协议。应根据需要来选择合适的网络协议。 TCP/IP协议 每种网络协议都有自己的优点,但是只有TCP/IP允许与Internet完全的连接。TCP/IP是在60年代由麻省理工学院和一些商业组织为美国国防部开发的,即便遭到核攻击而破坏了大部分网络,TCP/IP仍然能够维持有效的通信。ARPANET就是由基于协议开发的,并发展成为作为科学家和工程师交流媒体的Internet。 TCP/IP同时具备了可扩展性和可靠性的需求。不幸的是牺牲了速度和效率(可是:TCP/IP的开发受到了政府的资助)。 Internet公用化以后,人们开始发现全球网的强大功能。Internet的普遍性是TCP/IP仍然使用的原因。常常在没有意识到的情况下,用户就在自己的PC上安装了TCP/IP栈,从而使该网络协议在全球应用最广。 TCP/IP的32位寻址功能方案不足以支持即将加入Internet的主机和网络数。因而可能代替当前实现的标准是IPv....

java8 小技巧保证分组groupingBy后排序不变

问题: 遇到一个小问题,查询出来一组数据后,按照其中的属性进行groupBy 分组 ,分组后要保证顺序不变。但是实际用groupBy进行分组后,返回的数据是杂乱无章的,没有按照原来list 的顺序返回 排查 首先去api中查找解决,查看Java 的 java.util.stream 包 Collectors 类 groupingBy 方法实现,结果如下: //一个参数 public static <T, K> Collector<T, ?, Map<K, List<T>>> groupingBy(Function<? super T, ? extends K> classifier) { return groupingBy(classifier, toList()); } //两个参数 public static <T, K, A, D> Collector<T, ?, Map<K, D>> groupingBy(Function<? super T, ? extends K> ....

js异步请求fetch

Fetch上传文件(不需要设置headers) 实例代码:其它参数可不加把文件放在body中就行 // 上传文件 function uploadFile(f, name) { const fd = new FormData() fd.append('file', f, name) fetch('/jeecg-boot/leading/upload', { method: 'POST', body: fd, cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached credentials: 'same-origin', // include, same-origin, *omit mode: 'cors', // no-cors, cors, *same-origin redirect: 'follow', // manual, *follow, error referrer: 'no-referrer', // *client, no-referrer headers: { 'user-a....

前端和后台传值

fetch get请求: -有参数有值 =》 正常 -有参数没值 =〉 后台可能接到 undefined -没有参数 =》后台接收null

centos7 home目录空间释放添加到指定分区

备份home目录 cd /home tar czvf /home.tgz /home 这样,会在/下生成名叫home.tgz的压缩包,您可以在扩大/home目录后将这个包 解回到新的/home目录中  cd / tar zxvf /home.tgz -C /  如果/home中确实没有什么有用的数据,这一步也可以省略。 在配置中删除home vim /etc/fstab # # /etc/fstab # Created by anaconda on Mon Sep 14 10:59:58 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos_llilei-root / xfs defaults 0 0 UUID=f9d37ca9-9024-40e5-9587-b026......