自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mongodb与mysql区别

MySQL和MongoDB是两种主流数据库,各有特点。MySQL作为关系型数据库,SQL语句成熟,但处理海量数据效率较低。MongoDB是非关系型文档数据库,采用JSON格式存储,读写速度快、扩展性强,但不支持事务,成熟度较低。 适用场景: MongoDB适合文档型数据存储(如日志、内容管理),开发便捷,自带高可用机制; 可作为缓存数据库辅助MySQL,或用于日志分析。 MySQL适合传统结构化数据场景,MongoDB则在高性能、灵活数据模型需求中表现更优。

2025-08-25 18:48:18 420

原创 我的对wsgi协议理解

WSGI是Python Web开发中服务器与框架间的通信协议标准,定义了server与application的交互规范。server解析请求并生成environ字典传递给application,后者调用start_response生成响应头,返回可迭代的响应体。通过函数或类实现application时,需满足三个关键点:接收environ和start_response参数、内部调用start_response、返回可迭代响应。理解WSGI规范对开发Web框架至关重要,PEP-333/3333文档提供了详细说

2025-08-25 18:46:50 819

原创 Django 必会面试题

本文摘要: HTTP协议定义了8种请求方法(GET/POST等),基于TCP/IP、请求-响应模式且无状态。Django框架采用MVT模式(模型-模板-视图),请求生命周期包括中间件处理、路由匹配、视图函数等步骤。ORM实现数据模型与数据库解耦,中间件可全局处理请求响应。Django提供FBV和CBV两种视图处理方式,支持原生SQL查询和批量数据创建。migrate和makemigrations命令分别用于执行和生成数据库迁移。视图函数通过request对象获取请求路径、方法和参数等属性。

2025-08-25 18:42:21 907

原创 Centos、Ubuntu、Debain安装Nginx

本文详细介绍了在Linux系统上通过源码编译安装Nginx的方法。主要内容包括: 编译环境准备(Ubuntu和CentOS的不同安装命令) 依赖库安装:PCRE、zlib、OpenSSL的下载、编译和安装步骤 Nginx的下载、配置(带详细编译参数)和安装过程 启动验证和常见错误解决方法 提供了Nginx编译选项的详细说明 安装完成后可通过访问IP验证是否成功,并给出了处理PHP脚本的后续建议。文章还包含常见错误排查和编译参数解释,适合需要自定义安装Nginx的用户参考。

2025-08-25 18:36:25 565

原创 mac 使用Docker安装sentry

本文介绍了在Mac上安装Docker并部署Sentry的步骤。首先下载安装Docker客户端并登录,然后从GitHub获取Sentry代码。接着创建数据卷、配置环境变量、构建Docker服务并生成密钥。重点说明了如何修改docker-compose.yml文件添加密钥,注意YAML格式要求。最后启动所有服务,即可通过本地9000端口访问Sentry页面。整个过程涉及Docker基本操作和YAML配置文件修改,为搭建Sentry监控系统提供了完整指南。

2025-08-25 18:33:48 245

原创 Ubuntu、Debain安装与卸载mysql5.7

本文详细介绍了在Debian 9系统上安装MySQL 5.7.25的完整步骤:从下载安装包、解压、安装依赖库,到按顺序安装各组件包并设置root密码。同时提供了配置远程连接的方法(修改用户权限和配置文件)以及MySQL服务重启操作。最后还附带了完整的卸载指南,包括移除软件包和清理残留文件。整个过程涵盖了安装、配置和维护MySQL服务器的关键操作,适合需要手动部署MySQL的开发人员参考。

2025-08-25 18:29:33 174

原创 JS中null 与 ““ 问题

摘要:JavaScript中判断空值的三种方式区别:1)val==""检查空字符串;2)val==null检查未定义属性;3)!val会包含false、0等情况。特别注意!val会误判0,建议使用if(!val && val!==0)。例如,未定义title属性可用title_text!=null判断,但定义了title属性则不行。(149字)

2025-08-25 18:27:38 152

原创 git 命令问题

本文总结了Git常用操作指南,包括分支管理、远程仓库配置和行尾符处理等。主要内容:1)设置本地分支跟踪远程分支的方法;2)分支合并限制说明;3)创建本地分支和推送远程的命令;4)删除远程分支的两种方式;5)用户身份配置方法;6)解决origin错误的方案;7)CRLF/LF行尾符警告的处理;8)撤销merge操作的三种方法。文章还提供了实用的Git教程链接,适合开发者快速查阅常见Git问题的解决方案。

