自定义scroll滑块样式
这个天地,我来过,我奋战过,我深爱过,我不在乎结局。——今何在 《悟空传》 代码如下: 12345678910111213141516171819202122232425262728/* 滚动条整体部分 */::-webkit-scrollbar { width: 12px;}/* 滚动条两端的按钮 */::-webkit-scrollbar-button {}/* 外层轨道 */::-webkit-scrollbar-track { background: #eee; border-radius: 18px;}/* 内层滚动槽 */::-webkit-scrollbar-track-piece { }/* 滚动的滑块 */::-webkit-scrollbar-thumb { border-radius: 18px; background: #bbb;}/* 边角 */::-webkit-scrollbar-corner { }/* 定义右下...
hutool-db
世间事,除了生死,哪一件不是闲事。——仓央嘉措《地空》 hutool操作数据库这块可以看官方文档: 这里做个简单演示:例如select * from user GAV一导 1234567891011121314151617<dependencies> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.22</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</versio...
pip报错is not a trusted
总之岁月漫长,然而值得等待。——《如果我们的语言是威士忌》 这个问题出于使用了别的镜像源去安装依赖 只需要在后面加--trusted-host即可 1pip install -i http://mirrors.aliyun.com/pypi/simple/ psd-tools --trusted-host mirrors.aliyun.com
win下停止nginx
每一个看似简单的社会现象其实都只露出了冰山一角。——林达 输入命令 1taskkill /f /t /im nginx.exe 即可停止nginx 这里顺带把指定配置文件启动命令也放一下 1nginx.exe -c ./conf/nginx.conf
nginx中alias
对未来的真正慷慨,是把一切都献给现在。——加缪 前两天想在本地搭一个nginx实现静态资源代理,且访问 1http://localhost/static_resources/head_1645512000625.jpg 时能映射到下面这个路径 1D:\work\static\data\local\head_1645512000625.jpg 找了半天,要么是说配置location /static_resources/ {}这里不加杠和加杠之类的 我这个nginx是官网下的最新版,就是不好使,最后找到了alias关键字解决: 配置如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type a...
Array.from
世界在音乐中得到了完整的再现和表达。它是各种艺术当中第一位的,帝王式的艺术,能够成为音乐那样,则是一切艺术的目的。——叔本华 继续还是js中Array的方法 这次说的方法是from:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/from 这个方法简单应用如下: 12345console.log(Array.from('foo'));// expected output: Array ["f", "o", "o"]console.log(Array.from([1, 2, 3], x => x + x));// expected output: Array [2, 4, 6] 我这里写个稍微复杂点的例子,随机生成文件名并排序 1[...new Set(Array.from(Array(200).fill('文件'),x=>x+String(...
react中什么情况下不能用index作为key
立志用功如种树然,方其根芽,犹未有干;及其有干,尚未有枝;枝而后叶,叶而后花。——王守仁 我们在React遍历渲染列表时会遇到这样一个报错: 意思是说,渲染list列表时必须给每个元素指定一个唯一的key 当然你可以选择忽略这个报错,但是为什么会提示这个报错呢? 假设我们给key指定一个随机数,或者干脆不指定的话,会怎么样呢? 官方文档给出了答案: 渲染列表时的逻辑以及问题 为了解决上述问题,React 引入了 key 属性。 也就是说,如果给key指定一个随机数,或者干脆不指定的话,会造成性能问题 这个时候,我们想到了用遍历时的元素下标作为key 但是官方文档明确告诉我们: 如果列表项目的顺序可能会变化,我们不建议使用索引来用作 key 值,因为这样做会导致性能变差,还可能引起组件状态的问题。可以看看 Robin Pokorny 的深度解析使用索引作为 key 的负面影响这一篇文章。如果你选择不指定显式的 key 值,那么 React 将默认使用索引用作为列表项目的 key 值。 这里Robin Pokirny的文章中提到了,如果满足这三者,可以放心使用index作为...
Array.prototype.fill()
新的方法和概念,常常比解决问题本身更重要。——华罗庚 我们在前端开发中,可以使用fill函数来快速构建数组 1Array(5).fill(1,1,4) 得到的是这样一个数组: 1[, 1, 1, 1, ] 这里参数fill(value,start,end)也是可以省略的 12345678910111213141516[1, 2, 3].fill(4); // [4, 4, 4][1, 2, 3].fill(4, 1); // [1, 4, 4][1, 2, 3].fill(4, 1, 2); // [1, 4, 3][1, 2, 3].fill(4, 1, 1); // [1, 2, 3][1, 2, 3].fill(4, 3, 3); // [1, 2, 3][1, 2, 3].fill(4, -3, -2); // [4, 2, 3][1, 2, 3].fill(4, NaN, NaN); // [1, 2, 3][1, 2, 3].fill(4, 3...
注解支持@Alias同步值
你最可爱,我说时来不及思索。但思索之后,还是这样说。——普希金《你多么可爱》 首先是这个issue:希望AnnotationUtil增加对@AliasFor的支持 然后我就提交了这个PR:提供AnnotationUtil#getAnnotationAlias,为@Alias注解做别名支持的适配 代码如下(找不到方法可以去看hutool源码): 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import cn.hutool.core.exceptions.UtilException;import cn.hutool.core.util.ArrayUtil;import cn.hutool.core.util.ObjectUtil;import cn.hutool.core.util.ReflectUtil;import cn.hutool.core.util.StrUtil;import java.lang.annotation.Ann...
dvajs
我喜欢我的懦弱,痛苦和难堪也喜欢。喜欢夏天的光照,风的气息,蝉的鸣叫,喜欢这些,喜欢得不得了。——《寻羊冒险记》 dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。 官网文档:https://dvajs.com/ 简单快速入门后,有一个课堂实战 这个实战就是用dvajs 写一个列表,包含删除按钮,点删除按钮后延迟 1 秒执行删除。 当然,我也完成了这个简单的Demo: https://gitee.com/VampireAchao/simple-dva.git 并顺手练习了一下并行、竞争等概念 还是很有意思的
