小程序开发指南
小程序开发指南
目录
- 1. 小程序开发概述
- 1.1 什么是小程序
- 1.2 小程序的优势
- 1.3 小程序的发展历程
- 2. 开发准备工作
- 2.1 选择开发平台
- 2.2 开发环境搭建
- 2.3 开发模式选择
- 3. 小程序开发流程
- 3.1 项目规划
- 3.2 界面设计
- 3.3 代码开发
- 3.4 基本开发示例
- 3.5 数据存储
- 3.6 网络请求
- 3.7 组件化开发
- 4. 小程序发布流程
- 4.1 测试
- 4.2 提交审核
- 4.3 发布上线
- 4.4 版本迭代
- 5. 小程序开发技巧
- 5.1 性能优化
- 5.2 用户体验
- 5.3 安全考虑
- 5.4 调试技巧
- 6. 小程序开发框架
- 6.1 原生开发
- 6.2 跨平台框架
- 6.3 框架选择考虑因素
- 7. 小程序变现方式
- 8. 学习资源
- 8.1 官方文档
- 8.2 学习社区
- 8.3 开发工具
- 8.4 推荐书籍
- 9. 高级开发主题
- 9.1 小程序与原生App交互
- 9.2 小程序与Web交互
- 9.3 小程序与服务器交互
- 9.4 小程序与硬件交互
- 9.5 小程序与AI技术结合
- 10. 小程序云开发
- 10.1 什么是云开发
- 10.2 云开发的优势
- 10.3 云开发核心能力
- 10.4 云开发示例
- 10.5 云开发最佳实践
- 11. 小程序组件库
- 11.1 常用组件库
- 11.2 组件库使用示例
- 11.3 自定义组件开发
- 12. 小程序性能优化
- 12.1 加载性能优化
- 12.2 渲染性能优化
- 12.3 网络性能优化
- 12.4 存储性能优化
- 12.5 性能监控与分析
- 13. 小程序开发实战案例
- 13.1 电商小程序开发
- 13.2 社交小程序开发
- 13.3 工具类小程序开发
- 13.4 企业级小程序开发
- 14. 小程序开发常见问题与解决方案
- 14.1 开发环境问题
- 14.2 性能问题
- 14.3 兼容性问题
- 14.4 审核问题
- 14.5 运营问题
1. 小程序开发概述
1.1 什么是小程序
小程序是一种不需要下载安装即可使用的应用,它实现了"用完即走"的理念,用户扫一扫或搜一下即可打开应用。目前主流的小程序平台包括:
- 微信小程序
- 支付宝小程序
- 百度小程序
- 字节跳动小程序
1.2 小程序的优势
- 无需安装:用户无需下载安装,即可使用
- 即用即走:使用方便,不占用手机存储空间
- 开发成本低:相比原生App开发,成本更低
- 更新便捷:无需用户手动更新,开发者可随时更新
- 跨平台:一次开发,多平台运行
- 流量红利:依托平台流量,获取用户成本低
- 社交传播:易于分享,病毒式传播
1.3 小程序的发展历程
- 2017年1月:微信小程序正式发布
- 2018年9月:支付宝小程序正式发布
- 2018年12月:百度智能小程序正式发布
- 2019年5月:字节跳动小程序正式发布
- 2020年:小程序生态爆发,各平台竞争加剧
- 2021年:小程序成为企业数字化转型的重要工具
- 2022年:小程序与元宇宙、Web3等新技术结合
2. 开发准备工作
2.1 选择开发平台
- 微信小程序:用户基数最大,生态最完善
- 支付宝小程序:适合电商、支付相关应用
- 百度小程序:适合搜索相关应用
- 字节跳动小程序:适合内容分发类应用
2.2 开发环境搭建
-
下载开发工具
- 微信开发者工具
- 支付宝小程序开发者工具
- 百度开发者工具
- 字节跳动开发者工具
-
注册开发者账号
- 在对应平台注册开发者账号
- 完成实名认证
- 获取AppID
-
配置开发环境
- 安装Node.js环境
- 配置npm或yarn包管理器
- 安装必要的开发依赖
2.3 开发模式选择
- 原生开发:使用平台提供的原生API和组件
- 框架开发:使用跨平台框架如Taro、uni-app等
- 云开发:使用平台提供的云开发能力
- 混合开发:结合原生和框架开发的优势
3. 小程序开发流程
3.1 项目规划
- 确定小程序的功能和定位
- 设计用户界面和交互流程
- 规划技术架构和数据存储方案
- 制定开发计划和里程碑
- 评估技术难点和解决方案
3.2 界面设计
- 遵循平台设计规范
- 设计页面布局和组件
- 准备UI资源(图标、图片等)
- 设计交互流程和动画效果
- 考虑不同设备的适配方案
3.3 代码开发
以微信小程序为例,基本项目结构如下:
├── pages # 页面文件夹
│ ├── index # 首页
│ │ ├── index.js # 页面逻辑
│ │ ├── index.wxml # 页面结构
│ │ ├── index.wxss # 页面样式
│ │ └── index.json # 页面配置
│ └── ... # 其他页面
├── components # 自定义组件
├── utils # 工具函数
├── images # 图片资源
├── app.js # 小程序逻辑
├── app.json # 小程序公共配置
├── app.wxss # 小程序公共样式
└── project.config.json # 项目配置文件
3.4 基本开发示例
页面结构 (WXML)
<!-- index.wxml -->
<view class="container"><view class="title">{{title}}</view><button bindtap="handleClick">点击按钮</button>
</view>
页面逻辑 (JS)
// index.js
Page({data: {title: '欢迎使用小程序'},onLoad: function() {// 页面加载时执行},handleClick: function() {// 按钮点击事件处理wx.showToast({title: '点击成功',icon: 'success'});}
});
页面样式 (WXSS)
/* index.wxss */
.container {padding: 20px;display: flex;flex-direction: column;align-items: center;
}.title {font-size: 20px;margin-bottom: 20px;
}
3.5 数据存储
- 本地存储:使用wx.setStorage/wx.getStorage
- 云存储:使用云开发或自建服务器
- 数据库:使用云数据库或自建数据库
- 文件存储:使用云存储或自建文件服务器
3.6 网络请求
// 发起网络请求
wx.request({url: 'https://api.example.com/data',method: 'GET',data: {id: 1},success: function(res) {console.log(res.data);},fail: function(err) {console.error(err);}
});
3.7 组件化开发
// 自定义组件示例
Component({properties: {title: {type: String,value: '默认标题'}},data: {internalData: '组件内部数据'},methods: {handleTap() {this.triggerEvent('customEvent', { data: '传递给父组件的数据' });}}
});
4. 小程序发布流程
4.1 测试
- 在开发者工具中进行功能测试
- 真机调试
- 兼容性测试
- 性能测试
- 安全测试
- 用户体验测试
4.2 提交审核
- 完善小程序信息
- 提交审核材料
- 等待平台审核
- 处理审核反馈
- 优化小程序内容
4.3 发布上线
- 审核通过后发布
- 设置版本更新策略
- 监控运行状态
- 收集用户反馈
- 制定运营策略
4.4 版本迭代
- 分析用户反馈
- 规划新功能
- 修复已知问题
- 优化性能体验
- 定期更新迭代
5. 小程序开发技巧
5.1 性能优化
- 合理使用分包加载
- 减少不必要的渲染
- 优化图片资源
- 使用缓存减少请求
- 延迟加载非关键资源
- 优化JavaScript执行效率
- 减少页面重绘和回流
5.2 用户体验
- 添加加载状态提示
- 优化页面切换动画
- 提供错误反馈
- 适配不同屏幕尺寸
- 优化表单交互体验
- 提供离线功能支持
- 优化页面加载速度
5.3 安全考虑
- 数据加密传输
- 防止敏感信息泄露
- 使用HTTPS协议
- 实现用户身份验证
- 防止SQL注入和XSS攻击
- 实现数据备份和恢复机制
- 遵守相关法律法规
5.4 调试技巧
- 使用console调试
- 使用断点调试
- 使用性能分析工具
- 使用网络分析工具
- 使用内存分析工具
- 使用真机调试功能
- 使用远程调试功能
6. 小程序开发框架
6.1 原生开发
- 微信小程序原生开发
- 支付宝小程序原生开发
- 百度小程序原生开发
- 字节跳动小程序原生开发
6.2 跨平台框架
- Taro:支持React语法,可编译到微信、支付宝、百度、字节跳动等多个平台
- uni-app:使用Vue.js开发,支持多端发布
- mpvue:基于Vue.js的小程序开发框架
- wepy:类Vue语法的小程序开发框架
- Remax:使用React开发小程序
- kbone:腾讯开源的小程序同构解决方案
- chameleon:滴滴开源的多端统一开发框架
6.3 框架选择考虑因素
- 项目规模和复杂度
- 团队技术栈和熟悉度
- 跨平台需求程度
- 性能和包体积要求
- 社区活跃度和维护情况
- 学习曲线和开发效率
- 长期维护和升级成本
7. 小程序变现方式
- 广告收入
- 电商销售
- 会员订阅
- 增值服务
- 导流到App
- 数据变现
- 品牌合作
- 内容付费
- 游戏内购
- 服务收费
8. 学习资源
8.1 官方文档
- 微信小程序官方文档
- 支付宝小程序官方文档
- 百度小程序官方文档
- 字节跳动小程序官方文档
8.2 学习社区
- 微信开放社区
- 支付宝开放社区
- 百度智能小程序社区
- 字节跳动小程序社区
- GitHub相关项目
- 掘金、CSDN等技术社区
- 小程序开发者论坛
8.3 开发工具
- 微信开发者工具
- 支付宝小程序开发者工具
- 百度开发者工具
- 字节跳动开发者工具
- VSCode + 小程序插件
- 小程序开发脚手架
- 小程序调试工具
8.4 推荐书籍
- 《小程序开发实战》
- 《微信小程序开发指南》
- 《小程序开发从入门到精通》
- 《跨平台小程序开发实战》
- 《小程序设计与运营》
- 《小程序性能优化实践》
- 《小程序安全开发指南》
9. 高级开发主题
9.1 小程序与原生App交互
- 通过URL Scheme实现跳转
- 通过Universal Links实现跳转
- 通过App Clip实现轻量级交互
- 通过小程序码实现跳转
- 通过分享功能实现跳转
9.2 小程序与Web交互
- 通过WebView实现交互
- 通过URL参数传递数据
- 通过postMessage实现通信
- 通过Cookie和LocalStorage共享数据
- 通过OAuth实现身份认证
9.3 小程序与服务器交互
- RESTful API设计
- GraphQL API设计
- WebSocket实时通信
- 服务器推送技术
- 微服务架构集成
9.4 小程序与硬件交互
- 蓝牙设备连接
- NFC功能使用
- 摄像头和传感器使用
- 地理位置服务
- 设备信息获取
9.5 小程序与AI技术结合
- 图像识别
- 语音识别
- 自然语言处理
- 机器学习模型集成
- 智能推荐系统
10. 小程序云开发
10.1 什么是云开发
云开发是一种Serverless架构,开发者无需搭建服务器,即可使用云端能力,包括云函数、云数据库、云存储等。
10.2 云开发的优势
- 无需搭建服务器
- 按量计费,成本可控
- 自动扩缩容,性能稳定
- 开发效率高,维护成本低
- 安全性高,由平台保障
10.3 云开发核心能力
- 云函数:在云端运行的代码
- 云数据库:一个JSON数据库
- 云存储:一个文件存储服务
- 云调用:调用微信开放接口的能力
10.4 云开发示例
// 云函数示例
exports.main = async (event, context) => {const { OPENID } = cloud.getWXContext();const db = cloud.database();// 查询用户数据const userResult = await db.collection('users').where({_openid: OPENID}).get();return {success: true,data: userResult.data};
};
10.5 云开发最佳实践
- 合理设计数据库结构
- 优化云函数性能
- 使用云函数触发器
- 实现数据缓存策略
- 控制云资源使用量
11. 小程序组件库
11.1 常用组件库
- Vant Weapp:有赞前端团队开源的移动端组件库
- WeUI:微信官方设计团队为微信小程序量身设计
- ColorUI:专注视觉的小程序组件库
- Lin UI:简洁美观的小程序组件库
- Taro UI:基于Taro的多端UI组件库
- uni-ui:基于uni-app的跨平台UI组件库
- Ant Design Mini:蚂蚁金服设计团队出品的小程序组件库
11.2 组件库使用示例
// 使用Vant Weapp组件示例
{"usingComponents": {"van-button": "@vant/weapp/button/index","van-field": "@vant/weapp/field/index","van-cell": "@vant/weapp/cell/index","van-cell-group": "@vant/weapp/cell-group/index"}
}
11.3 自定义组件开发
- 组件生命周期
- 组件通信方式
- 组件样式隔离
- 组件插槽使用
- 组件事件处理
- 组件数据监听
- 组件外部样式类
12. 小程序性能优化
12.1 加载性能优化
- 合理使用分包加载
- 预加载关键资源
- 延迟加载非关键资源
- 优化图片和资源大小
- 使用CDN加速资源加载
- 实现骨架屏加载
- 优化首屏加载时间
12.2 渲染性能优化
- 减少不必要的渲染
- 使用虚拟列表
- 优化长列表性能
- 减少页面重绘和回流
- 使用CSS动画代替JS动画
- 优化Canvas渲染
- 使用WebGL加速渲染
12.3 网络性能优化
- 合理使用缓存
- 合并请求减少网络请求
- 使用数据预加载
- 实现断点续传
- 优化请求超时处理
- 实现请求重试机制
- 使用HTTP/2协议
12.4 存储性能优化
- 合理使用本地存储
- 实现数据分片存储
- 定期清理无用数据
- 优化数据库查询
- 实现数据压缩
- 使用索引优化查询
- 实现数据同步策略
12.5 性能监控与分析
- 使用性能监控工具
- 分析页面加载时间
- 分析JavaScript执行时间
- 分析网络请求时间
- 分析渲染性能
- 分析内存使用情况
- 实现性能数据上报
13. 小程序开发实战案例
13.1 电商小程序开发
- 商品展示与搜索
- 购物车与订单管理
- 支付与物流集成
- 用户中心与会员体系
- 营销活动与优惠券
- 数据分析与运营
13.2 社交小程序开发
- 用户注册与登录
- 内容发布与展示
- 评论与互动功能
- 私信与通知系统
- 用户关系与关注
- 内容推荐与算法
13.3 工具类小程序开发
- 文件处理与转换
- 计算器与单位换算
- 日历与提醒功能
- 地图与导航服务
- 翻译与语言工具
- 健康与生活助手
13.4 企业级小程序开发
- 企业内部管理系统
- 客户关系管理(CRM)
- 供应链管理系统
- 人力资源管理系统
- 财务管理系统
- 数据分析与报表
14. 小程序开发常见问题与解决方案
14.1 开发环境问题
- 开发工具安装与配置
- 依赖包安装与版本冲突
- 编译与构建错误
- 真机调试问题
- 开发环境与生产环境差异
14.2 性能问题
- 页面加载缓慢
- 列表滚动卡顿
- 内存占用过高
- 网络请求超时
- 图片加载优化
- 动画性能问题
14.3 兼容性问题
- 不同机型适配
- 不同系统版本兼容
- 不同小程序平台差异
- 不同网络环境适配
- 不同分辨率适配
14.4 审核问题
- 内容合规性审核
- 功能完整性审核
- 用户体验审核
- 隐私政策审核
- 版权与知识产权审核
14.5 运营问题
- 用户增长与留存
- 活跃度提升
- 转化率优化
- 用户反馈处理
- 数据分析与决策
- 版本迭代策略
相关文章:
小程序开发指南
小程序开发指南 目录 1. 小程序开发概述 1.1 什么是小程序1.2 小程序的优势1.3 小程序的发展历程 2. 开发准备工作 2.1 选择开发平台2.2 开发环境搭建2.3 开发模式选择 3. 小程序开发流程 3.1 项目规划3.2 界面设计3.3 代码开发3.4 基本开发示例3.5 数据存储3.6 网络请求3.7 …...
RCE漏洞学习
1,What is RCE? 在CTF(Capture The Flag)竞赛中,RCE漏洞指的是远程代码执行漏洞(Remote Code Execution)。这类漏洞允许攻击者通过某种方式在目标系统上执行任意代码,从而完全控制目…...
青少年编程考试 CCF GESP图形化编程 三级认证真题 2025年3月
图形化编程 三级 2025 年 03 月 一、单选题(共 15 题,每题 2 分,共 30 分) 1、2025 年春节有两件轰动全球的事件,一个是 DeepSeek 横空出世,另一个是贺岁 片《哪吒 2》票房惊人,入了全球票房榜…...
一、绪论(Introduction of Artificial Intelligence)
写在前面: 老师比较看重的点:对问题的概念本质的理解,不会考试一堆运算的东西,只需要将概念理解清楚就可以,最后一个题会出一个综合题,看潜力,前面的部分考的不是很深,不是很难&…...
多模态大语言模型arxiv论文略读(十五)
## Jailbreaking GPT-4V via Self-Adversarial Attacks with System Prompts ➡️ 论文标题:Jailbreaking GPT-4V via Self-Adversarial Attacks with System Prompts ➡️ 论文作者:Yuanwei Wu, Xiang Li, Yixin Liu, Pan Zhou, Lichao Sun ➡️ 研究机…...
漏洞报告:多短视频平台时间差举报滥用漏洞
漏洞标题:跨平台内容发布时序漏洞导致的恶意举报攻击向量 漏洞类型:逻辑缺陷/滥用机制 漏洞等级:中高风险 漏洞描述: 攻击者可利用多平台内容发布时间差,伪造原创证明对合法内容发起恶意举报。该漏洞源于平台间缺乏发…...
【LINUX】学习宝典
一.Linux系统常用单词翻译 1.new folder 新建文件夹 2.paste 粘贴 3.select all 全选 4.open in terminal 打开终端/命令行 5.keep aligned 保持对齐 6.organize deaktop by name按名称组织桌面 7.change background更改背景 8.cancel 取消 9.create创造 创建 10.wal…...
青少年编程考试 CCF GESP图形化编程 四级认证真题 2025年3月
图形化编程 四级 2025 年 03 月 一、单选题(共 10 题,每题 2 分,共 30 分) 1、2025 年春节有两件轰动全球的事件,一个是 DeepSeek 横空出世,另一个是贺岁片《哪吒 2》票房惊人,入了全球票房榜…...
学习海康VisionMaster之平行线查找
一:进一步学习了 今天学习下VisionMaster中的平行线查找,这个还是拟合直线的衍生应用,可以同时测量两条线段,输出中线 二:开始学习 1:什么是平行线查找? 按照传统的算法,必须是开两…...
小甲鱼第004讲:变量和字符串(下)| 课后测试题及答案
问答题: 0. 请问下面代码有没有毛病,为什么? 请问下面代码为什么会出错,应该如何解决? 答:这是由于在字符串中,反斜杠()会与其随后的字符共同构成转义字符。 为了避免这种不测情况的发生,我们可以在字符串的引号前面…...
2025 蓝桥杯省赛c++B组个人题解
声明 本题解为退役蒻苟所写,不保证正确性,仅供参考。 花了大概2个半小时写完,感觉比去年省赛简单,难度大概等价于 codeforces dv4.5 吧 菜鸡不熟悉树上背包,调了一个多小时 题目旁边的是 cf 预测分 所有代码均以通…...
2025蓝桥杯算法竞赛深度突破:创新题型与高阶策略全解析
一、新型算法范式实战 1.1 元启发式算法应用(预测难度:★★★★) 题目场景:星际货物装载 需在飞船载重限制下选择最优货物组合,引入遗传算法解决NP-Hard问题: 染色体编码:二进制串表示货物选择…...
网络流量管理-流(Flow)
1. 传统网络的问题:快递员送信模式 想象你每天要寄100封信给同一个朋友,传统网络的处理方式就像一个固执的快递员: 每封信都单独处理:检查地址、规划路线、盖章、装车…即使所有信的目的地、收件人都相同,也要重复100…...
Spring Boot对接马来西亚股票数据源API
随着对东南亚市场的兴趣日益增长,获取马来西亚股票市场的实时和历史数据变得尤为重要。本文将指导您如何使用Spring Boot框架对接一个假定的马来西亚股票数据源API(例如,StockTV API),以便开发者能够轻松访问和处理这些…...
MySQL 面经
1、什么是 MySQL? MySQL 是一个开源的关系型数据库,现在隶属于 Oracle 公司。是我们国内使用频率最高的一种数据库,我本地安装的是比较新的 8.0 版本。 1.1 怎么删除/创建一张表? 可以使用 DROP TABLE 来删除表,使用…...
【Flink运行时架构】作业提交流程
本文介绍在单作业模式下Flink提交作业的具体流程,如下图所示。 客户端将作业提交给YARN的RM;YARN的RM启动Flink JobManager,并将作业提交给JobMaster;JobMaster向Flink内置的RM请求slots;Flink内置的RM向YARN RM请求…...
【AutoTest】自动化测试工具大全(Java)
😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 &#x…...
当DRAM邂逅SSD:新型“DRAM+”存储技术来了!
在当今快速发展的科技领域,数据存储的需求日益增长,对存储设备的性能和可靠性提出了更高的要求。传统DRAM以其高速度著称,但其易失性限制了应用范围;而固态硬盘SSD虽然提供非易失性存储,但在速度上远不及DRAM。 为了解…...
【算法】快速排序
算法系列六:快速排序 一、快速排序的递归探寻 1.思路 2.书写 3.搭建 3.1设计过掉不符情况(在最底层时) 3.2查验能实现基础结果(在最底层往上点时) 3.3跳转结果继续往上回搭 4.实质 二、快速排序里的基准排序 …...
Python快速入门指南:从零开始掌握Python编程
文章目录 前言一、Python环境搭建🥏1.1 安装Python1.2 验证安装1.3 选择开发工具 二、Python基础语法📖2.1 第一个Python程序2.2 变量与数据类型2.3 基本运算 三、Python流程控制🌈3.1 条件语句3.2 循环结构 四、Python数据结构🎋…...
机器学习中的数学(PartⅡ)——线性代数:2.1线性方程组
概述: 现实中很多问题都可被建模为线性方程组问题,而线性代数为我们提供了解决这类问题的工具。先看两个例子: 例子1: 一家公司有n个产品,分别是,生产上述产品需要m种原料,每个产品需要其中一…...
大模型上下文协议MCP详解(2)—核心功能
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl1. 标准化上下文交互技术 1.1 实时数据接入能力 MCP(Model Context Protocol)通过标准化的接口,为 AI 模型提供了强大的实时数据接入能力,使其能够快速获取和处理来自不同数据源的实时信息。…...
检测到目标URL存在http host头攻击漏洞
漏洞描述 修复措施 方法一: nginx 的 default_server 指令可以定义默认的 server 去处理一些没有匹配到 server_name 的请求,如果没有显式定义,则会选取第一个定义的 server 作为 default_server。 server {listen 80 default_server; …...
【 Beautiful Soup (bs4) 详解】
引言 Beautiful Soup 是 Python 最流行的 HTML/XML 解析库,能够从复杂的网页文档中高效提取数据。以下是其核心知识点及示例代码。 一、库简介 1. 核心模块 BeautifulSoup:主类,用于构建文档树结构Tag:表示 HTML/XML 标签的对象…...
Cuto壁纸 2.6.9 | 解锁所有高清精选壁纸,无广告干扰
Cuto壁纸 App 提供丰富多样的壁纸选择,涵盖动物、风景、创意及游戏动漫等类型。支持分类查找与下载,用户可轻松将心仪壁纸设为手机背景,并享受软件内置的编辑功能调整尺寸。每天更新,确保用户总能找到新鲜、满意的壁纸。 大小&am…...
人工智能之数学基础:复矩阵
本文重点 复矩阵是线性代数中以复数为元素的矩阵,是实矩阵在复数域上的自然推广。与实矩阵相比,复矩阵在数学性质、运算规则和应用场景上具有独特性,尤其在量子力学、信号处理、控制理论等领域发挥关键作用。 复矩阵的定义与表示 定义:复矩阵指的是元素含有复数的矩阵。…...
numpy初步掌握
文章目录 一、前言二、概述2.1 安装2.2 基础 三、数组3.1 数组创建3.1.1 从已有数据创建3.1.2 创建特殊值数组3.1.3 创建数值范围数组3.1.4 随机数组生成3.1.5 其他 3.2 数组属性 四、数组操作4.1 索引/切片4.2 数组遍历4.3 修改形状4.4 更多 五、数组运算5.1 常规运算5.2 广播…...
unity曲线射击
b站教程 using UnityEngine; using System.Collections;public class BallLauncher : MonoBehaviour {public float m_R;public NewBullet m_BulletPre;public Transform m_Target;private void Start(){StartCoroutine(Attack());}private void OnDestroy(){StopAllCoroutine…...
[特殊字符] 各领域 Dummy 开关实现方式大集合
涵盖硬件、软件、工业控制、游戏开发及网络虚拟化场景: 🔌 1. 电子 / 硬件工程 🛠️ (1) 物理替代方案 🧲 跳线帽(Jumper)或短路块 👉 模拟开关“开/关”状态 ✅ 示例:开发板上的 B…...
深度解析基于 Web Search MCP的Deep Research 实现逻辑
写在前面 大型语言模型(LLM)已成为我们获取信息、生成内容的重要工具。但它们的知识大多截止于训练数据的时间点,对于需要实时信息、跨领域知识整合、多角度观点比较的深度研究 (Deep Research) 任务,它们往往力有不逮。如何让 LLM 突破自身知识的局限,像人类研究员一样,…...
set 的 contains
语法: set<int> num_set; st.contains(num); 在 C 中,!num_set.contains(num - 1) 这行代码通常用于检查一个集合(num_set)中是否不存在某个值(num - 1)。以下是对这行代码的详细解释:…...
深度学习总结(7)
用计算图进行自动微分 思考反向传播的一种有用方法是利用计算图(compu- tation graph)。计算图是TensorFlow和深度学习革命的核心数据结构。它是一种由运算(比如我们用到的张量运算)构成的有向无环图。下图给出了一个模型的计算图表示。 计算图是计算机科学中一个非常…...
linux网络环境配置
今天我们来了解一下ip获取的两种方式,知道两者的特点,并且学会配置静态ip,那么话不多说,来看. linux网络环境配置. .第一种方式(自动获取): 说明:登录后,通过界面的来设置自动获取ip,特点;Linux启动后会自动获取ip,缺点是每次自动获取的ip地址可能不一样. 第二种方式(指定I…...
SSRF漏洞公开报告分析
文章目录 1. SSRF | 获取元数据 | 账户接管2. AppStore | 版本上传表单 | Blind SSRF3. HOST SSRF一、为什么HOST修改不会影响正常访问二、案例 4. Turbonomic 的 终端节点 | SSRF 获取元密钥一、介绍二、漏洞分析 5. POST | Blind SSRF6. CVE-2024-40898利用 | SSRF 泄露 NTL…...
Java接口深度解析
一、为什么需要接口 接口是Java实现多态的重要机制,核心价值体现在: 实现多继承能力:突破单继承限制,允许类实现多个接口规范系统解耦:制定通用标准,隔离实现与调用方增强扩展性…...
VitePress 项目部署 cloudflare page 提示 npm run build 错误
构建的错误信息如下: 09:52:57.975 ➤ YN0000: Done with warnings in 3s 120ms 09:52:58.072 Executing user command: npm run build 09:52:58.817 npm ERR! Missing script: "build" 09:52:58.818 npm ERR! 09:52:58.818 npm ERR! To see a list of …...
#Hash 模式 vs History 模式
📌 一、概念对比:Hash 模式 vs History 模式 特性Hash 模式History 模式URL 样式http://example.com/#/homehttp://example.com/home是否刷新页面❌ 不会刷新(仅 hash 变化)✅ 通过 HTML5 API 控制,不刷新原理window.…...
图像融合(Image Fusion)是什么
图像融合(Image Fusion)将来自相同类型传感器或成像方式的多幅图像(通常内容是一样的)进行融合,提高图像清晰度、对比度、空间或时间分辨率。得到比原始图像更清晰或信息更丰富的图像 常见类型: 多时相图…...
基于YOLOV8的中草药识别检测系统(包含数据集+PyQt5界面+系统代码)
一、简介 本项目构建了基于 YOLOV8 深度学习网络模型的中草药识别检测系统。凭借 YOLOV8 卓越的性能,该系统能够高效、精准地识别检测大枣、 百合、黄连 、乌梅、厚朴 、牡蛎 、海马 、罗汉果 、甘草、三七、 通草、 薏苡仁、 枸杞子 、八角茴香等 50种常见植物中草…...
【愚公系列】《高效使用DeepSeek》066-纠纷解决话术
🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...
7. 解立方根
题目描述 给定一个正整数 N,请你求 N 的立方根是多少。 输入描述 第 1 行为一个整数 T,表示测试数据数量。 接下来的 T 行每行包含一个正整数 N。 1≤T≤105,0≤N≤105。 输出描述 输出共 T 行,分别表示每个测试数据的答案…...
【愚公系列】《Python网络爬虫从入门到精通》047-验证码识别(第三方验证码识别)
🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...
C++指针(二)
个人主页:PingdiGuo_guo 收录专栏:C干货专栏 前言 本篇是介绍数组指针与指针数组的概念,用处,操作以及练习的。点赞破五十,更新下一期。 文章目录 1.数组指针 1.1数组指针的概念 1.2数组指针的用处 1.3数组指针的操…...
C++有关内存的那些事
个人主页:PingdiGuo_guo 收录转栏:C干货专栏 前言 本篇博客是讲解关于C内存的一些知识点的。 文章目录 前言 1.内存函数 1.1memcpy函数 1.2memmove函数 1.3 memset函数 2.各数据类型占用 2.1bool类型 2.2char类型 2.3short、int、long类型及整数…...
4.11时钟延迟
时钟偏差:同一个时钟域内的时钟信号到达数字电路的各个部分(寄存器)所用的时间差异 信号达到目标寄存器与接收寄存器的时间差【一般默认信号经过电路时间不计,】 图源:优化时钟网络之时钟偏移-CSDN博客 时钟周期是计…...
下列软件包有未满足的依赖关系: python3-catkin-pkg : 冲突: catkin 但是 0.8.10-
下列软件包有未满足的依赖关系: python3-catkin-pkg : 冲突: catkin 但是 0.8.10- 解决: 1. 确认当前的包状态 首先,运行以下命令来查看当前安装的catkin和python3-catkin-pkg版本,以及它们之间的依赖关系: dpkg -l | grep ca…...
ANSI C 和 C89/C90
在嵌入式开发中提到的 ANSI 通常是指 ANSI C 标准,而 C89 是该标准的另一个名称。以下是详细的解释和两者的关系: 1. ANSI C 是什么? ANSI(American National Standards Institute,美国国家标准协会)在 19…...
git仓库中.git文件夹过大的问题
由于git仓库中存放了较大的文件,之后即使在gitignore中添加,也不会导致.git文件夹变小。 参考1 2 通过 du -d 1 -h查看文件大小 使用 git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail…...
【android bluetooth 框架分析 01】【关键线程 6】【主线程与核心子线程协作机制】
主线程与核心子线程的协作机制 一、蓝牙进程中的线程架构全景图 在Android蓝牙协议栈中,线程分工非常明确,形成了一个高效的协作体系。我们可以将其想象成一个医院的组织架构: 主线程:相当于医院的"前台接待处"&#…...
蓝桥杯比赛 python程序设计——神奇闹钟
问题描述 小蓝发现了一个神奇的闹钟,从纪元时间(19701970 年 11 月 11 日 00:00:0000:00:00)开始,每经过 xx 分钟,这个闹钟便会触发一次闹铃 (纪元时间也会响铃)。这引起…...