目录

工欲善其事

实践出真知

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

存档:

git 强制拉取

该方法会强制覆盖本地代码,也就是放弃本地修改 git fetch --all git reset --hard origin/master git pull git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。 Git分支相关 创建分支 git branch (branchname) 切换分支 git checkout (branchname) Git提交与修改 git add 添加文件到仓库 git status 查看仓库当前的状态,显示有变更的文件。 git diff 比较文件的不同,即暂存区和工作区的差异。 git commit 提交暂存区到本地仓库。 git reset 回退版本。 git rm 删除工作区文件。 git mv 移动或重命名工作区文件。

JS数组/对象转字符串互转

JavaScript | 字符串转对象三种方法 JSON.Parse() 在这次使用 JSON.Parse()的时候报错,Unexpected token {in JSON at position 217362,经过查资料发现,类似的报错还挺多的,比如 Unexpected token < in JSON at position 0,比如 Unexpected token ' in JSON at position 1。 eval() eval()函数可以执行任何的 JavaScript 代码,所以其实蛮危险的,容易被插入恶意脚本 const jsonStr = '{name:"orange",age:18}' console.log(eval("(" + jsonStr + ")")) 使用函数 其原理就是通过拼接字符串,然后在 Function 创建一个匿名方法然后调用。 const jsonStr = '{name:"orange",age:18}' console.log(new Function("return " + jsonStr)) 对象转字符串 JSON.s......

js 面试题

JS 中一个方法在调用的时候写括号和不写括号有什么区别 以test()和test为例 1.无括号 test表示的函数指针,通俗的理解就是等待某个特定的位置后执行,而不是立马执行。这也是使用计时器中正确的写法。 2.有括号 test()表示执行方法test,此时计时器的作用就没有了,由于加了括号,就相当于调用了一个方法,而不是启动了一个计时器。 JavaScript中属性和方法名称的下划线前缀有什么作用 约定而已

linux 硬盘使用状态查看

安装 smartctl yum install smartmontools 查看硬盘使用时间 smartctl -a /dev/sda |grep 'Power_On_Hours'

Linux 创建文件夹的操作

单个文件夹 mkdir folder 多个文件夹创建 mkdir -p /data/nas_folder/{program_back,planning,market,sell,material,teaching,technology,sell_share,market_share,planning_share,technology_share,teaching_share,program}

linux 创建用户

useradd {user} smbpasswd -a {user}

关闭vue 拦截host的配置

解决vue项目中的“Invalid Host header” 解决方法: 1、在vue-cli版本为2.x的情况下修改 webpack.dev.conf.js中的devServer对象加入disableHostCheck: true即可 devServer: { disableHostCheck: true, } 2、vue-cli版本3.0的情况下修改 vue.config.js的配置 module.exports = { devServer: { disableHostCheck:true } }

记录 docker 在阿里云的Ubuntu 安装后起不来的问题

记一次ubuntu 安装docker,服务无法启动 在 /etc/sysctl.conf 修改 fs.nr_open = 1048576 sudo sysctl -p 使配置生效 使用的是阿里云的Ubuntu 18.04.5 LTS服务器亲测可用

docker-compose安装

安装docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 赋权限 sudo chmod +x /usr/local/bin/docker-compose 然后cd到给你的那个文件的目录下执行 docker-compose up -d 注:文件名 docker-compose.yml

mysql 中的正则表达式

mysql 富文本内容替换 字符串方式 UPDATE child_course SET promotional_photos=replace(promotional_photos, 'child_course SET promotional_photos=REGEXP_REPLACE(promotional_photos, 'height=\".*\"', ''); 注意上面的方式是在8.0之后的!如果使用5.7的版本可以参考以下解决方法 1、开启mysql自定义函数支持 show variables like '%fun%'; log_bin_trust_function_creators=OFF表示没有开启自定义函数。输入开启命令。 set global log_bin_trust_function_creators=1; 注:此处不开启,后面自定义函数写好。调用不起作用 !执行可能需要root权限 2.编写reg....

JSZip库的简单使用

官方网址: JSZip jszip是一个用于创建、读取和编辑.zip文件的JavaScript库,且API的使用也很简单。 安装 npm install jszip 需用到jszip/dist下的jszip.min.js文件以及jszip/vendor下的FileSaver.js文件 引入 将js文件放到jszip文件夹下 <script src="jszip/jszip.min.js"></script> <script src="jszip/FileSaver.js"></script>><!--用于文件下载--> 官方示例 创建 var zip = new JSZip(); zip.file("Hello.txt", "Hello World\n"); var img = zip.folder("images"); img.file("smile.gif", imgData, {base64: true}); zip.generateAsync({type:"blob"}) .then(function(co.......

Js 排序

js自带了排序的方法: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // 对 fruits 中的元素进行排序 fruits.reverse(); // 反转元素顺序 但是这样肯定不能满足我们的所有需求,比如在数字排序的时候只拍第一位数 let points = ['8.py','0.py','9.py','1.py','2.py']; points.sort((a, b) => parseInt(a) - parseInt(b)); // 正序 反序同理

React 组件通信方式汇总

父组件向子组件通信 父组件更新组件状态,通过props传递给子组件,子组件得到后进行更新。 Timer 是倒计时子组件,集成在了OrderPay父组件里,父组件向子组件传订单数据参数order对象。如下代码: <Timer order={order} /> //倒计时组件 在子组件里直接通过props获取父组件传递过来的参数,如下: let order = this.props.order;//订单详情 子组件向父组件通信 子组件更新组件状态,通过回调函数的方式传递给父组件。 子组件调用父组件通过props传给它的函数更新父组件state,进而完成子组件向父组件的通讯。 先看父组件 import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; //导入子组件 import Child from './child.js'; class App extends Component { constructor(props){ super(props); ......

MySql查看数据库及表容量大小并排序

查看所有数据库容量大小 select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' from information_schema.tables group by table_schema order by sum(data_length) desc, sum(index_length) desc; 查看所有数据库各表容量大小 select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024, 2) as '数据容量(MB)', truncate(index_length/1024/1024, 2) as '索引容量(MB)' from information_schema.tab.....

JeecgBoot 字典翻译改造(支持实体类详情查询自动翻译)

找到字典切面类(DictAspect) 改造方法(parseDictText) 支持自动生成的列表接口/单个实体类查询翻译 代码如下: private void parseDictText(Object result) { if (result instanceof Result) { if (((Result) result).getResult() instanceof IPage) { List<JSONObject> items = new ArrayList<>(); for (Object record : ((IPage) ((Result) result).getResult()).getRecords()) { ObjectMapper mapper = new ObjectMapper(); String json = "{}"; try { //解决@JsonFormat注解解析不了的问题详见SysAnnouncement类的@JsonFormat json = mapper.writeValueAsString(record); } ca....

git pull 强制覆盖本地的代码

git pull 强制覆盖本地的代码方式,下面是正确的方法: git fetch --all 然后,你有两个选择: git reset --hard origin/master 或者如果你在其他分支上: git reset --hard origin/<branch_name> 说明: git fetch从远程下载最新的,而不尝试合并或rebase任何东西。 然后git reset将主分支重置为您刚刚获取的内容。 --hard选项更改工作树中的所有文件以匹配origin/master中的文件。 抄的也不知道行不行

vue 框架里的常用内置对象和说明

记录下Vue全家桶框架中内置方法 vue 原文地址 components 加载组建 使用方法: 倒入的方法加载作用 directives 做权限按钮的功能 这个没用过不清楚 filters 过滤器 它下面的方法可以在标签中使用 并且支持管道形式的传值: filters: { statusFilter(status) { const statusMap = { published: 'success', draft: 'info', deleted: 'danger' } return statusMap[status] } } <el-tag :type="row.status | statusFilter"> {{ row.status }} </el-tag> data() 数据 存放当前vue页面数据的方法 created() 进入页面加载 这里面的方法和事件在进入页面时会加载一次 methods 普通方法 存放普通方法的函数 computed 计算属性 计算属性具有缓存。计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新......

mysql 记一次自以为是的翻车事件

最近在创建数据库时 打 text 发现还有个几个包含text的类型: text 65535/3=21845个汉字,约20000,存储空间占用:65535/1024=64K的数据, tinytext 最大长度255个字节(2^8-1), longtext 4294967295/3=1431655765个汉字,14亿,存储空间占用:4294967295/1024/1024/1024=4G的数据, mediumtext 16777215/3=5592405个汉字,560万,存储空间占用:16777215/1024/1024=16M的数据 想着文字不多用text(65535/3=21845个汉字)有点占用空间 就用 tinytext节省一点空间但当时不知道长度。 结果各种报错:⬇️ Caused by: java.sql.SQLException: Incorrect string value: '\xE5\x89\x8D\xE9\x9B\x86...' for column 'description' at row 1 各种搜发现好想又不是编码问题,utf8md4 也设了不管用。。还好最......

Linux:ls 使用说明

按照修改时间排序显示 -l use a long listing format 以长列表方式显示(详细信息方式) -t sort by modification time 按修改时间排序(最新的在最前面) -r reverse order while sorting (反序) # 按照文件占用大小 ls -lS:按照文件所占的大小从大开始排列 ls -lSr:按文件的大小从小到大来排列 # 按照时间 ls -lt:按文件修改的日期从新到旧来排序 ls -lrt:按文件修改的日期从旧到新来排序 注意:-r就是倒序 想让ls 显示正常的时间列表和大小单位 ls -lh --time-style="+%Y-%m-%d %H:%M:%S" 如何读取输出 [swap]# ll 总用量 1.8G drwxr-xr-x 15 root root 4.0K 2022-06-04 16:31:34 . drwxr-xr-x 11 root root 127 2021-10-18 10:21:13 .. drwxr-xr-x 2 root super 55 2022-06-01 20:24:44 20......

mysql 常用配置

忽略大小写配置 # 查看配置状态 SHOW VARIABLES LIKE '%case%'; # my.cnf # 设置忽略大小写 lower_case_table_names = 1; 配置group by 分组后显示多个字段 1.进入mysql 2.查询出sql_mode: SELECT @@GLOBAL.sql_mode; SELECT @@SESSION.sql_mode; SELECT @@sql_mode; 发现前面都有ONLY_FULL_GROUP_BY 3. 在命令行中输入 set @@GLOBAL.sql_mode=(select replace(@@GLOBAL.sql_mode,‘ONLY_FULL_GROUP_BY’,’’)); 以上三个sql_home都设置一遍, 退出mysql重新进入查看sql_mode;