2025-08-25 18:11:20 694

原创 flask捕获app.errorhandler与app.after_request全局异常总结

本文介绍了Flask中两种全局异常处理方法。第一种使用@app.errorhandler装饰器,需开启DEBUG模式才能生效,但生产环境不建议使用;第二种采用@app.after_request,通过检查响应状态码处理异常,需关闭DEBUG模式。两种方法互斥,分别适用于开发和生产环境。第一种方法简单但有限制,第二种更安全但需要手动处理异常状态。

2025-08-25 10:19:47 171

原创 python2编码问题

Python默认编码设置与UTF8解决方案 Python默认使用ASCII编码,处理非ASCII字符时会报错。解决方法: 临时修改:在代码中reload(sys)并设置sys.setdefaultencoding('utf8'),但重启后失效。 永久生效:在Lib\site-packages下创建sitecustomize.py文件,写入上述代码,系统启动时自动加载。 强制编码:为每个字符串添加encode("utf8"),但不推荐(易遗漏导致错误)。 推荐使用永久方案,避免重复修改编码

2025-08-22 19:51:52 256

原创 Nginx功能描述

本文详细介绍了Nginx服务器的功能特性,主要包括HTTP基础功能(静态文件处理、反向代理、FastCGI、SSL支持等)、IMAP/POP3代理服务功能(支持多种认证方式和SSL)、支持的操作系统(FreeBSD、Linux、Solaris等)、结构与扩展(高效的事件处理机制和内存管理)以及其他HTTP功能(虚拟主机、日志定制、访问控制等)。此外还提及了部分实验特性,如内嵌Perl支持和线程实验模块。Nginx以模块化结构、高性能和低资源消耗著称,适合构建现代Web服务。

2025-08-22 19:51:06 325

原创 flask-celery-python实现定时任务

本文介绍了如何搭建Flask-Celery-Python环境并实现定时任务管理。首先通过pip安装Flask、Celery、Redis、APScheduler和eventlet等必要组件。接着展示了项目目录结构和核心代码实现,包括Flask应用配置、Celery任务调度、APScheduler定时任务管理等功能。系统实现了任务的创建、暂停、恢复和删除操作,通过Redis作为消息代理和任务存储后端。其中,定时任务支持立即执行和周期性执行两种模式,并提供了相应的API接口供前端调用。所有任务状态都存储在Redi

2025-08-22 19:50:05 316 1

原创 mysql 特殊语法

MySQL中删除数据后ID自增问题及解决方法:当删除记录后,新增数据ID会继续从当前最大值递增,导致ID不连续。可通过执行ALTER TABLE 表名 AUTO_INCREMENT=n命令重置自增起始值。另外,删除唯一索引的语法为ALTER TABLE 表名 DROP INDEX 字段名,文中以user表为例演示了删除username和en_username两个唯一索引的过程。

2025-08-22 19:47:58 283

原创 Linux常用命令

这篇文章汇集了41条实用的Linux系统管理和运维命令,涵盖文件处理、进程管理、网络监控、日志分析等多个方面。主要内容包括:删除0字节文件、查看和排序进程、抓取缓存URL、分析HTTP请求状态、文本替换、杀进程技巧、服务管理、循环操作、IP获取、内存/CPU监控、磁盘空间检查、I/O负载分析、网络状态诊断、系统日志查看等实用命令。这些命令可帮助管理员快速排查系统问题、优化性能,并提供了日常运维中的高效解决方案,如统计文件大小、清理僵尸进程、分析网络攻击等场景。

2025-08-22 19:47:06 233

原创 APScheduler学习

APScheduler是一个功能强大的Python定时任务框架,支持基于日期、固定间隔和crontab类型的任务调度。它包含四个核心组件:触发器(定义调度逻辑)、作业存储(默认内存存储,支持数据库持久化)、执行器(线程/进程池)和调度器(Blocking/Background两种类型)。通过简单的配置即可实现定时任务管理,支持任务的添加、移除、暂停、恢复和修改等操作。文中提供了基本使用示例,包括创建定时任务、配置MongoDB存储方案,以及任务管理API的使用方法。该框架适用于需要定时执行任务的各类应用场景

2025-08-22 19:45:55 930

原创 python web: flask异步执行任务

