自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 Python Tornado 框架入门:从零搭建你的第一个异步 Web 应用

Tornado 是一款基于异步非阻塞架构的 Python Web 框架,擅长处理长连接与高并发场景。其核心优势在于原生支持 WebSocket、自带高性能服务器,适用于实时聊天、监控系统等应用。本文通过基础 Web 服务与简易聊天室实例,演示了 Tornado 在异步编程中的高效表现,展现了其在实时通信领域的独特价值。

2026-09-12 10:18:30 193

原创 Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务

FastAPI 是基于 Starlette 和 Pydantic 的高性能异步 API 框架,以“快”为核心:开发效率高(类型注解自动生成文档与校验)、运行性能优(媲美 Go/NodeJS)。它原生支持异步、自动接口文档(Swagger UI/ReDoc)、强类型校验,适合构建微服务、AI 接口等场景。通过简单定义模型与路由,即可实现自动校验、文档生成与错误提示,真正实现“一份代码,三份价值”。

2026-09-12 10:04:33 33

原创 Python Django 框架入门:从零搭建你的第一个 Web 应用

Django 是一个功能完备的全栈式Web框架,内置ORM、Admin后台、认证系统等,适合中大型项目快速开发。本文通过创建“文章列表”应用,演示了其核心流程:定义模型→注册应用→迁移数据库→编写视图与模板→配置路由→启用Admin管理。全程无需手动编写数据库操作或后台界面代码,体现了“约定优于配置”的高效开发理念,让开发者专注业务逻辑。

2026-09-12 10:02:29 151

原创 Python Flask 框架入门:从零搭建你的第一个 Web 应用

本文介绍了 Flask 微框架的核心特性与快速上手方法。Flask 轻量灵活,基于 Werkzeug 和 Jinja2,支持动态路由、模板渲染与 RESTful API 开发。通过创建 app.py 与 templates/index.html,仅需数行代码即可实现动态页面与接口服务。文中演示了路由绑定、请求参数获取、模板渲染及 JSON 返回等关键功能,并推荐常用扩展如 SQLAlchemy、Flask-Login 等。适合初学者快速构建小型项目或 API 服务,是学习 Python Web 开发的理想起

2026-09-12 09:58:06 285

原创 WPF 上位机开发入门:知识点、通信协议与 Modbus 实战

用 WPF 做上位机需要哪些知识点?上位机通信常用哪些协议?本文系统梳理技术栈,讲透 Modbus RTU 协议帧与 CRC 校验,并给出一个可运行的 WPF + Modbus 读/写寄存器完整示例。

2026-08-28 20:13:22 325

原创 葡萄城表格组件 SpreadJS 介绍与应用实践:前端也能做“类 Excel“在线表格

手写表格撑不起复杂报表,在线 Excel 又无从下手。葡萄城的纯前端表格组件 SpreadJS 提供类 Excel 体验、Excel 导入导出、400+ 函数与高性能渲染。从安装到可运行的填报 Demo 一次讲清。

2026-08-24 20:13:50 227

原创 开源控件库 HandyControl 介绍与简单实践:让 WPF 界面告别“上个世纪“

WPF 原生控件样式老旧、主题切换麻烦。HandyControl 这个开源控件库能一键引入现代样式,还提供 Growl 通知、Dialog 对话框、皮肤切换等开箱即用能力。从安装到完整 Demo 一次讲清。

2026-08-24 20:04:20 205

原创 SQLite vs DuckDB 选型对比与简单实践:嵌入式数据库怎么选

同为嵌入式数据库,SQLite 面向事务(OLTP/行式),DuckDB 面向分析(OLAP/列式)。一张对比表讲清选型,再各给一段 10 分钟能跑通的实践代码。

2026-08-24 19:59:34 292

原创 数据库执行计划背后的存储引擎与锁:从 EXPLAIN 到 InnoDB 底层

执行计划只告诉你"怎么算",存储引擎和锁才决定"实际多快、会不会卡"。一次讲清 EXPLAIN 背后的 B+ 树、回表、覆盖索引、行锁/间隙锁/MVCC 的完整脉络。

