hero image

MicLon's Blog

自律给我自由

博客
我的博客
GitHub
我的github
usepy
一个简单实用的python库
开源
我的项目开源
Python
我的主技术栈
Vue
这只能算是业余
Nacos与Dynaconf神仙组合,打造纯动态配置
概述 Nacos 是一个动态服务发现、配置管理和服务管理平台,支持多种服务类型和特性,帮助您快速构建、交付和管理云原生应用。 Dynaconf 是一个用 Python 实现的轻量级配置管理库,它支持多种格式的配置文件,并且可以动态修改配置。 这个两位一组合,可以实现纯动态配置,无需重启服务,就可以修改配置。 nacos sdk 在阅读了官方仓库的nacos-

MicLon原创2023年12月12日
大约 2 分钟
微信小程序抓包及自动化
背景 最近在做有关发票管理的微信小程序,主要功能是记录平时消费记录及对应的发票,方便收集管理并在月末的时候统一报销。其中小程序中有一个打印消费记录及发票的功能,目前的实现方式是将上传的图片和PDF在后端合并生成新的PDF在小程序预览打开。然后在右上角选择内网打印机进行打印。 问题 本来这一切感觉都还可以,当然两个月的使用下来也发现一些问题: 由于是内网打印机

MicLon原创2023年9月4日
大约 4 分钟
requests大文件上传
阅读本文,你将获得: requests大文件上传原理; 大文件上传的方法; 带进度的文件上传方法; 为了更为方便的测试,我们现在本地docker搭建httpbin服务,httpbin是一个测试http请求的服务,可以用来测试各种http请求,包括文件上传。 通过httpbin的/post接口测试文件上传,httpbin会将上传的文件返回,方便我们测试。 理解

MicLon原创2023年8月22日
大约 4 分钟
django-filter源码阅读
" 阅读本文需要了解DRF的基本使用,最好实际使用过它。如果不了解,请先阅读DRF官方文档或源码" " " " name : django-filter" " " " version : 22.1" " " " description : Django-filter is a reusable Django application for allowing

MicLon原创2023年7月18日
大约 3 分钟
vue前端版本更新后消息通知的实现
问题及需求 前端版本迭代后,用户如果不刷新页面,无法及时获取到最新的版本,这时候就需要一个消息通知的功能,告知用户当前版本已经过期,需要刷新页面。 想要实现这个功能,需要解决以下几个问题: 1. 如何判断当前版本是否过期? 2. 如何在用户不刷新页面的情况下,实时获取到最新的版本后,通知用户刷新页面? 解决方案 如何判断当前版本是否过期?; 项目采用vue3

MicLon原创2023年6月1日
大约 3 分钟
FastAPI 根据用户角色限流
限流 限流就是对请求进行控制和调度。这样做有助于防止系统负载过大导致崩溃或性能下降等情况。例如我可以对业务中核心的查询功能进行限流,保证这个接口一分钟最大允许100次请求(100/minutes)。 随着业务的调整,引入了会员机制,尊贵的人民币玩家可不能也"享受"着限流的待遇。但又不能全面放开导致接口被匿名未登录或者普通用户一样无限刷访问。于是需要对不同的角

MicLon原创2023年4月15日
大约 4 分钟
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 分钟
2
3
4
5
...
9