自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3703)
  • 资源 (4788)
  • 收藏
  • 关注

原创 open-code-review实战:AST增量分析驱动的自动化代码审查

代码审查(Code Review)是保障代码质量的核心环节,但面对大量PR,人工逐行审查容易疲劳漏检,且风格标准难以统一。基于AST的静态分析技术能够将源码解析为语法结构,实现精准的未使用变量、空指针、资源泄漏等缺陷检测;结合增量变更分析,只审查本次diff,有效过滤历史噪音。此类工具可私有化部署,通过Webhook或CI流水线自动在PR上输出评审意见,并支持自定义团队规则与安全敏感信息扫描。open-code-review正是这样一个开源方案,它帮助团队构建“机器先审、人再审”的高效工作流,让开发者专注于

2026-11-07 16:28:56 58

原创 Qt桌面程序内嵌PDF:MSVC 2017 64位预编译库接入与渲染

桌面客户端中的内嵌PDF预览,本质上涉及PDF渲染引擎、Qt控件封装、DLL/导入库链接与运行库ABI匹配等通用技术概念。其工作方式是底层C接口完成文档解析和位图渲染,上层借助QWidget、QImage把页面交给Qt绘制,从而在自有窗口中实现翻页、缩放与文本提取。这样做能降低Qt版本耦合、复用成熟渲染内核,并减少对外部阅读器的依赖。合同审阅、图纸查看、文档批注和表单填写等场景都适用。落到Qt 5、MSVC 2017、64位预编译的Qt PDF集成库上,接入阶段需核对头文件、导入库、DLL、/MD运行库和中

2026-11-07 16:24:34 56

原创 adb 1.0.39 Windows安装配置全攻略:从解压到设备调试

ADB(Android Debug Bridge)是Android开发中用于设备调试和管理的核心命令行工具,其工作原理基于客户端-服务端架构,通过USB或TCP连接与设备通信。正确配置ADB环境能显著提升开发调试效率,广泛应用于应用调试、自动化测试、设备批量管理等场景。然而,Windows环境下ADB的安装常因驱动识别、环境变量配置、端口占用等问题受阻。本文以adb 1.0.39版本为例,详细讲解从解压、环境变量配置到驱动安装、设备授权的完整流程,并针对adb devices空列表、unauthorized

2026-11-07 15:06:01 171

原创 Qt截图控件后台热键与高分屏多屏配置避坑指南

截图控件的核心并非简单调用抓图接口,而是把系统级全局热键、屏幕采集、全屏遮罩与DPI坐标换算组合成稳定链路。其原理是借助RegisterHotKey与nativeEvent接收后台热键消息,通过grabWindow按物理像素采集,并依据devicePixelRatio完成多屏拼接与选区对齐;先抓屏再显示遮罩可避免截到自身。技术价值在于让程序最小化到托盘后仍能一键触发,并在125%/150%缩放和多屏环境下不糊不偏。该能力适用于桌面截图工具、qt仿qq截图、教学办公取图等场景,也解释了shadewidget在

2026-11-07 14:52:03 58

原创 open-code-review:从个人经验到团队共识的代码审查实践

代码审查是软件质量保障的关键环节,但许多团队的Review流于形式,陷入标准不一、反馈断裂、自动化不足的困境。通过将审查规则固化、利用Git Hook在提交前拦截基础问题、用自动化脚本量化分析记录,可以将个人经验沉淀为团队共识,形成“规则+流程+沉淀”的闭环体系。这种开放式的代码审查方式,既适用于初创小团队快速落地,也能为大中型团队提供轻量化的流程参考。本文以open-code-review项目为实例,从规则设计、环境配置到完整Review生命周期,详细展示了如何让代码审查不再依赖个人自觉,而成为可持续演进

2026-11-07 14:43:08 45

原创 代码评审最佳实践:open-code-review流程设计与自动化落地

代码评审是保障软件质量的关键环节,但许多研发团队在实践中却常流于形式——评审意见浮于表面、流程拖沓、责任模糊,导致技术债不断累积。要解决这一问题,需从评审角色分工、闭环流程设计、评审维度标准化入手,建立一套可度量的评审机制。通过引入自动化门禁、Merge Request 状态机、CI 流水线以及评审机器人,将风格检查、覆盖率校验等重复劳动交给机器,让人工评审聚焦于架构、性能、安全等深层逻辑。同时,利用 P0/P1 优先级标签与 SLA 提醒,确保评审意见被有效响应。这种标准化的代码评审流程,既适用于中大型团

2026-11-07 14:27:22 15

原创 BrowserSkill 实战:AI agent 浏览器自动化 CLI 接入与稳定性调优

浏览器自动化是 AI agent 操作网页的核心能力,其原理是通过底层驱动库控制浏览器执行点击、提取等动作。在 agent 场景中,CLI 因输出结构化、调用简单而成为理想交互方式,能显著提升工具调用的准确率与可维护性。BrowserSkill 正是面向 AI agents 的浏览器自动化技能层,以 bsk 命令封装 Playwright 等底层能力,让 agent 无需处理元素等待、超时重试等异常。它适用于动态网页采集、登录后操作及自动化测试等场景,帮助开发者快速接入浏览器能力并保障任务稳定运行。

2026-11-07 13:53:18 91

原创 BrowserSkill:让AI Agent通过CLI命令操作浏览器

浏览器自动化通常依赖Playwright或Selenium等脚本工具,其原理是通过代码驱动浏览器执行点击、输入等操作。在AI Agent场景下,CLI命令比SDK更契合“理解任务→生成命令→执行→观察结果”的循环,能显著降低适配成本。BrowserSkill将浏览器操作抽象为技能层,让Agent通过自然语言调用bsk命令完成网页交互,适用于报表导出、表单填写等重复性任务。相比Playwright MCP,它更偏向开箱即用的技能封装,两者可互补使用。

2026-11-07 13:49:26 52

原创 cmake-3.10.0-win64-x64 安装配置与老工程兼容排错

在 C/C++ 工程构建中,工具链版本锁定是保障可复现性的基础环节。CMake 的版本不仅决定生成器与命令行参数,还会影响策略默认值、Find 模块及依赖查找行为,因此老工程一旦迁移到新版本,常出现策略警告、FindCUDA/FindOpenMP 结果变化和链接异常。对需要维护历史项目、复现某次成功构建或在 CI 中固定环境的团队,使用 cmake-3.10.0-win64-x64 这类旧版 win64-x64 包可把构建语义钉在当年时间切片。实际落地还需关注解压安装、PATH 顺序、生成器选择与缓存清理,

2026-11-07 13:31:53 52

原创 AI重构软件测试:从用例生成到质量门禁的落地实践

随着软件系统复杂度持续攀升,传统测试流程在用例设计、脚本维护、数据准备和缺陷定位等环节面临效率瓶颈。人工智能技术的介入,为测试领域带来了从“人肉执行”到“智能决策”的范式转变。通过自然语言处理与代码分析,AI可自动解析需求并生成覆盖异常流与边界流的测试用例;结合元素定位多策略池与失败自愈机制,有效降低自动化脚本的维护成本。同时,智能调度与缺陷聚类能力,让回归测试从耗时数小时压缩至分钟级,并实现根因的快速归因。这种AI重构测试的实践,最终以质量门禁与风险指数的形式,为版本发布提供结构化决策依据。本文基于爱测平

2026-11-07 13:23:34 42

原创 BrowserSkill:面向AI Agent的CLI浏览器自动化工具设计与实践

浏览器自动化是AI Agent操作网页的关键技术,传统方案如Playwright MCP工具粒度细、token消耗大,而Agent Browser抽象层又难以应对复杂页面。BrowserSkill通过CLI命令封装浏览器操作,提供极简接口、确定性返回和低token消耗,解决了AI Agent调用工具时的痛点。其核心原理是将浏览器操作转化为可执行命令,支持会话管理、结构化内容提取和元素交互,适用于生产环境中的稳定自动化任务。本文深入拆解BrowserSkill的设计思路、核心命令与实操流程,帮助开发者快速集成

2026-11-07 12:38:01 55

原创 JMeter接口自动化中CSV测试用例设计与实战指南

CSV文件是接口自动化测试中最基础且高可靠的参数管理方式,其本质是一种轻量级、无状态、可版本控制的数据契约。它通过纯文本结构实现参数与执行逻辑的解耦,避免Excel解析依赖、数据库连接开销及YAML嵌套复杂性。在JMeter中,CSV Data Set Config组件提供零损耗映射能力,使每行数据直接驱动一次HTTP请求,支撑边界覆盖、异常组合与多场景验证。结合变量命名规范、动态函数(如__time、__UUID)、JSR223逻辑扩展及test_case_id全链路追踪,CSV成为可维护、可追溯、可协同

2026-11-07 12:19:19 60

原创 knowledge-work-plugins 插件体系解析:从斜杠命令到知识工作流自动化

在 AI 协作工具中,斜杠命令与插件机制正成为提升知识工作效率的关键路径。其原理在于将多步信息处理流程封装为可插拔模块,由宿主环境提供执行能力,插件注入领域逻辑与提示词模板,从而实现操作自动化与输出标准化。这一模式的技术价值在于降低重复劳动成本、统一输出质量,并支持插件间串联形成完整工作流。典型应用场景包括会议纪要生成、资料检索整理、文档写作辅助等。knowledge-work-plugins 正是围绕这些高频知识工作场景,提供了一套可组合、可扩展的插件化解决方案。

2026-11-07 11:49:29 58

原创 开源代码审查落地指南:从流程设计到实践排错

代码审查是保障软件质量的关键环节,尤其在持续集成与迭代频繁的工程环境中,它充当着变更进入主干前的最后一道质量门禁。其核心原理并不复杂:通过自动化检查过滤机械性问题,再由人工聚焦逻辑、架构与知识传递,形成分层漏斗式的审查机制。开源工具与脚本的组合方案,让团队无需改变既有Git工作流也能构建轻量高效的审查体系,同时借助MR模板、审查清单、分支保护等手段,将审查从可选项变为硬性规范。合理的阻塞式与非阻塞式策略、CI/CD集成以及Git Hooks,能帮助团队降低线上事故率、加速交付节奏。本文结合真实的工程实践,系

2026-11-07 11:42:00 39

原创 Bonnie++ 磁盘性能测试实战:从安装到结果解读

