自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【PLC编程】工程级完整 PLC 程序结构树

下面给你一套**“工程级完整 PLC 程序结构树”中大型设备 / 产线 / 半导体 & 工业自动化技术方案 / 专利 / 交底书**。我会用描述(适配 西门子 / 汇川 / 欧姆龙 / Codesys),并在关键节点标注。

2025-12-15 18:34:52 410

原创 【PLC编程】工程级、可落地的 PLC 编程架构设计方法论

PLC 架构不是“程序”,而是“控制系统的软件工程”。

2025-12-15 18:32:38 539

原创 【远程控制】RustDesk 自建服务端完整方案(Docker + Windows 客户端)

创建。

2025-12-01 16:36:33 664

原创 【远程控制】开箱即用的 RustDesk 自建服务端完整 Docker Compose 模板

使用域名 + TLS 可以保证公网安全访问,同时无需客户端手动信任自签证书。打开 RustDesk → 设置 → 中继 / ID 服务器。

2025-12-01 15:11:45 380

原创 【工具分享】另一个免费开源的远程桌面服务-Apache Guacamole

Apache Guacamole 无客户端远程桌面网关部署指南 Apache Guacamole是一款支持通过浏览器直接访问RDP/VNC/SSH等协议的远程桌面网关。本文提供两种部署方案:推荐使用Docker容器化部署(含MySQL数据库初始化),或手动安装方式(需配置Tomcat和guacd服务)。部署完成后,可通过8080端口访问Web界面,支持多用户权限管理、主流远程协议连接,并可通过Nginx反向代理实现公网安全访问。系统采用三层架构:Web应用处理用户交互、guacd代理实现协议转换、数据库存储

2025-10-25 13:11:48 1114

原创 【工具分享】ToDesk、向日葵、TeamViewer收费怎么办?免费搭建一台自己的远程控制服务器

MeshCentral 是一款开源的远程管理与控制平台,支持浏览器直接访问远程桌面(RDP/VNC/Terminal)和命令行操作,可替代ToDesk、向日葵等工具。其核心组件包括MeshCentral服务器(Node.js编写)、MeshAgent(被控端)和Web浏览器(控制端),通过加密WebSocket通道实现安全通信。部署简单,支持Linux/Windows/macOS,提供HTTPS加密、多用户分组管理、文件传输等功能,适合企业或实验室自建远程管理系统。关键优势在于无需安装客户端,完全基于Web

2025-10-25 13:07:08 745

原创 【工具分享】对比 MeshCentral VNC 部署 与 Apache Guacamole VNC 部署

场景推荐方式理由内网设备管理、企业 IT 支持自动 NAT 穿透、设备管理、文件传输、Agent 代理稳定公网访问、无需安装客户端Guacamole完全 Web 客户端,适合远程办公或教育场景多协议混合访问支持 VNC、RDP、SSH、Intel AMT图形密集应用浏览器延迟更低,性能更好💡核心差异:强调设备管理 + NAT 穿透 + Agent 代理,企业内网管理最佳。Guacamole:强调纯 Web 客户端 + 多协议访问,公网远程办公方便,但需要 VPN 或端口映射保障安全。

2025-10-23 20:49:30 1168 1

原创 【源码项目】简单实现的WPF浏览器,有兴趣的可以自己扩展(带源码)

本文介绍了使用WPF和CefSharp实现嵌入式浏览器的完整步骤。从创建WPF项目开始,详细说明了如何安装CefSharp包、配置浏览器设置、设计界面布局等关键环节。项目实现了浏览器基本功能(前进/后退/刷新)、全屏模式切换以及自定义书签管理功能(增删改、隐藏显示)。重点展示了如何通过XAML定义界面元素,以及用C#代码实现浏览器导航、书签持久化存储等核心功能。该方案基于.NET 8开发,可作为企业级浏览器应用的基础框架,开发者可根据需求进一步扩展功能。

2025-10-23 20:44:58 816

原创 【Linux】 MediaMTX测试是否运行

