Python 高级
内网穿透内网穿透原理图:
但是这种技术妨碍了 ISP 收互联网企业的带宽费用,因此 ISP 不会喜欢这种技术。
代码:https://github.com/dropsong/py_webServer
GIL(全局解释器锁)Python 语言和 GIL 没有关系。仅仅是由于历史原因在 Cpython 虚拟机(解释器),难以移除 GIL。
GIL:全局解释器锁。每个线程在执行的过程都需要先获取 GIL,保证同一时刻只有一个线程可以执行代码。
线程释放 GIL 锁的情况: 在 IO 操作等可能会引起阻塞的 system call 之前,可以暂时释放 GIL,但在执行完毕后,必须重新获取 GIL,Python 3.x 使用计时器(执行时间达到阈值后,当前线程释放GIL)或 Python 2.x tickets 计数达到 100
Python 使用多进程是可以利用多核的 CPU 资源的。
多线程爬取比单线程性能有提升,因为遇到 IO 阻塞会自动释放 GIL 锁
私有化
xx: 公有变量
_x: 单前置下划线,私有化属性或方法,from somemodule import * 禁止导入,类对象和 ...
Django Note
后端开发简介后端开发框架:
Java: Spring
Python: Django, Flask, tornado
MVC 框架(核心思想:解耦。):
Web MVC 框架模块功能:
M: Model,模型,和数据库进行交互。V: View,视图,产生 html 页面。C: Controller,控制器,接收请求,进行处理,与 M 和 V 进行交互,返回应答。
Django 一般前后端不分离,虽然也可以分离。
Django 遵循 MVC 思想,但是有自己的一个名词,叫做 MVT。Django 遵循快速开发和 DRY(Do not repeat yourself) 原则,不要自己去重复一些工作。
MVT 各部分功能:
M: Model,模型,和 MVC 中 M 功能相同,和数据库进行交互。V: View,视图,和 MVC 中 C 功能相同,接收请求,进行处理,与 M 和 T 进行交互,返回应答。T: Template,模板,和 MVC 中 V 功能相同,产生 html 页面。
配置虚拟环境虚拟环境是真实 python 环境的复制版本。
在虚拟环境中使用的 python 是复制的 ...
承德行
const zd = 北漂日记::Z_2const_list = {F, M, B, Z, zd}
前两天和 zd 去了承德。
我们首先在唐山取车,稍作停留就直接上高速,向承德进发。
承德是一座很有看头的城市,清王朝在这里留下了浓墨重彩的一笔。某著名热河蛮子,网红马督公,拍过一期关于承德的节目,用来当做电子榨菜再合适不过。
城市零星地散落在山峦之中,高速公路好像切中肯綮一般,变幻成桥梁和隧道在燕山山脉中肆意穿行。
山对人类是很亲切的,但是为什么呢?我想象自己是造物主,现在要为人类设出一片天地。最开始,是一片超平坦的世界。然后,我要隆起为山,凹陷为谷,花草风月、飞禽走兽填其中。于是我得到答案,山对人类是很亲切的,有了山,大地就从一个需要匍匐的对象,变成可以拥抱的了。
承德的人文、自然的景观相距很远,我们时间有限,就只打算看看人文的部分。
赶到时已是晚上,于是在宾馆安顿下,简单出去走了走。
这张照片也发给了领妹,得到一个“很绚”的评价。
第二天早上觅食的时候,偶遇世纪初集市:
避暑山庄:
避暑山庄的山路大巴,司机开起来非常有自信。
山庄的小长城上,可以远眺外八庙,其中最惹 ...
横线纸
在本博客的生活类文章中,为保护相关人的隐私或其他原因,使用字母代替人名。但是字母很容易冲突、重复,起名也是个大麻烦,因此我将它们分为全局 const 变量和局部变量。全局 const 变量指代的人名在整个博客的“生活”栏目下的文章保持一致——即该字母指代现实世界中的同一个人,而局部变量只在其出现的文章内保持一致。在这篇文章之前的全局 const 变量:F、M、B、Z同时,我宣布除此之外的在这之前使用的字母均为局部变量。若需要增加全局 const 变量,我会在文章开头声明。例如我想声明 ALPHA 为全局 const 变量:const ALPHA考虑这种情形,我并不确定这次用到的人名下次会不会继续用到,因此新增全局 const 变量时需要引用到之前某个具体文章里的人物字母,则形式可以如下:cosnt ALPHA = 文章名::ALPHA在一篇文章开头添加 const_list 以增加可读性:const_list = { … }若一篇文章需要用一下,但是以后的出场机会应该也很少,故只是临时引用一下之前文章提到的人物:using 文章名::ALPHA
const_list = {F, M, ...
Python 进阶
零碎知识这里是 Python 的一些零碎知识点。
多值参数:
12345678910def demo(num, *args, **kwargs): print(num) print(args) print(kwargs)demo(1, 2, 3, 4, 5, name="小明", age = 18, gender = True)# 1# (2, 3, 4, 5)# {'name': '小明', 'age': 18, 'gender': True}
另外,了解元组和字典的拆包(自行查找资料)。
if __name__ == "__main__" 是什么?
该语句下面缩进的内容在python xxx.py时会执行,而在import xxx时不会执行。
类属性,类似于 C++ 中的类的静态成员。
类方法:
123@classmethod # 装饰器def show_tool_cnt(cls): print("工具 ...
前端入门
本文参考了 清华大学电子系科协软件部2023暑期培训 ,在此表示感谢。
快速上手
目录HTML 1CSS 4JavaScript 6
例子:
1234567891011121314151617181920212223function count(x, time) { return new Promise((resolve, reject) => { setTimeout(() => { console.log(x); resolve(); },time) });}async function counter1() { await count(1, 4000); await count(2, 4000); await count(3, 4000);}async function counter2() { await count(4, 1000); ...
手写数字识别
代码原理部分,移步之前的文章 人工智能导论 。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879import torchfrom torch.utils.data import DataLoaderfrom torchvision import transformsfrom torchvision.datasets import MNISTimport matplotlib.pyplot as pltclass Net(torch.nn.Module): # 构造函数,self 类似于 C++ 中的 this def __init__(self): super().__init__() # 多少层、每层多少节点可以调 self.fc1 = torch.nn.Linear(28*28, 6 ...
差分隐私
参考: https://programming-dp.com/cn/cover.html
下面的 pdf 只是该链接内容的备份。
下面给出我的总结:
目录:概述 1去标识、k-匿名性 5差分隐私 10敏感度 20近似差分隐私 23局部敏感度 33差分隐私变体 36
量子计算笔记
省流:只学了前两章,不学了。
教材 PDF使用的教材是 Quantum Computation and Quantum Information (10th Anniversary Edition) .
主要笔记都画在教材的 pdf 上了(很大),等什么时候学完了那个 pdf (?) 再把它放出来。
这个 pdf 是有目录的,可以下载下来查看。
批注下面是一些写不到 pdf 上的批注(『这里空白太小了我写不下』)。可能会比较杂乱。
希尔伯特空间快速了解(若链接挂了可去 archive.ph 查找):
https://ccjou.wordpress.com/2009/08/18/%E5%BE%9E%E5%B9%BE%E4%BD%95%E5%90%91%E9%87%8F%E7%A9%BA%E9%96%93%E5%88%B0%E5%87%BD%E6%95%B8%E7%A9%BA%E9%96%93/
在此感谢作者。
“伴随”概念澄清在本科教授的线性代数、量子计算涉及的数学这两者中,都有“伴随”的概念,但它们实际上是不同的数学概念。
1) 矩阵的代数余子式和转置定义的“伴随 ...
概率论与数理统计笔记
欠的债,迟早是要还的。
基础部分
目录:
1 概率论的基本概念3 概率的概念、古典概型和几何概型6 条件概率、乘法定理、全概率公式、贝叶斯公式、事件的独立性12 离散型随机变量及其分布律15 随机变量的分布函数16 连续型随机变量及概率密度22 一维随机变量函数的分布25 二维随机变量的相关概念28 边缘分布和条件分布31 相互独立的随机变量34 多维随机变量函数的分布41 数学期望、方差52 协方差、相关系数54 二维正态分布的性质56 大数定律、中心极限定理59 统计量的数字特征62 抽样分布68 点估计的方法74 估计量的评选标准
区间估计和假设检验资料该部分的学习实际完成于 2025 年 5 月。
出于提高学习效率的考量,之后基于书本的学习主要以 pdf 形式进行,由于体积过大,不在博客展示。
这里我的学习资料是《概率论与数理统计》浙大版(第四版)。这是别人共享的资料,我自己的标注版本就不放出了。
对学习过的内容做一个目录:
目录参数估计区间估计 161正态总体均值和方差的区间估计 16301分布参数的区间估计 168单 ...















