-
原生+React实现懒加载(无限滚动)列表方式
目录 应用场景 效果预览 思路剖析 原生代码实现 迁移到React 总结 应用场景 懒加载列表或叫做无限滚动列表,也是一种性能优化的方式,其可疑不必一次性请求所有数据,可以看做是分页的另一种实现形式,较多适用于移动端提升用户体验,新闻.资讯浏览等. 效果预览 思路剖析 设置临界元素,当临界元素进入可视范围时请求并追加新数据. 根据可视窗口和滚动元素组建的关系确定数据加载时机. container.clientHeight - wrapper.scrollTop <= wrapper.client
-
关于JavaEE内部类的部分注意事项
目录 前言 一.成员内部类 注意事项: 二.静态内部类 注意事项: 三.方法内部类 注意事项: 总结 前言 内部类的设计也是一种封装的思想,封装体现的就是保护性和易用性. 内部类可分为四大类: 成员内部类 静态内部类 方法内部类 匿名内部类 内部类存在的原因: 内部类和外部类可以方便地访问彼此的私有域(属性和方法) 内部类使用private关键字修饰可以对外部类的外部完全隐藏(内部类就当作外部类的属性看待) 内部类可以变相多继承 一.成员内部类 在外部类的内部不使用static关键字定义的内部类
-
Java面向对象之继承、构造方法、重写、重载
目录 构造方法 无参构造 有参构造 注意 类的继承 方法重写.重载 重写 重载 构造方法 类的构造方法是特殊的方法,此方法名称必须和类名一致,构造不能有返回值 不使用void,不能直接调用,在类对象实例化时自动调用,new 的时候可以调用.一般构造方法用于类对象实例化时的初始化.如果一个类没有编写构造方法,系统自动给此类编译时添加一个无参构造方法.如果声明类编写了构造方法,系统不再添加无参构造方法,建议编写完构造方法时,最好编写一个无参构造方法. 无参构造 说白了就是没有参数的构造方法概念看不懂
-
一文教你用Python中progress库实现进度条
目录 progress库安装和介绍 progress实现进度条 PyCharm进度条显示问题解决 进度条代码的另外两种写法 实现更多种类的进度条 汇总 progress库安装和介绍 1.安装progress库 progress是Python第三方库,在终端执行 pip 命令安装. pip install progress 2.progress进度条效果展示 progress的pypi源地址为:https://pypi.org/project/progress/ 在官网可以看到progress能实
-
tomcat启动异常:子容器启动失败(a child container failed during start)
在学习过程中,出现这个问题,上网查了一下,总结以下几种解决方案,并找出自己的问题. 1.没有清理之前maven项目的历史. 解决方法:执行clean命令,然后重新启动项目. 操作:添加maven helper插件后,右键→run maven→clean ps:关于maven项目历史是啥我不太了解. 2.pom.xml文件中servlet-api依赖导入问题. 解决方法:在依赖中添加<scope>标签,内容为provided. 示例:<scope>provided</scope
-
Python基于Google Bard实现交互式聊天机器人
目录 用Python基于Google Bard做一个交互式的聊天机器人 获取Session ID Python代码 运行与尝试 代码 用Python基于Google Bard做一个交互式的聊天机器人 之前已经通过浏览器试过了 Google Bard ,更多细节请看: Try out Google Bard, Will Google Bard beat the ChatGPT?. 现在我们想实现自动化,所以我用Python做一个交互式的聊天机器人. 获取Session ID 通过浏览器先拿到Ses
-
关于WARNING:Ignoring invalid distribution -pencv-python....警告信息的处理方法(已解决!)
目录 关于 WARNING: Ignoring invalid distribution -pencv-python … 警告信息 解决方法: 结束 关于 WARNING: Ignoring invalid distribution -pencv-python … 警告信息 在查看命令行窗口输入 pip list ,出现下面的警告提示 解决方法: 根据警告提示信息,找到目录,然后删掉带~开头的文件夹. 这是之前安装插件失败/中途退出,导致插件安装出现异常导致的. 删除后,在此查看信息,警告信息就
-
element-plus/element-ui走马灯配置图片及图片自适应的最简便方法
目录 目标一:插入图片 目标2:图片自适应 总结 首先展示官网给的模板 <template> <el-carousel :interval="4000" type="card" height="200px"> <el-carousel-item v-for="item in 6" :key="item"> <h3 text="2xl" justi
-
python入门学习之自带help功能初步使用示例
目录 python help使用 modules keywords symbols python help使用 C:\Users\wusong>python Python 3.8.2rc1 (tags/v3.8.2rc1:8623e68, Feb 11 2020, 10:46:21) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or &qu
-
Redis类型type与编码encoding原理及使用示例
目录 摘要 redisObject 类型与编码介绍 字符串 列表 集合 有序集合 哈希表 类型与编码底层原理 编码转换 数据结构 总结 摘要 Redis是一款开源的高性能key-value数据库,广泛应用于各种场景.在Redis中,数据类型(type)和编码(encoding) 是非常重要的概念.本篇博客将详细介绍Redis支持的数据类型以及相应的编码方式和底层实现原理. 要查看Redis某个key的内部编码,可以使用Redis命令OBJECT ENCODING key.其中,key是你想要查询
-
MySQL8 批量修改字符集脚本
目录 1. 批量修改库字符集 2. 批量修改表字符集 3. 批量修改列字符集 从低版本迁移到MySQL 8后,可能由于字符集问题出现 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) 错误,此时要修改对象的字符集. 1. 批量修改库字符集 change_database_characset.sql select concat('alter database ',sch
-
java8保姆级lambda表达式教程
目录 1.替代匿名内部类 2.使用lambda表达式对集合进行迭代 3.用lambda表达式实现map 4.用lambda表达式实现map与reduce 5.filter操作 6.与函数式接口Predicate配合 1.替代匿名内部类 毫无疑问,lambda表达式用得最多的场合就是替代匿名内部类,而实现Runnable接口是匿名内部类的经典例子.lambda表达式的功能相当强大,用()->就可以代替整个匿名内部类!请看代码: 如果使用匿名内部类: @Test public void oldRun
-
C++之智能指针初步及弃用auto_ptr的原因分析
目录 RAII RAII的四个步骤 裸指针存在的问题 智能指针 智能指针的引入 四种智能指针 总结 RAII 使用局部对象来管理资源的技术 RAII的原理 RAII的四个步骤 裸指针存在的问题 delete后的指针变量就变成了一个失效指针(也叫作悬空指针). 对于下面的代码: void Destroy(Object *op) { delete op; delete[] op; } Object *op = new Object(10); Object *arop = new Object[10]
-
Web端扫码登录的原理和实现讲解
1 概述 在日常 Web 端产品的使用中,一般都会支持扫码登录,这种方式操作简单,相对传统的手机号登录等方式速度更快.安全性更高,还可以增加自家产品的粘合度. 2 登录原理 扫码登录本质是解决将 APP 端的用户登录信息(通常是 Token)通过扫码的形式安全稳定地同步给 Web 端. 1)用户打开 Web 端网页,进入扫码登录的界面:2)从 Web 端服务器获取二维码的图并获取其状态:3)Web 端服务器在生成二维码时,会生成一个 uuid 和二维码进行关联,并将 uuid 存入 db 记录中
-
基于Golang实现Redis协议解析器
本文实现Redis的协议层,协议层负责解析指令,然后将指令交给核心database执行 echo database用来测试协议层的代码 https://github.com/csgopher/go-redis RESP协议 RESP是客户端与服务端通信的协议,格式有五种: 正常回复:以“+”开头,以“\r\n”结尾的字符串形式 错误回复:以“-”开头,以“\r\n”结尾的字符串形式 整数:以“:”开头,以“\r\n”结尾的字符串形式 多行字符串:以“$”开头,后跟实际发送字节数,再以“\r\n”
-
MySQL长字符截断的实现示例
MySQL超长字符截断又名"SQL-Column-Truncation",是安全研究者Stefan Esser在2008 年8月提出的. 在MySQL中的一个设置里有一个sql_mode选项,当sql_mode设置为default时,即没有开启STRICT_ALL_TABLES选项时(MySQLsql_mode默认即default),MySQL对插入超长的值只会提示warning,而不是error,这样就可能会导致一些截断问题. 新建一张表测试,表结构如下(MySQL5.1): CRE
-
Unable to connect to Redis无法连接到Redis解决的全过程
目录 项目场景: 完整的项目报错信息: 问题描述: 原因分析: 解决方案: 总结 项目场景: 提示:这里简述项目相关背景: 在某个项目中的提交按钮不好用 org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect t
-
python借助ChatGPT读取.env实现文件配置隔离保障私有数据安全
目录 正文 Python怎么读取.env配置文件,实现一个代码封装 Python怎么读取.env配置文件,获取所有项,实现一个代码封装 Python怎么读取.env配置文件,获取所有项,只读取.env中的项,实现一个代码封装 正文 今天借助ChatGPT完成我们这步骤,主要涉及三个问题: 1. Python怎么读取.env配置文件,实现一个代码封装 2. Python怎么读取.env配置文件,获取所有项,实现一个代码封装 3. Python怎么读取.env配置文件,获取所有项,只读取.env中的
-
Java SimpleDateFormat线程不安全问题
目录 多线程 ——SimpleDateFormat 原因分析 解决方法 解决方法1 解决方法2 总结 多线程 ——SimpleDateFormat public class DateTest { //工具类中的日期组件 private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) throws
-
groovy脚本定义结构表一键生成POJO类
目录 使用方式 脚本内容 End 使用方式 分享一个小脚本,在定义完表结构后,可以一键生成对应的实体类. 把脚本放在idea的这个位置: 后面使用的话,在idea右侧的Database 栏中,选中对应的表,右键选择对应脚本名称即可. 脚本内容 整体的思路比较简单 获取SQL表信息,提取列名/类型/comment等需要的信息. 按java 中类格式,拼接后输出成文件.(需要import依赖的,需要加注解的都加上) 其中有部分注释,如果不清楚可以留言评论,我会继续补充解释.有问题的话,可以共同进步.