- 朋友圈,提供博客收录、文章聚合展示等功能,欢迎来这里发现有趣的博客并尝试与博主成为朋友!如果你拥有一个独立博客,就赶快「申请加入」吧,逾 9 位博友正在等你哦!
一款Halo插件:thyuu-embed 预告
一款多功能嵌入插件
【CSharp】读写INI文件
简介 INI文件是一种常见的配置文件格式,通常用于存储应用程序的配置信息。它的名称来源于“Initialization”(初始化),因为这种文件通常用于在程序启动时加载初始配置。INI文件以文本形式存储,结构简单、易于阅读和编辑,因此在早期的Windows应用程序中广泛使用。 INI文件的基本结构 INI文件由多个节(Section)和键值对(Key-Value Pair)组成,格式如下: [Section1] Key1=Value1 Key2=Value2 [Section2] Key3=Value3 Key4=Value4 节(Section):用方括号[]括起来,表示一个配置分组。例如: [Settings] 键值对(Key-Value Pair):每个键值对占一行,格式为Key=Value。例如: Username=Admin Password=123456 INI文件的特点 简单易读:INI文件是纯文本文件,可以用任何文本编辑器打开和编辑。 层次结构:通过节(Section)将配置信息分组,便于管理。 轻量级:适合存储简单的配置信息,不需要复杂的解析器。 跨平台支持:虽然INI文件起源于Windows,但其格式简单,可以在其他操作系统中使用。 INI文件的优缺点 优点: 易于理解:结构简单,适合非技术人员编辑。 轻量级:文件体积小,加载速度快。 兼容性好:许多编程语言和操作系统都支持INI文件的读写。 缺点: 功能有限:不支持复杂的数据类型(如数组、嵌套结构)。 缺乏标准化:不同程序对INI文件的解析方式可能略有不同。 不适合大规模配置:对于需要存储大量复杂配置的场景,INI文件可能不够灵活。 INI文件的常见用途 应用程序配置:存储程序的设置,如窗口大小、语言、主题等。 游戏配置:存储游戏的图形设置、控制键位等。 硬件设备配置:存储设备的初始化参数。 脚本配置...
Windows 11 卸载 Edge
文章介绍了如何在Windows 11系统中卸载Microsoft Edge浏览器。由于Edge深度绑定微软生态且系统占用较大,作者通过使用ViVeTool工具启用隐藏功能,并修改系统配置文件`IntegratedServicesRegionPolicySet.json`,使其允许卸载Edge。具体步骤包括下载ViVeTool、启用特定功能、查询Windows地理配置、修改配置文件并重启系统,最终成功卸载Edge。
小破站 6 级萌新前来挑战硬核会员,答题分享
一位小破站6级萌新挑战硬核会员答题,分享了多道题目及其解析,涵盖历史、文学、化学等多个领域。题目包括《资治通鉴》的体例、诸葛亮的任职国家、JavaScript中this指向的修改方法等。解析详细,展示了答题者对知识的深入理解。
2024 开源贡献与成长
2024 年,我在开源领域的足迹扎实且精彩。这一年,不仅用代码推动了项目的发展,也在技术提升和社区协作中深刻感受到了开源精神的魅力。我参与和推动了多个开源项目,同时还担任了开源之夏活动的导师,带领新人顺利完成了项目结项,收获了技术和合作的双重成长。 2024 年,我在开源领域留下了充满成就感的一年。这一年,除了参与多个开源社区的贡献,我也在 Halo 项目的发展中扮演了重要角色,为其引入了诸多新特性与改进,推动项目从 2.12 版本发布到 2.20 版本,让这个开源博客系统变得更加强大和灵活。 贡献总览 GitHub 贡献:全年累计 1919 次,活跃天数达到 252 天,平均每天改动 186 行代码,展现了持续的开发热情。 Pull Requests:提交 308 个 Pull Requests,涵盖功能开发、性能优化、bug 修复等内容。 PR Review:参与 586 次代码评审,与全球开发者共同推进代码质量提升。 全年编码时间:累计编码 956 小时,日均编码 3 小时 46 分钟,专注度排名前 3% 的开发者。 开源之夏导师:首次担任 开源之夏活动导师,带领新人完成项目结项。这不仅让我体验到传承的意义,也收获了指导新人开发的责任感与成就感。 Halo 项目:推动核心功能进化 这一年,我在 Halo 项目中投入了大量精力,为其新增了众多关键特性,并持续优化系统性能,助力从 2.12 到 2.20 大版本的发布。这些特性极大地提升了系统的安全性、可用性与灵活性: 自定义模型索引机制 优化查询效率与内存占用,为大数据量场景提供更优的解决方案。#5121 登录安全改进 新增用户密码修改后,踢除所有已登录会话的功能,提升账户安全性。#5757 新增设备管理功能,可查看并移除已登录的设备,增强对账号的掌控力。#6100 增加保持登录会话的机制,优化用户登录体验。#5929 ...
2024 年终总结:远方与热爱
2024 年,生活因为远行和热爱而显得格外丰富多彩。这一年,不仅踏足了梦寐以求的远方,也在多样的经历中感受了心灵的震撼与满足。 远方的呼唤:大西北与河西走廊 今年国庆节,我终于实现了多年来的一个愿望——亲自走一趟大西北,穿越河西走廊。这片土地承载了中华历史上无数的辉煌与故事。从纪录片《河西走廊》到书籍的描绘,我一直深深向往那里,终于在这个秋天用自己的双脚踏上了这片神秘又壮丽的大地。 行程从兰州开始,途经武威、金昌、张掖,再到敦煌和青海——每一步都带来了深深的文化震撼。 祁连山:中华民族的精神家园 这次旅行中,最让我感触深刻的,是巍峨的 祁连山。作为横亘河西走廊的重要山脉,它不仅是自然的奇观,更是中华民族历史与文化的丰碑,见证了无数影响深远的事件。 这里是河西走廊的生命之源,滋养着无数的绿洲与生灵。从霍去病“饮马翰海,封狼居胥,西规大河,列郡祁连”,到隋炀帝西巡祁连,穿越隘险山路,风雪晦暝中感受大山的雄奇;再到唐代玄奘取经途中仰望祁连的巍峨,吐蕃东扩、西夏拓疆,以及成吉思汗策马征战,祁连山始终作为中华民族历史舞台的背景,书写着不朽的篇章。 不仅如此,祁连山的存在也是一种精神的象征。这座山脉不仅塑造了河西走廊的地理格局,也见证了民族的融合与交流。它所承载的,不仅是大漠孤烟、长河落日的苍凉之美,还有历朝历代开疆拓土的壮志豪情。 站在祁连山脚下,仰望连绵不绝的山脉,历史的厚重感扑面而来。那些耳熟能详的名字和故事仿佛不再遥远,它们就在这片土地上真实地发生过。祁连山不仅是一个地理存在,更是中华民族共同的精神家园,永远耸立于我们的文化记忆和历史深处。 这一次,我终于亲自走进了祁连山,用眼睛去感受它的雄伟,用心去聆听它的故事,用手触摸它的脉络,并带回了一瓶土作为纪念。这是一次难忘的文化与自然的交融,一种对中华历史与精神家园的深刻敬意。 张掖:塞上江南与历史的交汇 如果说祁连山是河西走廊的脊...
手机系统杂谈
作者分享了对HarmonyOS NEXT和Xiaomi HyperOS 2的使用体验。HarmonyOS NEXT系统完成度高,但生态相对封闭,小众软件适配和VPN支持存在问题。Xiaomi HyperOS 2在稳定性和性能上有显著提升,尤其动画效果更流畅。作者对两款系统整体满意,希望鸿蒙生态持续发展,并赞赏小米在系统上的深耕细作。
一款Halo主题:THYUU/星度
一款感受星辰温度的主题
私有化部署爱盼搜索
文章介绍了爱盼搜索(AIPAN Resource Navigator)的私有化部署方法。这一现代化资源管理与分享平台基于 Next.js 13+ 和 TypeScript 构建,提供直观的管理、分类和分享功能,包括实时搜索和个性化收藏。然而,文章也提醒用户在截至2024年12月之前,后台登录可能存在异常问题。部署步骤详细列出了创建目录、编写配置文件并设置必要的环境变量等流程,最后通过执行 `docker-compose up -d` 命令启动服务。同时,用户如若无法获取代码,可以通过爱发电平台购买相关代码压缩包。
【CSharp】使用Fleck库实现WebSocket服务
前言 最近公司有个项目需要用C/S架构的桌面应用程序与B/S架构的网页程序进行通信做数据的交互功能。在网上查了一下资料,发现 Fleck 实现一个WebSocket服务竟然如此简单明了,于是在此记录和整理了一下 Fleck 实现WebSocket服务的简单应用,希望对你有所帮助。 简介 Fleck 是一个用C#编写的轻量级WebSocket服务器库,它易于使用且高性能,同时保持代码的简洁性。 特点: 无需继承:Fleck不需要你继承任何类,也不需要依赖于容器或额外的引用。 无依赖:Fleck不依赖于HttpListener或HTTP.sys,这意味着它可以在Windows 7和Server 2008主机上工作。 跨平台:由于不依赖于HttpListener,Fleck可以在非Windows平台上运行。 使用 安装Fleck 通过NuGet包管理器安装Fleck库 Install-Package Fleck 创建WebSocket服务器 以下是一个简单的WebSocket服务器示例: using Fleck; using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading.Tasks; namespace WebSocketServiceDemo { public class WebSocketService { /// <summary> 客户端url以及其对应的Socket对象字典 </summary> public IDictionary<string, IWebSocketConnection> dic_Sockets = new Dictionary<string, IWebSocket...