文件系统性能测试是评估存储子系统的重要手段,其中顺序读写、随机读写和元数据操作是衡量磁盘I/O能力的核心指标。Bonnie++ 作为一款轻量级基准测试工具,通过模拟典型文件系统负载,快速输出结构化性能报告,帮助运维和开发人员识别存储瓶颈。其单线程模型适合快速基线对比,尤其擅长元数据操作测试,在服务器上线前磁盘摸底、文件系统选型等场景中具有较高实用价值。本文详细记录 Bonnie++ 的安装配置、参数解析、实操跑测与结果判读全过程,并分享常见问题排查与优化建议。

2026-11-07 11:11:04 113

原创 BrowserSkill:从“一次性脚本”到可复用浏览器技能库

浏览器自动化是RPA、网页数据采集和AI Agent落地的基础,但传统脚本往往任务耦合、复用困难。技能化设计将高频操作拆解为可复用的原子能力,通过标准协议定义输入输出,实现从“流程”到“能力”的转变。BrowserSkill正是这套思路的工程化实践,它作为技能资产库,可被Agent Browser调度,也可通过Playwright MCP暴露给大模型工具,显著提升任务稳定性与开发效率。适用于固定流程操作、长尾探索及混合型业务,是企业构建浏览器自动化体系的关键一步。

2026-11-07 10:31:52 65

原创 开放式代码审查体系实践:从流程规范到自动化门禁

代码审查(Code Review)是软件开发中保障代码质量的关键环节,然而许多团队在实际执行中常面临评审流于形式、责任不清、标准缺失等困境。有效的代码审查不仅是流程管控,更是一套协作机制的设计,其核心在于明确评审责任、分级处理意见、并通过自动化工具降低人工偏差。基于 GitLab 平台,结合静态检查与机器人自动催办,团队可以实现从“被动应付”到“主动协作”的评审转型。这类实践适用于中小型研发团队,尤其适合希望提升代码质量、加速新人融入、减少线上缺陷的场景。通过合理的流程规范与数据驱动改进,代码审查能够真正成

2026-11-07 10:29:30 120

原创 BrowserSkill 深度解析:浏览器自动化与 AI Agent 调度实战

浏览器自动化长期面临环境不稳定、脚本维护成本高等问题,而 AI Agent 的兴起又对网页操作能力提出了新需求。BrowserSkill 通过扩展层、CLI 层与 Agent 层的三层架构,将真实浏览器环境封装为可被命令行和 AI 智能体统一调度的执行环境,解决了传统 Playwright 脚本在登录态、渲染与反爬场景下的痛点。它兼容 codex cli、claude cli 等工具,支持数据采集、表单批量操作及智能任务编排,让浏览器从人操作的工具转变为程序调度的资源,为开发者与 AI Agent 提供低成

2026-11-07 09:07:25 45

原创 OpenSpec 规格驱动开发实战:从接口契约到代码生成

OpenAPI 规范定义了 RESTful API 的标准描述格式,而规格驱动开发(Specification-Driven Development)则将接口契约作为单一事实源,通过工具链自动生成服务端骨架、客户端 SDK 和 Mock 服务。其技术价值在于将变更成本前移,用机器同步替代人工同步,显著减少前后端联调中的字段不一致问题。在微服务架构与前后端分离的工程实践中,该模式尤其适用于需要维护对外 API 的团队。OpenSpec 正是围绕 OpenAPI 规范构建的一套工具与实践集合,帮助团队落地规格先

2026-11-06 16:45:07 313

原创 OpenSpec 规格驱动开发:从规格到代码的契约式实践

在 API 开发中,接口文档与代码不一致是常见痛点,导致前后端联调效率低下。规格驱动开发通过将接口定义结构化,实现可执行、可验证的契约,确保代码与规格一致。OpenSpec 作为规格层工具,支持运行时校验和测试用例自动生成,提升接口稳定性。适用于多人协作、接口频繁变更的场景,帮助团队减少沟通成本,提高开发效率。

2026-11-06 16:27:41 257

原创 OpenSpec:把规格说明书当代码管理,让AI辅助编程真正落地

在软件开发中,需求管理往往被忽视,而随着AI辅助编程的普及,代码生成速度大幅提升,真正的瓶颈已变成如何准确表达需求并验证实现结果。规格说明书作为连接需求与代码的桥梁,却常因难以维护而沦为摆设。OpenSpec提供了一套将规格说明书视为代码的开源工作流:以Markdown编写需求与验收标准,纳入Git版本控制,通过CLI工具自动校验,并让规格变更与代码提交同步进入评审流程。这一机制使得规格可追踪、可审查、可回滚,从根本上解决了文档与代码脱节的问题。在实际工程中,OpenSpec不仅能提升代码评审的准确性,还能

2026-11-06 16:21:14 203

原创 音频文件结构解析与损坏修复:WAV/MP3/FLAC/MP4容器实战

音频文件结构是理解格式兼容、损坏修复与无损转码的基础。其核心在于容器层、编码层与元数据层的分层:容器负责封装编码帧、标签和索引,编码层决定帧组织与采样参数,文件头、帧同步字及索引块则提供定位依据。掌握这些通用概念后,工程上可快速识别文件真实格式、定位帧错位或长度字段异常,并通过提取裸流、重封装和参数核验完成修复与归档。相关方法常用于音频后期、素材管理、播客剪辑和老录音数字化等场景。内容围绕WAV、MP3、FLAC、MP4等主流容器的结构差异与排查流程展开,并结合ffmpeg、ffprobe等工具说明合法边界

2026-11-06 16:20:05 275

原创 腾讯开源BrowserSkill实战:浏览器智能体技能框架与Agent Browser、Playwright MCP横评

浏览器自动化正从固定脚本走向智能体驱动的新阶段。传统自动化依赖写死的选择器,而大模型与浏览器操作的结合,让AI能自主理解页面并执行点击、填写、提取等动作。在此背景下,腾讯开源的BrowserSkill以“技能包”形式将浏览器操作标准化,通过注册技能、模型编排的方式,让LLM像调用工具一样操作网页。与Agent Browser、Playwright MCP等方案相比,BrowserSkill更聚焦于技能层,可与它们组合使用。实际部署中需关注技能描述、等待策略、iframe处理等细节,适用于表单填写、数据抓取、

2026-11-06 15:21:45 261

原创 OpenSpec 实践指南:用结构化规格文件解决项目协作中的信息散落问题

在软件工程中,接口契约与行为规格的版本化管理是保障协作效率与系统稳定性的基础。其核心原理在于将散落的规格信息收敛为结构化、可版本控制的文件,使规格成为项目的一等公民,从而降低沟通成本、减少实现偏差。技术价值体现在提升可维护性、支持自动化工具消费与变更影响分析。典型应用场景包括中小团队协作、独立开发及老项目维护。OpenSpec 正是这一理念的实践范式,通过 YAML 等格式承载契约,结合 CI 校验与 Code Review 流程,让规格文件真正活起来,成为团队协作的可靠基石。

2026-11-06 15:17:01 254

原创 OpenSpec 实践指南:用规格驱动开发,告别文档与代码脱节

在软件开发中,规格管理是确保系统行为一致性的关键。OpenSpec 作为一种以规格为中心的方法论,通过结构化文本和版本控制,将项目约定固化为可执行的契约,实现单一事实来源。其核心原理是让规格与代码同源演进,任何变更都需先修改规格,从而提升协作效率、降低维护成本。这一方法尤其适用于中大型项目、长期维护的老系统以及跨职能团队协作场景。本文深入探讨 OpenSpec 的核心概念、落地步骤与常见误区,帮助团队建立高效的规格驱动开发流程。

2026-11-06 15:08:05 304

原创 OpenSpec 规格驱动开发实战:从规格散落到工程契约层

在协作型软件项目中,需求文档、接口定义与测试用例往往散落各处,导致前后端对齐成本高、返工频繁。规格驱动开发通过将业务规则、输入输出与错误定义收敛为结构化、可版本管理、可被工具链消费的规格文件,使规格成为先于实现的可验证契约。OpenSpec 作为规格契约层,向上承接产品需求,向下对接代码、测试与接口文档,让前后端并行开发有据可依。它适用于多人协作、需求频繁变更的平台型项目,通过一致性校验与自动化生成,显著降低沟通成本,提升交付质量。

2026-11-06 15:06:48 335

原创 OpenSpec 规格驱动开发实战:从文档散落到契约校验的落地指南

在软件工程中,接口契约与数据模型的一致性维护是常见难题。OpenSpec 通过结构化规格文件,将接口定义、数据约束和行为规则转化为可版本管理、可校验的契约,并借助 CI 流水线实现自动化一致性检查。这种规格驱动开发模式能有效减少文档与代码的偏差,提升前后端并行开发效率,降低联调成本。在微服务架构与敏捷迭代场景下,OpenSpec 为团队提供了一种轻量级的规格管理方案,让规格成为项目唯一可信的事实来源。

2026-11-06 14:22:56 281

原创 OpenSpec规格驱动开发实战:从接口契约到双向校验的完整指南

在API驱动的软件开发中,接口契约管理是确保前后端协作一致性的基础。其核心原理在于将接口定义从自然语言描述转化为结构化、可解析的规格模型,通过类型约束、版本规则和双向校验机制,实现代码与规格的自动同步。这种规格驱动方法的技术价值在于显著减少联调返工、提升测试覆盖率,并支持桩代码与测试骨架的自动生成。典型应用场景包括中大型项目的多人协作、微服务接口治理以及持续集成中的兼容性检查。OpenSpec正是围绕这一理念构建的工具集合,帮助团队将规格从附属文档提升为可执行资产。

2026-11-06 14:21:10 215

原创 OpenSpec:以接口契约驱动全链路开发的工程实践

接口契约(如 OpenAPI、JSON Schema)是现代 API 协作的核心事实源,其本质是机器可读、可验证、可生成的结构化协议。基于契约驱动开发(Spec-driven development)的原理,开发者能实现类型安全前移、自动化代码生成与跨角色协同对齐,显著提升前后端一致性与交付效率。技术价值体现在减少胶水代码、消除联调歧义、增强 AI 编程助手(如 Cursor、Copilot)的上下文理解能力,并深度融入 npm 生态与 CI/CD 流水线。典型应用场景包括前端 SDK 自动生成、React

