input的事件: @input=“usernameInput()” 监听输入事件 @keyup.native=“userNameKeyup($event)” 监听键盘事件 @paste.native=“usernamePaste” 监听粘贴事件 @blur=“blurUsername()” 监听失去焦点事件 <el-input @input="usernameInput()" @keyup.native="userNa
void vSetSSN(int value) { // GPIO_CS // gpio_set_direction(GPIO_CS, GPIO_MODE_INPUT); //写这个或下一个 // 1为高电平,0为低电平 // gpio_set_level(GPIO_CS, value); gpio_reset_pin(GPIO_CS); gpio_se
1. SKU和SPU概念 SPU代表一个商品,这个商品可以拥有很多属性 SKU代表这个商品可选规格的任意组合,是库存单位唯一标识 2. 路径字典 大致步骤 根据后台返回的sku数据得到有效sku组合(inventory > 0) 处理sku数组,使用power-set算法得到sku数组的子集 比如:['蓝色', '中国']
做后台管理系统,肯定会有一堆表单要填,就会要用到表单校验。 在utils文件夹下新建文件validator.js,然后在mian.js中引入并且挂载到原型上。 main.js //在mian.js中引入 import FormValidator from '@/utils/validator', //挂到Vue的原型上 Vue.prototype.FormValidator = FormValida
NaN是唯一一个不和自身不相等的值,Array》prototype.indexOf 使用了严格相等,因此不能通过该方法在数组中查找 NaN: NaN === NaN // false [NaN].indexof(NaN); // false 如果想要检查一个值是否为 NaN,必须使用全局函数 isNaN(): isNaN(NaN); // true isNaN(33); // false 但是,isNaN
<script setup > import { ref, reactive, toRefs } from 'vue' import { BrowserMultiFormatReader } from '@zxing/library'; import { Dialog, Notify } from 'vant'; import { useRouter, useRoute } from "vue-router" c
1. 基础布局 完成商品详情基础布局,路由配置,搭好页面架子 2. 渲染面包屑 编写一个钩子函数useGoods.js,将面包屑获取数据的逻辑抽取出来。 // 拿到商品信息 import { findGoods } from '@/api/product' import { nextTick, ref, watch } from 'vue' import { useRoute } from
Problem Statement We have a variable \(X\) and \(N\) kinds of operations that change the value of \(X\). Operation \(i\) is represented as a pair of integers \((T_i,A_i)\), and is the following operation: if \(T_i=1\), it replaces the value o
一、时间复杂度 假设数据量是n、则每次查找的数据量分别是n、n/2、n/4、n/8、……n/2^k 。 k就是在找到数据的时候总共缩小的次数、而每次缩小的操作都只涉及两个数的操作、时间时间复杂度就是 n/2^k=1、即只剩一个数据的时候。k=log2n、所以时间复杂度就是O(logN)。 二、使用条件
map 和 forEach 的区别:map 有返回值,可以开辟新空间,return 出来一个 length 和原数组一致的数组,即便数组元素是 undefined 或者是 null。forEach 默认无返回值,返回结果为 undefined,可以通过在函数体内部使用索引修改数组元素。 map 的处理速度比 forEach 快,而且返回一个新的数组,方
棋局评估(MINMAX搜索+α-β剪枝) 这是一个博弈的问题,在这里,你的对手希望他得高分,你希望你得高分,可是你分数高了他的分就低了。下棋的时候,你希望走出最好的局面,即使输也要分数最高,而你的对手恰恰相反,他要走出他的最好局面,也就是你的最坏局面,让你分数最低。这样交替行棋,也就完成了对
原因: Collectors.toMap(),把一个list,转成map,以list元素的 id为key, name 为 value,其中有元素的 value为空,报了空指针,原因如下: 解决方案: 添加过滤,把value为空的元素去掉,加一个 filter if (null != departments && departments.size() > 0) { Map<String, String> deptM
题目如下: <?php highlight_file('source.txt'); echo "<br><br>"; $flag = 'xxxxxxxx'; $giveme = 'can can need flag!'; $getout = 'No! flag.Try again. Come on!'; if(!isset($_GET['flag'])
SpringBoot——@PathVariable URL变量 Web应用中的URL通常不是一成不变的,例如微博两个不同用户的个人主页对应两个不同的URL:http://weibo.com/user1和http://weibo.com/user2。我们不能对于每一个用户都编写一个被@RequestMapping注解的方法来处理其请求,也就是说,对于相同模式的URL
1. spring新注解配置 1. @Configuration 作用:配置类,等同于bean.xml文件 获取容器时需要使用AnnotationApplicationContext(有@Configuration注解的类.class) 属性:value:指定配置类的字节码 2. @ComponentScan 作用:用于指定 spring 在初始化容器时要扫描的包 等同于<context:component
14、SpringBoot整合Redis 14.1、概述 SpringBoot操作数据库:spring-data,jpa,jdbc,mongodb,redis SpringData也是和SpringBoot齐名的项目! 说明:在SpringBoot2.x之后,原来使用的jedis被替换成了lettuce jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool连接
6. 部署Zabbix监控 6.1 安装mysql [root@ubuntu ~]#hostnamectl set-hostname mysql-master;exit [root@mysql-master ~]# apt install -y mysql-server #配置mysql,不然后面登不进mysql [root@mysql-master ~]# vim /etc/mysql/mysql.conf.d/mysqld.cnf bind-address
设计哈希映射 哈希+链表 class MyHashMap { class Pair{ int key; int value; public Pair(int key, int value){ this.key = key; this.value = value; } } LinkedList arr[] = new LinkedList[1024];
将DataTable转换为类 众所周知,有时候我们需要将sql查询返回的DataTable转换为类。最开始是使用循环一个个给类的属性赋值,但是这样效率低并且无法复用。 后来了解到利用DataTable添加扩展方法可以轻松的实现这一功能 using System; using System.Collections.Generic; using Syste
Promise面试题地址: https://mp.weixin.qq.com/s/SIeDvm8nYDPK5XWzRj7LCg Promises/A+规范: https://promisesaplus.com/ Promise的一个实现: https://github.com/taylorhakes/promise-polyfill.git 名词解释 onFulfilled: then的第一个参数, 默认提供函数 onRejected: the
SpringCache SpringCache是一个框架,实现了基于注解的缓存功能。SpringCache提供了一层抽象,底层可以切换不同的cache实现。具体是通过CacheManager接口来统一不同的缓存技术. CacheManager是Spring提供的各种缓存技术抽象接口. 针对不同的缓存技术需要实现不同的CacheManager: C
问题: this.$refs[formName].validate((valid) =>{} 无效的问题,当验证通过的时候点确定按钮没有报错,也没有任何反应。 背景: ruoyi前后端分离新项目,前端vue。 解决: 参考: this.$refs[formName].validate((valid) =>{} 无效 - 搬砖的苦行僧 - 博客园 (cnblogs.com) 每一个 if 都要对
String类型的常见命令 String的常用命令有: 命令 描述 set <key> <value> 设置键值对,成功返回1,失败返回0,key值已经存在则覆盖原值 get <key> 根据key返回对应的value setnx <key> <value> 只有key 不存在时,设置key的值,key值存在则无法设置 append <key> <value> 给指定
package redis.clients.jedis.commands; import java.util.List; import redis.clients.jedis.args.BitCountOption; import redis.clients.jedis.args.BitOP; import redis.clients.jedis.params.BitPosParams; import redis.clients.jedis.params.GetExParams; import red
ES6面试点-WEAKMAP与MAP的区别,SET与WEAKSET的区别 标签: es6 ES6引入了四种新的数据结构: 映射(Map) 弱映射(WeakMap) 集合(Set) 弱集合(WeakSet) 一、Object 对比 MapObject作为哈希表使用存在以下问题 Object的key必须是String或者是Symbol,当key不为字符串时,会调用toSt