《程序员的数学1》笔记

第一章:0 的故事 计数法 计数法分为两类: 按位计数法:按位计数法表示的数字每一位权重不同,例如我们常用的二进制、八进制、十进制和十六进制计数法; 其他:比如罗马数字计数法,数位没有权重,罗马数字的值是所有数位值的和。 按位计数法更有效率,有限的数字能表示更大的数值。 指数法则 N**a * N**b = N**(a+b) 第二章:逻辑 常用逻辑 逻辑非 ¬; 逻辑与 ∩; 逻辑或 ∪;...

一些Python小技巧

datetime.datetime.astimezone(tz=None) 返回一个使用新时区地方时的 datetime 对象。 from datetime import datetime, timezone, timedelta cst_zone = timezone(timedelta(hours=8)) cst_dt = datetime(2018, 12, 20, 8, 0, 0,...

制作deb包

deb 是 Debian 软件包格式,文件扩展名为 .deb,在 Debian 和 Ubuntu 中广泛使用。将应用打包成 deb 软件包可以方便分发、安装和卸载,提供更好的用户体验。 如果安装时文件已存在,不会覆盖原文件。 Debian 软件包结构 deb 包中主要包括三部分: debian-binary 二进制数据,包括格式版本号码等; control.tar.gz 元数据,包括对...

使用JSON Schema进行参数验证

什么是 JSON Schema JSON Schema 是基于 JSON 语法,用来描述 JSON 数据格式的一种规范。可以数据校验、生成接口文档,生成模拟数据等多种用途。 本质上,JSON 是由以下几种基本的数据结构组成的: 对象 objects 数组 array 数字 number 字符串 string 布尔值 boolean null JSON Schema...

pyenv:Python多版本管理

简介 pyenv 可以在主机上安装多个 Python 版本并轻松切换。主要特性有: 更改用户的全局 Python 版本; 为单个项目设置不同的 Python 版本; 使用环境变量覆盖 Python 版本设置; 一次从多个 Python 版本中搜索命令,这有助于使用 tox 测试。 安装 pyenv brew Mac 用户可以通过 brew 安装: brew update brew...

PostgreSQL基础操作

连接数据库 psql -U <USERNAME> -d <DBNAME> -h <HOSTNAME> -p <PORT> 默认端口 5432。 psql命令存在简写形式。如果当前Linux系统用户,同时也是PostgreSQL用户,则可以省略用户名,同时也不需要输入密码。 命令行操作 以下命令末尾不需要加分号。 \h <SQL> 查看 SQL 命令的解释,比如 \h select; \?...

Let's Encrypt:免费生成HTTPS证书

简介 Let’s Encrypt 是一个免费,自动化和开放的证书颁发机构,由非营利性机构互联网安全研究组(ISRG)驱动。该机构可以为域名颁发免费的 HTTPS 证书,每次证书的有效期为 90 天。 其证书颁发基于 ACME 协议,其中默认使用 ACME v1 协议,泛域名证书需要使用 ACME v2 协议。通过在 Web 服务器上使用支持 ACME 协议的客户端来申请证书。官方推荐使用...

Home Assistant:开源智能家居系统

Home Assistant(简称 HA)是一个开源的智能家居平台,可以运行在树莓派或者服务器上。目前已经能够接入许多品牌的智能设备,包括米家和 Yeelight。同时,还支持 Apple HomeKit、Google Assistant 和 Amazon Alexa 等智能家居控制平台。通过 Home Assistant,不需要米家网关,也能方便地使用 Siri 控制米家的智能设备。...

Ubuntu开发环境搭建

环境:Ubuntu 16.04.5 LTS。 更新 sudo apt update sudo apt upgrade 安装底层软件 sudo apt install git sudo apt install zsh sudo apt install autojump sudo apt install vim sudo apt install htop sudo apt install...

MacBook外接2K显示器开启HiDPI

MacBook 使用 Retina 技术的屏幕,用久了之后外接的 2K 显示屏(分辨率 2560 * 1440)字很小,感觉很模糊。如果开启显示器的 HiDPI,分辨率会降到 1920 * 1080,但能获得和 MacBook 内置的 Retina 屏幕相似的显示效果。 以下内容在 MacOS Mojave 10.14.1 测试通过。 暂时关闭 SIP SIP 全称 System...