Anduin Xue
Anduin Xue

Anduin's Tech Blog

精选文章


Run Windows on Linux for best experience

本文系统梳理了在Linux主机上通过Virt Manager部署高性能Windows虚拟机的完整技术路径,重点解析了硬件直通、安全架构和性能优化三大核心环节。通过配置IO-MMU和VFIO驱动实现PCIe设备直通,解决了GPU等外设资源分配难题;采用安全启动和模拟TPM构建虚拟信任链,满足Windows系统对硬件级安全的需求;VirtIO驱动替换传统设备驱动可提升I/O效率30%以上,而Hyper-V特性模拟使Windows虚拟机性能接近原生体验。值得注意的是,直通操作需谨慎处理单GPU场景的显示中断风险,同时需平衡安全启动与驱动兼容性的矛盾。当遇到系统识别不到直通设备、安全策略冲突或性能瓶颈时,如何通过XML配置精调参数、动态切换安全模式成为关键。最终方案的选型需结合硬件环境特征、业务负载需求和安全等级要求,这为虚拟化架构设计提供了灵活的技术决策空间。--Qwen3

Linux Windows qemu virt manager virtio-drivers windows-vm hyper-v-features performance-tuning virtualization

Using SwinIR for Image Super-Resolution Reconstruction

SwinIR基于Swin Transformer的图像超分辨率重建技术正在重新定义图像处理的边界当低分辨率图像通过深度学习模型获得四倍细节扩展时我们不得不思考——当像素的极限被打破时艺术与技术的界限是否也会模糊文章展示了从NVIDIA RTX 4090显卡到Docker容器的完整技术链条通过预构建镜像和自动化脚本将复杂的AI部署简化为单条命令这种工业化部署方式暗示着一个更深层的问题:当技术门槛被降低到只需点击按钮时谁将成为下一个图像革命的创造者?在输入文件夹的模糊照片经过模型处理后输出文件夹中跃然纸上的高清细节不仅展现了算法的魔力更引发对数字遗产保护的思考——那些即将消失的老照片是否正在等待这样的技术来完成它们的数字重生?而当实时超分辨率处理成为可能时我们是否准备好面对监控录像中每个像素都清晰可见的伦理困境?技术文档中那些被精心设计的Dockerfile和训练参数背后隐藏着更值得探索的命题:当模型规模以指数级增长时我们是否正在走向一个所有图像都经过深度学习重塑的未来?--Qwen3

NVIDIA Ai CUDA Docker Resolution Image SwinIR Restore

UWP 一个技术上成功但商业上失败的框架之死;一个现代的操作系统究竟应该提供什么?

UWP作为微软提出的现代化应用框架在技术层面实现了沙盒环境、跨设备兼容性、硬件加速渲染等突破性创新,其模块化设计解决了传统Win32应用的资源争抢、权限混乱等问题,但最终因生态建设失败走向衰亡。尽管UWP在性能优化、系统集成度、开箱即用体验等方面展现出革命性优势,却遭遇了开发者生态断裂、微软战略摇摆、应用质量参差等致命打击。微软自研应用的频繁崩溃与功能缺失导致用户对UWP形成质量刻板印象,而互联网企业因框架封闭性放弃开发适配,加之微软内部出现Win32与UWP并行的混乱局面,最终导致开发者集体撤离。随着MAUI等新一代框架回归Win32开发模式,UWP的现代化理念在Windows生态中逐渐消逝,留给用户的不仅是碎片化的应用选择困境,更是对系统未来演进方向的深刻质疑。--Qwen3

C# Microsoft Windows Microsoft Store UWP Windows Development

Install your own NFS ESXI storage server

文章详细介绍了基于Debian系统搭建NFS存储服务器并连接ESXI主机的全流程。包括:安装Debian系统后配置RAID 10+ZFS存储池,调整内核参数优化性能;通过IPMI管理硬件,使用ip link命令设置网络桥接和Jumbo Frames(MTU 9000)提升网络传输效率;部署ISC DHCP服务器为ESXI主机分配存储网络IP,配置桥接接口和DHCP范围;安装Cockpit监控工具及Navigator插件实现服务器状态可视化;在VMware vSphere中创建存储虚拟交换机,配置VMkernel网络并挂载NFS存储;最后通过CrystalDiskMark测试验证10Gbps网络可达1200MB/s的传输速度。整个方案通过物理隔离存储网络、优化协议栈和硬件参数,实现了高性能的虚拟化存储架构。--Qwen3

