自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(988)
  • 收藏
  • 关注

原创 Python - PEP572: 海象运算符

海象运算符PEP572 的标题是「Assignment Expressions」,也就是「赋值表达式」,也叫做「命名表达式」不过它现在被广泛的别名是「海象运算符」(The Walrus Operator),因为:=很像海象赋值中间变量未使用海象运算符pattern = re.compile('s')data = 'ss'match = pattern.match(data...

2024-04-15 21:17:00 320

原创 Python - inspect 模块的简单使用

Python中的inspect模块解析Python的inspect模块是一个强大的内省工具,允许开发者检查(inspect)活动对象和源代码。它提供了一系列函数,用于获取信息关于正在运行的程序和调用堆栈,非常适合进行调试和动态分析。本文将通过介绍inspect模块的关键功能,并结合实际案例代码,来探索其在日常开发中的应用。常用方法1. 获取当前执行的函数或方法名、文件路径【并不是调用...

2024-03-27 16:36:00 609

原创 测试基础面经(2)

测试基础面经

2024-03-25 15:57:07 753

原创 测试基础面经(1)

测试基础,包含回答思路

2024-03-25 14:34:22 1890

原创 Pytest系列(31) - config.cache 使用

基础介绍官方地址:https://docs.pytest.org/en/8.0.x/reference/reference.html#config-cache在 pytest 中,cache 是一个非常有用的功能,它允许测试会话之间持久化状态这意味着可以在一次测试运行中存储一些值,并在后续的测试运行中访问这些值如何使用 cachecache 对象通过 pytest 的 Fixt...

2024-03-25 14:31:00 334

原创 重要通知!重要通知!不是广告!不是广告!

即日起,我将搬去语雀继续写文章啦即日起,我将搬去语雀继续写文章啦即日起,我将搬去语雀继续写文章啦语雀官方地址https://www.yuque.com/小菠萝语雀个人空间地址https://www.yuque.com/poloyy有且仅有这个!有且仅有这个!有且仅有这个!有且仅有这个!语雀免费吗?个人版完全免费只有存储空间需要付费,默认 10g,完全够用了,不过可以靠写文...

2021-12-11 14:50:00 5896

原创 crontab - 解决 mac 下通过 crontab 设置了 Python 脚本的定时任务却无法运行

背景通过 crontab 定时运行 python 脚本来发送钉钉消息https://www.cnblogs.com/poloyy/p/15565875.html一开始的定时任务*/1 * * * * python3 /Users/test.py确定 Python 脚本是否可正常执行命令行下敲 python3 /Users/test.py发现是可以正常运行的那为什么 cr...

2021-11-17 10:05:00 4880 1

原创 Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务...

背景在线上买了个 iphone13pro,可是等得我好着急呀!一直不发货..甚至关注了 iphone13 超话每天看看大家下的订单都发货了没...于是乎还看到了有人预定了线下门店的提货,害得我也想直接去线下店提货了..但是每次打开官网都显示【暂无供应】于是乎想到了简单的爬虫(其实就是发个请求而已...),然后做成定时任务,当有货的时候第一时间通知我完成步骤打开官网,找到获取线下...

2021-11-17 10:01:00 4846 1

原创 Python - 接入钉钉机器人

背景想将 Python 爬下来的内容通知到钉钉钉钉群聊机器人概述所谓群聊机器人,指可以在群内使用的机器人,目前主要为 webhook 机器人和企业自建机器人两大类,另外通过场景群模板的方式,也可以预先配置好机器人并通过启用模板的方式安装到群内如图所示,群主和群管理员,可以通过群助手的设置页,启用webhook机器人和企业自建机器人,或者在插件更多页面,通过启用群模板的方案,来启用群机器...

2021-11-17 09:36:00 1571

原创 Effective Python(3)- 了解 bytes 与 str 的区别

Python 有两种类型可以表示字符序列bytes:实例包含的是原始数据,即 8 位的无符号值(通常按照 ASCII 编码标准来显示)str:实例包含的是 Unicode 码点(code point,也叫作代码点),这些码点与人类语言之中的文本字符相对应a = b'h\x6511o'print(list(a))print(a)a = 'a\\u300 propos'prin...

2021-11-13 20:27:00 454

原创 Effective Python(2)- 遵循 PEP 8 风格指南

什么是 PEP8 风格Python Enhancement Proposal #8 叫作 PEP 8它是一份针对 Python 代码格式而编订的风格指南尽管只要语法正确,代码随便怎么写都行,但采用一致的风格可以使代码更易读、更易懂官方:https://www.python.org/dev/peps/pep-0008/中文翻译博客:https://www.cnblogs.com/aj...

2021-11-13 19:52:00 411

原创 Python - 好用第三方库 isort

背景PEP8 有建议 Python 模块中 import 的导入顺序首先引入标准库里的模块然后引入第三方模块最后引入自己的模块属于同一个部分的 import 语句按字母顺序排列isort 的作用可以自动将 Python 模块中的 import 进行排序,并自动按类型划分以满足上面说的 PEP8 规范安装 isortpip install isort实际效果没有 is...

2021-11-13 19:44:00 922

原创 Effective Python(1)- 查询自己使用的Python版本

命令行查询> python --versionPython 2.7.16> python3 --versionPython 3.9.7通过内置的 sys 模块查询import sysprint(sys.version)print(sys.version_info)# 输出结果3.9.7 (default, Oct 13 2021, 06:45:31)...

2021-11-13 18:14:00 807

原创 fastapi(66)- 修改 uvicorn 的日志格式

背景默认启动 uvicorn 之后,访问接口会有打印日志,如下但我觉得这个日志满足不了我,我想加内容,比如时间戳,那要怎么操作捏首先打断点 debug 走起F7 进到内部ctrl + 点击 Config,然后往下看有一个 log_configctrl + 点击 LOGGIN_CONFIG就能找到当前的 access_log 的打印格式了改源码"fmt": '%(as...

2021-11-13 17:55:00 3257 1

原创 Python - logging.Formatter 的常用格式字符串

格式字符串作用%(name)s日志记录器的名称(记录通道)%(levelno)s日志记录级别的数字DEBUG=10、INFO=20、WARNING=30、ERROR=40、CRITICAL=50%(levelname)s日志记录级别的文本“DEBUG”、“INFO”、“WARNING”、“ERROR”、“CRITICAL”%(path...

2021-11-13 17:52:00 1755 1

原创 fastapi(65)- 路由函数指定了 response_model,在返回自定义 JSONResponse 时, 不会限制它返回的数据结构...

前置知识JSONResponse:https://www.cnblogs.com/poloyy/p/15364445.htmlresponse_model:https://www.cnblogs.com/poloyy/p/15317585.html背景在写辣鸡平台,然后有统一的自定义 JSONResponse,所以全部路径函数都是返回自定义 JSONResponse 的,比如@rou...

2021-11-13 16:29:00 1373

原创 Mysql - 如何决定用 datetime、timestamp、int 哪种类型存储时间戳?

背景数据表都很可能会有一两个字段需要保存日期时间数据,那应该用什么 Mysql 类型来保存呢?前面讲过 datetime、timestamp、int 的方式来保存日期时间如何存储 10位、13位的 unix 时间戳?date、datetime、timestamp 的区别本篇文章会对 datetime、timestamp、int 进行比较,然后对一些典型的查询进行基准测试,来决定什么...

2021-11-13 11:30:00 5432

原创 Mysql - 如何存储 10位、13位的 unix 时间戳?

背景前面有讲过存日期时间可以用 datetime、timestamp 类型:https://www.cnblogs.com/poloyy/p/15546735.html格式是:YYYY-MM-DD hh:mm:ss但假设我不想存具体的日期时间,想存一个 unix 时间戳呢?啥是 unix 时间戳可以去这个网站看看就知道了,http://tool.chinaz.com/Too...

2021-11-13 09:37:00 2763

原创 Mysql - 整数类型的存储字节数和范围

MySQL 整数类型的存储字节数和范围type存储字节数有符号最小值无符号最小值有符号最大值无符号最大值TINYINT1-1280127255SMALLINT2-3276803276765535MEDIUMINT3-83886080838860716777215INT4-2147483648021474836474294967295...

2021-11-13 09:36:00 645

原创 Mysql - date、datetime、timestamp 的区别

date、datetime 的区别顾名思义,date 日期,datetime 日期时间,所以 date 是 datetime 的日期部分MySQL 以YYYY-MM-DD hh:mm:ss格式检索和显示datetime 值datetime支持的日期时间范围1000-01-01 00:00:00 ~ 9999-12-31 23:59:59datetime 和 timest...

2021-11-12 22:28:00 448

原创 Python - 一行代码查看当前操作系统默认的编码标准

一句代码在 cmd 中执行> python3 -c 'import locale; print(locale.getpreferredencoding())'UTF-8

2021-11-10 22:39:00 1143

原创 Python常见问题 - 报错 cryptography is required for sha256_password or caching_sha2_password

背景运行代码报错了cryptography is required for sha256_password or caching_sha2_password这段报错意思是说 sha256_password 和 caching_sha2_password 这两个加密算法需要用到 cryptography解决方案其实 cryptography 是一个python包,所以解决方法很简单...

2021-11-10 16:19:00 2374 1

原创 Linux - 获取系统版本信息

背景写 shell 脚本的时候想根据系统版本来做条件判断,所以这篇就是这里搬那里搬,当做记录了cat /proc/version获取内核信息[root@poloyy ~]# cat /proc/versionLinux version 4.18.0-240.22.1.el8_3.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc vers...

2021-10-31 16:03:00 576

原创 Docker(47)- 一键安装 docker 的 shell 脚本

背景有多个自己的云服务器,都要安装 docker,所以就尝试将安装的步骤转换成 shell 脚本,回头可以一键执行~创建 shell 脚本touch install_docker.shchmod 777 install_docker.sh一键安装 docker 的 shell 脚本yum remove docker \ docker-clie...

2021-10-31 15:26:00 507 1

原创 Dockerfile(14) - VOLUME 指令详解

VOLUME 一句话总结作用:创建一个匿名数据卷挂载点格式:VOLUME ["/data"]详解:运行容器时可以从本地主机或其他容器挂载数据卷,一般用来存放数据库和需要保持的数据等实际栗子VOLUME ["/data"] 这里的/data目录就会在运行时自动挂载为匿名卷,任何向 /data 中写入的信息都不会记录进容器存储层,从而保证了容器存储层的无状态化容器运行...

2021-10-31 15:00:00 1377

原创 Dockerfile(15) - ARG 指令详解

ARG作用:定义创建镜像过程中使用的变量格式:ARG <name>[=<default value>]详解在执行 docker build 时,可以通过--build-arg <参数名>=<值>来为声明的变量赋值当镜像编译成功后,ARG 指定的变量将不再存在(ENV指定的变量将在镜像中保留)Docker内置了一些镜像创建变量,...

2021-10-31 15:00:00 8079

原创 Dockerfile(12) - HEALTHCHECK 指令详解

HEALTHCHECK作用健康检查当在一个镜像指定了HEALTHCHECK 指令后,用其启动容器,初始状态会为starting,在HEALTHCHECK 指令检查成功后变为healthy,如果连续一定次数失败,则会变为unhealthy格式# 设置检查容器健康状况的命令HEALTHCHECK [选项] CMD <命令># 如果基础镜像有健康检查指令,使...

2021-10-31 14:58:00 681

原创 Dockerfile(13) - SHELL 指令详解

SHELLSHELL ["executable", "parameters"]SHELL 指令可以指定 RUN、ENTRYPOINT、CMD 指令的 shell,Linux 中默认为["/bin/sh", "-c"]小栗子SHELL ["/bin/sh", "-c"]RUN lll ; lsSHELL ["/bin/sh", "-cex"]RUN lll ; ls...

2021-10-31 14:58:00 513

原创 Dockerfile(10) - ADD 指令详解

一段话总结完 ADD作用:添加内容到镜像格式:ADD <src> <dest>详解:该命令将复制指定的<src> 路径下内容到镜像中的<dest> 路径下<src>:可以是Dockerfile 所在目录的一个相对路径(文件或目录);也可以是一个URL;还可以是一个tar 文件(自动解压为目录)<dest&...

2021-10-31 14:57:00 19808 1

原创 Dockerfile(11) - COPY 指令详解

一段话总结完 COPY作用:复制内容到镜像格式:COPY <src> <dest> 详解:复制本地主机的 <src>下内容到镜像中的 <dest>,目标路径不存在时,会自动创建。<src>:可以是Dockerfile 所在目录的一个相对路径(文件或目录)<dest>:可以是镜像内绝对路径,或者相对于工作目录...

2021-10-31 14:57:00 38950 1

原创 Dockerfile(8) - USER 指令详解

USER指定运行容器时的用户名或 UID,后续的RUN等指令也会使用指定的用户身份USER <user>[:<group>] 或USER <UID>[:<GID>]小栗子USER www当容器中运行的服务不需要管理员权限时,可以先建立一个特定的用户和用户组,为它分配必要的权限,使用 USER 切换到这个用户重点使用 US...

2021-10-31 14:56:00 1522

原创 Dockerfile(9) - ENTRYPOINT 指令详解

ENTRYPOINT两种写法# exec 格式ENTRYPOINT ["executable", "param1", "param2"]# shell 格式ENTRYPOINT command param1 param2重点ENTRYPOINT指定镜像的默认入口命令,该入口命令会在启动容器时作为根命令执行,所有其他传入值作为该命令的参数ENTRYPOINT 的值可以通过...

2021-10-31 14:56:00 5585

原创 Dockerfile(7) - ENV 指令详解

ENV定义环境变量ENV <key>=<value> ...# 但只能设置一个环境变量ENV MY_VAR my-value使用环境变量通过 ENV 指令可以声明环境变量,可以在以下指令中使用环境变量ADDCOPYENVEXPOSEFROMLABELSTOPSIGNALUSERVOLUMEWORKDIRONBUILD使用环境...

2021-10-31 14:54:00 1623

原创 Dockerfile(5) - CMD 指令详解

CMD指定容器默认执行的命令# exec 形式,推荐CMD ["executable","param1","param2"]CMD ["可执行命令", "参数1", "参数2"...]# 作为ENTRYPOINT的默认参数CMD ["param1","param2"]# shellCMD 命令 param1 param2重点一个 Dockerfile 只有一个 C...

2021-10-31 14:53:00 979

原创 Dockerfile(6) - EXPOSE 指令详解

EXPOSE通知 Docker 容器在运行时监听指定的网络端口EXPOSE 端口号EXPOSE 端口号/协议默认协议是 TCP同时在 TCP、UDP 上暴露端口EXPOSE 80/tcpEXPOSE 80/udpEXPOSE 原理个人理解:EXPOSE 暴露的端口更像是指明了该容器提供的服务需要用到的端口EXPOSE 并不会直接将端口自动和宿主机某个端口建立映射...

2021-10-31 14:53:00 28474 5

原创 Dockerfile(3) - WORKDIR 指令详解

WORKDIR切换到镜像中的指定路径,设置工作目录在 WORKDIR 中需要使用绝对路径,如果镜像中对应的路径不存在,会自动创建此目录一般用 WORKDIR 来替代RUN cd <path> && <do something>切换目录进行操作的指令WORKDIR 指令为 Dockerfile 中跟随它的任何 RUN、CMD、ENTRYPOIN...

2021-10-31 14:51:00 6970

原创 Dockerfile(4) - RUN 指令详解

RUN运行命令shell形式命令在 shell中运行Linux上默认为 /bin/sh -cWindows上 cmd /S /CRUN <command>exec形式RUN ["executable", "param1", "param2"]必须双引号,不能是单引号两种写法的实际栗子RUN /bin/bash -c 'source...

2021-10-31 14:51:00 4187

原创 Dockerfile(1) - FROM 指令详解

FROM指明当前的镜像基于哪个镜像构建dockerfile 必须以 FROM 开头,除了 ARG 命令可以在 FROM 前面FROM [--platform=<platform>] <image> [AS <name>]FROM [--platform=<platform>] <image>[:<tag>] ...

2021-10-31 13:31:00 4440

原创 Dockerfile(2) - LABEL 指令详解

LABEL可以为生成的镜像添加元数据标签信息,这些信息可以用来辅助过滤出特定镜像LABEL <key>=<value> <key>=<value> <key>=<value> ...栗子一# key 加了 "LABEL "com.example.vendor"="ACME Incorporated"# k...

2021-10-31 13:31:00 1648

原创 Docker(46)- 详解 Dockerfile 指令

Dockerfile 指令汇总指令说明FROM指明当前的镜像基于哪个镜像构建ARG定义构建镜像过程中使用的变量LABEL标记镜像信息,添加元数据EXPOSE通知 Docker 容器在运行时监听指定的网络端口ENV指定环境变量ENTRYPOINT指定镜像的默认入口命令VOLUME创建一个数据卷挂载点USER指定运行容器...

2021-10-31 13:30:00 189

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除