hero image

MicLon's Blog

自律给我自由

博客
我的博客
GitHub
我的github
usepy
一个简单实用的python库
开源
我的项目开源
Python
我的主技术栈
Vue
这只能算是业余
pydantic的高阶玩法
pydantic是一个Python的数据验证和转换库,它的特点是轻量、快速、可扩展、可配置。笔者常用的用于数据接口schema定义与检查。 具体的基本用法本文不再做过多的介绍,可以参考pydantic官方文档。本文主要是结合实际项目开发中遇到的问题和解题思路,介绍一些pydantic的高阶玩法。 当前现状 在项目中,pydantic的定义是在数据的出口进行规

MicLon原创2023年3月13日
大约 5 分钟
肝了一晚上,开源chatgpt web端聊天机器人
ChatGPT-WEB 本项目为chatgpt私有化部署,基于fastapi vue3 chatgpt api实现。 笔者案例 - 我用AI帮我完成了单子; 快速开始 1. docker 部署 作者已经将chatgpt打包成镜像,可以直接使用docker部署。 2. 本地部署 拉取项目,安装依赖; 启动项目; 如果你不想动手 笔者自建了微信公众号:代码领悟,

MicLon原创2023年2月11日
大约 1 分钟
优雅地处理python异常
异常基础 在python代码中捕获异常,可以使用try/except语句。它的基本形式如下: 还可以使用finally子句,在异常发生时执行一些清理工作,以及不管是否发生异常都要执行的操作。 此外,在except子句中,可以根据不同的异常类型使用不同的处理方式,以便更加精确地处理异常。 可以发现,为了给一个方法添加异常处理,需要在方法中添加大量的try/ex

MicLon原创2022年12月25日
大约 4 分钟
小记filebeat日志收集
本文并非面向新手,如果你还不了解filebeat,不了解它的配置,建议先去官网学习。 一版 项目早期使用的是logstash收集日志,后来由于logstash的性能问题,改为使用filebeat收集日志。filebeat使用go语言重写,性能极高,无依赖,配置简单。 在使用filebeat时,一开始采用的是程序将日志输出到文件,然后将日志文件映射给fileb

MicLon原创2022年11月30日
大约 2 分钟
python中__str__和__repr__区别
简介 在python中,str和repr均为类的魔术方法,也就意味着,它会在指定的场景下才会被自动调用。但是这两者经常会傻傻分不清楚,接下来结合测试和场景来更深入的理解这两个魔术方法。 何时触发 \_\_str\_\_ 官方说法解析: str是在str(object)、format()、print()object.str等场景下被调用。; 返回值必须是字符串

MicLon原创2022年11月25日
大约 2 分钟
最轻量级的 Python 单元测试框架
相较于pytest、unittest等框架,doctest是最轻量级的单元测试框架,它的特点是: 无需编写测试代码,只需在文档中添加测试用例; python内置,无需安装; 使用学习成本超低; 在编写代码时,我们可以在文档中添加测试用例,然后使用doctest来执行测试用例,从而验证代码的正确性。 比如我想测试get_right函数,它的作用是在给定一段字符

MicLon原创2022年11月10日
大约 1 分钟
python装饰器进阶指南
前言 最近一有时间就在整理自己常用的代码片段,并做成了私人pip包,正好整理到了装饰器的部分,所以就想着写篇文章来总结一下。写这篇文章的目的是为了让大家对装饰器有一个更深入的了解,而不是简单的使用。同时也是自己对装饰器掌握的一个总结,希望能够帮助到大家。 需求 我打算带着实际的需求来看待装饰器,这样也会更加容易理解。这道题目也是stackoverflow上的

MicLon原创2022年9月30日
大约 5 分钟
python中命令行的应用实践
起源 小k是一家互联网公司的爬虫(cv)工程师,他在这家公司写过大大小小无数个爬虫脚本。有一天他打开自己写过的一个爬虫项目,看到密密麻麻几十个网站的spider文件,内心暗喜,”我真是个人才,居然能写出这么多优秀且稳定的代码“。忍不住得将项目截图发给小m,等待着即将回复的:”卧槽牛逼啊“,但随即等来的却是一句:”你这么多爬虫文件,你怎么运行的?“,小k一时语

MicLon原创2022年9月28日
大约 5 分钟
Python程序插件的实现思路
前言 最近一段时间都沉浸在前端开发(CV):wink:的世界里,对Vue项目的开发有了比之前更深刻的理解,对官方指出的渐进式开发,组件化开发的思想有了实践真知。在项目中由于经常用到日期时间等格式的解析,因此接触了dayjs这个库,它的优点是轻量、可扩展、可配置、可定制、可本地化、可插件化,这些特性都是非常好的,因此我就想着能不能把它的插件化特性用到Pytho

MicLon原创2022年9月26日
大约 3 分钟
python中实现文件更新监控自重启
接触过很多框架都有一个这样的功能,就是当你修改了代码之后,框架会自动重启,这样就不用每次修改代码之后都手动重启了。比如:django、fastapi、flask等等一些web框架,都有这样的功能。我们可以尝试自己实现一个这样的功能。 watchdog " watchdog模块用于监控一个文件目录下的文件和文件夹的变动,包括文件和文件夹的增删改移。它是一个跨平

MicLon原创2022年9月6日
大约 4 分钟
2
3
4
5
...
8