分类目录归档:学习

Python 日志管理

1 基本定义

不同日志级别:

  • INFO:记录关键代码点的信息,以确定代码是否按预期执行,生产环境常用
  • DEBUG:记录详细的信息,方便定位问题进行调试,在生产环境一般不开启
  • WARNING:记录某些不预期发生的情况,如磁盘不足,可接受的数据异常
  • ERROR:当程序某些功不能正常运行时,进行相关错误的记录(尽量详细)
  • CRITICAL:当发生严重错误,导致应用程序不能继续运行时记录的信息

基本概念:

  • 记录器(logger),用于记录具体日志的实例,记录器会根据实际代码调用和文件目录自动生成子记录器,也可以在对应的文件内设置单独的

Read more

Pythonic 优雅编程

理解 Pythonic 概念

逻辑运算

变量值交换:a, b = b, a

运算符优先级:先括号 P,再指数 E,然后乘除 MD,最后加减 AS

链式比较:5 < 10 < 5*10 < 100 -> True

三目运算:text = '男' if gender == 'male' else '女'

列表与字典

列表反转:a_list[::-1]

字典取值:a_dict.get("name", "default")

字典合并:x.update(y){**x,**

Read more

关系型数据库

RDBMS:关系型数据库(Relational database management system)

SQLite

一个独立的、基于文件的、完全开源的 RDBMS

优点:

  • 轻量便携,占用空间小(600K),不需要额外的依赖
  • 无服务(不需要重启或停止),数据库存储在单个文件中
  • 适合嵌入式 APP 或开发的快速测试,数据迁移方便

缺点:

  • 并发能力有限,单个时间戳只有一个进程能修改数据库
  • 不支持用户权限,权限控制依赖底层系统的文件访问权限
  • 不适用于大数据量(1TB)/高写入量的场景,不支持网络访问

MySQL

MySQL 基本使用

Pos

Read more

人体测量指标

1 BMI

体重指数 BMI = 体重/身高的平方(国际单位 $kg/m^2$)

  • 小于 18.5 是偏低,正常是 18.5~24.0
  • 超重是 24.0~28.0,肥胖是大于 28.0

BMI 只能反映全身性肥胖,无法衡量内脏脂肪

单纯使用 BMI 来判断肥胖与否,是存在很大偏差的。对经常运动健身的人群来说,他们通常肌肉含量较高,而肌肉比脂肪的质量大,往往会导致其 BMI 也是

Read more

Mean Shift聚类

Mean Shift 算法,又称为均值漂移算法

核心思想:

  • 该算法假设真实的样本集合是服从不同概率密度分布的数据簇的并集
  • 任意选择一个样本通过密度增加最快的方向将收敛到样本密度高的区域
  • 样本密度高的区域对应一个分布的聚集区,即样本数据的局部最大值
  • 能够收敛到相同局部最大值的样本被认为是服从同一分布的数据簇

算法流程:

  1. 随机确定样本空间内一个样本 $x$ 作为球心,构建半径为 $h$ 的高维球

$$ S_h\left(x\right)=\left(y\mid\left(y-x\right)\left(y-x\right)^T\leqslant h^2\right) $$ 2. 计算该

Read more

样条函数

样条(spline)通常是指分段定义的多项式参数曲线

样条函数是一种由分段多项式拼接而成的平滑函数,可用于逼近或插值数据

常见的样条函数:

线性样条 二次样条 三次样条 B样条(B-spline)
每个子区间上使用一阶多项式,即直线段<br><br>它们在节点处具有零阶连续性,即函数值连续,但导数不连续 在每个子区间上使用二阶多项式<br><br>在节点处通常要求函数值和一阶导数连续 在每个子区间上使用三阶多项式<br><br>在节点处要求函数值、一阶导数和二阶导数都连续

Read more

进程、线程与协程

进程

进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例

程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配 CPU 时间,然后程序开始真正运行

Linux 系统函数 fork() 可以在父进程中创建一个子进程:

import os

print('当前进程:%s 启动中 ....' % os.getpid())
pid = os.fork()
if pid == 0:
    print('子进程:%s,父进程是:%s' % (os.getpid()

Read more

常见哈希算法

MD5:32 位,单向哈希,不可逆,速度快,破解难度低

SHA256:256 位,单向哈希,不可逆,速度较快,破解难度中等

BCrypt:可变位数,单向哈希,不可逆,速度慢,破解难度高

PBKDF2:可变位数,单向哈希,不可逆,速度可调,破解难度可调

Scrypt:可变位数,单向哈希,不可逆,速度慢,破解难度高

加盐,在输入信息中随机添加字符串(salt)以提高哈希算法的安全性

MD5 算法

MD5 消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以

Read more

影响快乐和幸福的化学物质

摘自 Joy Triggers: How to Find Happiness on Demand

  • Dopamine. 多巴胺。这种神经递质在动机和奖励预期中发挥着重要作用。当你实现一个目标、完成一项任务或达到一个目标时,你会感受到多巴胺的愉悦。基本上是你的大脑告诉你你做得很好。许多类型的愉悦体验,例如性、饮食和玩电子游戏,都会增加多巴胺的释放,因此让你想要重复这些体验。
  • Serotonin. 血清素。虽然血清素具有复杂的生物功能,但它通常被称为幸福分子。多种称为血清素特异性重摄取抑制剂 (SSRI) 的抗抑郁药的作用是在信号传输完成后干扰血清素的正常重吸收,从而增加突触中的血清素水平。它

Read more