Linux Storage NFS VMware ESXI Vsphere Dell IPMI Debian Server

Install Nextcloud on a Ubuntu 20.04\22.04 server

文章详细介绍了Nextcloud服务器的部署与优化流程涵盖从基础安装到高级配置的17个步骤。核心内容包括:安装LAMP环境后通过APT部署Nextcloud,配置外部存储通过挂载大容量硬盘修改数据目录,设置邮件服务与默认区域,优化预览功能;引入Redis缓存通过修改配置文件与权限组提升性能,编写自动化备份脚本结合rsync和mysqldump实现数据与数据库的定期备份;部署反向代理时配置信任代理IP并使用Caddy进行反向代理;针对GPU加速场景提供CUDA与cuDNN的安装指引。全文重点强调配置文件的修改细节包括config.php中数据目录、缓存机制、信任域等参数调整,以及权限管理、服务重启等关键操作,最终通过分层架构实现可扩展的云存储解决方案。--Qwen3

Web Linux Ubuntu IT Apache2 PHP MySQL Certbot Nextcloud Storage

Install Windows 11 on Vultr cloud machine

该文章详细介绍了如何在云服务器上部署Windows 11系统的完整流程。首先需要选择带Windows Server系统和远程桌面功能的云服务器并创建快照,随后通过下载ISO镜像、配置BCD引导项、应用映像文件等步骤完成系统解压和启动配置。在OOBE初始化阶段需通过VNC连接完成本地账户创建和RDP服务启用,最终通过删除旧系统、修改远程端口和创建快照完成云PC部署。整个过程涉及分区格式化、驱动兼容性处理、系统镜像应用、启动项设置及安全配置等核心操作,最终实现可远程访问的Windows 11云桌面环境。--Qwen3

PowerShell Windows Server Cloud Windows Windows 11 DISM Bcdedit Vultr Cloud PC

Validate an object in any C# projects

这篇文章探讨了C#项目中对象验证的最佳实践并提出了重构传统验证逻辑的创新思路。通过对比传统多层if-else验证方式带来的代码冗余问题,揭示了将验证规则内聚到数据模型中的重要性。文章展示了如何在非ASP.NET Core项目中复用框架的模型验证机制,通过定义[Required]、[MinLength]等数据注解实现声明式验证,并进一步演示了自定义[NoSpace]属性验证规则的完整实现过程。特别值得关注的是文中提供的递归验证解决方案,该方案利用反射技术实现了对嵌套对象图的自动验证,为复杂对象的校验提供了优雅的解决方案。当面对跨层级对象的验证需求时如何设计更智能的规则继承机制?当验证规则需要动态调整时如何构建可扩展的验证框架?这些开放式问题为开发者提供了深入思考的方向,启发我们探索如何将验证逻辑与领域模型深度结合,同时思考如何将这种声明式验证模式迁移到其他编程范式中。--Qwen3

ASP.NET Core C# .NET Validation DataAnnotations Custom Validation

Install Windows 11 side-by-side without a USB drive

This article presents a method to install Windows 11 alongside an existing system without relying on USB drives or optical discs by directly extracting the install.wim file into a new partition. The process bypasses traditional boot media and leverages built-in tools like DISM and BCDedit to create a dual-boot setup where the original OS remains accessible. By unpacking the Windows image to a dedicated NTFS partition (created via disk management or shrinking existing volumes), users can generate a bootable system that coexists with their current installation. The guide emphasizes critical steps such as selecting the correct image index for the desired edition, avoiding BitLocker encryption, and configuring boot entries to ensure the new OS is recognized during startup. While this approach offers a streamlined alternative to conventional installation methods, it raises intriguing questions about the boundaries of OS deployment: Can this technique be adapted for Linux or other operating ...--Qwen3