2026-08-24 19:53:03 198

原创 REST vs gRPC 选型对比与迁移实践:从原理到落地

一次讲清 REST 与 gRPC 的本质差异、性能差距、选型决策矩阵,以及从 REST 平滑迁移到 gRPC 的完整路径、代码示例与踩坑清单。

2026-08-24 19:50:04 252

原创 WPF/WinForms 客户端通过 gRPC 与后端通信:从 Proto 契约到流式调用的完整指南

summary: 面向桌面客户端开发者的 gRPC 入门与实战,涵盖 Proto 契约、代码生成、Channel 管理、四种通信模式、认证与超时、拦截器以及如何与 WPF/WinForms 的 async/await 和 UI 线程结合。

2026-08-23 10:31:04 174

原创 SQL 优化实战:从执行计划到索引,10 个让查询变快的技巧

系统梳理 SQL 查询优化技巧,涵盖 EXPLAIN 执行计划、索引设计与失效场景、写法优化、深分页、JOIN 优化、事务锁与批量操作等,配可验证的 SQL 示例。

2026-08-23 10:25:14 152

原创 C# WinForms 架构与项目实战:多窗体通信、三层架构、数据库、日志与配置

从"会写控件"到"能搭项目",系统讲解 WinForms 多窗体开发与通信、三层架构、ADO.NET 数据库操作、全局异常与日志、配置文件管理。

2026-08-23 10:13:12 206

原创 C# WinForms 进阶实战:数据绑定、多线程、GDI+、自定义控件等 9 大主题

WinForms 进阶篇,系统梳理数据绑定、多线程与 UI 安全、GDI+ 绘图、自定义控件、DataGridView、文件对话框、串口通信、Win32 API 与打印支持,均配可运行代码。

2026-08-23 10:10:59 274

原创 C# WinForms 入门基础:控件体系、事件驱动、窗体生命周期与布局管理

面向初学者的 WinForms 核心概念梳理,涵盖控件体系、事件驱动模型、窗体生命周期和布局管理四大主题,配有可运行的 C# 代码示例。

2026-08-23 10:05:10 235

原创 除了 IDE,C#/WPF 开发者每天离不开的 10 个工具

盘点 C#/WPF 开发者在 Visual Studio / Rider 之外,日常高频使用的 10 个工具:Snoop、LINQPad、dnSpy、Git、Windows Terminal、PowerToys、Everything、Beyond Compare、Process Explorer、DevToys,附用途、典型场景和获取方式。

2026-08-21 20:36:07 217

原创 用 JetBrains Rider 写 WPF 的 15 个高效技巧:从 VS 转过来也值得看

面向 C#/WPF 开发者的 JetBrains Rider 实用技巧合集,覆盖条件断点、数据断点、异常断点、Evaluate Expression 等调试利器,以及 Live Templates、Alt+Enter 快速修复、Search Everywhere、重构快捷键、XAML 实时预览等编码效率技巧。

2026-08-21 20:25:00 171

原创 用 10 年踩坑换来的 VS 2022 技巧:C#/WPF 开发者的调试与效率清单

面向 C#/WPF 开发者的 Visual Studio 2022 实用技巧合集,覆盖条件断点、数据断点、WPF 实时可视化树、XAML 热重载等调试利器,以及代码片段、多光标、重构快捷键等编码效率技巧。

2026-08-21 20:18:07 182

原创 【WPF】实战与部署全流程:从可维护架构到交付安装

从实战角度搭建一个可维护的 WPF 应用骨架(依赖注入、配置、EF Core、日志、全局异常),再到部署交付(框架依赖/自包含、单文件、ClickOnce、MSIX、Inno Setup 安装器、代码签名),附完整命令与代码。

2026-08-21 08:14:48 193

原创 【WPF】高级 UI 与性能优化实战:从卡顿到丝滑

覆盖 WPF 高级 UI 技巧(动态主题、动画、DataTemplateSelector、自定义绘制、UI 虚拟化)与系统化性能优化(布局/绑定/渲染/内存/线程),配具体代码与排查工具,助你把应用从卡顿优化到丝滑。