2026-11-06 13:37:03 180

原创 OpenSpec 规范驱动开发实战:从契约先行到自动化校验

在接口协作与跨端开发中,数据结构与行为约定常因缺乏统一规范而导致联调返工。OpenSpec 以结构化规范文件为核心,将字段类型、约束、操作定义等契约信息转化为机器可读的数据,实现规范先行、代码落地。其技术价值在于通过自动化校验、类型生成与 mock 数据派生,确保实现与规范一致,减少沟通成本。典型应用场景包括多人协作的后端/前端团队、开放平台 API 设计以及个人项目结构管理。本文围绕 OpenSpec 的核心概念、环境搭建、校验流程与实战踩坑,帮助开发者建立可校验、可演进的规范驱动开发闭环。

2026-11-06 13:27:14 315

原创 开源自动化代码审查方案落地:从规则引擎到团队实践

代码审查是保障软件质量的关键环节,但纯靠人工审查往往受限于注意力衰减、上下文丢失和流程压力,难以持续有效。自动化代码审查通过规则引擎将机械判断抽取为可配置、可执行的检查项,在持续集成流程中自动拦截空指针、资源泄漏等高风险问题,并沉淀团队经验。这种机制不仅能兜住工程质量底线,还能将审查者从重复劳动中解放出来,聚焦于设计评审等高价值活动。在实际落地中,需注意规则精度控制、分支保护、配置版本化及CI性能分层等关键实践,才能让自动化审查真正融入研发流程。文章以open-code-review为例,系统讲解了开源方案

2026-11-06 13:26:55 233

原创 Gradle 8.0.2 all包下载校验、安装配置与构建验证

构建工具版本一致性与发行包完整性,是可复现构建的基础。Gradle 通过 wrapper 的 distributionUrl 固定构建版本,借助 SHA-256 校验确认 gradle-8.0.2-all.zip 未被篡改,再由 GRADLE_HOME、PATH 与 GRADLE_USER_HOME 完成命令入口、缓存目录和全局配置的落地;init.gradle 与 gradle.properties 则分别约束依赖来源和构建行为。这样能减少 JDK 与插件版本漂移、缓存失效和离线构建失败,在本地开发机、C

2026-11-06 13:12:37 189

原创 OpenSpec实战:用规格驱动开发彻底解决API文档漂移问题

API文档与实现脱节是后端开发中常见的痛点,尤其在OpenAPI规格文件被反复手工修改后,字段不一致、路径错误等问题频发,严重影响联调和测试效率。规格驱动开发(Spec-Driven Development)提出了一种新的解决思路:将API变更视为代码评审的一部分,通过描述变更动机与结构化OpenAPI片段,结合自动化工具统一校验、合并与构建,从流程上确保规格文件始终反映真实接口。这一理念不仅适用于单体应用,在微服务多团队协作场景下更能发挥冲突检测与历史追溯的价值。通过将其接入CI流水线,团队可以在PR阶段

2026-11-06 13:07:15 258

原创 从走到过场到工程化:Code Review 流程设计、自动化门禁与数据指标

代码评审(Code Review)是保障软件质量的核心环节,但许多团队的评审流于形式,原因在于流程设计缺失、评审清单缺位与反馈闭环断裂。工程化思维要求将评审从依赖个人自觉的“人肉扫视”升级为有明确规则、角色分工、自动化质量门禁和数据反馈的体系。通过定义评审阶段、强制检查点、机器人分级评论、CI 门禁和核心指标(如评审覆盖率、Comment 解决率),团队能有效拦截风险,定位流程瓶颈。合理引入自动化工具(如质量门禁)能够减少琐碎检查,让评审人聚焦于逻辑正确性和异常边界。该实践尤其适合中小型技术团队与 DevO

2026-11-06 12:43:16 263

原创 BrowserSkill真相:不是工具,而是浏览器自动化需求的信号灯

命令行控制浏览器并非新概念,而是Web自动化演进的必然阶段——它建立在Playwright、Puppeteer等成熟引擎之上,通过CLI封装实现终端与浏览器内核的直接交互。其技术原理源于Chrome DevTools Protocol(CDP)协议驱动的进程级控制,核心价值在于将网页理解、DOM操作、上下文管理等能力从GUI迁移至可脚本化、可审计、可集成的工程管线。典型应用场景涵盖前端调试、RPA流程编排、SEO数据采集及跨平台UI测试。当前热议的‘BrowserSkill’实为开发者对‘CLI原生支持浏览

2026-11-06 12:24:13 174

原创 de4dot-netcore反混淆失败排查指南:运行时版本、工具链与构建目标对齐

.NET反混淆是逆向分析与安全审计的基础能力,其核心依赖于工具运行时环境与目标程序集框架的精确匹配。de4dot-netcore作为主流.NET Core平台反混淆工具,本质是一个自包含部署(SCD)应用,需严格对齐Microsoft.NETCore.App运行时版本,而非仅安装SDK。原理上,它通过解析IL元数据、识别混淆器特征(如ConfuserEx、SmartAssembly)并重写符号实现还原,技术价值在于恢复可读类型/方法名、移除反调试逻辑、修复非法IL。典型应用场景包括高校逆向教学、二进制安全审

2026-11-06 12:23:48 237

原创 BrowserSkill:为AI Agent打造浏览器操作技能与CLI工具

浏览器自动化是AI Agent落地的关键能力,但传统方案依赖脆弱的选择器,维护成本高。BrowserSkill通过Skill抽象层将浏览器操作封装为稳定意图接口,结合CLI实现进程隔离与语言无关调用,让Agent无需理解DOM即可完成打开、点击、提取等操作。其技术价值在于降低Agent出错概率,支持复杂流程编排,适用于登录抓取、数据导出等场景。与Playwright MCP、Agent Browser相比,BrowserSkill更强调技能化与CLI优先,为Agent工具接口设计提供了新思路。

2026-11-06 12:08:05 209

原创 open-code-review实战:开放代码审查体系设计与落地

代码审查是保障软件质量的重要环节,尤其在开源协作模式下,它不仅是挑错,更是团队知识同步与共同决策的机制。本文从代码质量与团队协作的底层需求出发,探讨如何构建一套开放的、可落地的审查流程:包括分支策略、Pull Request规范、CI自动化检查(静态检查、测试覆盖率、安全扫描)与人机协同分工,并强调机器管规则、人管设计的核心原则。同时结合真实踩坑经验,介绍审查清单、评论沟通技巧、争议处理机制及团队渐进式推广方法,帮助开发团队从“流程负担”转变为“质量文化”。无论你是工程师还是团队负责人,都能从中获得可操作的

2026-11-06 12:00:40 293

原创 BrowserSkill:让CLI与AI Agent直接操控浏览器的中间层方案

浏览器自动化通常依赖Playwright等脚本框架,但AI Agent和CLI工具需要更高层的意图表达。BrowserSkill将浏览器操作封装为可调用的技能单元,通过远程调试协议与真实Chrome通信,使Agent能像调用函数一样完成表单抓取、视频下载等任务。其技术价值在于统一CLI与Agent双入口,降低自动化门槛,适用于测试、爬虫及AI辅助开发场景。

2026-11-06 11:38:45 110

原创 VC2015下libssh-0.10.3静态库编译与依赖避坑指南

在 Windows C++ 工程中,静态库把实现代码直接嵌入可执行文件,能减少运行期 DLL 依赖,但前提是依赖版本、CRT、目标架构和构建生成器保持一致。OpenSSL、zlib 等基础库若与主工程混用 /MD 与 /MT,常在链接期出现 LNK2005,或在跨模块释放内存时崩溃。对仍锁定 VC2015 的老工控、医疗设备上位机和嵌入式配套软件,稳定复现一套可链接的 ssh.lib 比追新版本更有工程价值,典型场景包括 SFTP 上传、密钥交换和压缩通道。围绕 libssh-0.10.3 静态库构建,需要

2026-11-06 11:17:27 290

外部中断控制实验-sql server 数据库基本操作语句总结

18.5 外部中断控制实验 中断在嵌入式应用中占有非常重要的地位,几乎每个控制器都有中断功能。中断对保 证紧急事件得到第一时间处理是非常重要的。 我们设计使用外接的按键来作为触发源,使得控制器产生中断,并在中断服务函数中 实现控制 RGB 彩灯的任务。 18.5.1 硬件设计 轻触按键在按下时会使得引脚接通,通过电路设计可以使得按下时产生电平变化,见 图 18-1。 图 18-3 按键电路设计 18.5.2 软件设计 这里只讲解核心的部分代码,有些变量的设置,头文件的包含等并没有涉及到,完整 的代码请参考本章配套的工程。我们创建了两个文件:bsp_exti.c 和 bsp_exti.h 文件用来存 放 EXTI 驱动程序及相关宏定义,中断服务函数放在 stm32f10x_it.h 文件中。 1. 编程要点 1) 初始化用来产生中断的 GPIO; 2) 初始化 EXTI; 3) 配置 NVIC; 4) 编写中断服务函数;

2021-07-11

字符编码-sql server 数据库基本操作语句总结

29.1 字符编码 由于计算机只能识别 0和 1,文字也只能以 0和 1的形式在计算机里存储,所以我们需 要对文字进行编码才能让计算机处理,编码的过程就是规定特定的 01 数字串来表示特定的 文字,最简单的字符编码例子是 ASCII 码。 29.1.1 ASCII 编码 学习 C 语言时,我们知道在程序设计中使用 ASCII 编码表约定了一些控制字符、英文 及数字。它们在存储器中,本质也是二进制数,只是我们约定这些二进制数可以表示某些 特殊意义,如以 ASCII编码解释数字“0x41”时,它表示英文字符“A”。ASCII码表分为 两部分,第一部分是控制字符或通讯专用字符,它们的数字编码从 0~31,见表 29-1,它们 并没有特定的图形显示,但会根据不同的应用程序,而对文本显示有不同的影响。ASCII 码的第二部分包括空格、阿拉伯数字、标点符号、大小写英文字母以及“DEL(删除控 制)”,这部分符号的数字编码从 32~127,除最后一个 DEL符号外,都能以图形的方式来 表示,它们属于传统文字书写系统的一部分。 表 29-1 ASCII 码中的控制字符或通讯专用字符 十进制 十六进制 缩写/字符 解释 0 0 NUL(null) 空字符 1 1 SOH(start of headline) 标题开始 2 2 STX (start of text) 正文开始 3 3 ETX (end of text) 正文结束 4 4 EOT (end of transmission) 传输结束 5 5 ENQ (enquiry) 请求 6 6 ACK (acknowledge) 收到通知 7 7 BEL (bell) 响铃 8 8 BS (backspace) 退格 9 9 HT (horizontal tab) 水平制表符 10 0A LF (NL line feed, new line) 换行键 11 0B VT (vertical tab) 垂直制表符 12 0C FF (NP form feed, new page) 换页键 13 0D CR (carriage return) 回车键 14 0E SO (shift out) 不用切换 15 0F SI (shift in) 启用切换

