VS Code代码隐藏扩展Repo Cloak:防窥屏、演示与专注开发利器

news2026/5/16 11:23:03
1. 项目概述一个为开发者打造的代码“隐身衣”如果你和我一样是个经常在GitHub上“摸爬滚打”的开发者肯定遇到过这样的尴尬在公共场合分享屏幕、录制教学视频或者只是单纯地不想让旁人瞥见你正在编写的、尚未完成的敏感代码片段。那些包含API密钥、数据库连接字符串、内部业务逻辑的代码块一旦在屏幕上停留几秒都可能带来不必要的风险。传统的做法要么是手忙脚乱地切换窗口要么是把整个编辑器主题调成纯黑但这都治标不治本严重影响编码心流。iamshz97/repo-cloak-vs-code这个项目就是为了解决这个痛点而生的。它本质上是一个Visual Studio Code扩展我习惯称它为“代码隐身衣”。它的核心功能非常直接允许你一键隐藏或模糊化VS Code编辑器中的特定代码行、代码块甚至是整个文件。想象一下你正在调试一段涉及密钥交换的算法只需一个快捷键相关代码瞬间变成一片友好的马赛克或占位符而你的光标位置和编辑状态丝毫不受影响。等你需要时再一键恢复原状。这个工具的价值远不止于“防窥屏”。对于技术博主和讲师它能让屏幕录制和直播演示更加干净、聚焦避免无关或敏感代码分散观众注意力。在结对编程或代码评审时你可以暂时隐藏那些与当前讨论无关的复杂实现细节让沟通更高效。它甚至能作为一种轻量级的“代码注释”工具通过隐藏已完成的模块帮助你更专注地处理当前任务。从技术实现上看它巧妙地利用了VS Code扩展API通过装饰器Decorations和文本编辑器选择范围控制在不实际修改源文件的前提下动态地改变特定代码区域的视觉呈现。这意味着它完全无侵入、零风险不会对你的项目文件造成任何实质性的改动。接下来我将深入拆解这个工具的设计思路、具体用法并分享一些我深度使用后总结出的高阶技巧和避坑指南。2. 核心功能与设计哲学解析2.1 功能定位不止于“隐藏”初看项目名“Repo Cloak”很容易将其功能简单理解为“隐藏仓库”。但实际体验后我发现它的设计哲学要精细和实用得多。它并非对整个仓库或项目进行粗暴的可见性控制而是将控制粒度细化到了行级Line Level和块级Block Level。行级隐藏是最常用的功能。你可以通过快捷键默认是CtrlShiftH或CmdShiftH快速隐藏光标所在行或选中的多行。被隐藏的行会被替换为一条视觉上明显不同的占位符例如一行虚线注释// ******** [Hidden Lines] ********或者根据你的主题变化的模糊效果。这个设计的精妙之处在于它保留了代码的结构上下文——你依然能看到函数定义、条件判断的开始和结束括号只是中间的具体实现被“折叠”或“模糊”了。块级隐藏则更进一步。它允许你定义一个代码块例如一个函数体、一个循环、一个配置对象并将其整体隐藏。这对于隐藏一个完整的算法实现或一个包含敏感数据的配置模块特别有用。与IDE自带的代码折叠不同这种隐藏是强制性的、视觉上更突出的旨在明确告诉观看者“此处内容已被有意遮蔽”。注意这里必须澄清一个关键点。Repo Cloak的所有操作都是纯前端、视觉层面的。它没有、也绝不应该具备将代码实际加密或从工作区删除的能力。任何声称能“加密源代码”的编辑器扩展都需要极高的警惕因为这可能涉及恶意代码。本扩展的所有操作效果都仅限于你当前的VS Code实例关闭窗口或重新打开文件所有隐藏都会解除代码完好如初。这是一个重要的安全边界。2.2 设计背后的考量平衡安全与效率为什么选择这样的设计从我多年的开发经验来看一个好的开发者工具必须在安全性、便利性和无侵入性之间找到完美的平衡。无侵入性是底线任何会直接修改源文件的工具在团队协作和版本控制中都是灾难。想象一下你为了演示隐藏了几行代码并提交了队友拉取代码后看到一堆莫名其妙的占位符。Repo Cloak基于装饰器的实现完美避开了这个坑。它的状态信息哪些行被隐藏了可以保存在工作区或全局的VS Code设置中与项目源码完全分离。即时切换是关键防窥屏或演示的需求往往是瞬间发生的。工具必须足够快快捷键响应要即时效果要立竿见影。如果隐藏/显示需要复杂的配置或等待时间这个工具就失去了其核心价值。Repo Cloak的响应速度做得很好几乎感觉不到延迟。视觉反馈需明确但又不扰民被隐藏的代码需要有清晰的视觉标识让使用者一眼就知道“这里有东西被藏起来了”但又不能过于刺眼干扰自己对其他可见代码的阅读。这就需要扩展提供一定程度的自定义能力比如允许用户自定义占位符的文本、颜色和样式以适配不同的编辑器主题和个人喜好。这个扩展正是围绕这几个核心考量构建的它没有试图做一个“大而全”的安全工具而是精准地解决了一个高频、刚性的场景需求。3. 详细安装与配置指南3.1 安装的两种途径安装VS Code扩展最直接的方式就是通过内置的应用市场。通过VS Code市场安装推荐打开VS Code。点击侧边栏的“扩展”图标或按CtrlShiftX/CmdShiftX。在搜索框中输入Repo Cloak或iamshz97.repo-cloak。找到扩展后点击“安装”即可。这是最安全、最方便的方式能确保你安装的是作者发布的最新正式版并且VS Code会自动处理更新。通过VSIX文件手动安装在某些无法访问市场的内网环境或者你想尝鲜尚未发布的开发版时可能需要这种方式。你需要先从项目的GitHub Releases页面下载.vsix文件。在VS Code的扩展视图中点击右上角的“...”菜单选择“从VSIX安装...”然后选择你下载的文件。实操心得除非有特殊需求否则强烈建议通过官方市场安装。手动安装的VSIX文件可能包含不稳定的代码且不会自动更新。我曾因为手动安装一个测试版扩展导致与另一个扩展冲突排查了半天才发现是版本问题。3.2 核心配置项详解安装成功后这个扩展的配置项并不复杂但每个都关乎使用体验。你可以通过Ctrl,打开设置然后搜索repo-cloak找到它们。1. 自定义占位符文本 (repo-cloak.placeholderText)这是最重要的配置之一。默认的占位符可能是// ******** [Hidden Lines] ********。你可以把它改成任何你喜欢的文字比如// [敏感代码已隐藏]/* --- 演示屏蔽区域 --- */甚至是一个有趣的颜文字// (▽*)ゞ 这里没什么好看的2. 隐藏样式 (repo-cloak.hideStyle)扩展通常提供几种隐藏样式placeholder用自定义文本替换。这是最清晰的方式。blur对代码进行模糊处理。视觉效果很酷但可能对某些人造成视觉疲劳且在高分辨率屏幕上效果各异。opacity降低代码透明度。一种折中的方案。 我的选择是placeholder因为它的意图最明确不受主题影响。3. 快捷键绑定默认的隐藏/显示快捷键是CtrlShiftH。你需要检查这个快捷键是否与你已有的快捷键冲突比如这个快捷键在某些主题扩展中用于切换主题。如果冲突你可以在VS Code的键盘快捷方式设置中CtrlK CtrlS搜索repo cloak找到Toggle Hide命令并为其重新分配一个顺手的快捷键。我把它改成了CtrlAltH因为Shift组合键更容易与其他编辑操作冲突。4. 自动保存隐藏状态 (repo-cloak.persistState)这个功能非常实用。开启后扩展会将每个文件的隐藏行信息保存起来通常保存在工作区的.vscode文件夹下。下次打开同一个文件时之前隐藏的行会自动保持隐藏状态。对于需要长期对某些文件如配置文件进行部分隐藏的场景这能省去大量重复操作。// 一个可能的高级用户配置示例 (在 settings.json 中) { repo-cloak.placeholderText: // [内容受保护], repo-cloak.hideStyle: placeholder, repo-cloak.persistState: true, repo-cloak.highlightColor: rgba(255, 100, 100, 0.1) // 自定义被隐藏区域的背景色 }4. 实战操作流程与高级技巧4.1 基础操作从单行到多文件让我们从一个具体的场景开始。假设你有一个config.js文件里面包含了数据库配置和第三方API密钥。// config.js - 原始文件 const databaseConfig { host: prod-db.company.com, // 你想隐藏这一行 port: 5432, username: app_user, password: VerySecretPassword123!, // 以及这一行 database: production_db }; const apiKeys { stripe: sk_live_xxxxxxxxxxxxxx, // 还有这些 sendgrid: SG.yyyyyyyyyyyyyyyyyy };步骤1隐藏单行将光标放在host: prod-db.company.com,这一行。按下你设置的快捷键例如CtrlAltH。瞬间这一行会被替换为你设置的占位符比如// [内容受保护]。步骤2隐藏一个代码块用鼠标选中从password那一行到database那一行共三行。再次按下快捷键。这个选中的区域会被整体隐藏用一个占位符表示。步骤3显示被隐藏的内容将光标移动到占位符所在的行。按下相同的快捷键。被隐藏的内容就会立刻恢复显示。你也可以通过扩展提供的命令面板CtrlShiftP输入Repo Cloak: Show All来一次性显示当前文件中的所有隐藏内容。多文件操作你可以同时在多个打开的编辑器标签页中执行隐藏操作。每个文件的隐藏状态是独立的。如果开启了persistState这些状态会分别记忆。4.2 高级技巧提升使用效率仅仅会隐藏和显示还不够如何用得“溜”才是关键。技巧1与“选择”功能结合VS Code强大的选择功能可以和Repo Cloak完美配合。CtrlL选择当前行快速选择当前行然后按隐藏快捷键比精确移动光标更快捷。CtrlShiftL选择所有匹配项如果你想隐藏文件中所有包含password或key的变量赋值行可以先选中一个然后用这个命令选中所有再一键隐藏。但请谨慎使用避免隐藏过多非目标行。技巧2创建针对性的“隐藏模式”你可以为不同的项目或任务创建不同的VS Code设置配置文件Settings Profiles并为每个配置文件配置不同的Repo Cloak样式。例如“直播演示”配置使用非常醒目的占位符如/* 演示屏蔽 */样式为placeholder。“办公室防窥”配置使用更低调的模糊(blur)样式占位符也更简单如// ...。 这样你可以根据场景快速切换整个编辑器的隐藏表现。技巧3利用命令面板进行批量管理除了快捷键熟练使用命令面板能完成更复杂的操作Repo Cloak: Hide All in File隐藏当前文件所有可隐藏区域需谨慎。Repo Cloak: Clear All in File清除当前文件所有隐藏状态。Repo Cloak: Toggle for Project这是一个我臆想但希望有的功能理论上可以通过编写自定义任务或使用多光标扩展模拟实现对项目内所有特定文件如所有.env文件进行批量隐藏管理。技巧4与代码片段Snippets结合对于需要反复隐藏的固定模式代码如一个模拟的用户数据对象你可以先将其隐藏然后结合VS Code的“选择当前行”和“复制行”操作快速生成一个带有占位符的代码模板用于其他需要演示的地方。5. 典型应用场景深度剖析5.1 场景一技术分享与屏幕录制这是Repo Cloak的“主场”。以前做技术分享录屏我需要提前精心准备一个“洁净”的演示项目把所有敏感信息替换成假数据。或者在录制过程中小心翼翼地避开某些文件或代码区域一旦失误就得重录。后期剪辑时还需要给不小心露出的代码打马赛克。现在流程简化为在真实的开发环境中直接操作。讲到关键处遇到不想展示的配置、密钥、未完成的复杂函数随手一个快捷键隐藏。Repo Cloak提供的清晰占位符反而向观众传递了一个专业的信息“此处有细节但出于安全考虑不予展示”这比生硬地切掉画面或模糊处理显得更坦诚、更有控制力。注意事项如果你在录制包含编程过程的视频如编码直播隐藏操作本身按快捷键可能会被录屏软件捕获。建议在录制前向观众简单说明你将使用一个代码隐藏工具或者将快捷键提示显示关闭以避免观众困惑。5.2 场景二开放式办公环境下的隐私保护在开放式办公室或咖啡厅编码身后可能随时有人经过。你正在处理的代码可能包含即将上线的新功能逻辑、内部系统架构甚至是薪资计算的原型。频繁切换窗口或锁屏严重影响效率。Repo Cloak提供了一个优雅的解决方案。你可以为当前正在专注编写的、包含核心逻辑的文件一键启用“模糊模式”。从旁人的视角看你的屏幕上的代码是一片朦胧无法辨认具体内容但你作为操作者由于距离近且熟悉上下文依然可以勉强辨识并进行编辑。当你需要仔细审查时再临时切换回清晰模式。这种“一键雾化”的能力极大地减轻了在公共环境编码的心理负担。5.3 场景三结对编程与代码评审在结对编程时双方可能对代码库的不同部分熟悉程度不同。当需要向同伴解释一个高层次的架构时底层的、繁琐的工具函数实现细节可能会分散注意力。此时你可以临时隐藏这些细节让双方的注意力集中在接口设计和数据流上。在异步代码评审中如果你提交的PR中包含了一些从其他模块复制过来的、用于参考的样板代码或者一些与本次改动核心无关的、冗长的配置项你可以在评论中建议评审者使用Repo Cloak扩展来暂时隐藏这些部分从而让评审焦点更集中。当然这需要团队都认同并使用这个工具。5.4 场景四个人专注与代码“折叠”虽然VS Code自带代码折叠功能但它的折叠指示器一个小三角并不总是那么显眼而且折叠是基于语法结构的。Repo Cloak的隐藏是强制性的、视觉突出的。你可以利用这个特性把自己已经完成验证、暂时不想看到的函数或模块隐藏起来在视觉上“清空”编辑区迫使自己专注于当前正在攻坚的最后一个未完成函数。这有点像物理桌面上的“暂时归档”为当前任务腾出纯粹的视觉空间。6. 常见问题、冲突排查与性能考量6.1 快捷键无响应或冲突这是最常见的问题。症状按下预设的快捷键代码没有隐藏/显示。排查步骤检查扩展是否激活查看VS Code底部状态栏确认没有关于扩展加载错误的提示。也可以在扩展面板中确认Repo Cloak已启用。验证命令是否存在按下CtrlShiftP打开命令面板输入Repo Cloak看相关的命令如Toggle Hide是否出现。如果出现可以通过鼠标点击执行说明扩展功能正常只是快捷键问题。检查快捷键绑定打开键盘快捷方式设置CtrlK CtrlS搜索repo cloak。查看Toggle Hide命令的“键绑定”列。如果显示为CtrlShiftH但按下无效说明该快捷键被其他扩展或VS Code本身的其他功能占用了。解决冲突在快捷键设置界面右键点击冲突的快捷键选择“更改键绑定”为其分配一个全新的、未被占用的组合键。我推荐使用包含Alt的組合如CtrlAltH冲突概率较低。6.2 隐藏状态意外丢失症状关闭文件再打开或者重启VS Code后之前隐藏的行全部显示出来了。原因与解决未开启状态持久化检查设置repo-cloak.persistState是否为true。如果为false隐藏状态仅存在于当前会话的内存中。工作区 vs 全局设置确保该设置是保存在当前工作区.vscode/settings.json而非用户全局设置中。状态文件通常是.vscode/repo-cloak-state.json需要和工作区设置一起保存。文件被外部修改如果隐藏后文件被其他编辑器或构建工具修改并保存VS Code会重新加载文件导致装饰器状态丢失。这是预期行为。6.3 与其他扩展的视觉冲突症状被隐藏的代码区域显示异常比如占位符颜色奇怪或者模糊效果与其他语法高亮扩展叠加产生视觉混乱。排查尝试暂时禁用其他语法高亮、主题或装饰类扩展特别是那些也大量使用编辑器装饰器的扩展如某些错误提示增强、缩进指南强化等。如果问题消失再逐个启用找到冲突的扩展。调整Repo Cloak的样式设置例如从blur改为placeholder或者自定义一个与当前主题更协调的占位符颜色和背景色。6.4 性能影响评估任何为编辑器添加实时装饰器的扩展都会带来微小的性能开销。Repo Cloak的性能影响主要取决于两个因素隐藏的范围隐藏几十行代码开销可以忽略不计。但如果在一个上万行的巨型文件中隐藏其中数千行扩展需要管理和渲染大量的装饰器在文件滚动或编辑时可能会感觉到轻微的卡顿。隐藏的样式blur模糊样式通常比placeholder文本替换消耗更多的计算资源因为模糊效果需要实时图形处理。我的实测经验在日常开发中文件大小通常在几百到一两千行无论使用哪种样式都完全感受不到性能差异。只有在处理特别大的单体文件时才需要考虑性能问题。如果你的项目中有这样的巨型文件更根本的解决方案是重构代码将其拆分为更小的模块。对于Repo Cloak在这种情况下一个实用的建议是避免在巨型文件上开启persistState并保存大量隐藏状态以免每次打开文件时都触发大量装饰器计算。7. 安全边界与最佳实践7.1 明确的安全警示必须再次强调Repo Cloak不是一个安全加密工具。它的“隐藏”是纯粹的客户端视觉把戏。这意味着文件内容未改变你的源代码文件在磁盘上仍然是明文。不防截屏/录屏如果恶意软件或物理接触者直接读取你的文件或者对你的屏幕进行高分辨率截屏/录屏被隐藏的内容毫无保护。模糊样式在高质量图像下可能被还原占位符则直接指明了被替换的内容。状态文件可能泄露信息如果开启了状态持久化保存在.vscode/repo-cloak-state.json中的信息可能会暗示哪些行被认为是“敏感”的。这个文件不应被提交到版本库或分享给不信任的人。正确的定位是它是一个“礼貌性屏障”和“注意力管理工具”而非“安全锁”。它防的是无意中的一瞥而非蓄意的攻击。7.2 开发与团队协作最佳实践切勿提交隐藏状态务必将.vscode/repo-cloak-state.json添加到项目的.gitignore文件中。这是个人工作区偏好不应影响团队其他成员。# .gitignore .vscode/repo-cloak-state.json环境变量与配置文件管理对于真正的敏感信息如密码、密钥唯一正确的做法是使用环境变量或加密的配置文件并通过.gitignore确保它们不会进入版本库。Repo Cloak可以用来临时隐藏这些变量在本地配置文件中的值但绝不能替代规范的秘密管理流程。团队内部推广如果你觉得这个工具对团队有用可以在内部进行分享。统一一下占位符文本的格式例如都使用// [INTERNAL]可以让代码在隐藏时显得更规范。同时要确保所有成员都理解其“视觉辅助”的本质避免产生安全误解。作为代码审查的辅助说明在PR描述中可以这样写“第50-70行是工具函数与本次业务逻辑改动无关评审时可使用类似Repo Cloak的工具暂时忽略。” 这体现了为评审者着想的专业态度。7.3 与专业秘密管理方案的对比为了让定位更清晰我们来对比一下特性Repo Cloak (本扩展)专业秘密管理 (如 HashiCorp Vault, AWS Secrets Manager)目的临时视觉遮蔽防窥屏聚焦注意力全生命周期管理机密数据存储、轮换、权限、审计保护层面客户端编辑器表示层服务器端存储、传输、访问控制数据状态源代码明文未变机密信息被加密存储应用运行时动态获取适用场景演示、办公环境、代码评审生产环境、CI/CD流水线、多环境配置团队协作个人或团队约定使用的辅助工具基础设施的一部分有严格的集成流程简而言之Repo Cloak解决的是“展示时”的问题而秘密管理工具解决的是“存储和使用时”的问题。两者是互补而非替代关系。绝对不要因为用了Repo Cloak就放松对真实密钥的安全管理。8. 扩展思路与自定义开发探索虽然iamshz97/repo-cloak-vs-code已经很好用但任何工具都有可以个性化的空间。如果你有一定的开发能力甚至可以基于它的思路进行扩展。8.1 现有功能的深度定制基于语言或文件的规则目前的隐藏是手动的。一个理想的增强是可以设置规则例如“所有.env文件打开时自动隐藏等号右边的值”或者“所有包含TODO:注释的行自动半透明显示”。这需要扩展提供更复杂的配置接口或者自己动手写点代码。更丰富的隐藏样式除了文本和模糊是否可以集成“像素化”、“波浪线划除”等效果或者允许用户自定义一个CSS片段来定义隐藏样式实现完全自由的控制。会话快照保存不同的隐藏状态“快照”并能快速在不同快照间切换。比如一个快照用于“给架构师演示”隐藏所有具体实现另一个快照用于“给新人讲解”只隐藏最复杂的算法部分。8.2 借鉴思路开发自己的“场景化”扩展Repo Cloak的成功在于它精准地切入了一个细分场景。这个思路可以复制“面试模式”扩展在练习LeetCode时一键隐藏问题描述和提示模拟白板编程环境。“教学模式”扩展对于教育工作者可以开发一个扩展预先在代码中埋下“可揭示”的注释块。讲课到某处时一键揭示下一段代码或解释。“代码对比聚焦”扩展在比较两个版本差异时可以一键隐藏双方相同的部分只聚焦于差异行让比较更清晰。这些想法的核心都是利用VS Code强大的编辑器API在不改动源码的前提下动态地、非侵入性地改变代码的呈现方式以适配特定的工作场景和心流状态。8.3 技术实现的简要窥探如果你对它的实现感兴趣可以粗略了解一下其技术路径以TypeScript开发VS Code扩展为例激活与注册扩展在激活时会向VS Code注册一系列命令如toggleHide和可能的事件监听器。装饰器Decorations这是核心。扩展定义一种或多种“装饰器类型”这本质上是一个CSS样式的集合用来描述如何渲染被隐藏的文本如灰色背景、模糊滤镜、替换内容等。const hideDecorationType vscode.window.createTextEditorDecorationType({ backgroundColor: rgba(200, 200, 200, 0.3), // 半透明灰色背景 textDecoration: none; display: none; // 一种隐藏文本的方式或使用 after 属性显示占位符 // 或者使用 after: { contentText: // [HIDDEN] } 来显示占位符 });范围管理当用户执行隐藏命令时扩展获取当前编辑器的选择范围或光标行将这些范围信息存储起来可能在内存中也可能持久化到文件。应用装饰扩展调用editor.setDecorations(hideDecorationType, ranges)方法将指定的装饰器样式应用到编辑器对应的文本范围上从而实现视觉变化。状态持久化为了记住隐藏了哪些行扩展需要将这些范围信息通常记录为行号保存到工作区存储中并在文件重新打开时重新应用装饰器。理解了这个流程你就能明白为什么它是安全不修改文件且高效本地渲染的了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2593236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…