2026-08-21 08:13:40 170

原创 【WPF】MVVM 与数据绑定实战:从原理到完整项目

系统讲解 WPF 的 MVVM 架构与数据绑定机制:INotifyPropertyChanged、ICommand/RelayCommand、绑定模式、ObservableCollection、值转换器,配完整可运行的登录示例,并介绍 CommunityToolkit.Mvvm 现代写法。

2026-08-20 21:45:16 237

原创 【WPF】入门必读:WPF 基础与布局全解(附实战示例)

面向 WPF 初学者,从项目结构、XAML 语法基础讲起,逐一拆解 StackPanel、Grid、DockPanel、WrapPanel、Canvas、UniformGrid 六大布局面板,配合对齐、尺寸、Margin 等布局属性,帮你彻底掌握 WPF 界面排版。

2026-08-20 21:42:47 315

原创 【WPF】从 Avalon 到 .NET 10:WPF 平台演进史与特性全览

梳理 WPF 从 2006 年 .NET Framework 3.0 诞生至今近 20 年的演进脉络,覆盖各版本关键特性、.NET Core 3.0 的回归、与 UWP/WinUI 的关系,以及 WPF 在当前技术格局下的定位与未来。

2026-08-20 21:32:47 323

原创 【WPF】一文看懂 WPF 架构与核心概念(含分层图解)

从架构分层、渲染模型到逻辑树/可视化树、依赖属性、路由事件、命令、数据绑定等核心概念,系统梳理 WPF 的底层设计与编程思想,帮助初学者建立完整心智模型。

2026-08-20 21:26:55 408

原创 【WPF】从零到一:C# 控件编写与自定义完全指南(附完整代码)

WPF自定义控件开发指南:从理论到实践 摘要 本文深入讲解WPF中自定义控件的开发方法,包含以下核心内容: WPF控件模型特点: 外观与行为分离 依赖属性(DependencyProperty)支持绑定、样式和动画 路由事件(RoutedEvent)的冒泡和隧道机制 三种实现方式: 样式模板改造:通过Style+Template修改现有控件外观(零代码) UserControl复合控件:组合现有控件创建新控件 自定义控件(CustomControl):完全自定义行为和外观 开发要点: 依赖属性必须使用标准写

2026-08-20 21:06:04 387

原创 WPF MVVM Light(四):SimpleIoc + ViewModelLocator 与完整 TodoList 实例

本文介绍了如何在WPF MVVM Light框架中使用SimpleIoc依赖注入容器和ViewModelLocator模式,并通过完整的TodoList示例演示其实现。主要内容包括: 依赖注入与视图定位的必要性:解决ViewModel依赖管理和创建分散问题 SimpleIoc使用:通过注册和解析实现对象管理,默认单例模式适合ViewModel ViewModelLocator实现:集中管理ViewModel创建,通过App.xaml全局注册 完整TodoList示例: Model层使用ObservableO

2026-08-19 20:00:31 252

原创 WPF MVVM Light(三):RelayCommand 命令与 Messenger 消息

本文介绍了WPF MVVM Light框架中的两个核心功能:RelayCommand和Messenger。RelayCommand封装了ICommand接口,简化了命令绑定,支持无参和带参命令,并能控制按钮的启用状态。当影响CanExecute的属性变化时,需手动调用RaiseCanExecuteChanged更新按钮状态。Messenger实现了ViewModel之间的解耦通信,通过Send发送消息,Register接收消息,Unregister注销消息,避免内存泄漏。文章最后预告下篇将讲解依赖注入和视图

2026-08-19 19:59:21 229

原创 WPF MVVM Light(二):ViewModelBase 与属性通知详解

本文详细介绍了WPF MVVM Light框架中ViewModelBase与属性通知的实现机制。文章首先解释了属性通知的必要性,通过对比传统实现和MVVM Light简化方式,展示了ViewModelBase如何通过Set方法自动处理属性变更通知。核心内容包括:Set方法的三种使用方式、RaisePropertyChanged的手动触发场景、ObservableCollection在集合变更通知中的应用,并通过完整示例演示了属性依赖联动和集合更新的实现。最后总结了MVVM通知机制的关键要点,为后续学习命令和

