duzhuo's-blog

学无止境

Python中可能已经有很多类似模板字符串的东西,但都和 PEP 750 中的 string.templatelib 不一样

比如:string.Templatestring.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, ''),))
阅读全文 »

关于 column

在Linux中查看数据文本时总会出现可读性低的问题(比如 /etc/passwd),本文将介绍一个非常实用的工具叫做 column,它可以帮助我们将文本数据以整齐的列格式输出。

column 命令来自包含大量工具的软件包 util-linux,其中的工具涵盖了系统管理、文件操作以及硬件监控多个方面。

阅读全文 »

以下内容来自于科技爱好者周刊(第 327 期):没有链接的互联网

没有链接的互联网

你能想象吗,没有链接的互联网是什么样?

不用想了,这正在变成现实。

2017年,脸书(Facebook)出台了一项政策:只要帖子里面有(外部)链接,就会减少这个帖子的曝光。

也就是说,只要你贴了链接,别人就(几乎)看不见你的帖子了。这样做是为了防止用户跳出脸书,也为了防止用户为其他网站引流。

所以,你现在访问脸书,就会看到一种奇特的做法:大家发帖都没有链接,有些帖子甚至只是一句话的图片(下图),真正的链接放在帖子的置顶评论里面。

后来,其他的互联网平台纷纷跟进,限制链接。

阅读全文 »

CORS(跨源资源共享)?

以下内容引用自 mdn web docs

跨源资源共享CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。

举例:在 http://localhost:8000 的网页上使用 fetch()https://sm.ms/api/v2/ 这个图床的api接口发送请求即会产生CORS问题。

阅读全文 »

分页?

  • 显著提高查询速度,每次只处理一小部分数据减少了数据库的负担。
  • 简化数据展示,能让用户方便地浏览和查找所需信息。

用户界面展示

使用 HTTP GET 方法来获取分页的数据,其中page为数据页索引size为数据页大小:

/products?page={page}&size={size}

以表 products 为例

其中返回的数据的应该包含:全部商品数量,总页数,当前是第几页,当前页的全部产品数据。

服务端与数据库交互逻辑

代码片段以 express + MongoDB 为例:

  • 服务端提取出 query 中的page和size
阅读全文 »

设置方法

  • 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

debian-policy/starting-system-services

阅读全文 »

2024.09.26

  1. 熊德 大败 PA天怒串起来了
  2. 熊德 大败 酱油风行对线抢刀不勾兵不推塔
  3. 熊德 输 我是菜逼带错命石了
  4. 熊德 输 节奏不对
  5. 熊德 宰猪 拆塔老快了

2024.09.27

  1. 炼金 被火枪保享福 gg
  2. 熊德 畜生宙斯还在玩魔晶分身斧 敌法无输出
  3. 熊德 4v5打了40min两个盾拆掉高地
0%