- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 Tauri 开发模式下 SQLite 数据库文件变更导致应用自动重启问题
在Tauri桌面应用开发中,数据库写入导致应用频繁重启的问题,本质源于开发模式下Tauri的文件监听机制。当SQLite数据库文件(如.db、.db-wal等)位于监听目录时,写入操作会触发自动重建和刷新。解决方案包括: 临时方案:创建.taurignore文件忽略数据库目录及文件; 推荐架构:将数据库移至系统标准路径(如app_data_dir),避免与项目构建监听冲突。 该问题揭示了桌面应用数据存储的核心原则:需区分开发监听边界与生产环境数据隔离,而非仅考虑路径便捷性。
2026-06-07 00:06:49
503
原创 Python 面向对象高级:继承与类定义详解
Python面向对象编程:继承与类定义实战指南 本文详解Python面向对象的类定义与继承机制,包含三大核心知识点: 类定义规范:推荐使用class 类名(object):形式,明确继承自基类object 继承体系: 单继承实现代码复用 多继承通过MRO机制确定方法调用顺序 方法重写(Override)实现子类定制化 父子类交互: 使用super()调用父类方法 多层继承时属性/方法的查找规则 通过具体代码示例演示继承的实际应用场景,帮助开发者掌握面向对象编程的核心思想。文中特别强调了多继承的优先级问题和s
2026-05-30 20:21:45
227
原创 Python 面向对象编程:从入门到精通
目录一、什么是面向对象?1. 面向过程2. 面向对象二、面向对象三大特性1. 封装2. 继承3. 多态三、类与对象1. 类是什么?2. 对象是什么?四、self 到底是什么?self 最常见用途1. 调用对象属性2. 调用对象方法五、对象属性1. 如何添加属性2. 如何获取属性六、魔法方法(重点)6.1 init 初始化方法6.2 str 方法6.3 del 方法七、为什么一定要学面向对象?在正式学习语法之前,两种常见编程思想:核心思想:例如:“做饭”这个事情:洗菜切菜热锅炒菜出锅代码会围绕“步骤”展开。这
2026-05-27 09:00:00
304
原创 Python 使用飞书 API 获取部门直属用户列表(递归获取所有部门 + 导出 Excel)
本文分享了从飞书同步组织架构到内部系统的完整实现方案。针对飞书树形部门结构、接口分页限制等实际问题,提出分步解决方案:先递归获取所有部门,再获取每个部门下的直属用户数据。通过数据清洗和整理,最终生成包含部门层级和员工信息的Excel通讯录。文章详细介绍了获取子部门列表、部门用户数据的方法,并提供了Python代码示例,包括分页处理、异常重试等实用技巧,最后使用pandas导出结构化Excel文件。
2026-05-14 21:04:42
641
原创 Python 使用飞书 API 获取子部门列表接口信息
本文介绍了使用Python调用飞书开放平台API实现组织架构同步的方法。主要内容包括:1)在飞书开放平台创建应用并申请通讯录权限;2)通过Python获取TenantAccessToken;3)实现获取子部门列表和递归获取所有部门的功能;4)将部门数据导出为Excel表格。文章详细说明了环境配置、API调用流程和数据处理步骤,为企业系统集成提供了完整的解决方案。
2026-05-12 22:46:56
597
原创 从零到实战:一套完整的 Python 爬虫技术体系(requests + BeautifulSoup + 正则 + JSON)
本文介绍了Python网络爬虫的核心技术组合。首先解释了爬虫模拟浏览器获取数据的基本原理,然后详细讲解了requests库发送HTTP请求的方法和常见问题。接着介绍了BeautifulSoup解析HTML文档的技巧,包括find方法和CSS选择器的使用。针对复杂数据场景,文章展示了正则表达式的应用,以及json模块处理接口数据的技巧。最后通过实战示例演示了完整的爬取流程,总结出requests、BeautifulSoup、正则和json这四大技术的协同工作方式,一套完整的网页数据抓取解决方案。
2026-05-05 18:46:31
1449
原创 JavaScript 进阶基础:对象与 Math 的实际用法总结
本文系统介绍了JavaScript对象的核心概念与应用。主要内容包括:1)对象的基本结构与创建方式,包含属性和方法;2)属性访问的两种方式(点操作符和方括号)及动态添加技巧;3)方法的定义、调用与动态扩展;4)对象遍历(for...in循环)的注意事项;5)Math内置对象的常用属性和方法(随机数、取整、极值计算等);6)实际应用场景如随机数区间的生成方法。文章特别指出了对象使用中的常见陷阱(属性覆盖、null类型判断)和最佳实践,为JavaScript对象操作提供了全面的指导参考。
2026-04-19 16:19:57
275
原创 JavaScript 进阶基础:函数、作用域与常用技巧总结
摘要:本文系统介绍了函数的核心概念与用法。函数通过封装代码解决重复逻辑问题,基本使用包括声明和调用。参数使函数更灵活,形参接收实参传递的值;return语句返回结果并终止函数执行。作用域分为全局和局部,变量查找遵循"就近原则"。此外还介绍了匿名函数的两种形式:函数表达式和立即执行函数(IIFE),后者常用于隔离作用域。核心要点包括:函数实现"输入→处理→输出"的逻辑,参数传递数据,返回值输出结果,作用域管理变量可见性,匿名函数提供更灵活的编码方式。这些概念是编程中函数
2026-04-16 20:24:25
276
原创 JavaScript 基础进阶:分支、循环与数组实战总结
本文对比了if和switch两种条件判断结构,分析了for循环的基本用法与注意事项,并介绍了循环嵌套的典型应用。文章详细讲解了数组的定义、索引访问和常用操作方法(push/pop/splice等),强调数组是存储多种数据类型的有序集合。在编程实践中,if适合范围判断,switch适合固定值匹配;for循环适合明确次数的情况,while适用于不确定次数;数组操作要注意索引从0开始的特点,掌握增删改查的基本方法。这些基础概念是前端开发的重要知识点。
2026-04-15 20:38:52
230
原创 Windows 安装 PostgreSQL 数据库
PostgreSQL是一款功能强大的开源对象关系数据库,具有稳定性强、功能丰富等特点。文章介绍了PostgreSQL的四大优势:开源免费、功能强大、可靠性高和扩展性强。详细说明了Windows系统下的安装步骤,包括下载、组件选择、密码设置等关键环节。最后提供了常见问题解决方法,如远程访问设置、密码重置和服务启停操作。全文150字,简明扼要地涵盖了PostgreSQL的主要特性和安装使用要点。
2026-04-14 22:26:06
559
原创 JavaScript基础:运算符和流程控制
JavaScript运算符使用要点: 算术运算符注意运算顺序和NaN情况,如字符串加减会转为拼接; 比较推荐使用===严格相等,避免==类型转换的坑; 自增/减注意前置后置区别,建议避免复杂表达式; 逻辑运算符记住"&&一假则假,||一真则真"; 流程控制中if可判断非布尔值,switch注意break防穿透; 循环要包含三要素(初始值、终止条件、变量变化),break/continue可控制流程。NaN具有特殊性,不等于任何值包括自身。
2026-04-12 20:21:04
82
原创 JavaScript 基础入门:从零开始掌握变量与数据类型
JavaScript是一种用于网页交互的脚本语言,通过HTML嵌入运行。文章详细介绍了JavaScript的基础知识,包括两种引入方式(内部脚本和外部文件)、变量与常量的声明(推荐使用let和const)、数据类型(数值、字符串、布尔值等)以及类型转换技巧。同时讲解了输入输出方法和编程最佳实践,如避免使用var、合理命名变量、显式类型转换等。这些基础概念是学习JavaScript的重要起点,帮助开发者编写更规范、可维护的代码。
2026-04-12 12:33:10
516
原创 FastAPI 进阶:中间件、依赖注入与 ORM
本文深入探讨FastAPI框架的三个核心进阶特性:中间件、依赖注入和ORM。中间件用于全局请求/响应处理,实现日志、认证等功能;依赖注入通过Depends实现代码复用和解耦;ORM(如SQLAlchemy)简化数据库操作,提高安全性。三者结合使用可构建高效、易维护的API应用,中间件处理全局逻辑,依赖注入管理路由共享代码,ORM实现面向对象数据库访问,使开发更优雅高效。
2026-02-23 14:05:45
1008
原创 快速掌握FastAPI:高效构建Web API
FastAPI是一个高性能Python Web框架,专为快速构建API设计。它支持自动生成交互式文档,提供强大的参数验证功能,包括路径参数、查询参数和请求体参数,支持类型注解和校验规则。框架内置多种响应类型(JSON/HTML/文件等),支持响应模型验证和自定义异常处理。通过uvicorn服务器运行,支持热重载,简化开发流程。其基于Pydantic的数据验证和Starlette的异步性能,使其成为构建现代API的高效工具。
2026-01-18 16:53:59
1122
原创 jvms Java 版本管理工具
本文介绍了JVMS(Java Version Manager)的安装和使用方法:1)从GitHub下载最新版JVMS;2)配置环境变量,将JVMS目录添加到系统Path并设为最高优先级;3)初始化JVMS并创建指定目录;4)通过jvms --version验证安装;5)添加本地JDK,需在JVMS目录下创建store文件夹存放JDK,并按版本号命名;6)使用jvms ls查看JDK列表,jvms switch切换版本,java -version验证切换结果。全文详细指导了JVMS的配置和JDK管理流程。
2026-01-02 21:21:45
1049
原创 Windows 安装 Oracle 19c Instant Client
本文介绍了Oracle Instant Client的安装配置流程:首先从官网下载安装包并解压至指定目录;然后配置系统环境变量ORACLE_HOME和Path;通过CMD运行sqlplus/nolog验证安装是否成功。文章特别强调必须将basic和sqlplus解压到同一目录,最后说明了如何使用Navicat Premium通过OCI环境连接Oracle 19数据库。整个安装过程需要注意环境变量配置和文件解压路径的正确性。
2026-01-02 21:20:19
1803
原创 Windows 使用nvm多版本管理node.js
本文介绍了使用nvm-windows管理Node.js版本的方法。nvm作为版本管理工具,可解决不同项目对Node.js版本的兼容性问题。主要内容包括:1)nvm-windows的下载安装步骤;2)环境配置,包括镜像设置和环境变量配置;3)常用命令如版本切换、安装卸载等;4)安装过程中可能出现的错误及解决方法,如高版本nvm无法下载低版本Node.js时的处理方案。通过nvm可以便捷地管理多个Node.js版本,满足不同项目的开发需求。
2025-12-07 14:14:44
1354
原创 Java Excel转PDF
本文介绍了使用Spire.Office.Free组件实现Excel转PDF并保留样式的步骤。首先配置Maven依赖,添加Spire.Office.Free库。然后通过代码示例展示转换过程:加载Excel文件、设置页面方向(可选)、调整PDF页面宽度适应内容,最后保存为PDF文件。转换结果能保持与原Excel相同的样式和格式。关键代码包括Workbook实例化、工作表获取及PDF转换方法调用。
2025-12-07 14:13:31
456
原创 飞书API-获取tenant_access_token
把应用凭证 AppID和AppSecret 放入方法中就可调用。开发文档 - 飞书开放平台。
2024-11-03 19:52:47
5587
原创 Python安装 jupyter notebook报 pywinpty缺少Rust 和 Cargo
Python 执行安装 pip install jupyter 命令报这个错误。因为缺少 Rust 和 Cargo 导致的site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel
2024-11-03 19:51:27
5155
2
原创 JDK8重复注解与类型注解
JDK 8引入了重复注解的概念,允许在同一个地方多次使用同一个注解。在JDK 8中使用@Repeatable注解定义重复注解。重复注解的使用步骤:1. 定义重复的注解容器注解2.定义一个可以重复的注解3.配置多个重复的注解4. 解析得到指定注解。
2024-05-12 19:52:00
469
原创 JDK8 新日期和时间 API
JDK 8中增加了一套全新的日期时间API,这套API设计合理,是线程安全的。新的日期及时间API位于 java.time 包中,下面是一些关键类。LocalDate:表示日期,包含年月日,格式为 2019-10-16LocalTime:表示时间,包含时分秒,格式为 16:38:54.158549300:表示日期时间,包含年月日,时分秒,格式为 2018-09-06T15:33:56.750:日期时间格式化类。Instant:时间戳,表示一个特定的时间瞬间。Duration。
2024-05-12 19:51:15
1166
原创 JDK8 收集Stream流中的结果
Stream流提供 collect 方法,Stream流中的结果到集合中,到数组中,聚合计算,分组,分区,拼接
2024-04-14 13:51:55
691
原创 HTML5+CSS3+移动web——HTML 基础
掌握HTML标签基本语法(标题、段落、换行、水平线、文本格式、图像、路径、超链接、音频、视频、注释),能够独立布局文章页
2024-02-07 20:55:48
2003
原创 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @Context
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
2024-01-06 11:58:03
4351
2
原创 Python基础:运算符、流程控制
Python运算符:算数运算符、赋值运算符、复合赋值运算符、比较运算符、逻辑运算符流程控制语句:if、else、elif、for、range
2023-08-04 22:09:16
200
原创 消息中间件——RabbitMQ
MQ全称为Message Queue,即消息队列,RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛
2023-05-26 22:19:09
175
原创 Java安全密码学——古典,现代密码学、ASCII编码
密码学有数千年的历史,从最开始的替换法到如今的非对称加密算法,经历了古典密码学,近代密码学和现代密码学三个阶段密码在我们的生活中有着重要的作用,那么密码究竟来自何方,为何会产生呢?像我们使用手机电脑就会有下载很多软件都需要注册账号和密码,如何设置密码才安全呢?
2023-05-14 21:12:17
463
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