2026-08-19 19:57:24 220

原创 WPF MVVM Light 入门:从零到Hello World

本文介绍了WPF中轻量级MVVM框架MVVM Light的入门使用。首先解释了MVVM模式的三层架构(Model-View-ViewModel)及其解耦方式,包括数据绑定、属性通知和命令模式。然后指导读者搭建开发环境,创建WPF项目并通过NuGet安装MVVM Light核心库。通过一个Hello World示例,演示了如何创建ViewModel(继承ViewModelBase)、实现属性通知(使用Set方法)以及在XAML中设置数据绑定(双向绑定和实时更新)。最后说明虽然MVVM Light已停止维护,但

2026-08-19 19:54:50 215

原创 C# WPF Prism 实战:用模块化 + 导航 + 事件聚合 + 对话框搭一个完整应用

文章摘要 本文通过C# WPF和Prism框架搭建了一个完整的用户管理客户端应用,展示了模块化开发的实战流程。文章详细介绍了整体架构设计,包括登录、用户管理、设置三大模块,以及Shell界面的区域划分。重点讲解了Prism关键功能的应用:使用RegionManager实现模块化导航、EventAggregator处理跨模块事件通信、DialogService实现确认对话框。示例代码覆盖了从Bootstrapper初始化、模块注册到具体功能实现的全过程,如登录状态通过事件更新状态栏、删除用户前的对话框确认等典

2026-08-18 20:20:46 228

原创 C# WPF Prism 进阶(四):事件聚合(EventAggregator)与对话框(DialogService)

本文介绍了Prism框架中的事件聚合器(EventAggregator)和对话框服务(DialogService)两大核心功能。事件聚合器通过PubSubEvent实现模块间松耦合通信,支持线程控制和消息过滤;DialogService提供MVVM友好的弹窗机制,通过IDialogAware接口实现对话框逻辑。文章详细说明了在Prism 9.x中的使用方式,包括事件发布订阅、对话框注册显示以及相关注意事项,如内存管理、命名空间变更等,帮助开发者实现模块解耦和规范化弹窗交互。

2026-08-18 20:20:05 292

原创 C# WPF Prism 进阶(三):导航(Navigation)深入

本文深入讲解Prism框架中的导航功能,涵盖传参、生命周期管理、离开确认和回退等核心内容。通过NavigationParameters实现参数传递,使用IRegionAware接口处理导航生命周期(包括复用实例),IConfirmNavigationRequest实现离开确认,IRegionNavigationJournal支持导航历史回退。文章还介绍了导航回调处理和强类型参数封装的最佳实践,为构建复杂的WPF应用程序提供完整导航解决方案。

2026-08-18 20:18:38 214

原创 C# WPF Prism 进阶(二):区域(Region)与模块化(Module)

