- 博客(783)
- 资源 (22)
- 收藏
- 关注
原创 MacOS中杀掉某个端口占用的进程
在 macOS 中终止占用 8000 端口的进程,可先用 sudo lsof -i :8000 查找对应 PID,再执行 sudo kill -9 <PID> 强制结束进程。最后再次运行查端口命令,无输出即表示端口已释放。操作简单高效,适用于开发中端口冲突场景。
2026-10-22 23:35:51
204
原创 MacOS中创建python虚拟环境
在 macOS 中,推荐使用 Python 内置的 venv 模块创建虚拟环境。打开终端,进入项目目录后,运行 python3 -m venv myenv 创建环境,用 source myenv/bin/activate 激活,提示符前将显示 (myenv)。完成工作后,输入 deactivate 退出。此方法简单高效,确保项目依赖隔离。
2026-10-22 23:29:28
300
原创 从github上拉取代码到本地后如何切换到其他分支?
从GitHub克隆代码后,可通过git branch -a查看所有分支。若要切换至远程已有分支(如dev),使用git checkout -b dev origin/dev或git switch -c dev origin/dev创建并切换。若需基于当前分支新建本地分支,用git checkout -b <新分支名>或git switch -c <新分支名>。常用命令包括git branch查看分支、git fetch origin同步远程信息。
2026-10-18 21:04:18
155
翻译 如何在Django中使用User模型?
在Django中引用用户模型有三种方式:直接使用User、通过AUTH_USER_MODEL或使用get_user_model()。推荐使用get_user_model(),因其动态返回当前用户模型(默认User或自定义模型),确保代码兼容性。若需自定义用户,可继承AbstractUser并设置AUTH_USER_MODEL。此方法提升灵活性与可维护性,适用于大多数项目需求。
2026-10-18 19:12:02
22
原创 Python Django 7 小时课程
本项目为TraversyMedia出品的7小时Django实战课程配套代码,构建名为StudyBud的学习协作平台,支持用户创建与加入学习房间、实时讨论。项目基于Django框架,提供完整前后端功能。由于原requirements.txt依赖版本过低(如Django 3.2.7),在Python 3.13环境下安装会报错。建议升级依赖版本以适配新版Python,确保虚拟环境正常运行。
2026-10-15 23:58:14
279
原创 一个会玩 Flappy Bird 的人工智能!使用了 NEAT Python 模块
本文介绍基于NEAT(NeuroEvolution of Augmenting Topologies)的AI自学习玩Flappy Bird的实现。通过Python与neat-python库,构建50个基因组组成的种群,每只“小鸟”由3输入(位置、管道距离)→1输出(是否跳跃)的神经网络控制。游戏环境模拟物理碰撞(掩码检测)、管道滚动与地面移动,每帧根据存活、撞管、通关等行为评分。进化过程中,优胜者经选择、交叉、变异生成新代,最多迭代50代或适应度达100即停止。项目提供完整代码与可视化工具,可实时绘制网络拓
2026-10-10 23:10:39
214
原创 自动驾驶汽车神经网络 - 使用 Python 和 NEAT
该项目基于NEAT算法实现自进化神经网络,模拟自动驾驶小车在复杂环境中自主学习行驶。通过Python与pygame构建可视化环境,利用neat-python库实现遗传算法优化神经网络,使小车逐步掌握避障与路径规划能力。项目包含完整依赖管理(requirements.txt),支持虚拟环境安装,代码结构清晰,配合讲解视频易于理解,适合学习强化学习与进化计算的初学者。
2026-10-10 22:21:37
460
原创 Mosh老师的几个Python趣味示例程序
Mosh老师视频《Python Projects for Beginners – Master Problem-Solving!》通过掷骰子、猜数字、石头剪刀布和二维码生成器四个趣味项目,帮助初学者掌握基础Python编程。代码简洁易懂,配套GitHub仓库与PDF指南提供完整资源,涵盖随机数、循环、条件判断及第三方库使用,适合零基础入门实战。
2026-09-27 00:09:08
259
原创 Python二维码生成器程序运行时报错 ModuleNotFoundError: No module named ‘PIL‘ 解决方法
然后在安装了Python 3.14.4 的Window11机器上打开cmd命令行终端,输入如下命令安装。来自Mosh大神的示例代码。功能是输入网址和图片名称,然后再借助qrcode生成网址的二维码。按照这篇文章的意思,PIL包已经过时,使用。替代,截止目前最新版本是 12.3.0。原因是缺少了Pillow包,在。
2026-09-23 23:37:23
232
原创 基于 Qt 5.14.2 / C++11 的图片标尺查看器,支持自适应缩放、拖拽平移、ROI 裁剪
《基于Qt的图片标尺查看器设计与实现》 本文介绍了一个基于Qt 5.14.2和C++11开发的图片标尺查看器RulerImageWidget。该工具具有图片自适应缩放、拖拽平移和ROI裁剪等功能。系统采用分层绘制技术,通过QPainter实现图片渲染、标尺绘制和选区标注的叠加显示。创新性地设计了动态标尺算法,根据缩放比例自动调整刻度间距。实现了三种坐标系转换机制,支持精确的鼠标交互操作。系统采用信号槽机制实现UI响应,并提供了图片自适应布局和ROI裁剪功能。该项目可作为图像处理、医学影像等领域的辅助测量工具
2026-07-25 22:28:16
299
原创 Windows上使用VS2026和CMake编译LearnOpenGL项目源代码
本文介绍了在Windows系统上使用VS2026和CMake编译LearnOpenGL项目源代码的完整流程。首先介绍了LearnOpenGL项目的官方资源地址,包括英文官网和中文翻译网站。然后详细说明了如何下载项目源代码,包括通过git克隆和直接下载ZIP包两种方式。接着重点讲解了使用CMake GUI工具配置和生成Visual Studio项目文件的步骤,包括解决CMake版本兼容性问题的方法。最后展示了成功编译后运行示例程序的效果,显示出一个简单的三角形图形。文章还提供了相关工具的下载链接作为参考。
2026-04-24 21:42:22
823
原创 OpenGL学习资料
本文汇总了OpenGL学习资源,包括视频教程、函数手册和系列教程。视频教程推荐TheCherno的OpenGL入门教程,详细讲解测试框架和UI实现。函数手册推荐docs.gl网站,提供OpenGL函数说明和示例。教程资源包括learnopengl.com的中英文版本和opengl-tutorial.org的17个教程,涵盖从基础窗口创建到高级阴影映射等内容。这些资源适合OpenGL初学者和进阶学习者参考使用。
2026-04-20 00:17:12
770
原创 MacOS中编译构建GLFW源代码
本文介绍了在MacOS系统上编译构建GLFW(OpenGL框架库)源代码的过程。主要内容包括:1)GLFW简介及其获取方式(官网下载或Git克隆);2)所需工具准备(CMake和Clang);3)详细编译步骤:创建build目录,运行cmake生成构建文件,使用make命令完成编译。编译过程会生成静态库libglfw3.a和示例程序。文章提供了完整的命令行操作流程和关键输出信息,帮助开发者在MacOS环境下成功构建GLFW库。
2026-04-18 11:42:48
646
原创 Windows11上使用VS2026和CMake 4.2.1编译构建GLFW源代码
本文介绍了在Windows11系统上使用VS2026编译构建GLFW开源库的完整过程。主要内容包括:1) GLFW简介及其源代码获取方式;2) 编译环境准备(Visual Studio和CMake);3) 详细步骤:使用CMake GUI配置项目、生成VS工程文件、编译构建;4) 测试编译生成的示例程序;5) 介绍官方预编译库的使用方法。文章提供了详细的图文指导,帮助开发者快速搭建GLFW开发环境,既支持从源码编译,也可直接使用预编译库。
2026-04-18 01:09:23
1258
原创 Hazel游戏引擎结构分析
Hazel游戏引擎是一个开源的2D/3D引擎,基于C++和OpenGL实现。文章分析了其核心架构,包括8个主要子系统:核心系统、渲染系统、场景系统、资源管理系统、脚本系统、物理系统、音频系统和编辑器系统。各子系统通过分层设计和事件驱动机制保持松耦合,核心系统作为基础支撑其他模块。文章详细阐述了子系统间的依赖关系和调用链,并提供了架构图和模块依赖图,展示了引擎如何通过UUID资源引用和事件总线实现高效协作。该架构设计为学习游戏引擎开发提供了有价值的参考。
2026-04-11 16:35:22
1011
原创 evpp-现代化C++11高性能的Reactor模式的C++网络库
摘要:evpp是一个基于libevent开发的现代化C++11高性能网络库,支持TCP/UDP/HTTP等协议的异步非阻塞服务器和客户端。主要特性包括C++11接口、多线程安全、跨平台支持等,已用于生产环境处理数万亿次网络通信。文章详细介绍了在Windows11上使用VS2026和vcpkg编译evpp的步骤,包括安装依赖库、构建项目和运行示例程序。示例展示了TCP服务器和客户端的实现,演示了消息收发和连接状态回调功能。该库还提供memcached和NSQ客户端等扩展功能。
2026-04-04 19:56:24
617
原创 OpenHarmony 电源管理模块状态转换分析
OpenHarmony电源管理服务组件提供系统电源状态管理功能,包括重启系统、休眠运行锁管理和电源状态查询。该组件采用分层架构设计,包含NAPI层、Native层、服务层和测试框架,支持从用户活动触发状态转换(如亮屏/灭屏)到系统级电源管理(如合盖睡眠、强制睡眠)。主要状态包括AWAKE(亮屏)、INACTIVE(灭屏)和SLEEP(S3休眠),通过超时机制和事件驱动实现状态自动切换,同时支持运行锁机制保持设备唤醒。该组件是OpenHarmony电源管理子系统的重要组成部分,与显示管理、电池管理等模块协同工
2026-03-25 23:10:28
647
原创 SDL3库实现的贪吃蛇小游戏,不到400行代码
SDL3库官方示例中提供了一个简洁的贪吃蛇游戏实现,仅用397行C代码就完成了核心功能。该示例展示了SDL3库的基本使用方法,包括窗口创建、渲染、输入处理和游戏逻辑实现。游戏具有标准贪吃蛇玩法:蛇身随方向键移动,吃到食物后增长,碰到边界会循环。代码结构清晰,将游戏状态、渲染和输入处理分离,可作为SDL3初学者学习游戏开发的入门参考。官方还提供了在线演示版本,方便开发者快速体验效果。
2026-03-17 21:56:05
238
原创 sdl3-sample-简明教程,指导如何在包括移动和 Web 在内的各种平台上构建和使用 SDL3
SDL3跨平台开发简明教程 摘要:sdl3-sample项目提供了一个跨平台SDL3开发的最小示例,支持macOS、iOS、Windows、Linux、Android和Web等平台。项目包含SDL3核心库及SDL_mixer、SDL_Image和SDL_ttf等扩展模块的集成使用示例。开发者可通过简单的CMake命令快速构建项目,支持Xcode、Visual Studio等多种生成器。项目采用子模块方式管理SDL库,便于更新维护。官网提供在线演示,用户也可在本地通过git克隆后使用CMake构建运行,实测在
2026-02-12 23:32:48
1104
原创 MacOS下源码安装SDL3并运行hello.c示例程序
本文介绍了在MacOS系统中从源码安装SDL3并运行hello.c示例程序的过程。首先通过git克隆SDL最新源代码或下载zip包,然后在MacOS中通过创建build目录、运行cmake、make和sudo make install命令完成编译安装。安装完成后,默认路径为/usr/local,可通过pkg-config工具查看安装的头文件和库文件位置。文章还展示了SDL3的库文件路径和pkgconfig文件内容,为后续使用SDL3开发多媒体应用程序奠定了基础。
2026-02-11 23:14:39
1050
原创 C++17中的结构化绑定
摘要: C++17引入的结构化绑定(Structured Bindings)允许将对象成员或容器元素解构为独立变量,提升代码简洁性。支持数组、std::pair/tuple、std::map键值对及自定义结构体(需实现tuple_size和get特化)。示例展示了如何解构数组、pair、map遍历、tuple以及deque/list等容器,并提供了自定义结构体的实现方法。结构化绑定通过避免手动解包减少冗余,但需注意其创建的是新变量而非引用。该特性使代码更现代化且易读,适用于多种标准容器和数据结构场景。
2026-02-09 23:47:09
540
原创 MacOS中运行Next.js项目注册新用户时MongoDB报错MongoServerError
摘要:本文记录了在MacOS上运行Next.js项目时遇到的MongoDB报错问题及解决方法。作者安装MongoDB 8.0社区版后,运行Next.js项目时出现"Transaction numbers are only allowed on a replica set member or mongos"错误。解决方案是将单节点MongoDB配置为Replica Set模式,包括修改配置文件、初始化Replica Set等步骤。此外还提供了使用非事务操作或MongoDB Atlas的替代
2026-02-01 20:02:35
1053
原创 C++17中使用inline修饰类的静态成员变量
摘要:C++17引入的inline static允许在类内直接初始化静态成员变量,而C++11不支持此特性,需在类外定义和初始化。使用场景包括单例模式、共享资源管理和延迟初始化。inline static简化代码、提高可读性并避免链接错误。C++11中替代方案是在类外定义静态变量,并通过静态方法初始化。升级到C++17可直接使用inline static使代码更简洁。
2026-01-28 21:10:27
791
原创 C++实现ATM状态机
摘要:本文展示了一个使用C++实现的ATM状态机系统,采用面向对象设计。程序模拟了ATM的基本功能,包括用户登录、余额查询、存款、取款和退出操作。通过ATMState基类和具体状态类(IdleState、MenuState)实现状态模式,使用ATM类管理用户数据和状态切换。系统采用动态分配状态对象的方式,支持灵活的状态转换。文章还提供了代码说明、运行示例,并建议了可能的扩展功能,如增加更多状态、持久化存储和安全性改进。
2026-01-25 11:32:02
276
原创 Python中连接Redis数据库并存储数据
本文介绍了如何在Python中使用redis库连接Redis数据库并进行数据存储和读取。主要内容包括:安装redis库(pip install redis),建立Redis连接(redis.StrictRedis),存储键值数据(set方法),读取数据(get方法),以及存储和读取字典数据(hset和hgetall方法)。示例代码演示了完整的操作流程,包含异常处理,并展示了如何存储字符串和字典类型的数据。运行结果验证了连接成功、数据存储和读取的功能实现。该方案适用于需要高效键值存储的场景,为Python应用
2026-01-12 22:36:19
628
原创 Windows11上安装Redis服务和Redis可视化客户端
本文介绍了在Windows11系统上安装Redis服务及其可视化客户端的完整流程。主要内容包括:通过GitHub下载Windows版Redis安装包;详细讲解临时服务和永久服务的配置方法,包括服务注册、启动及环境变量设置;推荐了三款Redis可视化客户端软件(Redis Desktop Manager、Tiny RDM和Another Redis Desktop Manager),重点推荐后两款开源工具。文章提供了图文并茂的详细步骤,涵盖服务端和客户端的安装配置全过程,并总结了常用的Redis服务管理命令,
2026-01-11 23:33:50
8575
原创 环保HJ212-2017协议Node.js代码解析实现
由于是做环保相关的,有时需要对212协议进行拆包和解包。HJ212协议是一种字符串协议,数据传输通讯包主要由包头、数据段长度、数据段、CRC校验、包尾组成,其中“数据段”内容包括请求编码、系统编码、命令编码、密码、设备唯一标识、总包数、包号、指令参数。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。通讯协议的数据结构如图4所示。图4 通讯协议的数据结构6.1.1通讯包结构组成名称类型长度描述。
2026-01-11 17:49:08
220
原创 Node.js中使用node-redis库连接redis服务端并存储数据
本文介绍了在Node.js中使用node-redis库连接Redis服务端并存储数据的方法。主要内容包括:node-redis库的简介与安装方式(npm或docker),基本连接示例代码(包含错误处理和配置选项),以及一个完整的实用示例(连接本地Redis服务端并测试读写操作)。文章还提供了相关配置指南和参考资料的链接,帮助开发者快速上手使用node-redis客户端与Redis服务端进行交互。示例展示了如何设置键值对、读取数据以及验证连接状态,适用于Node.js项目中需要集成Redis的场景。
2026-01-11 17:06:18
736
原创 MacOS中安装并配置Redis
摘要:本文介绍了在MacOS上安装和配置Redis的详细步骤。首先通过Homebrew安装Redis,修改redis.conf配置文件(包括设置守护进程模式和密码)。然后启动Redis服务并验证运行状态。接着使用Homebrew安装Another-Redis-Desktop-Manager可视化客户端工具,详细说明了连接本地Redis服务的方法(包括主机地址、端口号和密码配置)。最后展示了通过可视化工具查看Redis配置的效果,并提供了相关参考资料链接。
2026-01-11 12:02:41
2997
原创 环保HJ212-2017协议Python代码解析实现
由于是做环保相关的,有时需要对212协议进行拆包和解包。HJ212协议是一种字符串协议,数据传输通讯包主要由包头、数据段长度、数据段、CRC校验、包尾组成,其中“数据段”内容包括请求编码、系统编码、命令编码、密码、设备唯一标识、总包数、包号、指令参数。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。通讯协议的数据结构如图4所示。图4 通讯协议的数据结构6.1.1通讯包结构组成名称类型长度描述。
2026-01-11 10:37:12
495
原创 环保HJ212-2017协议CRC校验码计算
HJ212-2017协议CRC校验码计算摘要: 本文介绍了环保HJ212-2017协议中的CRC16校验算法实现。该协议采用ANSI CRC16校验方式,通过特定步骤计算数据段的校验码。文章详细说明了CRC16算法步骤,包括初始化寄存器、逐字节异或运算、移位处理等过程,并提供了C语言、Python和Java三种语言的实现代码示例。通过实际数据段"QN=20160801085857223..."的校验计算,验证了算法正确性,输出结果1C80与预期一致。该CRC校验方法可有效检测数据传输过程
2026-01-11 10:11:18
703
原创 使用Python库获取网页时报HTTP 403错误(禁止访问)的解决办法
摘要:本文介绍了解决Python爬取维基百科页面时遇到HTTP 403错误的方法。当使用urllib.request.urlopen直接请求页面时,维基百科服务器会拒绝脚本请求。解决方案是通过Request对象添加浏览器User-Agent头部信息(如Mozilla/5.0),伪装成浏览器访问。修改后的代码能成功获取页面内容并提取链接。关键点包括使用Request对象、设置User-Agent头部以及保持原有解析逻辑不变。
2025-12-30 23:12:09
662
原创 常见的空气质量和天气网站汇总
本文汇总了获取中国空气质量数据的官方及第三方平台资源。官方渠道包括中国环境监测总站官网及其空气质量实时发布系统,提供权威监测数据。第三方平台推荐和风天气,其开发者文档详细介绍了API调用方法,可获取实时空气质量及监测站数据。此外还收录了空气质量历史数据查询平台AQI Study。这些资源为科研、环保及数据分析工作者提供了便捷的数据获取途径,有助于开展空气质量相关研究和应用开发。
2025-12-28 11:33:28
723
原创 macOS系统上或首次使用Python的urllib模块时出现 ssl.SSLCertVerificationError 错误
在macOS系统上使用Python的urllib模块时出现ssl.SSLCertVerificationError错误,提示证书验证失败。该问题仅出现在macOS环境,相同的代码在Windows11上运行正常。错误信息显示无法获取本地颁发者证书(_ssl.c:1028),导致HTTPS请求失败。这表明macOS系统中Python的SSL证书验证机制存在问题,可能是缺少必要的根证书或证书链配置不当所致。
2025-12-24 23:11:11
412
原创 怎么将.ts文件转换成.js文件?
要将.ts文件转换为.js文件,可以使用TypeScript编译器(tsc)。首先安装TypeScript(npm install -g typescript),然后通过命令tsc example.ts编译单个文件,或使用tsconfig.json配置文件管理整个项目。编译后的.js文件可直接在Node.js或浏览器中运行。
2025-12-20 22:26:28
703
原创 Windows11中VS2026使用C++ 现代化json库nlohmann::json的3种方式
本文介绍了在Windows11系统下使用VS2016集成现代化JSON库nlohmann的两种方法:一是直接引入头文件方式,下载源代码后将include目录拷贝到项目中使用;二是通过NuGet包管理器安装nlohmann.json库。文章详细展示了两种方式的实现步骤,包括项目配置、代码示例和运行结果。第一种方式需要手动管理头文件,第二种方式则通过包管理器自动处理依赖关系。两种方法都能有效实现JSON的序列化和反序列化功能,NuGet方式更为简便。文中还提及vcpkg作为第三种可选方案。
2025-12-18 23:52:42
1323
原创 nlohmann::json库对象和json结构体转换的新方式
nlohmann::json库从3.9.0版本开始提供了6个宏来简化自定义类型与JSON的转换,不再需要手动定义to_json/from_json函数。这些宏分为侵入式(需在类内定义)和非侵入式(可在类外定义)两类,支持最多64个成员变量。其中包含常规版本、带默认值版本和仅序列化版本,为开发者提供了更灵活的JSON转换方式选择。
2025-12-18 23:22:35
1685
原创 Windows11中使用VS2022编译运行libevent网络库
本文介绍了在Windows11系统中使用VS2022和CMake编译运行libevent事件通知网络库的完整过程。主要内容包括:1) libevent库的功能简介;2) 从GitHub获取源代码的方法;3) 使用CMake配置VS2022工程的具体命令;4) 编译过程的关键步骤和注意事项;5) 在VS2022中运行hello-world示例项目。文章详细说明了Visual Studio版本与CMake生成器参数的对应关系,并展示了编译后的目录结构和项目文件。
2025-12-13 21:55:56
1515
原创 macOS中使用cJSON解析库解析JSON
本文介绍了在macOS系统中使用cJSON解析库的两种方法。cJSON是一个轻量级的ANSI C JSON解析器,采用MIT开源协议。第一种方法是通过下载cJSON源代码,使用CMake编译生成库文件后引入项目;第二种是直接拷贝cJSON.h和cJSON.c文件到项目中。文章详细说明了第一种方法的步骤:安装pkg-config、下载源码、使用CMake编译安装,并展示了编译过程的输出日志。cJSON具有超轻便、可移植和单文件特点,适合在C++项目中处理JSON数据。
2025-12-10 21:34:08
1420
原创 完整的后端课程 | NodeJS、ExpressJS、JWT、Prisma、PostgreSQL
这篇文章介绍了一个完整的后端开发课程,使用NodeJS、ExpressJS、JWT、Prisma和PostgreSQL技术栈构建RESTful API。课程内容包括用户认证系统、电影管理API和观看列表功能,涵盖CRUD操作、JWT认证、数据库管理等现代后端开发实践。项目采用Prisma ORM v6(注意升级到v7会有破坏性变更),提供完整的API端点、数据库模式和部署指南。适合想掌握后端开发、API设计和认证实现的开发者。课程视频和源代码均可在提供的链接中获取。
2025-12-06 22:56:56
1426
《你必须知道的495个C语言问题》
2010-03-20
HJ 212-2017协议文档以及C++解析类封装
2020-10-23
FFMpeg相关资料.zip
2020-07-19
OpenGL教程电子书(chm格式)中文版
2010-03-23
浙江大学计算机专业历年考研真题
2010-05-19
Acm程序设计比赛资料
2010-05-31
设计模式资料
2012-12-04
C++标准教程----C++初学者的入门资料
2009-12-11
cocos2d-x_2.1.1_EN_API
2013-06-30
VC++6游戏编程 chm格式
2009-12-28
TC-2.0函数查询软件
2010-07-27
系统地介绍了C语言中的指针,指针的概念及指针的使用
2009-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