自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Claude Code 安装配置:连接国内大模型

本文介绍了在 Windows 系统上安装与配置 Claude Code 的完整流程,并讲解了如何将其连接到国内优质大模型。内容涵盖 npm 全局安装命令、网络加速镜像设置、环境变量配置。文章还系统整理了 Claude Code 的快捷键说明,帮助开发者高效切换模式、执行命令和管理项目。此外,通过“打地鼠”小游戏的实际案例,演示了 Claude Code 在开发场景下的强大生成与编辑能力。本文旨在帮助开发者顺利在本地部署并使用 Claude Code,充分发挥 AI 编程助手的效率优势。

2025-10-23 00:14:08 1852

原创 解决部分程序中文乱码的问题

在使用 Git Bash 时,很多人会遇到中文显示“乱码”的问题。本文系统记录了从终端配置到系统设置的完整排查过程。首先,通过修改 Git Bash 的字符集为 UTF-8,可以解决大部分显示异常;其次,配置 Git 的全局编码参数,可避免提交信息和日志乱码。如果问题仍未解决,需检查 Windows 的系统区域设置,勾选“使用 Unicode UTF-8 提供全球语言支持”。此外,升级 Git 至最新版也可能修复兼容性问题。经过上述步骤,Git Bash 中文乱码问题即可彻底解决。

2025-10-18 16:46:52 1030

原创 一文搞懂 IP 地址体系:从 IPv4 到 IPv6 的演进之路

本文系统梳理了互联网 IP 地址体系的演进逻辑,从 IPv4 的起源讲起,依次介绍了分类编址、子网划分与子网掩码、CIDR与路由聚合、私有 IP 与 NAT 技术,最后过渡到 IPv6 的诞生与优势。文章不仅解释每个概念的定义,更重视背后的“为什么”——它们是如何在特定历史阶段为解决地址浪费、分配僵化、全球地址枯竭等问题而诞生的。CIDR 提高了地址利用率,NAT 延缓了 IPv4 的耗尽,而 IPv6 则以 128 位地址彻底突破了瓶颈。通过清晰的演进脉络,读者可以全面理解互联网地址体系的技术演变过程。

2025-10-17 15:02:20 1428 2

原创 Redis安装与设置

本文详细介绍了在 Windows 系统下部署 Redis 的完整方案。与 Linux 版本不同,Windows 版 Redis 不支持 daemonize 守护进程模式,而是通过 Windows 服务机制实现后台运行。文章对比了两种运行方式:前台命令行模式和后台服务模式,重点推荐将 Redis 注册为系统服务,实现开机自启和稳定运行。同时提供了一键管理脚本工具,集成启动停止、状态监控等功能,极大简化了日常运维操作。

2025-10-10 00:35:47 720

原创 为什么大模型记不住你的名字?

大语言模型并不具备真正的记忆能力,它的“记忆”只是依赖上下文窗口机制带来的错觉。每次对话时,应用都会把完整的历史记录重新打包并发送给模型,让它基于这些上下文生成连贯的回复。一旦开启新的会话,历史不再传入,模型就会“失忆”。因此,真正的记忆维护责任在于应用层,而非模型本身。理解这一点有助于我们更理性地设计 AI 系统:通过主动管理上下文、优化会话结构、引入检索增强或外部存储机制,让模型在“无记忆”的前提下实现更智能、更个性化的交互体验。

2025-10-05 19:32:23 960

原创 python上下文管理器

本文详细介绍了Python中的上下文管理器,通过对比传统文件操作与with语句的差异,阐述了上下文管理器在资源自动管理中的优势。文章分别讲解了基于类的实现方式(使用`__enter__`和`__exit__`方法)和使用`@contextmanager`装饰器的函数式实现,并通过具体代码示例演示了异常处理机制。最后提供了计时器和临时环境变量两个实用案例,帮助读者深入理解上下文管理器的应用场景和实现原理。

2025-09-29 15:54:10 934

原创 Flask-Login 使用详解

这个处理函数极大改善了用户体验,避免登录后还要手动导航回原本想访问的页面。# 当用户尝试访问需要登录的页面但未登录时自动调用flash('你需要登录才能访问该页面', 'warning') # 显示提示消息return redirect(url_for('login', next=request.url)) # 重定向到登录页关键点说明:装饰器,注册为未授权访问的默认处理函数flash():通过用户反馈,'warning'类别用于样式区分。

2025-09-29 09:57:38 1108

原创 Python endswith() 详解:判断字符串结尾的利器