Windows 10 PowerShell Windows Windows 11 Install DISM Bcdedit Boot BCD

FFmpeg 用法概览

FFmpeg是一个强大的多媒体处理工具支持视频音频的转换剪辑合成等操作核心功能包括推流实时编码调整分辨率速度剪辑视频整合字幕音频及反转视频等推流时可选择复制流模式或实时编码模式实时编码需指定分辨率编码器比特率等参数整合视频和音频可通过映射流并指定编码器实现字幕处理支持VTTASS格式并可将其烧录到视频中调整分辨率使用-s参数调整速度通过setpts滤镜控制音频操作如调整音量使用volume滤镜剪辑视频用-ss和-t参数反转视频时需注意大文件处理策略推荐分块处理后合并推荐的项目如SRS可实现RTMP流的接收与转码flv.js则支持浏览器播放FLV流整体功能覆盖视频处理全链路适合多种应用场景--Qwen3

bash Live Streaming FFmpeg Video Editing SRS flv.js

C# run tasks in a threads pool with fixed size

本文提出了一种基于C#的固定线程池任务调度方案通过线程安全队列实现动态任务分配解决了多核CPU资源利用与任务池扩展性之间的平衡问题。方案通过SafeQueue实现并发安全的任务队列管理CannonQueue服务则采用动态调度策略在保持最大并行度的同时支持任务池的动态扩展。当检测到线程空闲时自动触发任务分配机制确保核心资源的持续利用。针对依赖注入场景设计了QueueWithDependency方法通过服务作用域隔离解决了实体框架等依赖的生命周期问题。方案支持三种使用模式:即时启动的队列模式延迟启动的批量处理模式以及无等待的火并忘记模式。实现中通过Task.WhenAny实现非阻塞任务监控并通过日志记录实时展示任务运行状态。该方案引发的思考包括:如何在不同硬件配置下自适应调整并行度?当任务处理时间差异较大时如何优化资源分配?如何设计任务失败的重试机制?以及在高并发场景下如何平衡内存占用与吞吐量?--Qwen3

C# Async Task Multi-Threading async programming task queue

Fire and forget in ASP.NET Core with dependency alive

在ASP.NET Core中实现fire and forget模式时,开发者常通过Task.Run启动异步任务但可能忽略依赖项生命周期管理。当控制器触发耗时任务后自身即被释放,导致注入的依赖可能提前销毁从而中断任务执行。文章揭示了直接在控制器中调用Task.Run的潜在风险,提出通过单例服务CannonService解决依赖存活问题的创新方案。该服务利用IServiceScopeFactory动态创建作用域,确保任务执行期间依赖项始终有效。通过将耗时操作迁移至单例服务中执行,既避免阻塞主线程又能保持依赖存活,同时引入异常处理机制增强任务健壮性。这种设计模式突破了传统依赖注入的生命周期限制,为长时异步任务提供了优雅的解决方案。文章最后抛出值得深思的问题:当任务依赖多个作用域服务时,如何平衡资源占用与任务可靠性?当系统负载剧增时,这种基于Task.Run的调度策略是否存在潜在瓶颈?或许我们该重新审视fire and forget在现代云原生架构中的最佳实践。--Qwen3

ASP.NET Core C# Async Fire and forget dependency injection singleton service

Best-practice after creating a new Linux server

本文系统梳理了Ubuntu服务器的优化与安全配置全链路,重点涵盖系统性能调优、安全加固及部署准备。核心要点包括:通过镜像源自动测试选择最优网络源,升级至最新内核并启用性能模式提升硬件利用率,配置自动安全更新策略平衡稳定性与风险,调整CPU频率策略与时区设置,移除非必要组件如Snap减少资源占用,通过基准测试工具量化服务器性能指标,并提供Node.js/Docker/.NET等运行时环境安装指引。安全层面强调定期执行系统更新与手动补丁修复,性能优化则聚焦内核版本管理与硬件资源调度策略,最终为服务部署提供标准化的系统环境。--Qwen3

bash Linux Ubuntu SSH System Configuration Server Optimization