摘要: Flask作为同步框架,处理耗时任务时需异步执行以避免阻塞。本文介绍了两种实现方式: 线程池:通过ThreadPoolExecutor快速实现异步任务,但需额外设计状态查询机制。 Celery:结合Redis作为消息队列,支持任务状态跟踪。通过@celery.task装饰器标记耗时函数,利用update_state()更新进度,并提供接口(如/status/<task_id>)供前端轮询状态。示例代码展示了进度条功能的实现,包括任务启动、状态返回(202状态码)及元数据传递。适用于邮件发

2025-08-22 19:43:55 993

原创 Ubuntu24.04安装网易邮箱大师

摘要: 在Ubuntu24.04上安装网易邮箱大师时,官网未提供兼容包。解决方法:先下载并安装依赖包gconf2-common和libgconf-2-4,按顺序使用dpkg命令安装这两个deb文件,最后再安装网易邮箱大师的deb包即可完成安装。

2025-08-22 19:38:00 204

原创 Ubuntu或者Debian安装pyenv多版本python管理器

pyenv是一个轻量级Python版本管理工具,可轻松切换多个Python版本。安装时需先安装依赖库,通过官方一键脚本安装pyenv,并配置环境变量。常用命令包括:查看/安装/卸载Python版本、设置全局和局部版本、自动切换pip环境等。支持多版本共存,遵循UNIX单一用途工具理念,是Python开发环境管理的实用工具。

2025-08-22 19:36:36 250

原创 Linux 查看硬件信息

本文整理了一系列常用的Linux系统管理命令,涵盖系统信息查询、资源监控、磁盘分区、网络配置、进程管理和用户管理等六大类。通过这些命令可快速获取系统内核版本、CPU信息、内存使用情况、磁盘空间、网络接口状态、运行进程以及用户登录记录等关键数据。这些命令为系统管理员提供了全面的服务器状态监控工具,便于日常维护和故障排查。每个命令都配有简洁的语法说明,适合作为Linux系统管理的快速参考手册。

2025-08-22 19:35:21 195

原创 NPM使用介绍

本文介绍了NPM(Node Package Manager)的基本使用方法和功能。NPM是随NodeJS安装的包管理工具,主要用途包括下载第三方包、安装命令行工具和发布自己的模块。文章详细说明了如何检查NPM版本、升级NPM、以及使用淘宝镜像加速下载。重点讲解了本地安装与全局安装的区别及使用方法,并介绍了如何查看已安装模块信息。此外,还解释了package.json文件的作用和结构,展示了express模块的package.json文件示例。文章为NodeJS开发者提供了NPM的基础使用指南。

2025-08-22 19:34:14 1002

原创 Linux下实现MySQL数据库每天自动备份定时备份

数据库备份方法与定时任务设置 摘要:本文介绍了数据库备份的重要性和基本方法,重点讲解了在Linux环境下使用crontab设置定时备份任务的步骤。内容包括备份概念、存储介质选择、创建备份脚本、添加可执行权限以及配置计划任务。通过mysqldump命令结合gzip压缩实现数据库备份,并详细说明了如何设置每分钟执行的定时任务,同时提供了任务执行失败的排查方法。文章强调备份是容灾的基础,对保障数据安全至关重要。

2025-08-22 19:32:16 929

原创 Ubuntu22.04系统环境下python2无法安装mysql-python第三方库的问题

在Python 2.7虚拟环境中安装MySQL-python时出现编译错误,提示缺少my_config.h文件。这是由于MySQL 8.0不再提供该头文件。解决方法是在Ubuntu系统上安装libmysqlclient-dev后,创建软链接将mysql.h映射为my_config.h:sudo ln -s /usr/include/mysql/mysql.h /usr/include/mysql/my_config.h。这样就可以成功安装MySQL-python 1.2.5。这个解决方案适用于Ubuntu

2025-08-22 19:31:00 273

原创 mongoDB索引小知识

MongoDB添加索引优化 对于百万级数据量,添加索引可能导致CPU飙升。解决方法是在创建索引时启用background:true选项,允许索引在后台构建,不影响数据库性能。示例代码:db.user.createIndex({"name":-1}, {"background":true})

2025-08-22 19:30:01 124

原创 mongoDB导入数据

摘要:本文介绍了如何使用Python将mongodump导出的MongoDB数据重新导入数据库。第一部分通过Python脚本解析BSON文件并批量导入数据到指定集合,自动跳过系统索引文件;第二部分解析system.indexes.bson文件重建原始索引结构,处理索引键方向(升序/降序)并捕获创建索引时的异常。两个脚本配合使用可完整恢复mongodump导出的数据结构和索引,适用于MongoDB数据迁移场景。

