前端工程化实战:基于 Kelivo 模板的配置即代码与自动化工作流

news2026/5/17 7:42:27
1. 项目概述与核心价值最近在整理个人开发环境时发现一个挺有意思的项目叫Chevey339/kelivo。乍一看这个仓库名可能有点摸不着头脑但点进去之后你会发现它是一个围绕特定开发工具或框架进行深度定制、优化和功能增强的配置集合。这类项目通常不会出现在官方文档里却是资深开发者提升效率、解决实际痛点的“私房菜”。它本质上是一个“配置即代码”的实践将那些繁琐但必要的环境设置、插件集成、工作流脚本固化下来形成一个开箱即用、高度可复用的开发底座。对于很多开发者尤其是前端或全栈领域的同行来说每天都要和复杂的构建工具链、代码规范检查、自动化测试以及各种开发服务器打交道。手动配置每一个环节不仅耗时而且容易出错团队间也难以保持一致。kelivo这类项目解决的正是这个痛点。它不是一个全新的框架而是一个精心编排的“脚手架之上的脚手架”或者说是针对某个主流技术栈比如基于 Vite 的现代前端项目的“最佳实践预设包”。通过克隆和使用它你可以瞬间获得一个已经配置好代码格式化Prettier、静态检查ESLint、提交规范Commitlint、单元测试Vitest/Jest、甚至可能包含 Docker 开发环境等特性的项目模板省去了大量重复性劳动。这个项目的价值远不止是节省初始化项目的那几十分钟。更深层的意义在于它沉淀了项目维护者Chevey339在大量实际项目中踩过的坑、总结出的优化方案和团队协作规范。比如它可能内置了针对特定 UI 库如 Element Plus、Ant Design Vue的按需导入自动配置优化了生产环境构建的 chunk 分割策略或者集成了某些提升开发体验的 Vite 插件。对于中级开发者这是一个绝佳的学习范本你可以通过阅读它的配置文件理解每一个配置项背后的意图对于团队技术负责人这可以作为一个标准化工程规范的起点快速在团队内统一开发环境。2. 项目架构与核心模块拆解要真正理解并有效使用kelivo我们需要像解剖麻雀一样拆解它的核心目录结构和配置文件。一个典型的、功能完备的工程化配置集合通常会包含以下几个核心模块。2.1 核心配置文件解析项目的根目录下通常会有一系列以点号开头的配置文件它们是整个项目的“中枢神经”。package.json的 scripts 与依赖管理这是项目的入口文件。kelivo的package.json的scripts字段通常会非常丰富远超create-react-app或vue-cli生成的默认脚本。除了常见的dev、build、preview之外你可能会看到lint:script和lint:style: 分别对 JS/TS 和 CSS/预处理器代码进行静态检查。format: 调用 Prettier 对整个项目进行代码格式化。commit: 可能是一个交互式的提交工具引导你生成符合规范的提交信息。prepare: 一个git hook安装脚本确保团队成员在克隆项目后自动安装husky等钩子。changelog: 基于提交记录自动生成更新日志。在devDependencies中你会看到一长串精心挑选的开发依赖。除了 ESLint、Prettier、TypeScript 这些标配往往还会有构建优化类:vite-plugin-compression(Gzip/Brotli 压缩)、rollup-plugin-visualizer(打包体积分析)。开发体验类:vite-plugin-inspect(调试 Vite 中间状态)、unplugin-auto-import(自动导入 API免去手动 import)。代码质量类:commitlint/cli(提交信息校验)、lint-staged(仅对暂存区文件进行 lint)。ESLint 与 Prettier 的深度集成kelivo的.eslintrc.cjs和.prettierrc配置文件通常是深度定制的。它不仅仅启用了eslint:recommended这样的基础规则集更会集成社区流行的规则包如antfu/eslint-config注重性能和无分号风格或vue/eslint-config-typescript。关键在于它解决了 ESLint 和 Prettier 在代码格式化上可能存在的规则冲突。通常通过eslint-config-prettier来关闭 ESLint 中所有与 Prettier 冲突的规则并通过eslint-plugin-prettier将 Prettier 作为 ESLint 的一个规则来运行这样在保存文件时编辑器插件只需调用 ESLint 的--fix就能一次性完成检查和格式化。TypeScript 配置的工程化考量tsconfig.json的配置往往体现了对项目长期维护的思考。除了设置严格的编译选项strict: true外可能会有以下亮点路径别名Path Aliases: 配置/*指向src/*避免复杂的相对路径如../../../components/Button。类型包含与排除: 明确定义include只包含src目录和exclude排除node_modules和构建输出目录提升编译速度。针对构建器的配置: 如果使用 Vite可能会有一个tsconfig.node.json来专门配置开发服务器和构建脚本的 TypeScript 环境与前端代码的配置分离。2.2 自动化工作流与 Git 钩子这是体现项目“自动化”和“规范强制”能力的核心。Husky 与 Git Hooks 配置kelivo几乎必然包含husky。在.husky/目录下你会看到几个关键的钩子脚本pre-commit: 在提交前自动执行。这个脚本的内容是精髓它通常不会直接运行耗时的全量lint而是通过lint-staged来操作。#!/usr/bin/env sh . $(dirname -- $0)/_/husky.sh npx lint-stagedlint-staged 的精准打击对应的lint-staged配置通常在package.json或单独文件中定义了针对不同文件类型的操作效率极高{ *.{js,ts,vue}: [eslint --fix, prettier --write], *.{css,scss,less}: [stylelint --fix, prettier --write], *.{json,md}: [prettier --write] }这意味着当你尝试提交时系统只会对你本次修改过的、且已git add的文件进行 lint 和格式化速度极快对开发者无感却牢牢守住了代码质量的底线。Commitlint 规范提交信息.commitlintrc.cjs文件定义了提交信息的规范通常采用commitlint/config-conventional约定式提交规范。它会要求你的提交信息符合type(scope): subject的格式其中type可以是feat、fix、docs、style、refactor、test、chore等。这为后续自动生成语义化的 CHANGELOG 打下了基础。钩子commit-msg会校验你输入的提交信息是否符合此规范。2.3 构建配置与开发服务器优化如果kelivo是基于 Vite 的那么vite.config.ts是其技术精华的集中体现。环境变量与模式管理它会清晰地定义开发development、预览preview和生产production等不同模式并通过dotenv加载对应的.env.development、.env.production等环境变量文件。对于敏感变量会使用VITE_前缀暴露给客户端而非此前缀的变量则仅在构建脚本中可用。插件生态的精选与配置配置文件中会导入一系列提升效率和质量的插件unplugin-vue-components/unplugin-auto-import: 对于 Vue 项目这两个插件是“神器”。前者能自动按需导入 UI 库组件后者能自动导入 Composition API、VueRouter、Pinia 等常用函数彻底告别手动 import。vite-plugin-svg-icons: 将 SVG 图标转换为 Vue 组件方便使用且性能更优。构建分析: 在生产构建时通过条件导入的方式启用rollup-plugin-visualizer生成一个 HTML 报告文件直观展示各个模块的体积占比帮助进行分包优化。代理与 Mock 服务配置为了应对前后端分离开发中的跨域问题kelivo通常会预设好server.proxy配置将/api开头的请求代理到后端开发服务器。更高级的配置可能还会集成vite-plugin-mock在前端本地提供模拟数据接口实现前后端并行开发。3. 从零开始实践基于 Kelivo 模板初始化项目理解了架构我们来看看如何真正用它来启动一个项目。这里假设kelivo是一个基于 Vite Vue 3 TypeScript 的工程化模板。3.1 环境准备与模板获取首先确保你的本地环境已经安装了 Node.js推荐 LTS 版本如 18.x 或 20.x和包管理器npm、yarn 或 pnpmkelivo很可能推荐使用 pnpm 以利用其高性能和磁盘空间优势。获取项目模板有两种主流方式直接克隆仓库git clone https://github.com/Chevey339/kelivo.git my-new-project使用脚手架工具如果维护者提供了像create-kelivo-app这样的脚手架则更为简单pnpm create kelivo-app my-new-project或npm init kelivo-app my-new-project。进入项目目录后第一件事是安装依赖。强烈建议使用项目推荐的包管理器因为 lockfile 可能与之绑定。cd my-new-project pnpm install # 或 npm install 或 yarn install安装过程会自动触发package.json中定义的prepare脚本为你安装好husky的 Git 钩子。此时你的本地仓库已经具备了代码提交时的自动检查能力。3.2 核心配置的个性化调整模板是通用的但你的项目是具体的。接下来需要对一些核心配置进行修改。第一步修改项目元信息打开package.json更新name、version、description、author等字段。如果你要发布到私有 npm 仓库还需要注意publishConfig的配置。第二步调整构建输出与路径别名打开vite.config.ts找到build配置项。你需要根据项目类型调整outDir: 构建输出目录默认为dist可按需修改。assetsDir: 静态资源存放目录默认为assets。rollupOptions.output: 这里可以配置 chunk 分割策略。一个常见的优化策略是将第三方库单独打包rollupOptions: { output: { chunkFileNames: static/js/[name]-[hash].js, entryFileNames: static/js/[name]-[hash].js, assetFileNames: static/[ext]/[name]-[hash].[ext], manualChunks(id) { if (id.includes(node_modules)) { // 将 node_modules 中的依赖单独打包 // 可以进一步细化将 vue、vue-router、pinia 等基础库打包在一起 if (id.includes(vue)) return vendor-vue; return vendor; // 其他依赖 } } } }同时检查resolve.alias中的路径别名确保它们符合你的项目结构预期。第三步适配你的代码规范虽然模板提供了强大的 lint 规则但团队可能有自己的风格。你可以修改.eslintrc.cjs和.prettierrc。例如如果团队不接受 Prettier 默认的尾随逗号可以在.prettierrc中设置trailingComma: none。如果希望使用分号则设置semi: true。重要的是团队内部要保持一致并在README.md中注明。3.3 开发流程初体验完成基础配置后可以启动开发服务器来感受一下“开箱即用”的顺畅。pnpm dev如果一切顺利浏览器会自动打开本地开发服务器地址如http://localhost:5173。此时你可以尝试修改src/目录下的任何.vue或.ts文件体验热更新HMR的速度。故意写一段有语法错误的代码保存后观察终端和浏览器控制台的错误提示是否清晰。尝试使用模板可能预设的自动导入功能例如在.vue文件中直接使用ref、onMounted而无需import或者直接使用ElButton组件如果集成了 Element Plus。接下来模拟一次代码提交git add . git commit -m test: init project如果你的提交信息不符合commitlint规范比如写成“init project”commit-msg钩子会拦截并报错提示你正确的格式。改为git commit -m chore: init project即可成功。在提交前pre-commit钩子已通过lint-staged自动格式化和检查了你修改的文件。4. 深度定制与高级功能探索一个优秀的模板不仅仅是能用更要能灵活适应复杂场景。kelivo这类项目通常预留了深度定制的入口。4.1 集成状态管理与路由模板可能已经预装了PiniaVue 官方推荐的状态管理库和Vue Router。你需要做的是根据业务模块创建对应的 Store 和路由定义。Pinia Store: 在src/stores/目录下创建counter.ts、user.ts等文件。模板可能已经配置好了unplugin-auto-import让你在组件中可以直接使用const userStore useUserStore()而无需导入。Vue Router: 在src/router/目录下定义路由。模板可能已经配置了基于vite-plugin-pages的文件系统路由即src/pages/目录下的.vue文件会自动生成路由这能极大减少路由配置的维护成本。4.2 样式方案与主题定制模板可能支持多种样式方案原生 CSS、SCSS、Less或者 CSS-in-JS 方案如UnoCSS或Tailwind CSS。如果使用 SCSS/Less: 检查vite.config.ts中是否预装了对应的预处理器。通常你只需要安装sass或less包即可直接使用。如果使用 UnoCSS: 这是一个极具潜力的原子化 CSS 引擎。模板如果集成会在vite.config.ts中引入UnoCSS插件并在src/main.ts中导入virtual:uno.css。你可以在组件中直接使用诸如classm-4 p-2 bg-blue-500的原子类它们会在构建时按需生成样式体积极小。主题定制: 如果使用了 Element Plus 等 UI 库模板可能已经配置了按需导入和主题色定制。你可以在src/styles/下找到覆盖默认变量的 SCSS 文件。4.3 测试套件的配置与使用工程化项目离不开测试。kelivo很可能已经配置好了单元测试Vitest/Jest和端到端测试Cypress/Playwright。单元测试 (Vitest): 这是一个与 Vite 生态高度兼容的测试框架。配置文件vitest.config.ts通常会继承vite.config.ts的配置。测试文件通常放在src/__tests__/目录下或与源文件同名但以.spec.ts或.test.ts结尾。运行pnpm test:unit即可执行测试。组件测试 (Vue Test Utils / Testing Library): 对于 Vue 组件模板可能已经配置了vue/test-utils。编写组件测试时可以充分利用 Vite 的快速 HMR提升测试开发体验。E2E 测试: 模板可能初始化了playwright的配置。你需要先运行pnpm exec playwright install来安装浏览器驱动然后在e2e/目录下编写测试脚本。4.4 持续集成与部署预设为了支持自动化流程项目根目录下可能有.github/workflows/或.gitlab-ci.yml文件定义了 CI/CD 流水线。CI 流水线: 通常会在每次推送代码或发起 Pull Request 时自动运行lint、type-checktsc --noEmit和test任务确保合入的代码符合质量要求。CD 流水线: 当向主分支如main推送标签如v1.0.0时会自动触发构建、打包并部署到静态网站托管服务如 GitHub Pages、Vercel、Netlify或服务器。你需要根据自己团队使用的 CI/CD 平台GitHub Actions、GitLab CI、Jenkins和部署目标修改这些配置文件中的触发条件、构建命令和部署密钥。5. 常见问题排查与实战技巧即使有了完善的模板在实际使用中依然会遇到各种问题。以下是一些高频问题的排查思路和实战中总结的技巧。5.1 环境与依赖问题问题一依赖安装失败或版本冲突现象:pnpm install时报错提示某个包找不到或不兼容。排查:首先确认 Node.js 版本是否符合模板要求查看.nvmrc或package.json中的engines字段。尝试清除包管理器缓存后重试。对于 pnpm:pnpm store prune对于 npm:npm cache clean --force。检查package.json中依赖的版本范围是否过宽导致安装了不兼容的新版本。可以尝试删除node_modules和lock文件pnpm-lock.yaml/package-lock.json/yarn.lock然后重新安装。技巧: 在团队中强烈建议锁定包管理器。在README.md中明确写明使用pnpm并可以考虑在scripts中添加preinstall脚本检查当前包管理器是否符合要求。问题二Git 钩子Husky不生效现象: 提交代码时没有触发lint-staged或commitlint检查。排查:确认.husky/目录及其下的脚本文件是否具有可执行权限在 Unix 系统上。如果没有运行chmod x .husky/*。确认是否成功执行了pnpm install会触发prepare脚本安装钩子。检查.git/config文件中的core.hooksPath是否指向了.husky目录Husky 现代版本会自动设置。技巧: 如果需要在 CI 环境中跳过钩子检查可以使用git commit --no-verify或设置环境变量HUSKY0。5.2 构建与开发服务器问题问题三Vite 开发服务器启动慢或热更新失效现象:pnpm dev启动时间很长或者修改文件后页面没有自动更新。排查:检查是否在tsconfig.json中包含了过大的目录如整个项目根目录导致 TypeScript 语言服务索引缓慢。确保include字段只包含源码目录。检查是否有插件特别是文件系统监听类插件存在性能问题。可以尝试注释掉vite.config.ts中的插件逐个排查。检查文件系统是否区分大小写某些情况下可能导致模块解析异常。技巧: 使用vite-plugin-inspect插件。在配置中启用它访问http://localhost:5173/__inspect/可以可视化地查看模块的转换过程和中间状态是调试构建问题的利器。问题四生产构建后资源加载 404现象: 本地开发正常但部署到服务器后JS、CSS 或图片资源无法加载。排查:最常见的原因是基础路径Base Public Path配置错误。如果你的应用部署在子路径下如https://example.com/my-app/需要在vite.config.ts中设置base: /my-app/。检查build.assetsDir和build.rollupOptions.output中配置的路径是否与服务器部署的目录结构匹配。如果使用了history模式的路由还需要配置服务器将所有非静态资源请求重定向到index.html即 SPA 回退。技巧: 使用pnpm preview命令。Vite 提供了一个本地预览构建产物的静态服务器它能模拟生产环境。在部署前先运行pnpm build pnpm preview在本地验证构建产物是否正确。5.3 代码规范与工具链问题问题五ESLint 和 Prettier 规则冲突现象: 保存文件时ESLint 和 Prettier 互相“打架”格式来回变。解决方案: 确保安装并正确配置了eslint-config-prettier。在.eslintrc.cjs的extends数组的最后一项加入prettier。这能关闭所有与 Prettier 冲突的 ESLint 规则。同时可以安装eslint-plugin-prettier将 Prettier 作为 ESLint 规则运行实现“一键修复”。技巧: 在 VS Code 中安装ESLint和Prettier扩展后在项目根目录创建.vscode/settings.json进行统一配置{ editor.codeActionsOnSave: { source.fixAll.eslint: explicit }, editor.formatOnSave: false, // 禁用 Prettier 扩展的自动保存格式化由 ESLint 统一处理 editor.defaultFormatter: esbenp.prettier-vscode }问题六TypeScript 类型检查在 Vite 中不报错现象: 明显的类型错误在pnpm dev时控制台不显示但tsc --noEmit能检查出来。原因: Vite 默认只进行语法转译不进行类型检查以追求更快的启动速度。解决方案:开发时实时检查: 可以安装vite-plugin-checker插件它会在后台运行 TypeScript 检查并将错误显示在浏览器和控制台。作为 CI 或 Git 钩子: 在package.json的scripts中添加type-check: tsc --noEmit并在lint-staged或 CI 流水线中执行它。技巧: 将type-check脚本加入pre-commit钩子或 CI 流程确保类型错误不会进入代码库。5.4 性能优化与部署问题问题七首屏加载慢包体积过大现象: 应用部署后首次打开白屏时间长Network 面板显示主 JS 文件过大。优化策略:代码分割Code Splitting: 确保在路由层面使用了动态导入import()Vite 会自动将其分割成独立的 chunk。依赖分包: 如 3.2 节所述在vite.config.ts中通过rollupOptions.output.manualChunks将node_modules中的大依赖如vue、vue-router、element-plus单独打包。构建分析: 运行pnpm build -- --mode analyze如果配置了rollup-plugin-visualizer分析产物构成找出体积过大的模块。压缩与 Brotli: 确保生产构建启用了压缩vite-plugin-compression。技巧: 对于图片等静态资源考虑使用 CDN 或转换为 WebP 等现代格式。可以使用vite-plugin-imagemin进行图片压缩。问题八部署后环境变量不生效现象: 在.env.production中设置的变量在构建后的应用中读取不到。排查:牢记 Vite 的规则只有以VITE_开头的变量才会被嵌入到客户端代码中。检查你的变量名是否符合此规则。环境变量文件.env.production需要放在项目根目录并且构建命令需要指定--mode productionpnpm build默认就是 production 模式。如果你是在 Docker 或 CI 环境中通过环境注入如VITE_API_URLxxx确保在构建命令前正确设置了这些环境变量。技巧: 在代码中访问环境变量时使用import.meta.env.VITE_XXX。为了类型安全可以在src/env.d.ts文件中增加类型定义interface ImportMetaEnv { readonly VITE_APP_TITLE: string readonly VITE_API_BASE_URL: string // 更多环境变量... } interface ImportMeta { readonly env: ImportMetaEnv }使用kelivo这类高度工程化的模板最大的收获不是省去了配置的时间而是学习并实践了一套现代前端开发的最佳工作流。它强迫你养成提交前 lint、编写规范提交信息、编写单元测试的习惯。初期可能会觉得有些“束缚”但一旦团队适应代码质量和协作效率的提升是显而易见的。我的体会是不要把它当作一个黑盒而是作为一个学习样本。遇到问题时去阅读对应的配置文件理解每一个插件、每一条规则的作用这样才能在需要的时候有能力对它进行裁剪和扩展让它真正成为你自己和团队得心应手的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2620870.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…