本文深入探讨了Prism框架中的两个核心概念:区域(Region)与模块化(Module)。在WPF应用中,Region作为视图容器提供了三种使用方式:视图发现(View Discovery)、视图注入(View Injection)和导航(Navigation)。模块化则通过实现IModule接口,将功能打包为可独立加载的单元。文章通过一个完整示例展示了如何构建包含MainModule和SettingsModule的应用,其中Shell界面划分菜单区域(ItemsControl)和内容区域(Content

2026-08-18 20:17:43 239

原创 C# WPF 的 Prism 框架入门:核心概念与一个完整示例

Prism框架入门摘要(150字) Prism是WPF/XAML平台的MVVM框架,解决传统开发中界面与逻辑耦合、模块管理混乱等问题。核心功能包括:依赖注入容器、Shell区域管理、视图-ViewModel自动绑定、命令模式、动态导航等。通过继承PrismApplication启动应用,在Shell中定义Region作为视图容器,使用DelegateCommand替代事件处理,IRegionManager实现跨视图导航。示例展示了如何搭建基础结构:创建带区域的主窗口,注册可导航视图,实现属性通知和命令绑定,

2026-08-17 20:25:45 470

原创 用 dotTrace 定位 C# WPF 客户端性能问题(附最小可复现示例)

本文介绍了如何使用 dotTrace 性能分析工具定位 WPF 应用的 UI 线程卡顿问题。作者首先列举了 WPF 常见的性能问题类型,重点讲解了因 UI 线程执行耗时操作导致的界面冻结现象。通过一个计算素数的示例程序,演示了如何利用 dotTrace 的 Timeline 模式捕获线程阻塞情况,并通过热点分析定位到具体耗时方法。最后提供了两种优化方案:使用 async/await + Task.Run 将耗时计算移至后台线程,或通过传统线程+Dispatcher方式实现线程切换。文章强调,对于 WPF 性

2026-08-17 19:57:49 350

原创 用 dotMemory 定位 C# WPF 客户端内存泄露(附最小可复现示例)

dotMemory 是 JetBrains 出品的 .NET 内存分析工具,属于 dotUltimate 套件,也可以集成在 Rider 中使用。获取内存快照(Snapshot)。对比多个快照,找出"新增对象 / 存活对象 / 已回收对象"。查看对象的保留路径(Retention Paths / Key Retention Paths),回答"到底是谁拽着这个对象不让 GC 回收"。分析支配树(Dominators)、大对象堆(LOH)等。

2026-08-17 19:43:34 474

原创 c#获取当前程序所在目录避坑

使用 A 程序启动另外一个 B 程序的时候,B 程序获取到的根目录是 A 程序所在的目录。// 通过 Assembly.GetExecutingAssembly().Location 来获取运行程序集所在的位置,从而判断根目录。以上常见的 5 种读取程序当前目录的办法在绝大多数情况下都可以正确的获取到预期的结果。// 通过 AppDomain.CurrentDomain.BaseDirectory 读取根目录。// 通过 Environment.CurrentDirectory 来读取根目录。

2025-10-31 15:54:47 315

原创 CefSharp坑点记录

需求背景: 最近接到一个白板声译实时字幕的任务,展示从socket中读取的实时字幕,要求以windows窗体的形式展示,直觉这种前端展示的东西用网页的形式来呈现比较好控制样式,于是想在winform窗体内嵌入一个浏览器内核,字幕以网页的技术来实现。技术选型: 浏览器内核可以用winform自带的控件webbrowser、chrome的内核的ChromiumWebBrowser。经过调研webbrowser默认的背景为白色,需求里面字幕背景颜色要求为...

2021-05-15 14:51:37 4706

原创 winform 实现动画效果。

网页中我们借助jquery等框架可以实现很炫的动画效果,故想在winform中也实现同样的效果之一:滑入效果。借助这个类即可:public static class Animation    {        private static readonly int MoveStep = 25;        private static System.Windows.Forms.Ti...

2018-11-01 11:13:23 4311

原创 centos7中使用nginx反向代理.net core程序

在linux上部署.netcore应用能够获得更好的性能。故尝试在linux上部署.netcore程序:1、在vs2017中发布.netcore部署包,注意发布选项中配置环节设置部署模式为独立部署,目标运行时为Linux-x64,然后一路发布得到一个linux上专用的部署包,通过xftp传送至linux主机中。2、安装好linux(centos7)上的最新的.netcore 运行时,终端中...

2018-10-24 22:43:31 648

智慧冰箱物联网设计

物联网智慧冰箱设计指南,云,嵌入式,智能家居。

2014-10-26

xmpp权威指南(中文版)

xmpp,即现在像facebook一类的通讯聊天工具所使用的通讯协议,封装了tcp等协议,上应用层提供了安全,可靠的解决方案,可支持多中语言,js,c,c++,java......更有许多成熟的库可用。

2014-10-26

docker 离线安装文档

docker 安装包(无需依赖),以及安装文档。

2018-11-25

javascript设计模式.Ross.Harmes

javascript设计模式,Ross.Harmes.扫描版

2014-10-26

个人制作演示ppt

个人制作的ppt,内容形式丰富多样,可作为模板借鉴。

2012-12-25

数据结构课程设计

数据结构,链表,课程设计,二叉树,堆排序,计算机

2014-03-15

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

TA关注的人

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