这篇博客系统讲解了 Python 字符串方法 endswith() 的用法与最佳实践。文章首先介绍了方法语法、参数说明及返回值,然后通过基础示例展示如何检查单一或多个后缀,以及如何使用 start 和 end 限定检查范围。接着,结合实际应用场景,包括文件类型判断、域名后缀识别、日志文件分析和配置文件加载,展示了 endswith() 在开发中的实用性。文章还总结了使用时的注意事项,如空字符串、大小写敏感、空元组错误以及 str 与 bytes 不可混用。最后提供了最佳实践和性能优化建议。

2025-09-24 20:37:52 627

原创 RESTful API 理解与实践

本文介绍了RESTful API的设计理念与实践。首先阐释了REST架构风格及其核心原则,包括资源导向、统一接口、无状态等。其次详细说明了URI设计规范,强调使用名词复数表示资源、层级结构组织资源等要点。在响应格式方面,推荐使用JSON并正确应用HTTP状态码。文章还探讨了API版本控制的必要性及实现方式,列举了常见版本管理方法。最后通过一个用户管理API示例,展示了RESTful API的实际应用,并指出常见误区。全文为开发者提供了从理论到实践的RESTful API设计指南。

2025-09-21 16:40:30 669

原创 Pycharm报错:Cannot run program “…\python.exe” (in directory…)系统找不到指定的文件

PyCharm报错“Cannot run program python.exe 系统找不到指定的文件”通常是由于Python解释器路径无效导致的。主要原因包括:解释器路径被删除或移动、虚拟环境损坏、PyCharm配置错误或路径权限问题。解决方法包括:检查Python是否正确安装并在环境变量中配置;在PyCharm中重新设置解释器路径;重建虚拟环境;或删除项目下的.idea文件夹重新配置。核心思路是确保PyCharm指向真实存在的python.exe可执行文件,避免使用中文或含空格的路径。

2025-08-26 12:38:18 1921

原创 Python 闭包详解

本文解析了Python中的闭包,首先介绍闭包的概念及其核心特性——函数嵌套与状态保持,并说明了闭包在隐藏数据、保持状态和简化代码方面的价值。通过“银行存取款”示例,分别展示了不用闭包、使用闭包以及类式接口的实现,并对比了闭包与类的差异。总结了闭包的工作原理,解释了nonlocal的作用,以及变量捕获和内存占用的特点。在应用场景部分,展示了计数器、函数工厂、数据隐藏、装饰器和回调函数等典型用法,同时提醒了闭包的常见陷阱。整体而言,闭包为函数赋予“记忆”能力,适合轻量级场景,而类更适合复杂系统。

2025-08-24 17:02:03 886

原创 (三)第一个协程程序

本文介绍了协程(Coroutine)的概念及其在现代编程中的应用。协程是一种用户态的轻量级线程,由程序自身控制调度,相比线程更高效。文章通过Python的asyncio模块展示了协程的基本用法,包括定义协程函数、使用await暂停执行以及并发执行多个协程。通过同步和异步版本的网页请求示例,对比说明了协程在I/O密集型任务中的优势,能显著提升程序并发性能。协程适用于网络请求、文件读写等场景,是提升系统响应速度的有效手段。

2025-08-24 10:24:27 738

原创 (二)异步开发的三种实现方式

在现代软件开发中,异步编程已成为提升性能和用户体验的关键手段。传统的同步阻塞模式在遇到网络请求、磁盘读写等耗时操作时会造成资源浪费,而异步机制能够在等待期间高效切换任务,避免闲置。本文系统介绍了三种主流的异步实现方式:进程、线程和协程。文章通过概念解析、代码示例、优缺点分析以及典型应用场景,帮助读者理解三者的区别与联系。进程提供稳定性和多核并行,线程在I/O并发场景表现良好,而协程则以极高效率成为高并发I/O任务的利器。最后结合实际需求给出了选型建议,帮助开发者在不同项目中做出合理的技术决策。

2025-08-22 23:46:29 1243

原创 (一)异步开发相关概念

本文通过喂鸭子的例子,通俗易懂地解释了并发与并行的区别:并发是单核CPU上通过任务快速切换模拟"同时"执行,而并行是多核CPU真正同时执行多个任务。同时辨析了阻塞/非阻塞、同步/异步的概念,指出阻塞是等待时的状态,非阻塞不等待继续执行;同步是按顺序执行但未必阻塞,异步则无需等待即可继续执行其他操作。文章强调实际开发中更关注并发性能而非并行,因为并发能通过编程实现高吞吐量。

2025-08-22 18:33:47 701

原创 切换Font Awesome 7 后图标变形解决

