pip 的常用命令

安装卸载 package

【安装】

1
pip install package_name

【安装指定版本】

1
pip install package_name==xx.xx.xx

【导出所有的安装信息】

1
pip freeze > requirements.txt

【使用 requirements.txt 安装】

1
pip install -r requirements.txt

【使用 requirements.txt 清空当前环境的安装包】

1
2
pip freeze > requirements.txt
pip uninstall -r requirements.txt -y

开启 http 服务

1
python -m http.server 8080

在云服务器上使用 nginx 部署静态网站

云服务器

云计算厂商有很多,请读者自行选择,并根据厂商提供的帮助文档进行购买、使用。这里只提示几个关键点:云服务器,虚拟私有云 VPC,公网 IP,安全组,域名,ICP备案,公安备案。

安装与配置 nginx

笔者的安装环境:Ubuntu 24.04.1 LTS,x86_64 架构,nginx == 1.26.3

安装方式:Pre-Built Packages

具体安装步骤参考 nginx 官网:https://nginx.org/en/linux_packages.html#Ubuntu

这种安装方式的好处是,使用 apt 命令,方便解决依赖问题,并且从 nginx 官方仓库​​下载安装软件包,而不是从 Ubuntu 仓库下载。同时自动添加 nginx 命令和 nginx.service 服务。

nginx 配置文件

/etc/nginx/nginx.conf:主配置文件,不要修改
/etc/nginx/conf.d/:附加配置文件目录,里面所有 .conf 后缀的文件是不同的网站配置
/etc/nginx/conf.d/default.conf:默认的网站配置,请备份这个文件,以便后面参考这个配置创建新的配置

启停 nginx

不建议直接运行 nginx 命令,而是应该用 systemctl 启动 nginx.service 服务。

1
2
3
4
5
6
7
8
9
10
# 查看状态
systemctl status nginx
# 启动
systemctl start nginx
# 停止
systemctl stop nginx
# 重启
systemctl restart nginx
# 启动系统时,自动启动
systemctl enable nginx

使用 nginx 部署静态网站

部署网站的配置在 /etc/nginx/conf.d/,注意:其他发行版的 Linux 可能不是这个路径。

1
2
3
4
5
6
cd /etc/nginx/conf.d/
# 重命名备份,修改文件后缀,让这个 default.conf 失效
mv default.conf default.conf.back
# 使用 default.conf.back 的模板创建新的配置
cp default.conf.back your-website-name.conf
vim your-website-name.conf

your-website-name.conf 配置如下:

注意:

  • server_name 选项,如果购买了域名、且完成解析与备案,可以将 localhost 改成自己的域名
  • root 选项,不能配置 /root 下的路径,建议放在 /var/www
1
2
3
4
5
6
7
8
server {
listen 80;
server_name localhost;
location / {
root /var/www/your-website-name;
index index.html index.htm;
}
}

更新配置后,使用 systemctl 启动或重启 nginx。

读书笔记:《JavaScript经典实例(第2版)》


  • 书名: JavaScript 经典实例(第 2 版)
  • 作者: Shelley Powers
  • 原作名: JavaScript Cookbook, 2nd Ed.
  • ISBN: 9787512381889

对象、基本类型、字面值(1.1 章)

  • 对象:object,基本类型:primitive,字面值:literal
  • 对象:使用 new 关键字实例化的对象,typeof null === 'object'
  • 基本类型:字符串(String)、数值(Number)、布尔(Boolean)、nullundefined

检查一个存在的、非空的字符串(1.3 章)

下面是我优化后的版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function isNonEmptyString(value) {
return (
value !== undefined &&
value !== null &&
typeof value.valueOf() === "string" &&
value.length > 0
);
}

let v1;
var v2;
v3 = [1, 2, 5, 6];
console.log(isNonEmptyString(v1));
console.log(isNonEmptyString(v2));
console.log(isNonEmptyString(v3));
console.log("---------");

console.log(isNonEmptyString(""));
console.log(isNonEmptyString(" "));
console.log("---------");

let v4 = String();
let v5 = new String();
let v6 = String("abc");
let v7 = new String("123");
console.log(isNonEmptyString(v4));
console.log(isNonEmptyString(v5));
console.log(isNonEmptyString(v6));
console.log(isNonEmptyString(v7));

Python 3.10 安装 PySide2

注意:PySide2 最高支持 Python 3.10。笔者的安装环境:Windows,Python==3.10.9,PySide2==5.15.2.1。

创建、激活虚拟环境并安装 PySide2

创建虚拟环境的工具有很多,这里以 venv 为例。

1
2
3
4
py -3.10 -m venv .venv
.venv\Scripts\activate
python --version
pip install PySide2

PyCharm 配置 External tools

关于如何配置和使用 External tools,此处不赘述。只给出配置项:

程序所在的路径:在 .venv/Scripts 下,以 pyside2- 开头的可执行文件:

  • pyside2-designer.exe
  • pyside2-uic.exe
  • pyside2-rcc.exe

Qt Designer

  • Name: Qt Designer
  • Program: 程序所在的路径
  • Workding directory: $ProjectFileDir$

Qt pyside2-uic

  • Name: Qt pyside2-uic
  • Program: 程序所在的路径
  • Arguments: -o $FileNameWithoutExtension$_ui.py $FileName$
  • Workding directory: $FileDir$

Qt pyside2-rcc

  • Name: Qt pyside2-rcc
  • Program: 程序所在目录
  • Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
  • Workding directory: $FileDir$

如何下载 HTML 中 blob 图片

在 HTML 中,我们有时会遇到图片的 src 属性是 blob 地址,例如:

1
<img src="blob:https://xxx.xxx.com/02c00a0c-6ac8-484e-b682-4b698fece451" />

此时,我们可以通过以下方法来下载该图片:

用浏览器,访问目标网站,在开发者工具的 Console 中输入 JS 代码:

1
2
3
4
5
6
7
8
const img = document.querySelector('img[src^="blob:"]');
if (img) {
const url = img.src;
const a = document.createElement('a');
a.href = url;
a.download = 'image.png'; // 自定义文件名
a.click();
}

如果下载的图片没有正常显示,可以通过 HxD 等工具查看图片的文件头,确认文件的真实格式。