外网无法访问通常不是 MediaMTX 本身问题,而是层面阻挡导致的。下面给出一份最系统的排查指南👇(逐步执行即可定位问题)

2025-10-05 09:37:11 360

原创 【Linux】 开启关闭MediaMTX服务

在上运行的可以通过几种方式来和。

2025-10-05 09:27:35 502

原创 【MediaMTX】centos 7 安装MediaMTX

组件是否必须说明wget或curl✅用于下载tar✅解压 tar.gznohup✅后台运行psvi可选检查进程、编辑配置整个 MediaMTX 只有一个可执行文件,没有依赖库,只要系统是64 位 Linux,都能直接运行。

2025-10-05 09:26:24 618

原创 【视觉】使用 mediamtx 怎么支持多个rtsp播放

👌 用(原名)在 Linux 下支持多个 RTSP 流播放很简单,只需要在配置文件 mediamtx.yml里增加多个路径(path),每个 path 对应一个 RTSP 源流。

2025-10-01 20:33:21 738

原创 【SECS/GEM 】SECS/GEM 日志管理相关的消息

明白 ✅在 SECS/GEM 架构里,主要涉及。这些日志通过 SECS-II 消息由设备(Equipment)报告给 Host,也可以由 Host 主动请求。

2025-09-05 16:20:29 452

原创 【SecsGEM】配方管理相关的消息

SecsGem

2025-09-05 16:18:15 699

原创 【Elsa Workflows】Elsa Workflows审批流全功能扩展

以下是基于,包含企业常见审批场景所需的所有关键能力,并附上每一项的。

2025-07-16 14:29:29 1259 2

原创 未来软件开发趋势与挑战

未来软件开发的方向将受到技术进步、市场需求和社会变革的多重影响。

2025-05-14 15:23:55 520

原创 【基础编程】EF中的事务与SQL数据库事务的区别

选择使用哪种方式取决于应用架构需求,EF事务更适合应用层控制,而直接SQL事务在存储过程或需要精细控制时更有优势。

2025-05-13 15:11:00 375

原创 【动态编译】Roslyn中 SyntaxKind 枚举类型

在 Roslyn(.NET 的编译器平台)中,SyntaxKind是一个枚举类型,定义了 C# 语言中所有可能的语法节点类型。它是 Roslyn 抽象语法树(AST)的基础,用于标识每个SyntaxNode的具体种类。SyntaxKind的值直接对应于 C# 的语法结构,例如关键字、运算符、声明、语句和表达式等。以下是对SyntaxKind枚举的详细说明,包括其分类、常见值及其用途。我会尽量全面且清晰地列出主要类别和示例,并避免过于冗长。如果你需要某个具体部分的深入解释,可以进一步告诉我!

2025-03-28 17:03:21 872

原创 【进阶编程】Avalonia、MAUI、Uno Platform、Flutter、Electron、Qt 和 Tauri 的详细对比

以下是和的详细对比,涵盖市场占有率、性能、开发体验、生态系统、适用场景等多个方面。

2025-03-24 10:28:42 2518

原创 【进阶编程】跨平台的 UI 框架

框架名称语言跨平台支持特点适用场景AvaloniaC# / XAML类似 WPF,跨平台支持.NET 开发者,跨平台桌面/移动MAUIC# / XAML微软官方支持,Xamarin.Forms 继任者.NET 开发者,跨平台移动/桌面C# / XAML基于 UWP,支持 WebAssemblyUWP 迁移,跨平台 Web/桌面FlutterDart高性能,丰富的 UI 组件高性能跨平台应用Electron基于 Web 技术,生态系统丰富Web 开发者,桌面应用Qt。

2025-03-24 10:27:28 1367

原创 【进阶编程】Roslyn 解析 C# 语法树(Syntax Tree)的节点详解

其中每个代码元素(类、方法、变量等)都是一个。Roslyn 解析 C# 代码后会生成一棵。:表示整个 C# 代码文件的最顶层节点。每个 C# 代码结构都对应一个。(可用于代码分析、代码重写)(如代码风格分析、代码补全)(如自动修正、代码重构)

2025-03-18 14:41:27 938

