myesn

myEsn2E9

hi
github
Celery: 将失败任务路由到 RabbitMQ 的死信队列
Celery 是一个分布式任务队列,Celery 任务有自动重试的功能,本文介绍了如何将达到最大重试次数后仍然失败的任务消息路由到 RabbitMQ 的死信队列。 一般一个项目配置一个死信队列的 Exchange 就可以了,然后再根据业务配置多个死信队列绑定到死信…
Python: 通过 .env 文件配置不同环境中的环境变量
之前写的 Flask: 根据当前环境加载不同配置文件 有些笨重,接下来介绍一种通过加载配置文件(.env)到环境变量,再从环境变量中读取配置的方法,这种方式更加灵活: 首先需要安装 python-dotenv 库: Copy pip install python-dotenv…
Flask: 根据当前环境加载不同配置文件
比如数据库连接信息在测试、正式环境通常对应两套不同的配置。 本文基于 Python 的 Flask 框架实现。 如果想使用 .env 文件来配置不同环境,参考:Python: 通过 .env 文件配置不同环境中的环境变量 首先需要创建一个基类…
cover
cover
cover
cover

RabbitMQ: 在 Windows 上安装

按顺序下载和安装: Erlang/OTP Version Tree rabbitmq-server 按下 Windows 键,找到并打开 RabbitMQ Command Prompt: 再复制以下命令粘贴进去执行: Copy rabbitmq-plugins…
cover
cover

nginx: 504 Gateway Time-out

通过 nginx 反向代理后,上传文件时提示 "504 Gateway Time-out"。 因为我是通过 nginxconfig.io 生成的配置,所以我这里只需要修改默认的三个参数,不新增任何参数: Copy proxy_connect_timeout…
cover
cover

Logto: 如何在本地快速部署

本文记录了如何快速在本地部署 Logto open-source service (OSS) 。 当然,如果仅仅是想体验 Logto 的功能,可先通过官网 https://logto.io/ 快速了解,而后直接访问 https://cloud.logto.io 体验官方云版…
nginx: favicon.ico 404
nginx 不会将 favicon.ico 的请求转发给反向代理后面的网站程序,需要在 server 中设置 root 目录: Copy server { root /path/to/your/wwwroot; # 确保此路径指向包含 favicon.icon 的目录 }…
cover

DateRangePicker: 实现周/星期选择器

期望:点击某一天,自动选中这一天所在星期的开始和结束日期。 现状:这是一个选择时间范围的需求,Date Range Picker 自身并没有实现周选择的功能,对于日期范围,需要点一次开始,再点一次结束。 所以需要自己实现,步骤如下。 Copy .daterangepicker…
cover

HTML <form>: 使用 JavaScript 自定义表单验证

在按照 Bootstrap - Forms - Validation 对 <form> 中的可输入控件进行数据校验时,可以在控件上添加 required、minlength、maxlength 等常规通用的原生验证属性。 当我们有更复杂的业务逻辑时,还可以通过…
cover
cover
cover
cover

SEO Google: 结构化数据介绍

写在前面:一开始不了解,以为编写结构化数据可以定义搜索结果中展示的二级菜单,学到后面发现做不到,因为它是由 Google Search 根据算法自动生成的,参考:搜索引擎 - 如何在搜索结果页展示二级目录?。 不过也了解到结构化数据的功能,比如定义搜索结果中的搜索框的交互行为。…
cover
cover

SEO: 使用 Lighthouse 分析网站需要改进的地方

Lighthouse 提供针对性能、无障碍功能、渐进式 Web 应用、SEO 等方面的审核。 您可以在 Chrome DevTools 中、通过命令行或作为 Node 模块运行 Lighthouse。为 Lighthouse 提供一个要审核的网址,它会对此页面运行一系列审核…
SEO Google: Search Console 使用入门
当然是阅读官方提供的文档啦:Search Console 使用入门 官方提供了太多文档,个人觉得其中需要花时间去了解的章节有: 5. 了解 Google 搜索的基础知识 6. 重要的 Google 搜索概念 7.2. 您的网站在 Google 上的表现如何? 7.5…
cover

SEO Google: 添加到 Search Console(有效解决零收录情况)

如果发现搜索结果中一条记录都没有,那么在完成本文指引后,再等待 1 天,再去查询收录情况,就会发现提交的网站已经被收录了。 打开控制台:https://search.google.com/search-console/welcome?hl=zh-cn 根据提示输入域名,添加…
cover

批量修改文件编码工具

工具地址:https://github.com/amrali-eg/EncodingChecker 使用方法: 参考:https://blog.csdn.net/weixin_42378319/article/details/118823760
cover

ABP: UserMenu 新增菜单项

打开 Web 项目的 Menus\?MenuContributor,加入以下代码: Copy public async Task ConfigureMenuAsync(MenuConfigurationContext context) { ..…
净值型理财怎么算收益
日收益=持有份额*(最新净值-上一日交易日净值) 最终计算的收益值保留两位小数,我感觉应该是四舍五入,然后最低 0.01 元,也就是最小收益的货币单位是人民币分。 计算收益时,是根据购买的份额来计算,不会代入投入的金额。 收益发放规则:确认份额后开始计算收益…
Next.js: API 请求速率限制
限制一定时间内的 API 访问次数,比如一分钟内只允许访问 5 次 API。 注意: 通过在项目根目录创建 middleware.ts(或 .js) 文件来定义 Middleware。例如,与 pages 或 app 位于同一级别,或在 src 中(如果适用)。 一个项目只…
Next.js: 5 种退出静态渲染的方法
适用于项目在 build 之后,route.ts 的响应结果被静态处理,表现为:接口始终响应相同的数据。 我使用的方法是,在 route.ts 中添加以下代码: Copy export const dynamic = 'force-dynamic' 参考: Next.js…
Ownership of this blog data is guaranteed by blockchain and smart contracts to the creator alone.