回顾面试题
this指向问题题1 See the Pen this指向问题1 by Harry (@rr210) on CodePen. 题2 See the Pen this 2 by Harry (@rr210) on CodePen. 题3 See the Pen Untitled by Harry (@rr210) on CodePen. 题4 See the Pen this4 by Harry (@rr210) on CodePen. css面试题 BFC(块级格式化上下文,用于清除浮动,防止margin重叠) 独立的容器 BFC的生成 1234float 不为none的元素position为fixed和absolute的元素display为inline-block,table-cell,talbe-caption,flex,inline-flex的元素overflow不为visible的元素 常见的块元素有<h1>~<h6>、<p>、<div>、<ul&g ...
Pinia学习笔记
来自B站小满 Vuex 和 Pinia 的优缺点Pinia的优点 完整的 TypeScript 支持:与在 Vuex 中添加 TypeScript 相比,添加 TypeScript 更容易极其轻巧(体积约 1KB);store 的 action 被调度为常规的函数调用,而不是使用 dispatch 方法或 MapAction 辅助函数,这在 Vuex 中很常见支持多个Store,支持 Vue devtools、SSR 和 webpack 代码拆分。 Pinia的缺点 不支持时间旅行和编辑等调试功能 Vuex的优点 支持调试功能,如时间旅行和编辑 适用于大型、高复杂度的Vue.js项目 Vuex的缺点 从 Vue 3 开始,getter 的结果不会像计算属性那样缓存 Vuex 4有一些与类型安全相关的问题 pinia介绍 Pinia.js 有如下特点: 完整的 ts 的支持; 足够轻量,压缩后的体积只有1kb左右; 去除 mutations,只有 state,getters,actions; actions 支持同步和异步; 代码扁平化没有模块嵌套,只有 store ...
React学习
来自B站李立超老师 React与传统MVC的关系 React不是一个完整的MVC框架,最多可以认为是MVC中的V(View),甚至React并不非常认可MVC开发模式;React 构建页面 UI 的库。可以简单地理解为,React 将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合、嵌套,就成了我们的页面。 React的特性1234567特点:1.声明式设计-React采用声明范式,可以轻松描述应用。2.高效一React通过对DOM的模拟(虚拟dom),最大限度地减少与DOM的交互。3.灵活-React可以与已知的库或框架很好地配合。4.JSX - JSX是JavaScript语法的扩展。5.组件-通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。6.单向响应的数据流- React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。 css样式写法 css写法 数据通信 Context effect(副作用) 解决巡回问题 在react严格模式下 会进行重复调用 effect 使用useEffe ...
毕业设计-基于深度学习的中草药害虫识别系统的设计与实现
毕业设计项目视频展示 图片展示系统架构 前端功能设计前端用到的库 Vue3 vant3 echart 数据的分析 swiper 轮播效果 html2canvas 海报制作 nprogress 请求加载 compressorjs 图片压缩 前端的性能优化处理 使用webpack分析出占用性能的文件,插件(BundleAnalyzerPlugin ),逐一分离 使用cdn静态加速,Vue,vant,swiper,echart,html2canvas这些公共的组件 都是以CDN的形式进行加载请求(生产环境和线上环境区别处理) 前后端开启Gzip加速,前端生成gzip处理后得压缩文件,后端使用nginx开启gzip静态加速 组件使用异步加载的方式,Vue3使用defineAsyncComponent才能实现,将异步组件进行分离生成一个单独的chunk 后端介绍后端用到的技术 YOLO-v5 Flask tornado 利用Tornado的wsgi模块来托管flask应用 flask_restful 模块化处理 方便维护 Mysql 8.0.23 模块化展示 后台管理介绍仓库 ...
卷积神经网络学习
为什么使用卷积运算 使用卷积比全连接网络少很多参数,为了计算高分辨率的图片,很少的参数以便我们可以使用较小的训练集来训练,有利于预防过拟合 使用卷积就是为了提取显著特征,减少特征维数,减少计算量。 边缘检测 表示卷积,使用3x3过滤器 如图是垂直边缘检测器 正边缘与负边缘 填充降维度公式:nxn * fxf = (n-f+1)x(n-f+1) 缺陷:不希望每一步都缩小维度,使得图片丢失了许多边界的信息 解决方法:填充图片扩大图片,给图片增加边框像素也就是 给一个padding为一像素 公式就变成了:n+2p-f+1=n如果让填充后的图片进行卷积等于原来图片的大小 p=(f-1)/2 并且过滤器建议使奇数 带步长的卷积 公式:(n+2p-f)/s+1 带步长卷积后的维度大小,除不尽可以向下取整floor=⌊ ⌋ 总结公式:⌊(n+2p-f)/s+1⌋ * ⌊(n+2p-f)/s+1⌋ 三维卷积 使用rgb图片 则是三通道(red,green,blue) 卷积神经网络结构 卷积神经网络主要由这几类层构成:输入层、卷积层,ReLU层、池化(Pooling)层和全连接层(全连 ...
docker学习
docker学习镜像(image) 一个模板,可以通过这个模块来创建容器服务 容器(container) 独立运行一个或者一个组应用,通过镜像来创建的 简易的Linux系统 仓库(repository) 仓库存放镜像的地方 分为公有仓库和私有仓库 底层原理怎么工作的 Client-Server结构的系统,Docker的守护进程运行再主机上 DockerServer接受到Docker-Client的指令 命令容器docker container my_commandcreate — 从镜像创建容器start — 启动现有容器run —创建新容器并启动它ls — 列出正在运行的容器inspect — 查看有关容器的大量信息logs — 打印日志stop — 优雅地停止运行容器kill — 突然停止容器中的主进程rm — 删除已停止的容器 镜像 使用docker image my_commandbuild — 生成镜像push — 将镜像推送到远程注册表ls — 列出镜像history — 请参阅中间镜像信息inspect — 查看大量有关镜像的信息,包括图层rm — 删除镜像 d ...
关于深度学习Pytorch
深度学习 机器语言的分支, 对数据进行特征学习, 人工神经网络为基础 机器学习和深度学习的区别 特征抽取: 人工的特征抽取的过程 深度学习:自动的进行特征抽取 数据量: 机器学习:数据少 深度学习:数据多 深度学习的应用场景 图像识别:物体识别场景识别人脸检测跟踪人脸身份认证自然语言处理技术 机器翻译:文本识别聊天对话语音技术 语音识别 神经网络 人工神经网络(英语:Artificial Neural Network,ANN),简称神经网络(Neural Network,NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型,用于对函数进行估计或近似。和其他机器学习方法一样, 神经网络已经被用于解决各种各样的问题, 例如机器视觉和语音识别. 这些问题都是很难被传统基于规则的编程所解决的. 模拟生物的神经元,对函数进行评估或者近似。神经网络中的基础单元,相互连接,组成神经网络 t=f(W^TA+b) 一个神经元的功能是求得输入向量与权向量的内积后, 经一个非线性传递函数得到一个标量结果. 单项神经网络 最基本的神经元形式由有限个 ...
Vue3基础知识整理
使用vite安装vue3项目123npm init vite-app 项目的名称cd 项目的名称npm run dev 样式穿透 Vue3 使用 :deep() 代替 /deep/ 兄弟之间的传值 使用eventBus 使用mitt依赖包mitt依赖包 后代关系之间的数据共享 使用provide方法发送数据 使用inject数组接受数据 默认导入的数据不是响应式的数据 在使用provide返回数据时 对数据进包装 使用computed方法, 实现响应式的数据 代理服务器 devServer 配置多个代理 使用pathRewrite 方式一 123devServer: { proxy: 'http://localhost:5000'} 说明 优点:配置简单,请求资源时直接发给前端 缺点:不能配置多个代理,不能灵活的控制请求是否走代理 工作方式:当请求了前端不存在的资源时,请求会转发给服务器(优先匹配前端的资源) 方式二 1234567891011121314151617181920module.exports = { ...
ES6模块化-promise-高级用法
前端模块化规范 AMD CMD CommonJS ES6模块化规范取代之前的非标准语法, 导入使用import 共享使用export 配置package.json 加入 type:"module" es6模块化三种用法默认导出, 默认导入 默认导出 1234567891011let n1 = 10let n2 = 20function show() { console.log(1);}export default { n1, show} 默认导入 12import m1 from './index.js'console.log(m1); 按需导出导入 名称保持一致 可以使用 as 重新命名 可以和默认导出配合使用 12345678// 按需导出export let n1 = 'aaa'export let n2 = 'vcv'export function say() {}export default = { a: 2 ...