2021-07-11

基本定时器定时实验-sql server 数据库基本操作语句总结

33.3 定时器初始化结构体详解 在标准库函数头文件 stm32f10x_tim.h 中对定时器外设建立了四个初始化结构体,基本 定时器只用到其中一个即 TIM_TimeBaseInitTypeDef,具体的见代码清单 33-1,其他三个我 们在高级定时器章节讲解。 代码清单 33-1 定时器基本初始化结构体 1 typedef struct { 2 uint16_t TIM_Prescaler; // 预分频器 3 uint16_t TIM_CounterMode; // 计数模式 4 uint32_t TIM_Period; // 定时器周期 5 uint16_t TIM_ClockDivision; // 时钟分频 6 uint8_t TIM_RepetitionCounter; // 重复计算器 7 } TIM_TimeBaseInitTypeDef; (1) TIM_Prescaler:定时器预分频器设置,时钟源经该预分频器才是定时器时钟,它设定 TIMx_PSC 寄存器的值。可设置范围为 0 至 65535,实现 1 至 65536 分频。 (2) TIM_CounterMode:定时器计数方式,可是在为向上计数、向下计数以及三种中心对 齐模式。基本定时器只能是向上计数,即 TIMx_CNT 只能从 0 开始递增,并且无需初 始化。 (3) TIM_Period:定时器周期,实际就是设定自动重载寄存器的值,在事件生成时更新到 影子寄存器。可设置范围为 0 至 65535。 (4) TIM_ClockDivision:时钟分频,设置定时器时钟 CK_INT 频率与数字滤波器采样时钟 频率分频比,基本定时器没有此功能,不用设置。 (5) TIM_RepetitionCounter:重复计数器,属于高级控制寄存器专用寄存器位,利用它可 以非常容易控制输出 PWM 的个数。这里不用设置。 虽然定时器基本初始化结构体有 5 个成员,但对于基本定时器只需设置其中两个就可 以,想想使用基本定时器就是简单。 33.4 基本定时器定时实验 33.4.1 硬件设计 本实验利用基本定时器 TIM6/7 定时 1s,1s 时间到 LED 翻转一次。基本定时器是 单片机内部的资源,没有外部 IO,不需要接外部电路,现只需要一个 LED 即可。 33.4.2 软件设计 这里只讲解核心的部分代码,有些变量的设置,头文件的包含等并没有涉及到, 完整的代码请参考本章配套的工程。我们编写两个定时器驱动文件,bsp_TiMbase.h 和 bsp_TiMbase.h,用来配置定时器中断优先级和和初始化定时器。

2021-07-11

查看日志组日志成员大小-王晓波-从微服务到serverless+架构应用与实践v2

(1)查看日志组日志成员大小 创建的 Standby Redo Log 大小要与主库的 Redo 大小保持一致。 sys@ora11g> select group#, bytes from v$log; GROUP# BYTES ---------- ---------- 1 52428800 2 52428800 3 52428800 此时主库每组日志的日志成员大小都是 50M。因此创建的Standby Redo Log大小也是50M。 (2)创建适当数量的 Standby Redo Log 组数 公式如下: 如果主库是单实例数据库:Standby Redo Log 组数=主库日志组总数+1 如果住口是 RAC 数据库:Standby Redo Log 组数=(所有节点中日志组数最大值 + 1) * RAC 节点数 从上面日志组查询结果可见,此数据库是一个单实例的数据库,包含三组日志。因此 Standby Redo Log 组数=3+1=4。 需要创建四组 Standby Redo Log 日志。 (3)确认数据库参数 MAXLOGFILES 和 MAXLOGMEMBERS 不会限制 Standby Redo Log 创建 MAXLOGFILES 和 MAXLOGMEMBERS 这两参数是在使用“CREATE DATABASE”语句 创建数据库时做的限制,用于限制数据库日志文件的最大数量和日志组的最大数量。 如果在创建数据库时没有注意这个问题会导致 Standby Redo Log 无法创建的问题,解决方 法只能是创新创建主库或者重新创建主库的控制文件。所以,一定要做好前期的规划。 (4)创建 Standby Redo Log sys@ora11g> alter database add standby logfile ('/u01/app/oracle/oradata/ora11g/stdb_redo01.log') size 50m; Database altered.

2021-07-11

诊断信息列表-nasa系统工程手册

5.4 诊断信息列表 诊断信息列表显示所有设备的诊断信息,显示界面如下图。可以分类显示诊断,也可以对诊断进行 导出、复制功能。 图 诊断信息列表 在此界面中显示故障设备类型、故障设备名称和故障信息。可以根据设备类型选择故障信息显示, 也可以使用导出功能把故障信息导出到 CSV 文件中。 设备类型:诊断对应的设备类型。设备类型包括 CPU 模块、DP 模块、CANopen 模块、CANlink 模 块、Modbus 模块、ModbusTCP 模块、IO 模块、EtherCAT 模块。选择不同的设备类型,诊断显示 列表显示对应类型的诊断,默认为所有,显示所有设备诊断。 注意:IO 模块可能为 CPU 下本地 IO、EtherCAT 总线 AM600 从站下 IO、CANopen 总线 AM600 从站下 IO 或者 DP 总线 AM600 从站下 IO。 导出 : 弹出诊断导出对话框,在对话框中导出诊断信息为 CSV 文件。 图 诊断导出对话框

2021-07-11

估算活动持续时间-深入浅出mips

6.5 估算活动持续时间 第 六 章 项 目 时 间 管 理 1. 进度管理计划 2. 活动清单 3. 活动属性 4. 活动资源需求 5. 资源日历 6. 项目范围说明书 7. 风险登记册 8. 资源分解结构 9. 事业环境因素 10. 组织过程资产 1. 专家判断 2. 类比估算 3. 参数估算 4. 三点估算 5. 群体决策技术 6. 储备分析 1. 活动持续时间估算 2. 项目文件更新 输入 工具与技术 输出 华夏智诚项目管理专家认证培训 352

2021-07-11

实施定性风险分析-深入浅出mips

11.3 实施定性风险分析 第 十 一 章 项 目 风 险 管 理 1. 风险管理计划 2. 范围基准 3. 风险登记册 4. 事业环境因素 5. 组织过程资产 1. 风险概率和影响评估 2. 概率和影响矩阵 3. 风险数据质量评估 4. 风险分类 5. 风险紧迫性评估 6. 专家判断 1. 项目文件更新 输入 工具与技术 输出 华夏智诚项目管理专家认证培训 712

2021-07-11

三阶段没有加条件判断语句判断-天线测量手册

地址,再进入第三阶段——发送要写入的内容。在第二、三阶段没有加条件判断语句判断 是否接收到从机的应答,这是因为 SCCB 规定在数据传输阶段允许从机不应答(实际上, OV7725 芯片在这两个阶段都会有应答讯号 。在最后,三阶段都传输结束时,要调用 SCCB_Stop 函数结束本次 SCCB 传输。 与自由位相对应的非应答信号用在两相读操作的第二阶段的第 9 位,见图 48-23。在这 第 9 位中,从机把 SDA 线置为高电平,而主机把 SDA 线拉低表示非应答,接着本次读数 据的操作就结束了。 图 48-23 两相读操作第二阶段(读寄存器内容) 主机的非应答信号,由 SCCB_NoAck 函数实现,其代码见代码清单 48-8。 代码清单 48-8:SCCB_NoAck 函数 1 /******************************************************************** 2 * 函数名:SCCB_NoAck 3 * 描述 :SCCB 无应答方式

2021-07-11

在该部分确定进入哪个模式!-gbase sql参考手册

while(1)//在该部分确定进入哪个模式! { key=KEY_Scan(0); if(key==KEY_RIGHT) { mode=0; break; }else if(key==KEY_DOWN) { mode=1; break; } t++; if(t==100)LCD_ShowString(10,150,230,16,16,"KEY0:RX_Mode KEY1:TX_Mode"); //闪烁显示提示信息 if(t==200) { LCD_Fill(10,150,230,150+16,WHITE); t=0; } delay_ms(5); } LCD_Fill(10,150,240,166,WHITE); //清空上面的显示 POINT_COLOR=BLUE; //设置字体为蓝色

2021-07-11

农作物监测-pcb技术中的几幅图教你区分数字地、模拟地、电源地,单点接地

七、 农作物监测 SAR 不受天气影响,并且作物的物候状态变化引起的 SAR 图像上的后向散射的不同,可 以测量作物的生长,如识别水稻的秧苗期、出苗期和生长期。 图21 SAR 图像上的作物识别 雷达图像的后向散射系数产品可以反映土壤粗糙度和水分含量,以及土壤其他性质,可

2021-07-11

逻辑控制指令概述-arcgis中面提取中心线_流程

6.1 逻辑控制指令概述 描述 可使用跳转指令来控制逻辑流,允许程序中断其线性流,在一个不同点处继续进行 扫描。可使用 LOOP指令来多次调用一个程序段。 跳转或循环指令的地址为一个标签。跳转标签最多四个字符,且第一个字符必须为 字母。跳转标签后必须带有一个冒号“:”且在行中必须位于程序语句之前。 注意 请注意,对于 S7– 300 CPU程序而言,存在跳转指令时,跳转目标始终(不用于 318– 2)组成布尔逻辑字符串的开头。禁止在逻辑字符串中包含跳转目标。 可使用下列跳转指令来无条件中断正常的程序流: • JU 无条件跳转 • JL 跳转到标签 下列跳转指令可根据上一个指令语句生成的逻辑运算结果(RLO)来中断程序的逻辑 流。 • JC 当 RLO = 1时跳转 • JCN 当 RLO = 0时跳转 • JCB 当带 BR位的 RLO = 1时跳转 • JNB 当带 BR位的 RLO = 0时跳转 下列跳转指令可根据状态字中一个位的信号状态来中断程序中的逻辑流: • JBI 当 BR = 1时跳转 • JNBI 当 BR = 0时跳转 • JO 当 OV = 1时跳转 • JOS 当 OS = 1时跳转 工控编程吧 gkbc8.com 工控编程吧 gkbc8.com

2021-07-11

移位指令-arcgis中面提取中心线_流程

11.1 移位指令 11.1.1 移位指令概述 描述 可使用移位指令逐位左移或右移累加器 1中低字的内容或整个累加器的内容(参见 CPU寄存器)。左移 n位相当于将累加器的内容乘以“2 n”;右移 n位相当于将累 加器的内容除以“2 n”。例如,将以二进制格式表示的十进制数 3左移 3位时,在 累加器中出现相当于十进制数 24的二进制编码。将以二进制格式表示的十进制数 16右移 2位时,在累加器中出现相当于十进制数 4的二进制编码。 移位指令后的数字或在累加器 2的低字低字节中的数值表示要移位的数目。由零或 符号位的信号状态(0代表正数、1代表负数)填充移位指令空出的位。将最后一个移 出的位装载到状态字的 CC 1位中。复位状态字的 CC 0和 OV位为 0。可使用跳转 指令来判断 CC 1位。移位运算是无条件的,即,它们的执行不需要任何特殊的条 件,且不影响逻辑运算的结果。 下列移位指令可用: • SSI 带符号整型移位(16位) • SSD 带符号长整型移位(32位) • SLW 左移字(16位) • SRW 右移字(16位) • SLD 左移双字(32位) • SRD 右移双字(32位) 工控编程吧 gkbc8.com 工控编程吧 gkbc8.com

2021-07-11

字逻辑指令概述-arcgis中面提取中心线_流程

13.1 字逻辑指令概述 描述 字逻辑指令按照布尔逻辑逐位比较字(16位)和双字(32位)对。每个字或双字必须位 于两个累加器其中一个之内。 对于字而言,累加器 2的低字中的内容会与累加器 1的低字中的内容组合。组合结 果存储在累加器 1的低字中,同时覆盖原有的内容。 对于双字而言,累加器 2的内容与累加器 1的内容相组合。组合结果存储在累加器 1 中,同时覆盖原有的内容。 如结果不等于 0,则将状态字的位 CC 1置为“1”。如结果等于 0,则将状态字的 位 CC 1置为“0”。 要执行字逻辑运算,可使用下列指令: • AW 单字与运算(16位) • OW 单字或运算(16位) • XOW 单字异或运算(16位) • AD 双字与运算(32位) • OD 双字或运算(32位) • XOD 双字异或运算(32位) 工控编程吧 gkbc8.com 工控编程吧 gkbc8.com

2021-07-11

植被覆盖度估算-pt5108规格书 high-psrr 500ma ldo

一、 数据预处理 使用的是 Landsat 8 OLI 的 L1T 级别数据,不做几何校正处理。北京市需要两景 Landsat OLI 数据覆盖,本流程中分别对两个图像进行辐射定标,为了简化操作流程,首先进行图像 镶嵌和裁剪,然后进行大气校正处理。 注:如果两景数据成像时间不同,可以按如下流程进行:分别辐射定标、大气校正,然后进 行图像镶嵌与裁剪。 二、 植被覆盖度估算 在像元二分法模型中,NDVIveg 代表着全植被覆盖像元的最大值,由于植被类型的影响, Landsat 8 OLI 数据 数据读取 辐射定标 图像镶嵌和裁剪 大气校正 植被覆盖度结果 获取阈值 结果分析 NDVI 计算 制作掩膜文件 数 据 预 处 理 植 被 覆 盖 度 估 算 工程区矢量数据 土地覆盖分类图 计算参数文件与估算

2021-07-11

选择基准与待校正影像-pt5108规格书 high-psrr 500ma ldo

图 3.2 浑善达克及周边区域裁剪 第四步:图像配准 下面以土地利用图作为基准影像对环境小卫星图像进行图像配准。为了便于两个窗口 对比选点,该步在 ENVI Classic 中进行。启动 ENVI Classic。 (1) 分别打开和显示基准影像“浑善达克 2006 年 8 月土地利用分类图.img”。 (2) 主菜单->Map->Registration->Select GCPs:Image to Image,打开几何校正模块。 (3) 选择显示 2006 年土地利用分类图文件的 Display 为基准影像(Base Image),显 示环境星文件的 Display 为待校正影像(Warp Image),点击 OK 进入采集地面控制点。 图 3.3 选择基准与待校正影像

2021-07-11

发射率和反射率数据处理-pt5108规格书 high-psrr 500ma ldo

3.2 发射率和反射率数据处理 本章节包括对发射率数据集、反射率数据集的几何校正、波段组合和研究区裁剪。 3.2.1 发射率数据几何校正 (1) 在 Toolbox 中,选择/Geometric Correction/Georeference by Sensor/Georeference MODIS。 (2) 在弹出的对话框中选择输入数据。如下图,选择发射率数据集,点击 OK。

2021-07-11

方位向分辨率示意图-pt5108规格书 high-psrr 500ma ldo

1.1 几个常见参数  距离分辨率(Range ) 侧视方向上的分辨率称为距离分辨率  方位分辨率(Azimuth) 沿航线方向上的分辨率,也称沿迹分辨率。 图1.2 方位向分辨率示意图  波长-Wavelength 雷达遥感使用的微波部分的电磁频谱,频率从 0.3GHz 至 300 GHz 的,在波长方面, 从 1 米到 1 毫米。 常用的波长如下:  P-band = ~ 65 cm AIRSAR  L-band = ~ 23 cm JERS-1 SAR, ALOS PALSAR  S-band = ~ 10 cm Almaz-1

2021-07-11

find命令选项-(华为入门教程)verilog hdl 华为入门教程

第2章 使用find和xargs 有时可能需要在系统中查找具有某一特征的文件 (例如文件权限、文件属主、文件长度、 文件类型等等 )。这样做可能有很多原因。可能出于安全性的考虑,或是一般性的系统管理任 务,或许只是为了找出一个不知保存在什么地方的文件。 F i n d是一个非常有效的工具,它可 以遍历当前目录甚至于整个文件系统来查找某些文件或目录。 在本章中,我们介绍以下内容: • find命令选项。 • 使用f i n d命令不同选项的例子。 • 配合f i n d使用x a rg s命令的例子。 由于f i n d具有如此强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间 来了解一下。即使系统中含有网络文件系统 ( N F S ),f i n d命令在该文件系统中同样有效,只要 你具有相应的权限。 在运行一个非常消耗资源的 f i n d命令时,很多人都倾向于把它放在后台执行,因为遍历一 个大的文件系统可能会花费很长的时间 (这里是指3 0 G字节以上的文件系统 )。 F i n d命令的一般形式为: find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用 .来表示当前目录,用 /来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的 s h e l l命令。相应命令的形式为 ' c o m m - and' {} \;,注意{ }和\;之间的空格。 -ok 和- e x e c的作用相同,只不过以一种更为安全的模式来执行该参数所给出的 s h e l l命令, 在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 2.1 find命令选项 f i n d命令有很多选项或表达式,每一个选项前面跟随一个横杠 -。让我们先来看一下该命 令的主要选项,然后再给出一些例子。 -name 按照文件名查找文件。 -perm 按照文件权限来查找文件。 -prune 使用这一选项可以使 f i n d命令不在当前指定的目录中查找,如果同时使用了 - d e p t h 选项,那么 - p r u n e选项将被 f i n d命令忽略。 -user 按照文件属主来查找文件。 -group 按照文件所属的组来查找文件。 -mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在 n天以内,+ n 表示文件更改时间距现在 n天以前。F i n d命令还有 - a t i m e和- c t i m e选项,但它们都和 - m t i m e选项

2021-07-11

图形坐标推理-stm32f4xx参考手册--中文版

一、图形坐标推理 每道题包含三组图形和可供选择的四个图形,在分析中既要从横向来 寻找规律,以要进行纵向的对比。 1、图形内元素的组合

2021-07-11

工程结构窗口-如何解读统计图表:研究报告阅读指南

图 2.34 工程结构窗口 2.设计输入 (1)添加设计文件。 如果在创建工程时没有为工程添加设计文件,可以选择“Project”菜单的“Add/Remove Files in Project” 选项,为工程添加设计文件。在本实例中,读者可向工程添加实例代码中的 liangzhu.v 文件。 添加后,在工程浏览器中双击 liangzhu.v 图标,即可查看该 Verilog 设计文件,如图 2.35 所示。 图 2.35 Verilog 设计文件 (2)配置器件属性。 同样的,如果在创建工程时没有为工程配置器件型号及属性,可以在工程浏览器的工程实体图标上单击右 键,选择“Device”选项,为工程配置器件属性,如图 2.36 所示。 若在建立工程时已经配置好,则可单击“Device & Pin Options…”按钮,进一步设置器件的相关属性,如 图 2.37 所示。 图 2.36 器件选择 图 2.37 器件属性配置 在如图 2.38 所示的对话框中,可对 FPGA 所使用的配置芯片及未用管脚等进行配置。

2021-07-11

数据输出步骤-pt5108规格书 high-psrr 500ma ldo

图4.22 数据输出步骤 图4.23 生成的 LOS 方向的形变配色结果 注:Back 和 Next 按钮,可切换至中间某一步查看参数或调整参数重新处理。

2021-07-11

规范规定数-思科视频下载集合

3(DFN8) 如果接收到的数据字段不是8字节的整数倍,则该位被置1。USB1.0规范规定数 据字段必须是字节的整数倍。如果数据字段不是字节的整数被,那么该位被置1。 2(CRC16) 如果数据包应为CRC16校验错误而被拒绝时,该位被置1。 1(CRC5EOF) 该错误中断有两个用途。当USB模块处于外设模式时(HOSTMODEEN=0), 当检测到一个由主机发送的令牌数据包的CRC5错误,如果该位被置1,那么该 令牌包会因为CRC5的校验错误而被拒绝接受。 当USB模块处于主机模式时(HOSTMODEEN=1),该中断会检测EOF中断。 这种情况发生在如果USB模块收发数据时SOF计数器为0.当当开发USB分组调 度软件以确定在下一帧开始之前没有USB事务时该中断非常有用。 0(PIDERR) 如果PID检查字段错误时,该位被置1。 45.4.12 错误中断使能寄存器(USBx_ERREN) 该寄存器包含 USB 模块内每个错误源的使能位。将该寄存器的任何位置 1 都会开启 ERRSTAT 寄存器中相应的中断。如果检测到下相应的错误条件则相应的位会被立即置 1。因 此,该中断并不能表示相应的令牌已经处理结束。该寄存器在复位时被设置位 0x00。 地址:USB0_ERREN – 4007_2000h(基址) + 8Ch(偏移地址) = 4007_208Ch Bit 7 6 5 4 3 2 1 0 读 BTSERR EN 0 DMAERRE N BTOERRE N DFN8EN CRC16 EN CRC5EOF EN PIDERREN 写 复位 0 0 0 0 0 0 0 0 寄存器字段描述 USBx_ERREN 字段描述 字段 说明 7(BTSERREN) BTSERR中断使能位 0关闭BTSERR中断 1 开启BTSERR中断 6(预留) 只读位,读出总是位0. 5 (DMAERREN) DMAERR中断使能位 0关闭DMAERR中断 1 开启DMAERR中断 4(BTOERREN) BTOERR中断使能位 0关闭BTOERR中断 1 开启BTOERR中断 3(DFN8EN) DFN8中断使能位 0关闭DFN8中断 1 开启DFN8中断

2021-07-11

贝叶斯线性回归-effective akka

3.3 贝叶斯线性回归 在我们讨论使⽤最⼤似然⽅法设置线性回归模型的参数时,我们已经看到由基函数的数量控 制的模型的复杂度需要根据数据集的规模进⾏调整。为对数似然函数增加⼀个正则化项意味着 模型的复杂度可以通过正则化系数的值进⾏控制,虽然基函数的数量和形式的选择仍然对于确 定模型的整体⾏为⼗分重要。 这就产⽣了对于特定的应⽤确定合适的模型复杂度的问题。这个问题不能简单地通过最⼤化 似然函数来确定,因为这总会产⽣过于复杂的模型和过拟合现象。独⽴的额外数据能够⽤来确 定模型的复杂度,正如1.3节所说的那样,但是这需要较⼤的计算量,并且浪费了有价值的数 据。因此我们转⽽考虑线性回归的贝叶斯⽅法,这会避免最⼤似然的过拟合问题,也会引出使 ⽤训练数据本⾝确定模型复杂度的⾃动化⽅法。与之前⼀样,为了简单起见,我们只考虑单⼀ ⽬标变量t的情形。对于多个⽬标变量情形的推⼴是很直接的,与3.1.5节的讨论很类似。 3.3.1 参数分布 关于线性拟合的贝叶斯⽅法的讨论,我们⾸先引⼊模型参数w的先验概率分布。现在这个阶 段,我们把噪声精度参数β当做已知常数。⾸先,我们注意到,由公式(3.10)定义的似然函 数p(t | w)是w的⼆次函数的指数形式。于是对应的共轭先验是⾼斯分布,形式为 p(w) = N (w |m0,S0) (3.48) 均值为m0,协⽅差为S0。 接下来我们计算后验分布,它正⽐于似然函数与先验分布的乘积。由于共轭⾼斯先验分布的 选择,后验分布也将是⾼斯分布。我们可以对指数项进⾏配平⽅,然后使⽤归⼀化的⾼斯分 111

2021-07-11

串行口通信-mysql高可用方案大全

第8章 串行口通信 现以STC15W4K32S4系列单片机�例,介绍�TC15系列单片机的串行通信端口� STC15W4K32S4系列单片机具有��采用UART(Universal Asychronous Receiver/Transmitter) ��方式的全��异步串行通信接口(串口1、串口�、串口3和串口�)�每�串行口����据 缓冲器、��移位寄存器、��串行控制寄存器和��波特率发生器等组�成�每�串行口的� 据缓冲器����相独立的接收、发�缓冲器构成,可以同时发�和接收�据�发�缓冲器只���相独立的接收、发�缓冲器构成,可以同时发�和接收�据�发�缓冲器只��相独立的接收、发�缓冲器构成,可以同时发�和接收�据�发�缓冲器只 能写�而不能读出,接收缓冲器只能读出而不能写�,因而两�缓冲器可以共用��地址码� 串行口1的两�缓冲器共用的地址码是99��串行口�的两�缓冲器共用的地址码是9B��串行口99��串行口�的两�缓冲器共用的地址码是9B��串行口�串行口�的两�缓冲器共用的地址码是9B��串行口9B��串行口�串行口 3的两�缓冲器共用的地址码是AD��串行口�的两�缓冲器共用的地址码是85��串行口1的两AD��串行口�的两�缓冲器共用的地址码是85��串行口1的两�串行口�的两�缓冲器共用的地址码是85��串行口1的两85��串行口1的两�串行口1的两 �缓冲器�称串行通信特殊功能寄存器�BU��串行口�的两�缓冲器�称串行通信特殊功能寄�BU��串行口�的两�缓冲器�称串行通信特殊功能寄�串行口�的两�缓冲器�称串行通信特殊功能寄 存器��BU��串行口3的两�缓冲器�称串行通信特殊功能寄存器�3BU��串行口�的两�缓冲器��BU��串行口3的两�缓冲器�称串行通信特殊功能寄存器�3BU��串行口�的两�缓冲器�串行口3的两�缓冲器�称串行通信特殊功能寄存器�3BU��串行口�的两�缓冲器�3BU��串行口�的两�缓冲器�串行口�的两�缓冲器 �称串行通信特殊功能寄存器��BU����BU��� �TC15W�K3���系列单片机的串行口1有4种��方式,其中两种方式的波特率是可变的,另 两种是固定的,以�不同应用场合选用�串行口�/串行口3/串行口�都只有两种��方式,这 两种方式的波特率都是可变的�用�可用软件设置不同的波特率和选择不同的��方式��机 可通过查询或中断方式对接收/发��行程�处理,使用十分灵活� STC15W4K32S4系列单片机串行口1对应的硬件�分是TxD和RxD�串行口1可以�3组�管 除STC15F100W系列无串行口功能外,其他STC15系列单片机都有串行口功能,其中STC- 15W4K32S4系列单片机有��高速异步串行通信端口、STC15F2K60S2系列单片机有��高速异 步串行通信端口、STC15W1K16S/STC15W408S/STC15W408AS/STC15W201S/STC15F408AD 系列单片机有1�高速异步串行通信端口,��表所示: 串行口1 串行口� 串行口3 串行口� STC15W4K32S4系列 √ √ √ √ STC15F2K60S2系列 √ √ STC15W1K16S系列 √ STC15W404S系列 √ STC15W401AS系列 √ STC15W201S系列 √ STC15F408AD系列 √ STC15F100W系列 单片机型号 高速异步串行 通信端口 上表中√表示对应的系列有相应的串行口� �表总结了�TC15系列单片机内置了高速异步串行通信端口的单片机型号:

2021-07-11

对字段值进行了编辑或排序-gc2053_csp_模组设计指南_rev.1.1_20180731

(1) 在索引层中新增或删除要素 (2) 对字段值进行了编辑或排序 (3) 由于缩放、平移或改变地图比例尺而导致的数据框范围改变 (4) 对当前地理范围的数据驱动页面索引层要素任何字段的编辑,在执行 refresh 方法之前,数据驱动页面将保留 这些操作之前的原始状态。 代码示例 DataDrivenPages 示例 1 以下脚本将“数据驱动页面”系列的每一页导出到单个 PNG 文件中。 import arcpy mxd = arcpy.mapping.MapDocument(r"C:\Project\ParcelAtlas.mxd") for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1): mxd.dataDrivenPages.currentPageID = pageNum print "Exporting page {0} of {1}".format(str(mxd.dataDrivenPages.currentPageID), str(mxd.dataDrivenPages.pageCount)) arcpy.mapping.ExportToPNG(mxd, r"C:\Project\OutPut\ParcelAtlas_Page" + str(pageNum) + ".png") del mxd DataDrivenPages 示例 2 以下脚本将使用页面名称列表打印一组地图页面,并使用自定义逻辑代码修改文本元素地图标题信息,该自定义 逻辑只能在脚本环境中完成(也就是说,标题字符串是基于属性值自定义构建的)。脚本在各已命名页面间循环, 并设置相应的 currentPageID。然后从名为 TRS 的索引图层的字段中提取值。接下来,脚本将分析这些值、去掉 前导零、重新构建文本元素标题字符串,并将结果发送给打印机。 import arcpy mxd = arcpy.mapping.MapDocument(r"C:\Project\ParcelAtlas.mxd") pageNameList = ["MPB", "PJB", "AFB", "ABB"] for pageName in pageNameList: pageID = mxd.dataDrivenPages.getPageIDFromName(pageName) mxd.dataDrivenPages.currentPageID = pageID fieldValue = mxd.dataDrivenPages.pageRow.TSR #example values from a field called TSR are "080102", "031400" TRSTitle = arcpy.mapping.ListLayoutElements(MXD, "TEXT_ELEMENT", "TRSTitle")[0] township, range, section = fieldValue[:2].strip("0"), fieldValue[2:-2].strip("0"), fieldValue[-2:].strip("0") if section != "": TRSTitle.text = "Section {0} T.{1}N. R.{2}W. W.M.".format(section, township, range) else: TRSTitle.text = "T.{0}N. R.{1}W. W.M.".format(township, range) mxd.dataDrivenPages.printPages(r"\\olyfile\SUITE_303", "CURRENT") del mxd DataDrivenPages 示例 3

2021-07-11

grep命令常见参数列表-java解析jt808协议的实现代码

表 2.18 grep命令常见参数列表 选 项 参 数 含 义 -c 只输出匹配行的计数 -I 不区分大小写(只适用于单字符) -h 查询多文件时不显示文件名 -l 查询多文件时只输出包含匹配字符的文件名 -n 显示匹配行及行号 -s 不显示不存在或无匹配文本的错误信息 -v 显示不包含匹配文本的所有行 (4)使用实例 [root@www sunq]# grep "hello" / -r Binary file ./iscit2005/备份/iscit2004.sql matches ./ARM_TOOLS/uClinux-Samsung/linux-2.4.x/Documentation/s390/Debugging390.t xt:hello world$2 = 0 … 该本例中,“hello”是要搜索的内容,“/ -r”是指定文件,表示搜索根目录下的所有文件。 (5)使用说明 • 在缺省情况下,“grep”只搜索当前目录。如果此目录下有许多子目录,“grep”会以如 下形式列出:“grep:sound:Is a directory”这会使“grep”的输出难于阅读。但有两种解决的方法: ① 明确要求搜索子目录:grep –r(正如上例中所示); ② 忽略子目录:grep -d skip。 • 当预料到有许多输出,可以通过管道将其转到“less”(分页器)上阅读:如 grep "h" ./ -r |less分页阅读。 • grep特殊用法: grep pattern1|pattern2 files:显示匹配 pattern1或 pattern2的行; grep pattern1 files|grep pattern2:显示既匹配 pattern1又匹配 pattern2的行; 小知识 在文件命令中经常会使用 pattern正则表达式,它是可以描述一类字符串的模式(Pattern),如 果一个字符串可以用某个正则表达式来描述,就称这个字符和该正则表达式匹配。这和 DOS

2021-07-11

用C++语言编写HTTP模块-西门子simatic et200sp数字量输出模块

3.9 用C++语言编写HTTP模块 Nginx及其官方模块都是由C语言开发的,那么能不能使用C++语言来开发Nginx模块呢? C语言是面向过程的编程语言,C++则是面向对象的编程语言,面向对象与面向过程的优劣 这里暂且不论,存在即合理。当我们由于各种原因需要使用C++语言实现一个Nginx模块时 (例如,某个子功能是用C++语言写成,或者开发团队对C++语言更熟练,又或者就是喜欢 使用C++语言),尽管Nginx本身并没有提供相应的方法支持这样做,但由于C语言与C++语 言的近亲特性,我们还是可以比较容易达成此目的的。 首先需要弄清楚相关解决方案的设计思路。 ·不要试图用C++编译器(如G++)来编译Nginx的官方代码,这会带来大量的不可控 错误。正确的做法是仍然用C编译器来编译Nginx官方提供的各模块,而用C++编译器来编译 用C++语言开发的模块,最后利用C++向前兼容C语言的特性,使用C++编译器把所有的目 标文件链接起来(包括C编译器由Nginx官方模块生成的目标文件和C++编译器由第三方模块 生成的目标文件),这样才可以正确地生成二进制文件Nginx。 ·保证C++编译的Nginx模块与C编译的Nginx模块互相适应。所谓互相适应就是C++模 块要能够调用Nginx框架提供的C语言方法,而Nginx的HTTP框架也要能够正常地回调C++模 块中的方法去处理请求。这一点用C++提供的extern“C”特性即可实现。 下面详述如何实现上述两点内容。 3.9.1 编译方式的修改 Nginx的configure脚本没有对C++语言编译模块提供支持,因此,修改编译方式就有以下 两种思路:

2021-07-11

何谓梯形图程序-cp340模块使用手册

1.1 何谓梯形图程序 1-2 1.1 何谓梯形图程序 梯形图程序是指,将开关和定时器、指示灯等组成的回路通过各种梯形语言命令和寄存器进行图形化的程 序。 复杂回路或大规模回路均可通过梯形图程序简单描述。 在 1 次扫描内执行创建的梯形图程序,并按固定周期重复执行。

2021-07-11

动态选路协议使用99_下载-深信服scsa认证考试总题库

第10章 动态选路协议使用99 下载 图10-5 查询其路由表内容的两个 路由器n e t b和g a t e w a y

2021-07-12

TCP的超时与重传使用243_下载-深信服scsa认证考试总题库

21.11 重新分组 当T C P超时并重传时,它不一定要重传同样的报文段。相反, T C P允许进行重新分组而发 送一个较大的报文段,这将有助于提高性能(当然,这个较大的报文段不能够超过接收方声 明的M S S)。在协议中这是允许的,因为 T C P是使用字节序号而不是报文段序号来进行识别它 所要发送的数据和进行确认。 在实际中,可以很容易地看到这一点。我们使用 s o c k程序连接到丢弃服务器并键入一行。 接着拔掉以太网电缆并再键入一行。当这一行被重传时,键入第 3行。我们预期下一个重传包 含第2次和第3次键入的数据。 bsdi % sock svr4 discard hello there 第一行发送成功 接着我们断开以太网电缆 line number 2 本行被重传 and 3 在第2行发送成功之前键入本行 接着重新连接以太网电缆 图2 1 - 1 3显示了t c p d u m p的输出(去掉了连接建立、连接终止以及所有的窗口通告)。 图21-13 TCP对数据的重新分组 第1行和第2行显示了头一行(“hello there”)被发送及其A C K。接着我们拔掉以太网电缆 并键入“ line number 2”(1 4字节,包括换行)。这些数据在第3行被发送,并在第 4和第5行被 重传。 在第6行重传前,我们键入“ and 3”(6个字节,包括换行),并观察到这个重传包括 2 0个 字节:键入的两行。当A C K在第9行到达时,它确认了这2 0字节的数据。 21.12 小结 本章提供了对T C P超时和重传机制的详细研究。使用的第 1个例子是一个丢失的建立连接 的S Y N,并观察了在随后的重传和超时中怎样使用指数退避方式。 T C P计算往返时间并使用这些测量结果来维护一个被平滑的 RT T估计器和被平滑的均值偏 差估计器。这两个估计器用来计算下一个重传时间。许多实现对每个窗口仅测量一次 RT T。 K a r n算法在分组丢失时可以不测量RT T就能解决重传的二义性问题。 第21章 TCP的超时与重传使用243 下载 此时断开以太网电缆 此时键入第3行 此时重新连接以太网电缆

2021-07-12

TCP的保活定时器使用253_下载-深信服scsa认证考试总题库

23.3 保活举例 现在详细讨论前一节提到的第 2、3和4种情况。我们将在使用这个选项的情况下检查所交 换的分组。 23.3.1 另一端崩溃 首先观察另一端崩溃且没有重新启动的情况下所发生的现象。为模拟这种情况,我们采 用如下步骤: • 在客户(主机b s d i上运行的s o c k程序)和主机s v r 4上的标准回显服务器之间建立一 个连接。客户使用- K选项使能保活功能。 • 验证数据可以通过该连接。 • 观察客户T C P每隔2小时发送保活分组,并观察被服务器的 T C P确认。 • 将以太网电缆从服务器上拔掉直到这个例子完成,这会使客户认为服务器主机已经崩 溃。 • 我们预期服务器在断定连接已中断前发送 1 0个间隔为7 5秒的保活探查。 这里是客户端的交互输出结果: bsdi % sock -K svr4 echo -K是保活选项 hello, world 开始时键入本行以验证连接有效 hello, world 和看到回显 4小时后断开以太网电缆 read error: Connection timed out 这发生在启动后约6小时1 0分钟 图2 3 - 1显示的是t c p d u m p的输出结果(已经去掉了连接建立和窗口通告)。 图23-1 决定一个主机已经崩溃的保活分组 客户在第1、2和3行向服务器发送“Hello, world”并得到回显。第4行是第一个保活探查, 发生在两个小时以后( 7 2 0 0秒)。在第6行的T C P报文段能够发送之前,首先观察到的是一个 A R P请求和一个A R P应答。第6行的保活探查引出来自另一端的响应(第 7行)。两个小时以后, 在第7和8行发生了同样的分组交换过程。 第23章 TCP的保活定时器使用253 下载

2021-07-12

保证范围-照明光学设计原理与技巧

保证内容 (1) 保证期限 本产品的保证期限为产品购买后或交付到指定场所后的 1 年之内。 (2) 保证范围 在上述保证期限内,因为本公司责任而导致本产品发生故障时,实行在产品购买地免费提供替代 品或免费修理的服务。 但是,下列故障原因不在保证范围之内: (a) 在非样本或使用说明书所规定的条件、环境、使用方法下使用而引起故障时; (b) 非本产品原因引起的故障时; (c) 非本公司进行的改造或修理时; (d) 用于非本公司产品原本用途时; (e) 发生本公司出厂时的科学技术水平所无法预见的情况时; (f) 其它天灾、灾害等非本公司责任造成的故障时。 另外,此处所说的保证,是对本产品个体的保证,因本产品故障而引起的损害不属于保证对象。 责任免除 (1) 对于由本产品所引起的特殊损害、间接损害或消极损害,本公司在任何情况下都不承担责任。 (2) 对于可编程的本产品,由非本公司人员所进行的编程,以及由此产生的后果,本公司概不承担责 任。 适合用途的条件 (1) 本产品和其它产品组合使用时,请确认客户必须遵守的标准、法令法规和规章制度。另外,请客 户自行确认本产品是否适合客户所使用的系统、设备、装置。如果没有进行以上确认,本公司不 对本产品的适用性负责。 (2) 用于以下用途时,请与本公司营业人员商谈并按照规格书进行确认,同时采取安全措施保障使用 安全,如使用时对额定、性能留有余量,以及万一发生故障时将危险降到 低的安全电路等。 (a) 室外用途、受到潜在化学污染或电气干扰的用途,或者本样本、本说明书中没有记述的条件或 环境下的使用; (b) 原子能控制设备、焚烧设备、铁路 / 航空 / 车辆设备、医用设备、娱乐设备、安全装置、以及 必须符合行政机关以及个别行业标准的设备; (c) 危及人身和财产安全的系统、设备、装置; (d) 煤气、自来水、电力供应系统以及 24 小时持续运行的系统等要求高可靠性的设备。 (e) 其它与上述 a) ~ d) 相当的要求高度安全性的用途 (3) 客户将本产品用于可能严重危及人身和财产安全的用途时,请务必事先确认以下事项:已经告知 系统整体的危险性,通过冗余设计确保安全性,本产品在系统整体中针对用途进行了恰当的配电 和设置。 (4) 本样本等所记述的应用事例仅供参考,实际使用时请在确认机械、装置的功能和安全性的基础上 使用。 (5) 为避免由于不正确地使用本产品而导致客户或第三方遭受意外的损害,请充分了解并严格遵守使 用上的禁止事项和注意事项。 规格的变更 本样本、本说明书等中所记述的产品规格及附件可能会因为改善或其它原因而发生变更。请向本公司 营业人员咨询并确认本产品的实际规格。

2021-07-12

DOUT参数-信号稀疏分解及压缩感知理论应用研究

AKD用户指南 | 25.13   DOUT参数 25.13 DOUT 参数 本章讲述 DOUT参数。 25.13.1 DOUT.CTRL 555 25.13.2 DOUT.RELAYMODE 557 25.13.3 DOUT.STATES 559 25.13.4 DOUT1.MODE 和 DOUT2.MODE 560 25.13.5 DOUT1.PARAM 与 DOUT2.PARAM 562 25.13.6 DOUT1.STATE 与 DOUT2.STATE 564 25.13.7 DOUT1.STATEU 与 DOUT2.STATEU 565 25.13.8 DOUT9.MODE 至 DOUT11.MODE 567 25.13.9 DOUT9.PARAM 至 DOUT11.MODE 568 25.13.10 DOUT9.STATE 至 DOUT11.STATE 569 25.13.11 DOUT9.STATEU 至 DOUT11.STATEU 571 25.13.12 DOUT21.STATE 至 DOUT32.STATE 573 25.13.13 DOUT21.STATEU 至 DOUT32.STATEU 575 554 Kollmorgen | 2014 年 12 月

2021-07-12

接下来做什么-ogg 官方文档

1.3 接下来做什么 接下来,我们首先会熟悉使用什么工具去编写WPF的应用程序(第 2章 WPF相关工具——十八般兵器)。然后对WPF的整体架构有所了解 (第3章 WPF体系结构——藏宝图)。自此,我们第一卷程序江湖就结 束了。 进入第二卷。该卷是本书的心法,所谓心法就是基本功。这一卷的 难度是最大的,内容涉及了XAML语言以及WPF的主要特性,依赖属 性,路由事件和WPF的命令模型。阅读这一卷适当的走马观花是可以 的。第一遍不懂,实践多了自然也就懂了。 第三卷就开始构建一个WPF的小小应用。相对第二卷来说,这一卷 就简单许多。相信绝大多数人都和木木一样阅读这一卷是兵来将挡,水 来土掩,遇魔降魔,遇佛杀佛。 第四卷我们又开始回归心法,这一卷里多是WPF与以往UI平台的不 同的特性,而且这些特性和XAML语言结合非常紧密。内容涉及资源、 样式、模板和数据绑定。不过这一卷相比第二卷来说,内容上相对简 单,而且阅读到此时的木木,内力已经非同小可了。相信一定能够顺利 过关。 到了第五卷,WPF的威力就开始显露无遗了。在这一卷里,示例开 始变得炫目了。这一节里涉及到二维图形、三维图形、动画、文本和文 档,是WPF的“富”内容的具体展现,所谓紫杉红烛,打造视觉盛宴。 第六卷里牵涉到了WPF的一些高级特性,如WPF当中的互操作和自 定义控件。这两卷涵盖的知识杂,内容较深,和心法一样算是本书的一

2021-07-12

附加属性-ogg 官方文档

(3)附加属性 附加属性有助于我们复用原来的控件,而不需要重新定义一个控 件。如希望在原有的一个控件oldctrl基础上添加一个新的属性newprop, 原来的思路势必是从oldctrl派生一个新的控件newctrl。然后为其添加属 性newprop,如图20-5所示。 图20-5 原来的思路 附加属性最为明显的一个特点就是在一个类中定义了该属性之后, 其他任何类都可以使用。这样在oldctrl上扩展一个属性不必派生一个新 类newctrl,而是在另外一个类(这个类以Helper作为后缀)上定义一个 附加属性newprop供其他需要该属性的类使用,如图20-6所示。

2021-07-12

或直接双击桌面上的图标-abb acs510 变频器中文使用说明书

第8章 基础编程 本章主要知识点  新建项目、程序下载和调试  程序监控及程序仿真 8.1 基本编程操作 编程操作时编程软件最基本的功能,一般来说,前期工作都是离线完成的,当有了系统的整体 控制方案后,要离线为控制器创建项目,建立相应的程序和数据,I/O 组态,控制工艺的逻辑代码, 在线调试,最终将项目程序下载至控制器。编程软件不但能离线完成前期的大量工作,还能在线完 成编程、调试、诊断和排除故障工作。 CoDeSys 离线和在线所做的编程工作大都是相似的,却在不同的环境下进行,离线编程在计算 机的实时核中进行;在线编程在控制器内存中操作,所修改的内容在接收之前存放在控制器内存的 缓冲区,接收过程与控制器的工作状态有关,控制器在程序状态接收较快,但仍需要一个个梯级的 接收,运行状态的编辑是受限的,并且必须经过测试,才能最终确认。 8.1.1 启动 CoDeSys 1. 设置管理员权限 在 Win7 系统下需要以管理员权限打开软件,在 CoDeSys 的默认安装路径下找到 CODESYS.EXE 文件,选中该文件后点击鼠标右键,选择属性,将“Run This Program as an administrator”的勾选上,点击“OK”确认,如图 8.x 所示。 确认后每次运行 CoDeSys 系统则会默认以管理员权限自动进入 CoDeSys。 2. 启动 CoDeSys 从开始菜单选择>程序 > 3S CoDeSys > CoDeSys > CoDeSys V 3.5 或直接双击桌面上的图标 启动 CoDeSys。

2021-07-12

定义资源对象-abb acs510 变频器中文使用说明书

8.2 定义资源对象 8.2.1 启动 Gateway Server 和 PLC Gateway Server 主要起到通讯网关的作用,再给 CoDeSys 下载程序之前,必须先使用 Gateway Server,此外,当 PLC 通过如 OPC 协议与其他设备连接时,也需要设置 Gateway Server。该服务程 序由 CoDeSys 安装程序提供。 1) 启动 Gateway Server Gateway Server 作为服务程序在系统启动时自动启动,请确认在系统托盘处是否有指示 Gateway Server 运行的图标 。如果图标为 ,则表明 Gateway Server 当前未启动。 2) 启动 PLC 系统启动时,PLC(CoDeSys SP Win V3)作为服务程序在系统启动时自动加载。其图标会显 示在系统托盘中, 代表“停止”状态, 代表“运行”状态。若系统许可,PLC 服务程序将 在系统启动时自动启动。否则需要手动点击图标右键菜单中的“启动 PLC”命令启动服务。 1. 激活“Application” 点击 Standard project 设备视窗中的 MainTask,打开包含任务设置的编辑器视图,则如图 9.x 所 示。 图 8.x MainTask 设置

2021-07-12

标准化过程-深信服scsa认证考试总题库

1.10 标准化过程 究竟是谁控制着 T C P / I P协议族,又是谁在定义新的标准以及其他类似的事情?事实上, 有四个小组在负责 I n t e r n e t技术。 1) Internet协会(I S O C,Internet Society)是一个推动、支持和促进 I n t e r n e t不断增长和发 展的专业组织,它把 I n t e r n e t作为全球研究通信的基础设施。 2) Internet体系结构委员会( I A B,Internet Architecture Board)是一个技术监督和协调的 机构。它由国际上来自不同专业的 1 5个志愿者组成,其职能是负责 I n t e r n e t标准的最后编辑和 技术审核。 I A B隶属于I S O C。 3) Internet工程专门小组(I E T F,Internet Engineering Task Force)是一个面向近期标准的组 织,它分为9个领域(应用、寻径和寻址、安全等等)。I E T F开发成为I n t e r n e t标准的规范。为帮 助IETF主席,又成立了Internet工程指导小组(IESG, Internet Engineering Steering Group)。 4) Internet研究专门小组(IR I F,Internet Research Task Force)主要对长远的项目进行研究。 I RT F和I E T F都隶属于 I A B。文献 [Crocker 1993]提供了关于 I n t e r n e t内部标准化进程更为详 细的信息,同时还介绍了它的早期历史。 1.11 RFC 所有关于 I n t e r n e t的正式标准都以R F C(Request for Comment)文档出版。另外,大量的 R F C并不是正式的标准,出版的目的只是为了提供信息。 R F C的篇幅从1页到2 0 0页不等。每 一项都用一个数字来标识,如RFC 11 2 2,数字越大说明R F C的内容越新。 所有的R F C都可以通过电子邮件或用 F T P从I n t e r n e t上免费获取。如果发送下面这份电子 邮件,就会收到一份获取R F C的方法清单: 10使用TCP/IP详解,卷1:协议 下载 称它使用TCP端口号23 称它使用UDP端口号53和TCP端口号53

2021-07-12

历史小记-彩色uml建模(四色原型)object modeling in color _peter coaderic lefebvrejeff de luca著

6.6 历史小记 前馈网络可以被视为一种高效的非线性函数近似器,它以使用梯度下降来 小 化函数近似误差为基础。从这个角度来看,现代前馈网络是一般函数近似任务的几 个世纪进步的结晶。 处于反向传播算法底层的链式法则是 17 世纪发明的 (Leibniz, 1676; L’Hôpital, 1696)。微积分和代数长期以来被用于求解优化问题的封闭形式,但梯度下降直到 19 世纪才作为优化问题的一种迭代近似的求解方法被引入 (Cauchy, 1847)。 从 20 世纪 40 年代开始,这些函数近似技术被用于导出诸如感知机的机器学习 模型。然而, 早的模型都是基于线性模型。来自包括 Marvin Minsky 的批评指出 了线性模型族的几个缺陷,例如它无法学习 XOR 函数,这导致了对整个神经网络方 法的抵制。

2021-07-12

自定义控件-2019 atp 3-12.3 电子战技术_electronic warfare techniques

1.6 自定义控件 在编写程序时,用户可以通过自定义数据类型声明特殊的数据类型实现特殊功能, 在编写 HMI 画面时,同样可以通过声明自定义控件创建画面中需要使用到的特 殊的控件类型。 (1) 创建自定义数据类型,作为例子程序 ,在 PLC 下 DUTs 文件夹右击, 选择 Add 添加 DUT 选择添加结构体,命名成 Traffic_Light,点击 Open 创建

2021-07-11

空空如也

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

TA关注的人

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