原创 【进阶】Roslyn 代码结构解析

(.NET Compiler Platform),用于解析、分析、编译和转换 C# 和 VB 代码。它的代码结构复杂,主要分为。(可扩展 C# 代码分析)(可用于插件、热更新)

2025-03-18 14:37:52 1078

原创 【开源】OpenAL、OpenCL、OpenCV 和 OpenGL

主要用 C/C++,支持 C#(OpenTK、SharpGL):科学计算、AI、机器学习、密码学、高性能计算(HPC),但它们的用途和功能各不相同。:Windows、Linux、macOS、嵌入式设备。:C/C++,可绑定到 Python、Java。:游戏、CAD、仿真、数据可视化、VR/AR。:机器视觉、AI 识别、医学影像、自动驾驶。:游戏、VR、声音仿真、音频引擎。OpenGL(渲染)OpenGL(渲染)

2025-03-07 10:02:58 2317

原创 【视觉】GDI+、OpenGL 和 DirectX对比

和是三种不同的图形渲染技术,它们在功能、性能、使用场景以及平台支持等方面存在显著差异。

2025-03-07 09:33:02 1260

原创 【Winform】WinForms中进行复杂UI开发时的优化

在WinForms中进行复杂UI开发时,优化性能是关键。

2025-03-06 17:29:07 809

原创 【.NET】WinForms 和 WPF 在性能方面的对比

WinForms在简单 UI 和资源受限的场景中性能更好,启动时间短,内存占用低。WPF在复杂 UI 和图形密集型场景中性能更好,支持硬件加速,适合现代风格的应用程序。如果需要快速开发小型工具或维护旧项目,WinForms是更好的选择。如果需要开发复杂的、现代化的应用程序,WPF是更合适的选择。

2025-03-06 16:56:18 1460

原创 【OpenCV】OpenCV 中各模块及其算子的详细分类

OpenCV 的最新版本包含了 500 多个算子,涵盖了图像处理、目标检测、特征提取、机器学习、深度学习、视频分析等多个领域。每个模块的算子设计目标明确,能够帮助用户快速实现各种计算机视觉任务。对于深度学习、3D 重建和目标识别等领域,OpenCV 也提供了丰富的工具与算法支持。

2025-02-20 13:35:09 1352

原创 【OpenCV】OpenCV算子功能分类

在 OpenCV 中,算子(Operators)可以根据功能分类为不同的类别,主要包括图像处理、特征检测、几何变换等。用于处理二值图像(如去噪、骨架化、填充等)。用于对图像进行平滑、锐化、边缘检测等操作。用于图像的缩放、旋转、平移、透视变换等。用于检测关键点、描述子、匹配特征点等。用于检测图像中的直线、圆等几何形状。用于图像对比度增强、均衡化等。用于视频的帧处理、背景建模等。用于检测图像中的闭合轮廓。

2025-02-20 12:57:21 1071

原创 【流程图】在 .NET (WPF 或 WinForms) 中实现流程图中的连线算法

在 .NET (WPF 或 WinForms) 中实现流程图中的连线算法,通常涉及和。常见的连线方式包括和。以下是几种方法的介绍和示例代码。

2025-02-13 14:46:34 1522

原创 【工具】对比Blender 和 SolidWorks

Blender 和 SolidWorks 是两款功能强大的软件,但它们的目标用户群和应用领域完全不同。

2025-01-23 13:36:20 3777 2

原创 【WPF】WPF设置自定义皮肤主题

除了设置按钮和窗口的样式,你还可以为其他控件(如TextBoxListBoxComboBox等)定义样式。自定义控件样式和模板可以让你更灵活地控制皮肤的外观。例如,定义TextBox的样式:"White""Gray""2"</这样,你就可以通过来定义和切换WPF应用的皮肤和主题。

2025-01-20 09:35:23 856

原创 【进阶编程】Thread 和 Task 场景比较

Thread和Task在并发编程中各有优势,适用的场景有所不同。尽管Task是对Thread的抽象,提供了更高层次的并发模型,以下是一些场景,其中直接使用Thread比使用Task。