2025-08-22 19:27:12 215

原创 linux下zip解压、tar解压、gz解压、bz解压等各种解压文件命令

Linux系统下常见压缩文件解压与打包命令汇总 本文整理了Linux系统中各类压缩格式文件的解压与打包命令,包括.tar、.gz、.bz2、.zip、.rar等常见格式。详细列出了每种格式对应的解压和压缩命令,并特别标注了tar命令仅是打包而非压缩。同时提供了.rpm和.deb安装包的解包方法,以及sEx工具的通用解压方式。对于复合格式如.tar.gz、.tar.bz2等,给出了对应的组合命令。文章还包含部分压缩工具如gzip、bzip2的常用参数说明,以及如何安装第三方解压工具如rar、lha等。适用于L

2025-08-21 19:13:06 633

原创 Win10定期执行python程序

本文介绍了两种定时执行Python脚本的方法。第一种是使用Windows 10自带的任务计划程序,详细说明了从创建基本任务到设置Python脚本路径的完整步骤。第二种是使用Jenkins工具,包含安装配置、创建作业、设置定时触发器以及添加邮件通知的完整流程。两种方法都提供了详细的图文操作指引,适合需要定期自动运行Python脚本的用户参考使用。

2025-08-21 19:10:31 561

原创 将远程Redis实例备份到本地实例

摘要: 本文介绍了Redis数据库复制的操作步骤。首先通过redis-cli进入Redis命令行,若主库有密码需设置masterauth。使用SLAVEOF命令开始复制,并通过INFO replication检查状态,确保master_link_status为up。同步完成后master_sync_in_progress应显示为0,可用DBSIZE比对数据量。使用BGSAVE将数据转储为dump.rdb文件,存储路径可通过CONFIG GET dir获取。最后,SLAVEOF NO ONE可暂停复制。参考R

2025-08-21 19:07:33 223

原创 python中的__enter__ __exit__

Python中的__enter__和__exit__方法实现了上下文管理器协议,用于支持with语句。with语句会自动调用__enter__方法获取资源,并在代码块执行完后调用__exit__方法释放资源。__exit__可以处理异常,若返回True则异常被抑制。上下文管理器简化了资源管理代码,如文件操作,确保资源被正确释放。示例展示了如何自定义上下文管理器类,以及__enter__返回值、异常处理等关键行为。

2025-08-21 19:06:19 462

原创 Linux下使用n来管理多版本NodeJS

在Linux系统下,使用工具n可以方便地升级或切换Node.js版本。安装步骤包括全局安装n、指定版本安装及验证。若遇到版本仍显示旧版的问题,需修改环境变量N_PREFIX指向当前Node安装目录;若出现n: command not found错误,还需建立软链接。此外,也可选择nvm作为版本管理工具。

2025-08-21 19:04:01 298

原创 如何从python中的列表中删除重复的字典

摘要 本文介绍了多种从Python字典列表中删除重复项的方法。主要思路是根据特定键(如"Matchcode")来识别重复字典。方法包括: 使用frozenset将字典转换为可哈希形式,然后去重 利用itertools.groupby()按关键字段分组并保留每组第一个元素 使用collections.defaultdict统计键出现次数,只保留唯一项 结合排序使用itertools的unique_justseen方法 最佳方法取决于具体需求,如是否需要保留顺序、处理嵌套结构或仅基于特定键去

2025-08-21 19:00:00 1341

原创 python计算crontab下次执行时间与执行次数

本文介绍了使用Python计算Linux Crontab定时任务下次运行时间的方法。通过croniter库实现核心功能,主要包含两个函数:CrontabRunNextTime()用于计算下次运行时间,可指定查询次数;CrontabRunTime()用于统计任务创建后的执行次数。文章提供了完整代码示例,包括时间戳转换、时间计算等辅助函数,可直接用于项目开发。使用方法简单,如CrontabRunNextTime("*/5 * * * *",3)可查询未来3次运行时间。文末还提供了参考链接和开

2025-08-21 18:57:13 143

原创 python-雪花算法

python如何写雪花算法,实例如下

2025-08-21 18:55:24 174

原创 python--inspect模块