摘要:升级Font Awesome 7后图标垂直排列问题及修复方案 从旧版本升级到Font Awesome 7后,图标与文字可能变为垂直排列,原因是新版图标默认采用display: block。通过添加CSS样式强制图标保持行内显示即可修复: .fas, .fab, .far { display: inline !important; margin-right: 5px; } 该方案恢复行内布局并添加间距,兼容所有图标类型(Solid/Brands/Regular等)。修复后效果与旧版一致。

2025-08-19 23:04:57 413

原创 Font Awesome Kit 使用详解

本篇文章将带你全面了解 Font Awesome Kit 的使用方法,包括创建与配置 Kit、在网页中快速引入、通过类名或 SVG API 使用图标,以及常见的高级技巧与可访问性实践。同时,文中也总结了性能优化与最佳实践,如按需加载、内联 SVG、缓存策略和访问控制等,帮助你在保证加载速度与安全性的同时,构建高效、可靠的前端项目。无论是个人博客还是企业应用,Font Awesome Kit 都能成为你轻量、实用的图标解决方案。

2025-08-17 22:59:13 1291

原创 上传文件到服务器

本文介绍了两种上传文件到服务器的方法:宝塔面板FTP和Git命令。FTP方式适合新手,通过宝塔面板创建FTP账户并上传文件,支持拖拽上传和压缩包处理。Git方式则需要创建远程仓库,通过git init、add、commit、push等命令实现代码推送,并提供了.gitignore配置和常见问题解决方案。两种方法各具优势,FTP操作简单直观,Git更适合代码版本管理。

2025-07-31 20:39:43 998

原创 Python 的 match-case

Python 3.10 引入的结构化模式匹配(match-case)为条件判断提供了更强大、优雅的解决方案,超越传统的 if-elif-else 和 switch-case。本文系统介绍 match-case 的语法特性,包括值匹配、类型匹配、列表解构、字典和类匹配、守卫条件、变量绑定及嵌套模式等核心用法,并结合真实场景展示其在表达式解析、状态机、API响应处理中的实际价值。此外,还深入分析其性能考量、最佳实践与常见陷阱,如变量覆盖、匹配顺序、`__match_args__` 限制等。

2025-07-30 22:14:50 956

原创 使用宝塔面板部署SSL证书

本文详细介绍了如何通过宝塔面板为网站申请并部署免费 SSL 证书(Let’s Encrypt),让网站支持 HTTPS 加密访问。通过图文并茂的方式,展示了完整的申请流程、域名验证、强制 HTTPS 设置以及证书续签机制。同时介绍了如何检查 SSL 是否生效以及自动续签的注意事项。本文适合宝塔新手站长快速上手部署安全证书,提高网站安全性与用户信任度。

2025-07-29 11:44:03 3282

原创 你的连接不是专用连接

在访问本地或开发站点时,Chrome 有时会因证书问题弹出“你的连接不是专用连接”的警告页面。网络上流传一个神秘的指令 thisisunsafe 可强行跳过验证,直接访问。但这种方式极具风险,可能导致数据泄露、中间人攻击等严重后果。本文详细解析了该命令的原理与使用场景,并提供更安全的替代方案,如导入自签名证书、使用 mkcert 工具等。谨记:thisisunsafe 只是应急工具,理解并解决根本问题才是最佳做法。

2025-07-28 21:38:29 910

原创 Djoser 详解

本文系统介绍了 Djoser —— 一个基于 Django REST Framework 的用户认证解决方案。通过简单配置即可提供注册、登录、密码重置、账户激活、JWT 集成等一整套 RESTful 接口,大大简化了认证系统的开发工作。文章详细讲解了 Djoser 的安装流程、Token 与 JWT 两种认证方式的配置方法、常用接口说明、自定义用户模型与序列化器的方式,并针对邮箱激活、密码找回等功能给出实践建议与常见问题解决方案。通过结合 DRF、SimpleJWT、SMTP 等组件,开发者可以快速构建出一

2025-07-21 21:44:12 893

原创 nvm、npm、pnpm、cnpm、yarn

在 JavaScript 和 Node.js 开发中,nvm、npm、pnpm、cnpm、yarn 是经常使用的工具,它们功能相近但定位不同,常被开发者混淆。本文详细介绍了各自的用途与区别:nvm 用于 Node.js 版本管理;npm 是 Node 官方的包管理器;yarn 是 Facebook 推出的替代方案;pnpm 主打性能与磁盘节省;cnpm 是淘宝定制的 npm 镜像工具。文中通过图表、比对和应用场景分析,帮助读者快速厘清它们之间的关系,选择最合适的工具提升开发效率。

2025-07-21 00:05:20 1436

原创 跨域问题及解决方案

