目录

工欲善其事

实践出真知

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

存档:

Mac下的常用快捷键操作

Mac 键盘快捷键 您可以按下组合键来实现通常需要鼠标、触控板或其他输入设备才能完成的操作。 要使用键盘快捷键,请按住一个或多个修饰键,同时按快捷键的最后一个键。例如,要使用快捷键 Command-C(拷贝),请按住 Command 键并按 C 键,然后同时松开这两个键。Mac 菜单和键盘通常对某些按键使用符号,其中包括以下修饰键: Command ⌘ Shift ⇧ Option ⌥ Control ⌃ Caps Lock ⇪ Fn 如果您使用的是 Windows PC 专用键盘,请用 Alt 键代替 Option 键,用 Windows 标志键代替 Command 键。有些 Mac 键盘在顶行中设有特殊按键,快捷键中也会用到它们;这些按键上有音量图标、显示屏亮度图标和其他功能图标。按下图标键可执行相应功能,将其与 Fn 键组合可用作 F1、F2、F3 或其他标准功能键。 要了解更多快捷键,请查看您所用应用的菜单。每个应用都有自己的快捷键,在一个应用中有用的快捷键可能不能用于另一个应用。 剪切、拷贝、粘贴和其他常用快捷键 快捷键 描述 Command-X 剪切所选项并拷贝到剪贴板。.....

Nginx 配置清单

Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务,其因丰富的功能集、稳定性、示例配置文件和低系统资源的消耗受到了开发者的欢迎。本文,总结了一些常用的 Nginx 配置代码,希望对大家有所帮助。 侦听端口 server { # Standard HTTP Protocol listen 80; # Standard HTTPS Protocol listen 443 ssl; # For http2 listen 443 ssl http2; # Listen on 80 using IPv6 listen [::]:80; # Listen only on using IPv6 listen [::]:80 ipv6only=on; } 访问日志 server { # Relative or full path to log file access_log /path/to/file.log; # Turn 'on' or 'off' access_log on; } 域名 server { # Listen to ......

在 Mac 的访达右键中添加 Open With Sublime Text

1.在程序坞 -- 其它 中找到自动操作小机器人 可以通过聚焦搜索 输入自动操作.app 打开 2.打开自动操作,点击 -- 新建文稿 按钮大约在程序的左下角 3.在弹出的界面中选择 『快速操作』(mojave以前的版本叫作服务) 大约是第三个图标 4.点击右下角的选取,在弹出的界面中,按如下来设置 工作流程收到当前 文件或文件夹,位于 访达 5.点击左上角的资源,展开资源管理器列表(如果一开始就是展开状态就忽略这个步骤) 使用工具 -》 运行 Shell脚本 6.点击实用工具 --> 找到 『运行shell 脚本』,拖动『运行shell脚本』,放到右边的灰色区域 传递输入 选择作为自变量 7.运行shell脚本 对话框中,shell 选择 /bin/bash ,传递输入选择 『作为自变量』,然后将下面内容复制到文本框中 for f in "$@" do open -a "Sublime Text" "$f" done 8.确定步骤都没问题之后,按command + s 保存,保存框的名字将是右键菜单的名字,然后在任意的文件夹中点击右键,检查是否添加右键成功 (mojave以上.....

接口是否支持跨域测试

Ajax方式 var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://localhost:8888/api/kernels'); xhr.send(null); xhr.onload = function(e) { var xhr = e.target; console.log(xhr.responseText); } Fetch方式 fetch(http://localhost:8888/api/kernels?${new Date().getTime()}, {method: 'get'}).then(res => console.log(res))

电脑本机搭建https开发环境

生成SSL证书 建立目录certs,专门用来存放证书和私钥 # 创建目录 mkdir certs # 进入目录 cd certs/ # 生成key的配置文件 vim localhost.conf 配置文件内容如下,可自作修改 [ req ] default_bits = 2048 # RSA的2048是公认较比较安全的key长度 default_keyfile = server-key.pem distinguished_name = subject req_extensions = req_ext x509_extensions = x509_ext string_mask = utf8only [ subject ] countryName = Country Name (2 letter code) countryName_default = US stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = NY localityName = Locality Na.....

如何删除Git中的.DS_Store

.DS_Store 是什么 使用 Mac 的用户可能会注意到,系统经常会自动在每个目录生成一个隐藏的 .DS_Store 文件。.DS_Store(英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。相当于 Windows 下的 desktop.ini。 删除 .DS_Store 如果你的项目中还没有自动生成的 .DS_Store 文件,那么直接将 .DS_Store 加入到 .gitignore 文件就可以了。如果你的项目中已经存在 .DS_Store 文件,那就需要先从项目中将其删除,再将它加入到 .gitignore。如下: 删除项目中的所有.DS_Store。这会跳过不在项目中的 .DS_Store 1.find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch 将 .DS_Store 加入到 .gitignore 2.echo .DS_Store >> ~....

Nginx 配置清单

侦听端口 server { # Standard HTTP Protocol listen 80; # Standard HTTPS Protocol listen 443 ssl; # For http2 listen 443 ssl http2; # Listen on 80 using IPv6 listen [::]:80; # Listen only on using IPv6 listen [::]:80 ipv6only=on; } 访问日志 server { # Relative or full path to log file access_log /path/to/file.log; # Turn 'on' or 'off' access_log on; } 域名 server { # Listen to yourdomain.com server_name yourdomain.com; # Listen to multiple domains server_name yourdomain.com www.yourdomain.com; # Listen to......

MYSQL排序后 分页 被你忽略的坑

差点把锅推给了框架 = =! 问题描述 数据分页时需要根据数据记录创建时间create_time字段倒序,即使用order by create_time desc limit ?,?,但是我发现,全选第一页后切到下一页竟然有零零散散几个被选中的数据。当时以为脏数据清掉后再次导入发现了同样的问题。 问题原因 期初还很好奇,总数没问题,总查询也没问题,为什么数据会重复了,然后会把部分数据给覆盖了。后来,通过查看SQL发现,是根据时间进行排序的,然而 这个时间 恰恰 好多数据都是 同一时间插入,或者 设置的 同一时间。 先后执行 总查询(也就是不分页),是没有重复。 再次执行分页查询,分两页查询就有了出路。(且,两次查询出来的数据和总查询数据不一样了) 后来 发现,当SQL中ORDER BY待排序字段值相同时,系统对数据的排序可能变得随机,即一会儿这条数据在前面,一会儿这条数据在后面了 ,所以当翻页的时候我们很容易便看到了重复的数据。 SQL中ORDER BY相同值结果乱序的具体原因 查阅了Goole和相关资料,大概总结了这种情况的原因。其实发生这种现象是“故意”设计的。 如果没有指定ORD....

显示器接口定义和互转

浅谈高清显示接口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); }