Python的inspect模块主要用于检查代码对象,提供四大功能:1)类型检查,含16种对象类型判断方法;2)获取源码,包括文档字符串和源文件信息;3)获取参数信息;4)解析堆栈。模块核心方法getmembers()可获取模块、类、方法等对象的各种属性,如__doc__、__name__等。此外还提供获取模块信息(getmoduleinfo)、源代码(getsourcefile)等功能,支持对Python代码的深入分析和调试。

2025-08-21 18:53:14 587

原创 linux文件系统修复requires a manual fsck怎么办

摘要:系统启动时出现文件系统错误,提示/dev/sda1存在损坏的inode链表,需要手动运行fsck修复。错误可能由异常断电导致。在initramfs环境下执行fsck /dev/sda1并确认所有修复操作后,强制重启系统恢复正常。该问题通常由非正常关机引起,通过文件系统检查工具可修复一致性错误。(149字)

2025-08-21 18:51:13 280

原创 MySql设置某个用户以任意ip地址访问

MySQL远程连接问题解决方案:当root账户只能通过localhost访问时,可通过修改user表或授权方式解决。1)修改user表:将root的host字段改为'%'并刷新权限;2)授权:使用GRANT命令允许root从任意主机('%')或指定IP连接,需设置密码并执行flush privileges。注意必须刷新权限才能使修改生效。通过mysql -u root -p命令可进入MySQL管理界面验证配置。

2025-08-21 18:50:14 251

原创 Ubuntu、Debian默认ufw防火墙安装、配置、命令使用教程

UFW是Ubuntu/Debian系统的默认防火墙工具,简化了iptables配置。它支持IPv4/IPv6,提供用户友好的命令行界面。主要功能包括:启用/禁用防火墙(default deny模式会阻止外部访问)、查看状态、重置规则等。常用操作有开放/关闭端口(如80端口)、允许/禁止特定IP访问、按服务名(如smtp)管理访问权限,以及基于子网范围(如10.0.0.0/8)设置规则。删除规则时可使用端口号或状态列表中的序号。UFW从Ubuntu 8.04 LTS起默认集成,通过apt install uf

2025-08-21 18:47:12 613

原创 Pycharm内搜狗输入法候选框不跟随光标(Ubuntu系统环境下)

摘要:JetBrains IDE与fcitx输入法存在兼容问题。解决方法是从指定GitHub页面下载文件,替换PyCharm安装路径中的jbr目录(如/opt/pycharm-community-2022.3.1/jbr/)。该问题影响所有基于fcitx的输入法,包括搜狗输入法。

2025-08-21 18:43:20 296

原创 Element-plus 中 el-table 组件实现行拖拽

本文介绍了使用Vue和Element UI结合Sortable.js实现表格行拖拽排序功能的方法。通过初始化表格数据、配置Sortable.js拖拽参数,实现了整行拖拽排序效果,包含拖拽动画和视觉反馈。底部还添加了数据顺序预览功能,方便查看排序结果。代码支持扩展如本地存储或服务器保存排序结果,提供了完整的解决方案,可直接集成到项目中。

2025-08-21 18:40:20 413

原创 ELement实现复制excel内容并在el-table中展示

这篇文章介绍了一个基于Vue.js和Element UI的Excel数据导入功能实现。主要特点包括: 通过弹窗形式提供Excel数据粘贴区域,支持从Excel复制数据后粘贴导入 实现表格数据展示功能,包含域名、用户名、邮箱和密码四列 提供数据导入、清除、确认和取消等操作按钮 包含数据导入前的验证和提示功能 使用Element UI组件构建界面,包括el-table、el-dialog、el-button等 该组件实现了从Excel复制数据到网页表格的转换功能,支持数据过滤和格式检查,并提供了友好的用户交互提

2025-08-21 18:34:23 198

原创 Debain 10(Buster)换源

Debain 10(Buster)换源的操作步骤必要条件:已经安装好的Debain 10(Buster)开始Debain 10(Buster)换源的操作步骤步骤一、备份原始的源文件用户切换到root下,进行源文件备份二、换源1.创建新的源文件(使用vim)2.编辑新的文件3.使用新的源文件总结祝大家操作顺利步骤国外软件源下载速度太慢,所以更换成国内的源,以网易的源为例一、备份原始的源文件用户切换到root下,进行源文件备份代码如下(示例):mv /etc/apt/sources.li

2020-12-04 19:51:03 1271

空空如也

空空如也

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

TA关注的人

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