跨域问题是前端开发中常见的技术难题,主要源于浏览器的同源策略限制,不允许不同源之间的资源访问,以保障用户信息安全。本文首先介绍了跨域的定义及其产生原因,深入剖析了同源策略的工作机制及其重要性。随后,通过具体示例总结了常见的跨域场景,如前后端分离架构、iframe 嵌套、资源调用等。最后,系统梳理了多种主流的跨域解决方案,包括 CORS、JSONP、代理服务器、postMessage、nginx 配置跨域等,分别解析其原理、使用方法及适用场景,旨在帮助开发者全面理解和有效应对跨域问题,提升 Web 应用的稳定

2025-07-18 17:38:37 1290

原创 其他常见 HTTP 方法

摘要:HTTP协议除GET、POST、PUT、DELETE外,还提供多种特殊请求方法。HEAD仅返回响应头,用于资源检查;OPTIONS用于跨域预检和服务器能力探测;PATCH实现资源局部更新;TRACE用于请求回显(已较少使用);CONNECT建立代理隧道。这些方法在RESTful API设计、跨域通信和网络调试中具有特定用途,开发者应根据语义选择合适方法,并注意安全性和幂等性。合理运用这些方法能优化网络请求、提升API规范性和安全性。

2025-07-15 10:52:53 1016

原创 HTTP 四种常见方法

本文介绍了HTTP协议中四种核心请求方法:GET、POST、PUT和DELETE。GET用于获取资源,参数通过URL传递,具有幂等性;POST用于创建资源,参数在请求体中,非幂等;PUT用于完整更新资源,具有幂等性;DELETE用于删除资源,也是幂等操作。文章对比了四种方法的特点,并说明它们在RESTful API中的典型应用场景,同时提醒开发者注意浏览器支持、跨域问题和幂等性等实际开发中的注意事项。理解这些方法的区别有助于设计更合理的API接口。

2025-07-14 23:43:00 1245

原创 Openpyxl:Python操作Excel的利器

本文详细介绍Python库Openpyxl处理Excel(.xlsx)文件的核心功能。主要内容包括:Openpyxl的安装与基础概念;创建工作簿、写入/读取数据、保存文件等基础操作;样式设置、公式计算、合并单元格等进阶功能;处理大文件的优化方法;并通过销售报告生成示例展示实际应用。Openpyxl支持Excel公式、图表、样式等高级功能,是自动化办公和报表生成的利器,特别适合需要精细控制Excel特性的场景。文章还提供了性能优化建议和常见注意事项,帮助开发者高效使用该工具。

2025-07-12 23:48:35 623

原创 Python中sort()与sorted()的区别

Python中sort()和sorted()的主要区别: sort()是列表方法,原地修改列表并返回None;sorted()是内置函数,返回新排序列表且不改变原数据。 sort()仅适用于列表,sorted()支持所有可迭代对象(如元组、字符串等)。 两者都支持key和reverse参数。 选择建议:需要修改原列表用sort(),需保留原数据或排序其他可迭代对象用sorted()。

2025-07-10 10:42:27 499

原创 Python中的进制转换

本文全面介绍了Python中的进制转换方法,涵盖二进制、八进制、十进制和十六进制的相互转换。重点讲解了bin()、oct()、hex()和int()等内置函数的使用,以及format()和f-string的格式化技巧。文章还提供了进制转换计算器、二进制数据处理、位运算等实战应用示例,并针对负数、浮点数等特殊情况给出解决方案。通过表格总结各进制转换方法,帮助开发者快速掌握这一编程基础技能,适用于数据处理、加密算法和网络协议等场景。

2025-07-09 21:59:51 765

原创 Python字符串去重

Python字符串去重方法比较:1)set+遍历(通用,O(n)复杂度);2)dict.fromkeys(Python3.7+推荐,简洁高效);3)列表推导式(简洁但O(n²)不推荐)。方法1适用于所有版本,方法2是最优解。特殊需求可通过反转字符串实现保留最后出现顺序。选择方法时需考虑Python版本和字符串长度。

2025-07-09 18:49:56 416

原创 Django视图

本文详细介绍了Django框架中的视图系统。视图是处理用户请求并返回响应的核心组件,主要分为函数视图(FBV)和类视图(CBV)。函数视图简单直观,适合小型项目;类视图结构清晰、复用性强,适合中大型项目。文章还介绍了通用视图类型(ListView、DetailView等),对比了FBV和CBV的区别,提供了视图的常用工具和实战案例,并给出开发建议:简单逻辑用FBV,复杂场景用CBV,合理运用通用视图提高效率,保持代码结构清晰。

