JavaScript之封装
封装es5封装function Person(name, sex, age) { if (!(this instanceof Person)) { return new Person(name, sex, age); } this.name = name; this.sex = sex || 'female'; this.age = age || 0; this.walk = function() { if (this.age <= 2) { return console.log('我不会走路'); } if (this.age >2 && this.age < 4) { return console.log('我会走路了'); } return console.log(
使用yum时出现Error: rpmdb open failed解决方案
一、问题描述 使用yum安装软件时出现Error: rpmdb open failed,报错信息显示rpm数据库被损坏。二、解决方案 重建rpm数据库。 [root@localhost yum.repos.d]# cd /var/lib/rpm [root@localhost rpm]# ls Basenames __db.001 __db.003 Group Name Packages Requirename Sigmd5 Conflictname __db.002 Dirnames Installtid Obsoletename Providename Sha1header Triggername [root@localhost rpm]# rm __db.* -rf [root@localhost rpm]# ls Basenames Dirnames Installtid Obsoletename Providename Sha1header Triggername Conflictname Group Name Packages Requi
JavaScript之Map
Map语法 new Map([iterable]) 参数iterable Iterable 可以是一个数组或者其他 iterable 对象,其元素或为键值对,或为两个元素的数组。 每个键值对都会添加到新的 Map。null 会被当做 undefined。 描述一个Map对象以插入顺序迭代其元素 — 一个 for…of 循环为每次迭代返回一个[key,value]数组。 键的相等(Key equality)键的比较是基于 “SameValueZero” 算法:NaN 是与 NaN 相同的(虽然 NaN !== NaN),剩下所有其它的值是根据 === 运算符的结果判断是否相等。在目前的ECMAScript规范中,-0和+0被认为是相等的,尽管这在早期的草案中并不是这样。有关详细信息,请参阅浏览器兼容性 表中的“value equality for -0 and 0”。 Objects 和 maps 的比较Object 和 Map 类似的是,它们都允许你按键存取一个值、删除键、检测一个键是否绑定了值。因此(并且也没有其他内建的替代方式了)过去我们一直都把对象当成 Ma
爬楼梯
爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例1 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 实例2 输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶 提示 1 <= n <= 45 这是一个经典的动态规划问题,可以使用递推或动态规划的方法解决。 假设到达第 n 阶楼顶的方法只有两种:从第 n-1 阶跨一步到达,或者从第 n-2 阶跨两步到达。那么到达第 n 阶楼顶的方法总数就是到达第 n-1 阶楼顶的方法数和到达第 n-2 阶楼顶的方法数之和。 我们可以使用一个数组 dp 来保存到达每一阶楼顶的方法总数。数组初始化为 dp[0]=1 和 dp[1]=1,表示到达第 0 阶和第 1 阶楼顶的方法数都为 1。然后我们使用循环从第 2 阶开始计算每一阶的方法总数,直到计算到第 n
RestTemplate文件上传下载
使用RestTemplate下载文件String url = "需要下载的文件地址"; HttpHeaders header = new HttpHeaders(); List<MediaType> list = new ArrayList<MediaType>(); // 指定下载文件类型 list.add(MediaType.APPLICATION_OCTET_STREAM); header.setAccept(list); HttpEntity<byte[]> request = new HttpEntity<byte[]>(params, header); ResponseEntity<byte[]> response = this.restTemplate.exchange(url, HttpMethod.POST, request, byte[].class); // 取得文件字节 byte[] result = response.getBody(); 使用RestT
buffer
类方法: Buffer.alloc(size[, fill[, encoding]])History 版本 变化 v8.9.3 指定无效的字符串填充将会被替换为0来填充缓冲区。 v5.10.0 新增于: v5.10.0 参数 参数字段 类型 说明 size integer 指定新创建的Buffer大小 fill string \ Buffer \ integer 指定填充Buffer的值。 Default: 0 encoding \<string> 如果填充的是字符串,这个参数指定的就是字符串的编码。 默认: ‘utf8’ 分配一个指定字节大小的新Buffer。如果填充未定义,则Buffer将被零填充。 const buf = Buffer.alloc(5); // Prints: <Buffer 00 00 00 00 00> console.log(buf); buf.toString([encoding
redux的基础操作和思想
Redux相关源码:可以理解为主,但不要求一定都会写redux不会,虽然也有一些其他的替代方案:mobx,但是基本可以宣告react阵亡了 VUE->Vuex Redux生态圈中的知识 redux react-redux redux中间件mobx 类的装饰器react-router-dom v5/v6redux-saga/dva/umifetch及其二次封装antd pro 复合组件通信: 父子通信“具备相同父亲的兄弟组件”:props属性 “基于ref”祖先和后代“具备相同祖先的平行组件”:context上下文 redux/react-redux 也是实现组件之间的通信技术“插件” 不管任何类型的组件,都可以基于这种方法,实现组件通信 公共状态管理方案 后期实战开发中,父子组件一般是基于: props/ref/redux其余组件的通信一般都是基于redux管理的 三个组件中,都需要用到创建的store容器 我在根组件中,导入store,把其放在上下文中,后期其他组件需要,只要是它的后代组件,则直接获取使用即可!!! redux的使用
简易聊天机器人
简易聊天机器人基于rasa框架的简单聊天机器人,需要安装rasa依赖rasa安装pip3 install -U pippip3 install rasa启动rasa actionrasa run actions命令行运行rasa shell模型训练rasa train运行api服务rasa run源码
spring中使用RestTemplate下载与上传文件
使用RestTemplate下载文件 String url = "需要下载的文件地址"; HttpHeaders header = new HttpHeaders(); List<MediaType> list = new ArrayList<MediaType>(); // 指定下载文件类型 list.add(MediaType.APPLICATION_OCTET_STREAM); header.setAccept(list); HttpEntity<byte[]> request = new HttpEntity<byte[]>(params, header); ResponseEntity<byte[]> response = this.restTemplate.exchange(url, HttpMethod.POST, request, byte[].class); // 取得文件字节 byte[] result = response.getBody(); 使用RestTemplate上传文件 String url = "接收文件的地址"; HttpHeaders hea
互联网公司面试必问的Redis题目
Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到。Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点。 介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。 传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式而分布式一般遵循 CAP 定理。 Github源码:https://github.com/antirez/redis Redis 官网:redis.io/ Redis支持的数据类型? String字符串: 格式: set key value string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。 Hash(哈希) 格式: hmset
使用sts eclipse创建spring boot项目
使用sts_eclipse创建spring boot项目sts下载地址https://spring.io/tools/sts/all安装sts创建sts创建string boot项目,创建spring stater project项目,如下图点击next,如图点击next,如图勾选需要的组件,DevTools用户热加载,开发时可使用,web用于web项目。点击finish完成项目创建,maven自动下载相关依赖。目录结构如下:src/main/java用于存放项目主要代码src/main/resources用于存放资源文件,application.properties为默认配置文件src/test/java存放单元测试代码target目录存放打包后的文件spring boot入口文件代码 package spring.boot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
flex弹性布局(一)
flex弹性布局 Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为Flex布局。 .flex{ display: flex; display: -webkit-flex; /* Safari */ border: none; } <div class="flex"> <div>12</div><div>13</div><div>14</div><div>15</div><div>16</div><div>17</div><div>18</div><div>19</div> </div> 效果如下: note: 设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。 flex-direction row (默认值):主轴为水平方向,起点在左端。 /*水平从左至右排列*/ .flex-direction.row{ flex-direction: row; } <div class="flex flex-direction ro