过完双11,但云计算产品的活动仍在继续,来对比一下国内几个厂商最便宜的云主机(ECS)。
289篇 Default中的文章
flask中的url_for产生外链时使用https
-
- 2020/11/17 23:43
- Default
- 6
- 2348
url_for 默认产生的的外链地址是http, 如果要用https, 可以在url_for中加参数 _scheme='https'
url_for('secure_thingy',
_external=True,
_scheme='https',
viewarg1=1, ...)
这些词,说起来就是针对二手商品房而言。商品房要交易,一些地区都有各种政策限制或优惠政策。
如果文件已经提交到了git仓库中,想加入到.gitignore, 可以这样做
git rm -r --cached 文件名/文件夹名
git提交即可
说说Redis基本数据类型有哪些吧
- 字符串:redis没有直接使用C语言传统的字符串表示,而是自己实现的叫做简单动态字符串SDS的抽象类型。C语言的字符串不记录自身的长度信息,而SDS则保存了长度信息,这样将获取字符串长度的时间由O(N)降低到了O(1),同时可以避免缓冲区溢出和减少修改字符串长度时所需的内存重分配次数。
- 链表linkedlist:redis链表是一个双向无环链表结构,很多发布订阅、慢查询、监视器功能都是使用到了链表来实现,每个链表的节点由一个listNode结构来表示,每个节点都有指向前置节点和后置节点的指针,同时表头节点的前置和后置节点都指向NULL。
- 字典hashtable:用于保存键值对的抽象数据结构。redis使用hash表作为底层实现,每个字典带有两个hash表,供平时使用和rehash时使用,hash表使用链地址法来解决键冲突,被分配到同一个索引位置的多个键值对会形成一个单向链表,在对hash表进行扩容或者缩容的时候,为了服务的可用性,rehash的过程不是一次性完成的,而是渐进式的。
- 跳跃表skiplist:跳跃表是有序集合的底层实现之一,redis中在实现有序集合键和集群节点的内部结构中都是用到了跳跃表。redis跳跃表由zskiplist和zskiplistNode组成,zskiplist用于保存跳跃表信息(表头、表尾节点、长度等),zskiplistNode用于表示表跳跃节点,每个跳跃表的层高都是1-32的随机数,在同一个跳跃表中,多个节点可以包含相同的分值,但是每个节点的成员对象必须是唯一的,节点按照分值大小排序,如果分值相同,则按照成员对象的大小排序。
- 整数集合intset:用于保存整数值的集合抽象数据结构,不会出现重复元素,底层实现为数组。
- 压缩列表ziplist:压缩列表是为节约内存而开发的顺序性数据结构,他可以包含多个节点,每个节点可以保存一个字节数组或者整数值。
wsl无法使用,闪退。起初怀疑是wsl装的有问题,就将wsl按照 https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 重新安装了一次。
安装了docker-desktop后 这个docker-desktop也是闪退。报出Failed to set version to docker-desktop: exit code: -1
这样的错误。
最终百度到:
powershell (管理员)下执行
netsh winsock reset
不用重启系统。即可。
这时docker-desktop也可以玩了。
curl with ipv6 sample code:
# interface 'eth0' is the interface with ipv6 enabled
curl -g -6 'http://[fe80::3ad1:35ff:fe08:cd%eth0]:80/'
curl -g -6 'http://[fe80::3ad1:35ff:fe08:cd]'
# https without ssl validate
curl -g -k -6 'https://[fe80::3ad1:35ff:fe08:cd]'
Linux CPU使用率采集程序编写
-
- From: 我知他风雨兼程途径日暮不赏
- 2020/10/20 22:37
- Default
- linux
- 3404
引言(Introduction):从基础概念出发,手把手抒写Linux CPU采集程序,并在后面的一个章节里简述经常出现的问题。本文主要环境以centos 7 上进行的一系列研究,其他版本Linux可能会有些出路,但总体思路不变。
/etc/fstab 是 Linux 和其他类 Unix 操作系统的配置文件,用于描述文件系统。它包含有关文件系统的位置、挂载点、文件系统类型和挂载选项的信息。
/etc/fstab 的每一行描述一个文件系统,格式如下:
<file system> <mount point> <type> <options> <dump> <pass>
<file system>是文件系统的位置,可以是设备文件(如/dev/sda1)、分区 UUID(如UUID=6c38203b-0ddc-4e35-a4a7-60733e8c1532)或文件系统标签(如LABEL=MyDataPartition)。<mount point>是文件系统在文件系统层次结构中的挂载点。<type>是文件系统的类型,如ext4、xfs或swap。<options>是挂载该文件系统时使用的选项,如rw(可读写)、ro(只读)或noatime(不更新访问时间)。<dump>指定文件系统是否应由dump程序备份。0 表示不备份,1 表示备份。<pass>指定文件系统在fsck程序检查文件系统时应经过的检查次数。0 表示不检查,1 表示检查一次,以此类推。
以下是 /etc/fstab 中的一些常见示例:
/dev/sda1 / ext4 rw,relatime 0 1
/dev/sda2 /home ext4 rw,relatime 0 2
/dev/sda3 /data ext4 rw,relatime 0 3
/dev/sdb1 /mnt/backup ext4 rw,relatime 0 0
/dev/sdc1 swap swap defaults 0 0
在上面的示例中:
/dev/sda1是根文件系统,挂载在/。/dev/sda2是/home目录的文件系统,挂载在/home。/dev/sda3是/data目录的文件系统,挂载在/data。/dev/sdb1是备份文件系统,挂载在/mnt/backup。/dev/sdc1是交换分区,用于虚拟内存。
您可以使用 mount 命令挂载文件系统,也可以使用 umount 命令卸载文件系统。
有关 /etc/fstab 的更多信息,请参阅 man fstab 手册页。
使用这个git checkout filename回退
如果用git reset --hard 会恢复所有未提交的!