javascript用delete删除数组中的元素后,元素的位置会留下undefined,数组长度仍然不变。有时候很烦人,怎么去掉这些undefined元素呢?很简单,用.filter(e => e),比如:
> data = [1, 2, 3, 4]
[ 1, 2, 3, 4 ]
> delete data[1]
true
> data
[ 1, <1 empty item>, 3, 4 ]
> data.filter(e => e)
[ 1, 3, 4 ]
记不住去搜索引擎,是下策
去查官方文档,中策
把它记在脑海里,上策
vi /etc/hostname
电脑版:
手机版:
地址:https://www.bcweibo.com/
欢迎各路大侠光临🙌
mogrify -thumbnail 300x300^\> 图片.jpg
^:表示让短的一边长度为300,长的一边等比例的大于300
\>:表示只压缩短的一边大于300的,短的一边小于300的保留原尺寸
用例见注释:
#coding: utf-8
class ActiveModel::Errors
# add的简写方法
# u.errors.append :code, '邮件验证码不正确'
def append(*l)
self.add l[0], :custom, message: l[1]
end
# 从开头插入,跟append相反
# u.errors.insert :code, '邮件验证码不正确'
def insert(*l)
errors = [[l[0], :custom, message: l[...
编辑 .bashrc
让history记录时间:
HISTTIMEFORMAT="%y-%m-%d %T "
加上这行设置后就会记录时间,但是history命令也会显示时间
如果不想看时间,可以设置一个alias,用sed替换为空:
alias h='history | sed "s/[[:digit:]]*-[[:digit:]]*-[[:digit:]]* [[:digit:]]*:[[:digit:]]*:[[:digit:]]* //"'
这样,用 h 命令就可以显示不带时间的history了
查找当前目录下大小超过100M的文件
find . -xdev -type f -size +100M
vi /etc/network/interfaces
最下面加入两行:
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
然后运行命令:
systemctl restart resolvconf.service
systemctl restart systemd-resolved.service
再重启 /etc/resolv.conf 里 nameserver 配置就不会被清空了,自动加入了上面的两个nameserver
docker image tag old_image_name new_image_name
docker rmi old_image_name
删除所有容器:
docker rm -vf $(docker ps -aq)
删除所有镜像:
docker rmi -f $(docker images -aq)
明明一个alert提示框就能搞定的事情,非搞的跟操作系统内核般复杂
备份到一个文件:
docker save $(docker images --format '{{.Repository}}:{{.Tag}}') -o allinone.tar
恢复到所有镜像:
docker load -i allinone.tar
比如查看5500这个端口被谁占用了:
lsof -i:5500
网站升级到 django4.1.3 后,连接老版本的数据库(mysql5.5)的时候,时不时出现错误:
File "/usr/local/lib/python3.11/site-packages/django/db/backends/base/base.py", line 207, in check_database_version_supported
raise NotSupportedError(
django.db.utils.NotSupportedError: MySQL 5.7 or later is required (found 5.5.53).
解决...
本来都设置成静态很好
network:
ethernets:
enp0s3:
addresses: [192.168.42.116/24]
gateway4: 192.168.42.129
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
可惜魅族手机的便携式热点是动态getway4,每次开启都会随机分配一个,所以不能指定gateway4
可以用下面的dhcp4连接:
network:
ethernets:
...
原因是mysql 8为了提高安全性,默认使用caching_sha2_password作为密码加密方式,需要加密连接,加密连接需要证书,详见:https://www.jianshu.com/p/d677bb316ab0
这里提供一个更简便的解决办法,使用老的密码加密方式:
在phpmyadmin中管理账户,点进去账户后点上面的“Change password”,重设密码,密码加密方式选择“MySQL自带身份验证”
假设是一个model,名为Attach
class Attach(models.Model):
file = FileField(upload_to="files/%Y/%m/%d")
保存上传文件,这个最简单:
def upload(request):
attach = Attach()
attach.file = request.FILES.get('file')
attach.save()
保存网络上采集的文件:
import requests
from django.core.files.base import Cont...
通过以下命令安装后
sudo apt install gnome-shell-extension-autohidetopbar
网上的教程都是用Tweaks打开,如果删除过 gnome-shell-extension-autohidetopbar 这个插件再次安装,可能无效。
解决办法:
用Extensions打开,在应用中搜索“Extensions”,然后在里面打开 hide top bar 即可:
是:
urllib.parse.quote
而不是 urllib.parse.urlencode