2025-01-15 09:08:17 420

原创 【进阶编程】复杂逻辑-简化拆分

复杂逻辑拆分是将复杂的代码、业务流程或系统逻辑分解成简单、独立的小部分,以提高可读性、可维护性和可测试性。通过这些方法,复杂逻辑可以拆分成更小、更易管理的模块,同时提高代码的质量和可维护性。

2024-12-31 14:14:31 835

原创 【进阶编程】配置驱动注入和依赖注入的比较(二)

配置驱动注入的实现通常是通过外部配置文件(如JSON、XML、YAML)来声明依赖关系,应用程序会在运行时读取这些配置并根据配置来实例化并注入依赖。配置驱动注入指的是通过配置文件(如XML、JSON、YAML等)来声明依赖关系,并在应用程序运行时根据配置动态地选择和注入依赖。这种方式并不依赖于IoC容器,而是通过外部配置文件的方式来管理对象之间的依赖关系。依赖注入是一种设计模式,其基本思想是将一个对象所依赖的对象(依赖项)“注入”到该对象中,而不是由该对象自行创建或查找这些依赖。

2024-12-25 14:17:47 827

原创 【进阶编程】配置驱动注入和依赖注入的比较(一)

在配置驱动注入中,类仍然需要从配置文件中读取依赖项,这使得依赖关系显得更加静态且依赖于外部配置文件,不能像依赖注入那样灵活地管理和替换依赖。对于较小的项目或者配置变化较少的系统,配置驱动注入的实现较为简单,但当系统规模增大时,手动管理配置和依赖变得更加困难。:配置驱动注入的灵活性较低,虽然可以通过修改配置文件来调整依赖关系,但它缺乏依赖注入那种运行时替换和动态调整依赖的能力。:配置驱动注入的性能开销较小,因为它通常只在应用启动时读取配置文件并创建依赖对象,后续并不涉及复杂的依赖管理。

2024-12-25 14:14:25 3209

原创 【进阶编程】再谈DDD领域驱动

这些术语是 DDD 核心概念的基础,帮助开发人员在复杂的业务领域中进行建模、设计和实现。通过理解和应用这些术语,开发团队能够构建出更具一致性、灵活性和可维护性的系统。如果你有特定术语的疑问,或想要深入探讨某个概念,可以继续提问!

2024-12-25 10:09:01 557

原创 【进阶编程】再谈横纵编程思想

横向编程:侧重于系统或应用中不同模块、功能之间的协作与集成。纵向编程:更专注于某个特定模块或功能的深入设计与优化。

2024-12-25 10:06:34 640

原创 【进阶编程】代理模式和适配模式的比较

代理模式侧重于控制和优化对目标对象的访问,增加额外的行为而不改变目标对象的接口。例如,代理可以用来实现延迟加载、访问控制等功能。适配器模式侧重于使不兼容的接口能够一起工作。它通过将一个类的接口转换为另一个接口,使得两个不兼容的类能够进行交互。两者虽然有些相似,都通过中间对象(代理或适配器)来处理对象间的交互,但它们的核心目标不同,代理模式更注重对访问的控制,而适配器模式则更注重接口的兼容性。

2024-12-24 17:27:36 1182

原创 【进阶编程】MVVM的物理架构目录

一个典型的。

2024-12-20 10:23:39 1853

原创 【进阶编程】MVVM框架的每层对应那些业务

在架构中,都承担着不同的责任并处理不同类型的业务逻辑。理解每层的业务角色有助于我们在开发过程中合理划分工作,提升代码的模块化、可测试性和可维护性。

2024-12-20 10:21:15 1336

C# WPF 实现增强型浏览器,带书签,书签保存本地,可以打开多页面 ,全屏

C# WPF 实现增强型浏览器,带书签,书签保存本地,可以打开多页面 ,全屏

2025-10-24

源码项目简单实现的WPF浏览器,有兴趣的可以自己扩展(带源码)

源码项目简单实现的WPF浏览器,有兴趣的可以自己扩展(带源码)

2025-10-23

空空如也

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

TA关注的人

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