2025-06-13 00:46:56 720

原创 正则表达式入门

正则表达式(Regex)是处理字符串的强大工具,可用于验证、搜索和替换文本。基础语法包括字面字符(如hello)、元字符(如.匹配任意字符,^$匹配开头结尾)和转义字符(如\d匹配数字)。常见用例包括验证邮箱(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)、手机号(^1[3-9]\d{9}$)和提取日期(\d{4}-\d{2}-\d{2})。编程语言如Python和JavaScript都支持正则操作。推荐使用Regex101等工具调试正则,注意避免复杂正则

2025-06-12 15:43:31 894

原创 路由匹配的常见形式详解

路由匹配是Web开发中连接用户请求与处理逻辑的关键机制。本文讲解了后端(Django、Flask、Express)和前端(Vue、React Router)常见的路由匹配形式,包括精确匹配、动态参数、可选参数、正则表达式、通配符和嵌套路由使用方法,并强调了路由优先级和匹配顺序的重要性。文章还提供了实用的路由组织技巧,合理设计路由结构。通过掌握这些匹配模式,可以更灵活地处理各种URL请求场景。

2025-06-12 00:57:57 692

原创 URL反转:更优雅的链接生成方式

URL反转是现代Web开发中避免硬编码URL的重要技术。本文解析了URL反转的概念、优势及应用场景,重点以Django框架为例演示具体实现:1)路由命名;2)模板中使用url标签;3)代码中使用reverse();4)结合redirect使用。还对比了Flask的url_for实现,并解答了命名空间、参数匹配等常见问题。URL反转通过抽象路径参数提升了代码可维护性,是Web开发中的优雅实践。

2025-06-10 00:42:06 842

原创 URL的结构与作用

本文详细介绍了URL的结构、组成要素和编码规则。URL由协议、主机、路径等7部分构成,是实现网络资源访问的关键。文章还对比了URL与URI的关系,列举常见URL类型。了解URL原理不仅有助于理解网络通信,对开发调试和安全防护也具有重要意义。

2025-06-02 18:37:31 1253

原创 常见 Web 安全问题

介绍Web应用中常见的安全威胁及其防护措施。详细介绍了SQL注入、XSS、CSRF等八大安全漏洞的原理及危害,如绕过身份验证、窃取Cookie、执行系统命令等。针对每种漏洞提供了具体防护策略,包括参数化查询、输入验证、CSRFToken等技术手段。

2025-06-02 17:13:49 637

原创 MySQL 重置 root 密码

在使用 MySQL 时,若忘记root密码或遇到错误,就必须通过跳过权限验证模式来强制重置密码。本文以和为例,详细介绍操作流程。

2025-04-30 22:59:48 1056

原创 虚拟环境中安装torch + cuda + cuDNN

使用虚拟环境安装 PyTorch + CUDA + cuDNN 能有效隔离项目环境,保障不同项目的依赖不冲突。推荐使用官方或阿里云镜像获取合适的版本,避免因网络问题或版本不兼容带来的安装失败。

2025-04-18 17:25:43 1304

原创 进入虚拟环境并运行指定文件

在进入虚拟环境之前,首先需要确保你已经激活了虚拟环境。假设你的虚拟环境名称为,以下是进入指定目录并在其中运行 Jupyter Notebook 的步骤:1.打开终端或命令提示符,并运行以下命令,这将激活名为 myenv 的虚拟环境。2.使用cd命令进入到你存放 Jupyter Notebook 文件的目录。假设是3.运行以下命令启动 Jupyter Notebook 服务器,这将在默认浏览器中打开 Jupyter Notebook 的界面,并显示指定目录下的文件列表。4.

2025-03-07 18:10:26 984

原创 原码、反码和补码:计算机有符号整数的表示方式

原码:直观但运算复杂,存在零的表示不唯一问题。反码:解决了部分运算问题,但仍存在跨零问题和零的表示不唯一问题。补码:彻底解决了原码和反码的问题,简化了硬件设计,成为现代计算机系统中表示有符号整数的标准方式。补码的引入不仅解决了原码和反码的局限性,还为计算机的算术运算提供了高效且统一的解决方案,是计算机科学中一项重要的基础技术。

2025-02-26 17:43:32 1172

原创 安装 JDK 17 并配置多版本 JDK

如果你已经安装了 JDK 8(或其他版本的JDK),并且现在想安装 JDK 17,可以将 `jdk-17.0.13_windows-x64_bin.zip` 解压到一个独立的目录中,避免与 JDK 8 的安装路径冲突。

2025-02-20 11:11:18 690

空空如也

空空如也

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

TA关注的人

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