Python3.14新特性Template Strings(t-string)使用示例
Python中可能已经有很多类似模板字符串的东西,但都和 PEP 750 中的 string.templatelib 不一样
比如:string.Template 、string.Formatter/str.format() 、 f-string 和%
这种上古写法。
在 PEP 750中提到的Motivation中指出f-string的语法虽然方便,但经常会因为操作者处理SQL语句或者HTML文档时直接拼接导致出现安全漏洞。
(实话说这里确实挺抽象的。f-string没有任何问题,问题出在程序员没有对输入的内容进行预处理而直接拼接。)
>>> name = 'duzhuo'
>>> template = t'Hello,{name}'
>>> template
Template(strings=('Hello,', ''), interpolations=(Interpolation('duzhuo', 'name', None, ''),))
利用Cloudflare WARP为服务器实现双栈IPv4/IPv6支持
场景需求:
购买的VPS仅分配有IPv4/IPv6地址,但需访问仅支持IPv4/IPv6的服务。我们可以利用Cloudflare WARP的代理隧道,为这台VPS添加双栈网络访问支持。
使用 column 工具格式化文本输出
关于 column
在Linux中查看数据文本时总会出现可读性低的问题(比如 /etc/passwd
),本文将介绍一个非常实用的工具叫做 column
,它可以帮助我们将文本数据以整齐的列格式输出。
column
命令来自包含大量工具的软件包 util-linux,其中的工具涵盖了系统管理、文件操作以及硬件监控多个方面。
再见2024,你好2025
最期待:天国:拯救2 https://www.kingdomcomerpg.com/
没有链接的互联网
以下内容来自于科技爱好者周刊(第 327 期):没有链接的互联网
没有链接的互联网
你能想象吗,没有链接的互联网是什么样?
不用想了,这正在变成现实。
2017年,脸书(Facebook)出台了一项政策:只要帖子里面有(外部)链接,就会减少这个帖子的曝光。
也就是说,只要你贴了链接,别人就(几乎)看不见你的帖子了。这样做是为了防止用户跳出脸书,也为了防止用户为其他网站引流。
所以,你现在访问脸书,就会看到一种奇特的做法:大家发帖都没有链接,有些帖子甚至只是一句话的图片(下图),真正的链接放在帖子的置顶评论里面。
后来,其他的互联网平台纷纷跟进,限制链接。
关于处理CORS问题
CORS(跨源资源共享)?
以下内容引用自 mdn web docs
跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。
举例:在 http://localhost:8000
的网页上使用 fetch()
对 https://sm.ms/api/v2/
这个图床的api接口发送请求即会产生CORS问题。
MongoDB中实现查询结果分页
设置Debian不自动启动新安装的服务
设置方法
- root用户
echo exit 101 > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
- 其他有sudo权限的用户
echo exit 101 | sudo tee /usr/sbin/policy-rc.d
sudo chmod +x /usr/sbin/policy-rc.d
- 以安装vsftpd为例
root@myLaptop:~# echo exit 101 > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
root@myLaptop:~# apt install vsftpd
将要安装:
vsftpd
摘要:
升级:0,安装:1,卸载:0,不升级:9
下载大小:142 kB
所需的空间:352 kB / 131 GB 可用
获取:1 https://mirrors.tuna.tsinghua.edu.cn/debian sid/main amd64 vsftpd amd64 3.0.3-13.1 [142 kB]
已下载 142 kB,耗时 0秒 (289 kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 vsftpd。
(正在读取数据库 ... 系统当前共安装有 799342 个文件和目录。)
准备解压 .../vsftpd_3.0.3-13.1_amd64.deb ...
正在解压 vsftpd (3.0.3-13.1) ...
正在设置 vsftpd (3.0.3-13.1) ...
Created symlink '/etc/systemd/system/multi-user.target.wants/vsftpd.service' → '
/usr/lib/systemd/system/vsftpd.service'.
/usr/lib/tmpfiles.d/vsftpd.conf:1: Line references path below legacy directory /
var/run/, updating /var/run/vsftpd/empty → /run/vsftpd/empty; please update the
tmpfiles.d/ drop-in file accordingly.
invoke-rc.d: policy-rc.d denied execution of start.
正在处理用于 man-db (2.13.0-1) 的触发器 ...
Scanning processes...
Scanning candidates...
Scanning processor microcode...
Scanning linux images...
Running kernel seems to be up-to-date.
The processor microcode seems to be up-to-date.
Restarting services...
Service restarts being deferred:
systemctl restart sddm.service
No containers need to be restarted.
User sessions running outdated binaries:
duzhuo @ session #3: cinnamon-launch[6978]
No VM guests are running outdated hypervisor (qemu) binaries on this host.
root@myLaptop:~# systemctl status vsftpd
○ vsftpd.service - vsftpd FTP server
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; preset: e>
Active: inactive (dead)
相关阅读
~jpetazzo/Use policy-rc.d to prevent services from starting automatically