【手写 Vue2.x 源码】第二十六篇 - 数组依赖收集的实现
一,前言
上篇,主要介绍了数组依赖收集的原理
本篇,数组依赖收集的实现
二,对象依赖收集的总结
{}.dep => watcher
目前,“对象本身”和“对象中的每一个属性”都拥有一个 dep 属性,用于做依赖收集
此时,为对象新增一个不存在的新属性时,就可以找到对象上的 dep 通知对应watcher做视图更新了
之前:对象本身没有 dep,只有修改了对象中已经存在的属性才会触发更新
现在:对象本身就有 dep,新增对象属性可以通知 dep 中收集的 watcher 更新
三,数组依赖收集的位置
对象或数组类型会通过 new Observer 创建 observer 实例,
所以,Observer 中的 value 可能是数组,也可能是对象;Observer 类中的 value,即 this 指 observer 实例,
为其添加 `__ob__` 属性,这样每个对象本身或数组就拥有了 __ob__ 属性;因此,可在此处为 observer 实例添加 dep 属性,
这就相当于为数组或对象本身都增加了一个 dep 属性;这样就可以在对象或数组上,通过`value.__ob__.dep` 取到 dep,
当数组数据变化时,可以通过 dep 中收集的 watcher 触发视图更新操作;
四,数组和对象本身做依赖收集
在使用 defineReactive 定义属性时,此时value值有可能是数组
对数组的取值会走 Object.defineProperty 的 get方法而 get 方法中就会进行依赖收集,如果当前value值为数组,就进行依赖收集
所以,当取值时,会对数组和对象本身进行一次依赖收集
// src/observe/index.js/*** 给对象Obj,定义属性key,值为value* 使用Object.defineProperty重新定义data对象中的属性* 由于Object.defineProperty性能低,所以vue2的性能瓶颈也在这里* @param {*} obj 需要定义属性的对象* @param {*} key 给对象定义的属性名* @param {*} value 给对象定义的属性值*/
function defineReactive(obj, key, value) {// childOb 是数据组进行观测后返回的结果,内部 new Observe 只处理数组或对象类型let childOb = observe(value);let dep = new Dep(); // 为每个属性添加一个 depObject.defineProperty(obj, key, {get() {if(Dep.target){// 对象属性的依赖收集dep.depend();// 数组或对象本身的依赖收集if(childOb){ // 如果 childOb 有值,说明数据是数组或对象类型// observe 方法中,会通过 new Observe 为数组或对象本身添加 dep 属性childOb.dep.depend(); // 让数组和对象本身的 dep 记住当前 watcher}}return value;},set(newValue) {if (newValue === value) returnobserve(newValue);value = newValue;dep.notify(); // 对象属性的更新}})
}
默认情况下,会为对象本身或数组本添加一个 dep 属性,
当进行观测时,会拿到数组的 observer 实例,即 childOb,`childOb.dep` 就是 dep;在页面对数组进行取值时,如{{arr}} 一定会走 get 方法
如果 childOb 有值,就让当前数组把依赖收集起来`childOb.dep.depend()`
这样就完成了数组的依赖收集
数组本身添加了 dep :
五,数组中嵌套对象(对象或数组)的递归处理
数组中有可能嵌套数组或对象:如[{}]或[[]]
当前只会对数组的外层进行依赖收集,数组中嵌套的数组不会进行依赖收集
注意:此时,数组中嵌套的对象是可以进行依赖收集的
1,数组中嵌套对象的依赖收集原理
例如:arr:[{a:1},{b:2}]当对 arr 取值时{{arr}},默认会对 arr 进行 JSON.stringify(arr),
JSON.stringify 会取出内部所有属性进行打印输出
即 JSON.stringify 会对内部属性进行取值操作,此时会走 getter,
而 getter 中就会为对象本身和内部属性进行依赖收集所以,这种情况默认就会进行依赖收集
<body><div id=app>{{arr}}</div><script src="./vue.js"></script><script>// 测试数组的依赖收集let vm = new Vue({el: '#app',data() {return { arr: [{ a: 1 }, { b: 2 }] }}});vm.arr[0].a = 100;console.log("输出当前 vm", vm);</script>
</body>页面输出:[{"a":100},{"b":2}]
对 arr 取值,内部会进行 JSON.stringify,就会为对象中的 a 属性做依赖收集;
所以,数组中的对象中的a 属性更新时,走的就是对象的更新和数组无关
当前数组中的对象中的属性是有 dep 的:
2,数组中嵌套数组的依赖收集实现
例如:arr:[[1][2]]当对 arr 取值时{{arr}},只对外层数组进行依赖收集,内部的数组没有进行依赖收集
所以,arr[0].push直接操作内部数组,是不会触发视图更新的
需要对数组类型做递归依赖收集
数组中如果有对象[{}],也需要为对象本身做依赖收集,
因为未来有可能会为对象新增属性,对象本身做依赖收集才可以更新视图
注意:前面虽然已经对数组进行了递归观测,但用户使用数据不是递归使用的
// src/observe/index.jsfunction defineReactive(obj, key, value) {let childOb = observe(value);let dep = new Dep();Object.defineProperty(obj, key, {get() {if(Dep.target){dep.depend();if(childOb){childOb.dep.depend();if(Array.isArray(value)){// 如果当前数据是数组类型dependArray(value) // 可能数组中继续嵌套数组,需递归处理} }}return value;},set(newValue) {if (newValue === value) returnobserve(newValue);value = newValue;dep.notify();}})
}/*** 使数组中的引用类型都进行依赖收集* @param {*} value 需要做递归依赖收集的数组*/
function dependArray(value) {// 让数组里的引用类型都收集依赖// 数组中如果有对象:[{}]或[[]],也要做依赖收集(后续会为对象新增属性)for(let i = 0; i < value.length; i++){let current = value[i];// current 上如果有__ob__,说明是对象,就让 dep 收集依赖(只有对象上才有 __ob__)current.__ob__ && current.__ob__.dep.depend();// 如果内部还是数组,继续递归处理if(Array.isArray(current)){dependArray(current)}}
}
测试:
<body><div id=app> {{arr}} </div><script src="./vue.js"></script><script>let vm = new Vue({el: '#app',data() {return { arr: [[]] }}});console.log("输出当前 vm", vm);</script>
</body>页面输出:[{"a":100},{"b":2}]
外层数组本身和内层数组都添加了 dep:
3,数组的视图更新
上边已经将数组的依赖进行了收集,目前 arr.push 还不能更新视图,因为没有调用更新方法
所以,当arr.push等操作变更数组时,还需要再触发数组的依赖更新(通过 ob 拿到 dep 调用 notify)
// src/observe/array.jslet oldArrayPrototype = Array.prototype;
export let arrayMethods = Object.create(oldArrayPrototype);
let methods = ['push','pop','shift','unshift','reverse','sort','splice'
]methods.forEach(method => {arrayMethods[method] = function (...args) {oldArrayPrototype[method].call(this, ...args)let inserted = null;let ob = this.__ob__; // 获取数组上的 __ob__switch (method) {case 'splice':inserted = args.slice(2);case 'push':case 'unshift':inserted = args;break;}if(inserted)ob.observeArray(inserted);ob.dep.notify(); // 通过 ob 拿到 dep,调用 notify 触发 watcher 做视图更新}
});
测试修改数组内部嵌套的数组:
<body><div id=app> {{arr}} </div><script src="./vue.js"></script><script>let vm = new Vue({el: '#app',data() {return { arr: [[]] }}});vm.arr[0].push(100); // 修改数组中的数组</script>
</body>// 页面输出:[[100]]
六,总结
响应式数据原理分为对象和数组两大类,在 Vue 初始化过程中:
- 通过对象属性劫持,会为所有属性添加 dep
- 还会为属性值进行依赖收集:为对象本身和数组也添加 dep
- 如果是属性变化,将触发属性对应的 dep 去做更新;
- 如果是数组更新,将触发数组本身的 dep 去做更新;
- 如果取值时属性值为数组,数组中的对象类型(数组中嵌套的对象或数组)递归进行依赖收集
- 如果数组中嵌套了对象,由于对象取值会进行 JSON.stringify,所以对象中的属性默认就会做依赖收集
七,结尾
本篇,主要介绍了数组依赖收集的实现
- 对象依赖收集的总结;
- 数组依赖收集的位置;
- 数组和对象本身做依赖收集;
- 数组中嵌套对象(对象或数组)的递归处理;
下一篇,Vue 生命周期的实现
维护日志
20210629:
- 添加 5-3、数组的视图更新部分
- 添加各种情况的测试 Demo、截图、部分文案调整
- 添加 6、总结部分
20210805:
- 更新“结尾”部分与文章摘要
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4498569.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
ansible学习笔记4
ansible 1.按照要求定义以下变量。(可以在多个位置下定义实现相应操作即可) | 变量名 | 值 | | --------- | ------- | | file_name | newfile | | user_name | devops | | pk_name | httpd | 2.编写任务模块在node1和node2主机中根据以上变量值创…...

iOS开发 获取手机型号
1.导入头文件#import "sys/utsname.h"2.获取原理:获取当前设备的型号标识符,根据型号标识符对应的手机型号来判断当前设备型号。 型号标识符与手机型号的对应关系见:https://www.theiphonewiki.com/wiki/Models#iPhone3.代码实例&a…...

Java中什么是单例模式
单例模式又叫做 Singleton模式,指的是一个类,在一个JVM里,只有一个实例存在。 1.饿汉式单例模式 通过私有化其构造方法,使得外部无法通过new 得到新的实例。 举个例子: LOL里有一个怪叫大龙GiantDragon,只…...

无胁科技-TVD每日漏洞情报-2022-12-15
漏洞名称:PowerShell 远程代码执行漏洞 漏洞级别:严重 漏洞编号:CVE-2022-41076;CNNVD-202212-3016 相关涉及:Microsoft Windows 漏洞状态:未定义 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2022-25797 漏洞名称:Windows 安全套接字隧道协议 (SSTP) 远程代码…...

ora-01756 secureCRT
遭遇问题 secureCRT 登录数据库主机,sqlplus 里面执行sql 语句。 由于sql 语句包含中文,sqlplus 报错 ORA-01756: quoted string not properly terminated 解决方案 secureCRT :点击 options ->session options 这里把 UTF-8 改成 Defa…...

关于博客记录的内容
正如苏东坡所言,故书不厌百回读,熟读深思子自知,一些书需要反复咀嚼,才能感觉到它的真实味道。今天开通博客,主要是记录所看的书的经典内容,当然,只是看书最多是学会装逼,只有实践才…...

chrome浏览器下载加速
进入“chrome://flags/”页面,搜索到“Parallel downloading”一项后,将其“Enabled”即可。...

BI项目1 酒店相关
概览: 从来源抽取数据(用kettle),(ODS)存储到数据仓库, 对数据整合(先放在DW层),整合成两类表,事实表,维度表。 然后可能再整合到 DM层…...
TIOBE 9 月编程语言:C++ 突起、Java 流行度下降
整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)编程语言社区 TIOBE 最新发布了 9 月编程语言排行榜。自从今年5月被C语言超越后,Java就一直位列第2,久久无法突破,市场份额也在逐月降低,本月的市场占比相…...

Android之EditText输入框限制表情的输入
代码如下: public class ContainsEmojiEditText extends EditText { // 输入表情前的光标位置 private int cursorPos; // 输入表情前EditText中的文本 private String inputAfterText; // 是否重置了EditText的内容 private boolean rese…...

华为手机锁屏下拉怎么设置_华为手机怎么设置会滚动的锁屏文字?设置步骤超简单,一看就会...
小米手机设置锁屏滚动文字是通过自定义运营商名称来实现的,但是华为手机并不能自定义运营商名称,大部分华为手机只能选择显示或不显示运营商名称。那么问题来了,华为手机要怎么操作才能让锁屏文字滚动起来呢?按照下面的操作步骤去…...

什么是单例模式?单例模式的举例
什么是单例模式? Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍懒汉式单例、饿汉式单例. 特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3.单例类的构造器必须是私有,不…...

代数结构:群、环、域、模、线性空间、格
群 定义 设GGG是非空集合,代数结构(G,∘)(G,\circ)(G,∘)叫做群,如果GGG上的二元运算∘\circ∘满足 结合律:(a∘b)∘ca∘(b∘c)(a \circ b) \circ c a \circ (b \circ c)(a∘b)∘ca∘(b∘c)单位元:e∘gg∘ege \circ g g \cir…...

小程序如何做成html的滚动字幕,如何在手机上制作滚动字幕?
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ExtCtrls, StdCtrls, ComCtrls, CommCtrl;typeTForm1 class(TForm)ListView1: TListView;ListView2: TListView;Label1: TLabel;Label2: TLabel;procedure For...

程序员学习能力提升三要素
IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。 众所周知…...

广东工业大学计算机学院书记,计算机学院召开2018年工作总结大会
单 位:计算机学院2019年1月8日上午,计算机学院在工学一号馆216会议室召开了学年工作总结大会。会议由学院陈平华副院长主持。会上,郭维喜书记对过去一学年学院各项工作给予了肯定,并从党的建设、意识形态工作、思想宣传工作、师德…...

五大移动GPU厂商
《谁能笑傲江湖?移动处理器门派那些事儿》一文中我们把2012年的移动处理器的厂商做了一番介绍,并按照各自的属性给划分了门派。既然把他们称为江湖门派,那么每一个门派总要有自己的绝活。移动处理器厂商中CPU基本都是源自ARM,同架…...

什么是单例模式?为什么要用单例模式?实现的几种方式?
Python 中的单例模式单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如…...

软件定义汽车技术体系研究
当今,智能汽车已成为全球汽车产业的战略发展方向,汽车技术与工程核心逐渐从传统硬件层面转移到软件层面,软件定义汽车成为未来汽车发展的重要趋势。本文中通过对比分析传统汽车与软件定义汽车,提出软件定义汽车整车开发、整车物理…...

Ubuntu如何备份和恢复系统 - 落花往事的日志 - 网易博客
在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复…...

CAD如何快速转换为PDF
工作中有时候不免需要将CAD文档转换PDF格式,这样更方便传阅和查看,那么怎么将CAD转换为PDF格式了,下面小编就一起带大家来看看吧。 1、首先打开电脑网页,搜索“speedpdf”在下拉的页面中选择转换器网页,工具中选择“C…...

唯有爱和勇气不可辜负 《无双争霸战》删档计费测试明日开启
备受期待的3D魔幻仙侠手游《无双争霸战》,终于将在11月28日上午10点,于安卓平台及联运渠道火热开启删档计费测试啦!在测试期间,不仅有萌逗神宠陪你勇闯天涯,大爱与勇气也将始终伴你同行。百变时装、华丽翅膀、炫酷坐骑…...

单例模式的几种形式
单例模式 概述 单例模式是一种非常简单的设计模式之一,当我们使用的对象要在全局唯一时就需要用到该模式,以保证对象的唯一性。除此之外,还能避免反复的实例化对象,减少内存开销。 单例模式的有如下几种 饿汉式 public class H…...

建议收藏:模拟版图高频面试题,直通面试,Offer抢先拿!
模拟板图工程师在行业内是个神奇的存在,**“零基础的门槛”、“岗位需求量大”、“高就业薪资”**模拟版图工程师成为了行业宠儿,促使很多人跨行也想要跳槽到这个岗位,之前有和大家分享过: 模拟版图太难学?领模拟版图…...

考研英语不熟悉的词义(List16-List20)
文章目录考研英语不熟悉的词义(List16-List23)List 16(48个)List 17(41个)List 18(42个)List 19(36个)List 20(43个)考研英语不熟悉的…...
linux 终端命令字体大小,如何实现更改Linux终端字体的种类和大小
本文译自:“How To Change Linux Console Font Type And Size”译者:开源视界校对:OpenView原文及本文遵循:CC BY-NC 4.0协议如果你拥有图形桌面环境,则很容易更改文本字体类型及其大小。那么,你如何在没有…...

中南大学计算机学院楠,中南比湖大更湖大,不对,应该说湖大没中南大学中南。...
计算机科学与技术复试名单中免试生40,强军计划3人,统考生34人。工科线划305,结果上线的34人。是不是应该说湖大没有中南中南呢?187 105339000073982 罗真 计算机科学与技术 强军计划188 105339000073976 兰福松 计算机科学与…...
从CPU cache一致性的角度看Linux spinlock的不可伸缩性(non-scalable)
凌晨一点半的深圳雨夜: 豪雨当夜惊起有人赏,笑叹落花无声空飘零。 喜欢这种豪雨,让人兴奋。惊起作文以呜呼之感叹! 引用上一篇文章: 优化多核CPU的TCP新建连接性能–重排spinlock:https://blog.csdn.n…...

java陵行_《舂陵行》_元结的诗词_诗词名句网
作品赏析【注释】:原序:癸卯岁,漫叟授道州刺史。道州旧四万余户,经贼已来,不满四千,大半不胜赋税。到官未五十日,承诸使征求符牒二百余封,皆曰:“失其限者,罪…...

办公神器,值得拥有
【办公神器】包含大量精品应用,办公辅助、自动化应用、在线游戏等。 所有应用均类似于云应用,无需手动安装,双击直接加载运行,始终保持最新版本。主界面UI使用html5css3制作,漂亮美观,可自定义背景、桌面宠…...

Java的基本语法(笔记)
基本语法: 注意点: 1、大小写敏感 2、类名,首字母大写 3、方法名,首字母小写,后面的字母大写 4、源文件名:必须和类名相同,以“.java”作为后缀,如果类名和源文件名不同,…...

什么是单例模式和多例模式
单例模式的关键有两点: 1、构造方法为私有,这样外界就不能随意调用。 2、get的方法为静态,由类直接调用 多例模式(Multiton) 1 、多例类可以有多个实例 2 、多例类必须能够自我创建并管理自己的实例,并向…...
高质量解读《互联网企业安全高级指南》三部曲(技术篇)——办公网络安全
前言: 高效读书,一张逻辑图读懂、读薄书中重点。 注:下面文字只是对逻辑思维图的”翻译“,节省时间,只看图即可。 办公网络安全逻辑思维图 1. 说明 1.1. 办公网络的安全是乙方安全公司提供解决方案最多的场景 1.…...

scv是什么
CSV是一种通用的、相对简单的文件格式(后缀名.csv),被用户、商业和科学广泛应用。最广泛的 应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的(往往 是私有的和/或无规范的格式)。…...

Maven和SVN
1. Maven Maven主要服务于基于java平台的项目构建,依赖管理和项目信息管理。 开发架构 MVCmodel 数据模型view 视图controller 控制器分层思想:controller(控制层) 接收请求/返回数据(结果)…...
模型姿态问题原因及解决——以obj格式为例
在Cesium中加载模型时一个需要注意的地方就是模型的姿态问题,我们在本篇文章及下一篇与大家进行探讨。 一、背景概述 cesium-1.47,gltf 2.0 我们知道目前市面上有许多种3d格式,各大厂商纷纷开发自己的数据格式以争取话语权。 而cesium支持多种格式的三…...

单例模式是什么
单例模式:系统运行期间,有且仅有一个实例 为什么要用单例模式? 单例模式节省公共资源,对应到我们计算机里面,像日志管理、打印机、数据库连接池、应用配置。 单例模式方便控制,就像日志管理,如果多个人同时来写日志,…...

洛谷 1265
这道题比较麻烦的一点是有条件2的限制,不过,我们可以证明条件2是不可能发生的,假设A要修AC,C要修BC,B要修AB,那么我们通过它们的距离关系推出矛盾。没有了条件2的限制,我们还要有条件3ÿ…...

什么是单例模式?
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对…...

nginx arm 启动 参数
./nginx -c /home/ubuntu/php/9_ok/android.nginx/conf/nginx.conf -p /home/ubuntu/php/9_ok/android.nginx...

CentOS安装Oracle19c
CentOS安装Oracle19c Oracle下载地址 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 修改系统yum源 [rootlocalhost oracle]# cat /etc/redhat-release CentOS Linux release 8.4.2105 [rootlocalhost oracle]# cd /etc/yum.repos…...

Flink Table API和SQL(上)
传送门: Flink Table API和SQL(上)(基本API介绍流处理表的特性)Flink Table API和SQL(中)(时间属性及窗口聚合查询联结查询)Flink Table API和SQL(下)(函数SQL客户端连接到外部系统) 文章目录概…...

猫扑的999个GIF图标 II
...

web安全
目录 1、XSS跨站脚本攻击: 2、CSRF跨站请求伪造: 3、CSRF和XSS的区别有哪些呢? 1、XSS跨站脚本攻击: 答:XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的安全漏洞,恶意攻击者…...
超劲爆的在线网站分享,神一般的存在,尤其是第二个!
互联网越来越强悍,相信我们都能够感受到,对于逐渐丰富的网络我们要做的就是利用这些资源不断的丰富自己,今天小编就简单和你们分享一些很好用的在线网站,小伙伴们准备好了吗? 一.苦瓜书盘 这个网站是专门为电子书爱好…...

阿里集团战略历史
昨晚上手机敲的,累死,有错别字,勿怪,我也是盲人摸象,勿笑。当然,我其实并不想单纯说阿里战略,因为大家即使看透了阿里战略一个劲的喊牛逼,对于大家也没有半毛钱价值。所以我只是把阿…...

NI LabVIEW 2015视觉开发必备软件和工具包
http://shixinhua.com/bbs/thread-8487-1-1.html NI LabVIEW&VISION 2015视觉开发必备软件和工具包 1 M) Y2 }) E9 r. _ NI视觉开发可以使用64位版本,因为其视觉包直接支持64位的版本。如果没有太多性能上的需求,使用32位即可,因为还要考…...

linux 服务器 告警声,服务器故障,报警声汇总
1短内存刷新失败2短内存ECC校验错误3短系统基本内存(第1个64K)检查失败4短系统时钟出错5短中央处理器(CPU)错误6短键盘控制器错误7短系统实模式错误,不能切换到保护模式8短显示内存错误(显示内存可能有所损坏)9短ROM BIOS检验和错误1长3短内存错误(内存损坏…...

什么是单例模式?单例模式详解
个人印象笔记地址:https://app.yinxiang.com/fx/eaa22560-57a4-4554-8de8-b5f254090d37 单例模式介绍 1.1 模式说明 实现1个类只有1个实例化对象 & 提供一个全局访问点 1.2 作用(解决的问题) 保证1个类只有1个对象,降低对…...

什么是单例模式?常见的单例模式写法有哪些?
什么是单例模式??? 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的软件设计模式之一,其目的是保证整个应用中只存在类的唯一一个实例。 几种常见的单例模式代码实现: 饿…...

李帅燕山大学计算机,燕山大学第二十三届学生会复试结果
燕山大学第二十三届学生会复试结果公 示燕山大学学生会本着“公开公平、竞争择优”的原则,经过第一轮面试和第二轮复试,经由燕山大学学生会主席团及各部部长的严格考核,燕山大学第二十三届学生会纳新工作已完成,希望同学们能够团结…...

加速浏览器控件的创建
加速浏览器控件的创建我们知道,应用程序中浏览器控件的第一个实例的创建过程比其他的实例创建过程慢得多。为了加速浏览器控件的创建,在应用程序的开始,可以创建一个隐藏的浏览器对象,使得应用程序中随时都至少有一个浏览器控件的…...

如何使linux用户下次登录强制修改密码
解决思路是:linux系统用户密码是有使用期限的,密码过期就需要用户修改密码,只要让用户密码立即过期,就可以实现让客户登录系统就更改密码。 可以使用chage命令来实现: chage -d 0 username #意思是密码最近一次修改时间为 1970/1/1&…...

破解学习笔记-----不脱壳破解
破解学习笔记-----不脱壳破解 1,OD载入程序-->ESP定律走到OEP 2,-->右键搜索ASCII码 3-找到关键跳-->F2下断 4,F8往下单步跟踪,直到程序运行起来-->输入假码,确认-->这样就来到了关键跳,修改…...

oracle 随机取值函数,随机数函数大全
每种编程语言一般都有生成随机数函数(也称为方法),为了便于使用,文章总结常用编程语言的随机数函数,主要包括 C#、C、C语言、PHP、Java、Javascript、vbscript、VB、Delphi、fortran、pascal、perl、prolog、python、ruby、MsSql、MySql、Ora…...

魔方软件测试自学,4 分钟!OpenAI 的机器手学会单手解魔方了,完全自学无需编程...
原标题:4 分钟!OpenAI 的机器手学会单手解魔方了,完全自学无需编程来源:OpenAI编辑:小芹,鹏飞本文转自公众号:新智元【导读】OpenAI的机器手学会单手解魔方了,而且还原一个三阶魔方全…...

Vim技巧-多行缩进
向前或向后缩进4个空格 按shift v组合键进入Visual Line模式,可使用方向键选择多行;按<或>,进行向前或向后缩进。注:有些设置为缩进一个Tab单位。 向前或向后缩进n个空格 向前缩进,实则是使用Visual Block模式…...

switch语句解决成绩等级问题
#include<stdio.h>int main(int argc, const char *argv[]) {int score;scanf("%d",&score);if(score > 100 || score < 0){printf("error\n");return -1;}switch(score / 10){case 10:case 9:puts("A");break;case 8:puts(&qu...

传奇世界服务端WIN7简单安装教程
我电脑是WIN7 32 位的,我分别上传32位的DBC2000和64位的DBC200064位和32位DBC2000架设步骤一:安装DBC2000 架设步骤二:把服务端解压在D盘中(客服端最新的都行) 架设步骤三:打开控制面板,点开小图…...

Vue中Vnode的创建与处理
文章目录什么是虚拟DOM为什么要使用虚拟DOM:h函数Vnode的创建过程VNode 的处理过程文章比较长,首先先看一下vnode的创建和处理过程的简要(源码下面都有注释,需要可以细看): 什么是虚拟DOM 虚拟DOM&#…...

「干货」用YOLOv5模型识别出表情!
文章来自:DataWhale。作者:闫永强,算法工程师。本文利用YOLOV5对手势进行训练识别,并识别显示出对应的emoji,如同下图:本文整体思路如下。提示:本文含完整实践代码,代码较长…...

【C++】二叉树进阶OJ题
🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉根据二叉…...

我的 ctf kali 常用命令
文件分析file文件分析binwalk -e文件分析拆分foremost文件拆分find / -type f -iname "" 名称查找find / -type f | xargs grep "Zmx" > ./find.txt内容查找locate / *.txt名称查找jd-guijava反编译 pyc文件头:03f3 转2进制后可反编译 …...

用YOLOv5模型识别出表情!
↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 作者:闫永强,算法工程师,Datawhale成员本文利用YOLOV5对手势进行训练识别,并识别显示出对应的emoji,如同下图&…...

定了!北京冬奥会售票群体出炉,门票需要预定吗?
根据北京冬奥组委会官网消息:9月29日,国际奥委会主席巴赫主持召开国际奥委会执行委员会会议,会议审议了北京2022年冬奥会和冬残奥会疫情防控关键政策。 在会议上决定了北京冬奥会及冬残奥会不面向境外观众售票,仅面向境内符合疫情…...

北京奥运门票销售4月启动(票价一览表)
除去开闭幕式,门票最贵的当属男篮决赛(1000元)。此外,足球和排球决赛门票价格最高为800元,而乒乓球、羽毛球以及部分田径项目的门票价格最高也达到了500元。诸如山地自行车、现代五项等冷门项目的门票价格较为便宜&…...

奥运门票系统瘫痪,再显数据库软肋
计算机核心技术机密资料《揭开数据库内核的神秘面纱》,免费索取! 引自某网站报道:北京奥运会门票面向境内公众第二阶段预售正式启动。上午一开始,公众提交申请空前踊跃。上午9时至10时,官方票务网站的浏览量达到了800…...

揭秘奥运会高科技应用
并且,开幕式使用了大量目前世界上最先进的灯具设备,配备了各种智能灯具近3000台,是历届奥运会数量最多、规模最大的一次。 上面所有这些设备都需要有一个管理、控制的中央平台。北京奥运开幕式后的几个小时,微软公司嵌入式视窗产品…...

详解分布式系统核心概念——CAP、CP和AP
最近研究Sykwalking,当调研 oap如何进行集群部署时发现:skywalking oap 之间本身不能搭建集群,需要一个集群管理器来组建集群,它支持nacos、zookeeper、Kubernetes、Consul、Etcd 五种集群管理器。我重点比较了nacos和zookeeper&a…...

redis入门-redis数据类型
redis入门 redis简介 2007年10月30日,北京奥运会门票面向境内公众第二阶段预售正式启动。上午一开始,公众提交申请空前踊跃。上午9时至10时,官方票务网站的浏览量达到了800万次,票务呼叫中心热线从9时至10时的呼入量超过了380万人…...

李彦宏:北京奥运购票系统瘫痪随想
昨天,北京奥组委票务中心在奥运新闻中心召开新闻发布会,就北京奥运会第二阶段销售工作暂停进行了情况说明。北京奥组委票务中心主任容军表示,目前票务中心正在对门票销售系统进行容量扩充和升级工作。除技术上升级之外,还将适当调…...

奥运门票官网的崩溃
虽说近年感受到越来越多的骄傲,中国还是有那么多不尽人意的地方。不说亚运村汇园公寓北面的那条路修了两年多都没有修好,埋好了又挖,挖好了再埋,那条路上的饭馆都倒闭了。也不说上个礼拜天,鸟巢施工把供水水管挖爆&…...

从奥运订票系统瘫痪说起
2008年,对于首都人民来说,没有什么比奥运会更大的事情了。如何买到一张称心如意的比赛门票,也成了很多人的一个梦想。然而,在奥运官网抢票购买的时候,这个梦想却轻易地被网上购票系统的瘫痪击成碎片,很多充…...

北京2008年奥运会门票价格详细一览表
项目最低最高日期场馆价区图看点订购开幕式20050008月8日20:00-23:59国家体育场 订购闭幕式15030008月24日20:00-23:59国家体育场 订购射箭501008月9日-15日奥林匹克公园射箭场 价区图看点订购田径508008月15日-24日国家体育场 价区图看点订购羽毛球505008月9日-17日北京工…...

java学习day31(redis1)redis入门
今日重点: Redis 简介 Redis 的下载与安装 Redis 的基本操作 文章索引: Redis 简介 Redis Redis 的应用 Redis 的下载与安装 安装 Redis 启动 Redis Redis 的基本操作 Redis 简介 2007年10月30日,北京奥运会门票面向境内公众第二阶段预售正式…...

北京奥运会门票价格确定 开幕式票价最低200元
官方网站11月29日讯 北京奥组委今天公布了符合公众收入水平的奥运门票价格。在全部可售票中,定价等于或低于100元的票数占58%。其中,有一部分门票将以低于10元的价格向中国学生发售。 在制定票务方案时,北京奥组委参考了往届奥运会和一些大型…...

Dijkstra——去北京看奥运
Description 2008年将到,王飞同学化了九牛二虎之力搞到了2张2008年奥运会足球赛决赛的门票。真是开心啊!他爸爸准备开车跟他一起去北京看球赛。不过门票费好贵啊,所以他爸爸说了,这个钱要在下学期的生活费里扣(好抠门&…...

说说北京奥运购票系统瘫痪这事儿
说说北京奥运购票系统瘫痪这事儿 作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://www.dbanotes.net/review/beijing_olympic_ticketes_system_crash.html 奥运购票网站据说刚上线就瘫痪了,听说而已&#x…...

北京奥运会门票价格一览表
日期 项目 最低价(元) 最高价(元)8月8日 开幕式200 50008月24日 闭幕式 150 30008月20日-21日 10公里公开水域游泳30308月9日-15日 射箭501008月9日-17日 羽毛球50 5008月13日-23日棒球50 1508月9日-24日篮球50 1000…...

【MySQL】运算符及相关函数详解
序号系列文章3【MySQL】MySQL基本数据类型4【MySQL】MySQL表的七大约束5【MySQL】字符集与校对集详解6【MySQL】MySQL单表操作详解文章目录前言MySQL运算符1,算术运算符1.1,算术运算符的基本使用1.2,常用数学函数的基本使用2,比较…...
android高德地图轨迹纠偏,RoutePath-(高德地图)根据定位点绘制路线+轨迹纠偏
轨迹纠偏的作用就是去掉绘制路线时候两个定位点之间产生的毛刺和尖角,使路线看起来更加的圆滑,正常IMG_0323.PNG- (void) DrawLine{CLLocationCoordinate2D coordinate;CLLocation *location;NSMutableArray * array [NSMutableArray array];for (int i…...

百度定位绘制轨迹
1 百度定位回调监听 此处注意;上次遇到个问题,在室内wifi能够进入if语句,但室外不能够定位,后来移动4g网络下调试,发现是getlocationtype没有对应的,也就是没有对移动网络对locationType进行处理ÿ…...

【地理空间】轨迹匹配算法学习总结
轨迹匹配算法总结为什么要做轨迹匹配几何方法隐式马尔科夫模型(HMM)简单的例子问题定义Viterbi算法求解最大可能序列具体实现——[map-matching](https://github.com/graphhopper/map-matching)为什么要做轨迹匹配 我们知道地图是通过GPS来实现定位的&a…...

Linux 中断子系统(四):GIC中断初始化
以我手中的 imx6ull开发板为例。 如果使用设备树的话就需要在设备树中设置好中断属性信息,Linux 内核通过读取设备树中的中断属性信息来配置中断。对于中断控制器而言,设备树绑定信息参考文档 Documentation/devicetree/bindings/arm/gic.txt。 打开 imx6ull.dtsi 文件,其…...

Matlab利用膨胀腐蚀计算硬币数目
Matlab利用膨胀腐蚀计算硬币数目 这段时间一直在学习Matlab图像处理,浅浅的记录一下一个简单的膨胀腐蚀算法。 sample04.jpg 代码如下: %%计算图中硬币的数量Iimread(sample04.jpg);%加载图片 I_grayrgb2gray(I);%转换为灰度图 imtool(I_gray); BWI_…...
刚刚!建行数字人民币钱包正式上线
8月29日,中国建设银行APP显示,建设银行数字货币钱包已经上线,增加了“数字钱包充值”以及“数字货币”两个子菜单。用户可以绑定银行卡直接开通,但目前该功能或仅在部分测试地区开通。打开建行App,在最上方搜索栏输入“…...

区块链技术,模仿B特币,java模拟区块链技术,(摘自GitHub)
准备一个钱包 在加密货币中,在区块链作为交易时,货币所有权可以进行转移,每个参与者都有一个自己私有的地址来发送或者是收取货币。,钱包可以存储这些地址。因此钱包就是可以在区块链上进行新交易的软件。 Don’t worry about th…...

Win32 DC的数据结构
typedef struct tagDC { GDIOBJHDR header; HDC hSelf; /* Handle to this DC */ const struct tagDC_FUNCS *funcs; /* DC function table */ PHYSDEV physDev; /* Physical device */ /*(...

数字人民币来了!它与支付宝、微信有什么区别吗?
近日,数字人民币的试点工作在成都全面展开,3月3日公布了成都数字人民币红包中签的用户,红包金额分为178元和238元两种。中签的用户只需下载【数字人民币】钱包,用手机注册,即可在指定的商家使用。 同时,商…...
200 元数字人民币面世 !
来源:央视财经央行数字货币项目名为“DC/EP”,即数字货币和电子支付工具,由国家发行,是纸钞的数字化形态,价格与人民币挂钩,币值稳定性非常高。由于有国家信用的背书,与比特币等第三方数字货币相…...
定调!深度解读央行DC/EP数字货币在28省市深化试点背后的逻辑
8月14日,商务部发布《关于印发全面深化服务贸易创新发展试点总体方案的通知》(下称《方案》)。 在“全面深化服务贸易创新发展试点任务、具体举措及责任分工”部分,《方案》提出,在京津冀、长三角、粤港澳大湾区及中西…...
DC/EP应用场景探讨
文/高彩霞、李铭清华大学互联网产业研究院摘要:近日,有关我国央行数字货币(Digital Currency Electronic Payment,简称DC/EP)的消息密集发布,引发社会热议。本文对 DC/EP 应用场景进行了具体探讨。近日&…...
币地址
比特币地址是一个由数字和字母组成的字符串,并且由公钥经过Hash函数生成。通常我们见到的比特币地址是经过Base58Check编码的,这种编码使用了58个字符和校验码,提高了可读性、避免了歧义,并能有效防止地址输入时产生的错误。Base5…...

外贸企业邮箱域名怎么注册?企业邮箱申请域名流程?
外贸企业邮箱域名注册,一般使用公司名字,在TOM企业邮箱开通公司邮箱,域名可以自定义选择。有了解企业邮箱的人都会知道,如果没有域名就必须购买一个域名才可以注册企业邮箱。 企业邮箱域名注册 普通邮箱:由邮箱公司统…...

外贸企业域名邮箱怎么申请?
很多公司会因为邮箱名字不好,而去申请企业邮箱,因为企业邮箱的域名后缀能自己选择。 申请域名邮箱需要注意什么? 在申请TOM企业邮箱之前,我们每个人都用自己的个人邮箱,会遇到很多的情况。 首先就是邮箱名字&#x…...

没有域名能不能申请企业邮箱?
对于互联网企业来说,企业邮箱保证了企业信息、企业资料、企业沟通的安全可靠。因此不少企业想要申请企业邮箱,那么没有域名能不能申请企业邮箱?企业邮箱的价格一般是多少?下面是关于企业邮箱的知识介绍。 1、没有域名能不能申请企业邮箱? 没有域名是…...

2022公司邮箱域名如何申请?公司邮箱域名怎么设置?
公司邮箱域名是很多企业在注册企业邮箱时谨慎思考的问题。因为无论是对内沟通还是对外沟通,收件人要通过邮箱域名来判断邮件来自哪里、哪个业务,甚至哪个部门。TOM企业邮箱的域名灵活自定义的定制服务,给了企业更多的选择,满足了各…...

InfluxDB + Grafana计算成功率
文章目录方式一 借助Grafana的Transfrom方式二 Influx子查询Transfrom介绍建议针对每类Metric,使用一个Metric,增加success的tag区分成功还是失败。 方式一 借助Grafana的Transfrom 第一步:新建2个Query Query Total: SELECT sum("coun…...

从零开始学习Linux
Linux Linux内核版本:Linux内核运维开发小组,源码在不开源 Linux发行版本:由各大互联网/软件公司定制,开源 一个内核版本是有多种多样的发行版本 Ubuntu:以强大的桌面应用为主,吸收不少Windows用户&…...

【 思科安全认证和路由器认证的区别?】
思科安全认证和路由器认证的区别?思科认证是分不同方向的,路由器认证其实是说思科的RS也就是路由与交换方向,安全和路由与交换都是思科的两个方向之一,今天小编为大家介绍一下这两个方向的区别。 思科认证安全方向三个不同级别的…...

计算机视觉OpenCv学习系列:第四部分、键盘+鼠标响应操作
第四部分、键盘鼠标响应操作第一节、键盘响应操作1.键盘响应事件2.键盘响应3.代码练习与测试第二节、鼠标操作与响应1.鼠标事件与回调2.鼠标操作3.代码练习与测试学习参考第一节、键盘响应操作 键盘响应中有一个函数叫做waitKey,所有的获取键盘键值都是通过waitKey…...

内存泄露什么意思?
内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。转载于:https://www.cnblogs.com/Chamberlain/p/10723711.html...

什么是内存溢出,内存泄露?他们的区别是什么?——每天一个Java小常识
什么是内存溢出,内存泄露?他们的区别是什么? 内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory; 内存泄露 memory leak:是指程序在申请内存后,无法释放已申请的内存空间…...

请你来回答一下什么是memory leak,也就是内存泄漏
参考回答: 内存泄漏(memory leak)是指由于疏忽或错误造成了程序未能释放掉不再使用的内存情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的…...

什么是C ++中的内存泄漏?会导致什么问题?
当程序员先前未分配的一块内存(或多于一部分)没有正确分配时,就会发生内存泄漏。即使该程序不再使用该内存,它仍然是“保留”的,并且直到程序员适当地重新分配该内存后,程序才能使用该内存。 这就是所谓的内…...

什么是数据泄露
读完分类与回归算法的评估指标、排序算法的评估指标以及机器学习模型的离线评估方法之后,你已经知道了在机器学习中的该使用什么指标来评估模型以及使用什么方法来评估模型,但是在现实生活中评估模型时经常会遇到一个问题:数据泄露࿰…...

闭包为什么会造成内存泄漏
内存泄漏会对浏览器造成很大的压力,之前隐隐约约有听说过“如果闭包不处理是一定存内存泄漏的”,这是真的吗?是为什么呢? 函数作用域链 创建函数outerFun()时,会创建一个预先包含全局变量对象的作用域链,保…...

什么是内存泄漏?该如何检测?又该如何解决?
前言 这个问题是我之前翻看面经的时候见到的。那位小姐姐把内存泄漏当成了内存溢出问题去解答的,结果当场挂掉了。为此总结一下,之前和一位老哥也讨论过这个问题。可见不管是面试还是工作这都是一个极为重要的点。 我也曾在面阿里的时候也遇到过原题&a…...

浅谈内存溢出和内存泄漏及其如何避免内存溢出和泄漏
在程序编写过程中,内存溢出和内存泄漏是我们经常关心的问题,如何避免内存泄漏和溢出是我们每个程序员应该必备的技能,这边文章介绍内存溢出和泄漏已经如何避免内存溢出和内存泄漏这两种情况的发生。 一、什么是内存溢出 内存溢出(…...

什么是闭包,闭包造成的内存泄露如何解决
文章目录1、什么是闭包2、闭包示例代码3、闭包的优缺点4、如何避免闭包引起的内存泄漏5、闭包常见的应用场景1、柯里化函数2、通过闭包实现变量/方法的私有化3、匿名自执行函数4、缓存一些结果1、什么是闭包 闭包就是一个函数,能够访问其他函数内部变量的函数。 详…...

什么是闭包,如何解决闭包的内存泄漏
什么是闭包? 能够访问其他函数内部变量的函数 闭包解决了什么问题 由于变量的作用域的原因-----(函数内部能读取全局变量,函数外部无法读取函数内部的变量【局部变量】),为了在函数外部读取局部变量,所以…...

JVM内存泄漏是什么?如何查看确定内存泄漏?
JVM内存泄漏是什么? 内存泄漏指的是JVM内存没有即时释放,使用完的对象没有被回收,正常出现这种情况的都是编码不规范导致,例如:new了很多值为null的对象,然后不调用,这些对象不会被GC回收&#…...

java内存泄漏例子_Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子...
JAVA中的内存溢出和内存泄露分别是什么,有什么联系和区别,让我们来看一看。一只Tom猫:手撕分布式技术:限流、通讯、缓存,全部一锅端走送给你!zhuanlan.zhihu.com一只Tom猫:面试清单(Java岗)&a…...

C/C++什么是内存泄露,内存泄露如何避免?
C/C什么是内存泄露,内存泄露如何避免?1. 内存溢出2. 内存泄漏3. 造成内存泄露常见的三种情况3.1 指针重新赋值3.2 错误的内存释放3.3 返回值的不正确处理4. 如何避免内存泄露?5. 内存泄露检测工具valgrind1. 内存溢出 内存溢出 OOM ÿ…...

什么是内存泄漏?有什么危害
1、什么是内存泄漏 内存泄漏是指你向系统申请分配内存进行使用(new/malloc),然后系统在堆内存中给这个对象申请一块内存空间,但当我们使用完了却没有归系统(delete),导致这个不使用的对象一直占…...

Linux 查看日志总结
实时日志1、查看实时日志tail -f error.log温馨展示:默认展示最后102、查看实时日志,最后10 行记录tail -n 10 error.log3、查看实时日志,最后20行记录tail -20f error.log4、查看实时日志,从第五行开始日志内容tail -n 5 error.l…...

看到了一段话,感触良多
虚假的努力:勤奋的工作、加班、充电,9127,但是同事老板不认可 真正的努力:划水摸鱼、摘桃别人成果,但是同事老板认可看到这段话的第一时间,眼泪都要下来了。...

FPX战队——一些感触
今天在doinb直播间的鱼吧看到一个链接: sorry咕宝_sorry咕宝发布了一个斗鱼视频2021-01-20_斗鱼视频 - 最6的弹幕视频网:https://vmobile.douyu.com/show/brN0Mm2Y6g3WpyxA https://vmobile.douyu.com/show/brN0Mm2Y6g3WpyxA 挺有感触的。 人都曾少年。…...

Lazada各大跨境站点,lazada商品详情 API 返回值说明
item_get-lazada商品详情 公共参数 名称类型必须描述keyString是 调用key(必须以GET方式拼接在URL中) 注册Key和secret测试 secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_s…...

【iOS】—— ARC学习
ARC 文章目录ARC内存管理的思考方式自己生成的对象自己持有非自己生成的对象,自己也能持有不再需要自己持有的对象时释放无法释放非自己持有的对象所有权修饰符在什么时候会用到weak和strong?__unsafe_unretained__autoreleasing__autoreleasing的应用场…...

onethink 字段插件 多图上传 UploadImages
多图上传插件,先上效果图该插件和之前的一个UploadImages 插件命名一样只不过功能不一样,所以不能同时使用,如果知道怎么改插件那就当我上面没说哈。功能列表:多图上传,删除,拖拽排序,自定义增加字段添加扩…...

东风最高降9万,一场卖车焦虑背后的“定价权”争夺
文|智能相对论作者|leo陈3月,“东风系”汽车湖北大降价,猛地刺激了消费者和同行。“门店里东风雪铁龙车型全部爆单,没有办法再接新订单,因为没有车交,其他车型倒是还有少量现车。”湖北某家东风门店的销售这样说&#…...

RabbitMQ学习(一)中间件技术、消息队列协议、持久化、分发策略、高可用与高可靠、入门与安装、角色分类
中间件技术与分布式架构 分布式中间件 消息中间件 类型:ActiveMQ、RabbitMQ、Kafka、RocketMQ 场景:消息中间件监控数据 、异步数据传输场景、流量削峰、任务调度、海量数据同步、分布式事务、日志管理、大数据分析与传递、数据的分发与异步处理 协议…...

GBase 8c GDCA培训认证【环境准备、安装】
1. 环境准备 相关配置要求如下: 配置:内存16G以上(最好16G),硬盘 20G以上,固定IP地址和mac地址;镜像包(Centos7.9)下载,root 账户密码6个1:11111…...

java总结--线程
什么是线程、什么是进程 进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。 线程是进程…...

计算机网络中---重要相似基础的概念
目录 TCP和UDPhttp和https网段和网关端到端和点到点流量控制和拥塞控制单工、半双工和全双工虚电路服务和数据报服务CSMA / CD和CSMA / CA电路交换、报文、分组交换频分复用、时分、波分、码分复用TCP和UDP 这是传输层为了支持不断增多的应用层协议而提供的两种协议,主要是为…...

神经网络之反向传播算法(自适应学习率调整算法Adadelta)
文章目录自适应学习率调整算法(Adadelta)1、算法原理2、算法实现2.1 训练过程2.2 测试过程及结果3、参考源码及数据集自适应学习率调整算法(Adadelta) 自适应学习率调整算法(Adadelta)可以视作是自适应梯度…...

使用TensorFlow Serving进行模型的部署和客户端推理
目的:在一个server端使用TensorFlow框架对模型进行训练和保存模型文件后用TensorFlow Serving进行部署,使得能在客户端上传输入数据后得到server端返回的结果,实现远程调用的效果。环境:操作系统: ubuntu 20.04.1当然可…...

Android异步消息机制
一、异步消息处理机制Handler Android中的异步消息处理主要由4个部分组成:Message、Handler、MessageQueue和Looper。 Message Message是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间传递数据。如Message的what字段…...

【id:10】【20分】B. 三串合一(指针与字符数组)
题目描述 输入三个字符串,通过指针读取各个字符串的子串(子串是指字符串中连续的一小部分),把它们合并成一个新字符串 要求: 1. 三个字符串的创建和输入可以使用数组,也可以不用 2. 输入后,根…...

GoJS 2.3 Crack
GoJS 2.3 新的 SVG 渲染上下文 GoJS 通常将图渲染到 HTML 画布,并提供将图场景导出到 图像格式和 SVG。在 GoJS 2.3 中,该库现在支持在 添加到默认画布上下文中。视觉上应该没有变化,性能会 使用默认画布上下文时速度更快,但 SVG…...

数据结构 -- 线性表:定长顺序表和不定长顺序表的代码和实现
一、顺序表 概念: 是一种线性结构(1对1的关系),每一个数据元素都有一个前驱(除了第一个元素)和一个后继(除了最后一个元素) 在逻辑上数据元素都是连续的,在物理存储上数…...

面试了8家软件公司测试岗位,面试题大盘点,我真的尽力了
包含的模块:本文分为十九个模块,分别是:软件测试 基础、liunx、MySQL、web测试、接口测试、APP测试 、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源需要的可以看文末获取方式…...

JavaScript专题之惰性函数
参考原文:JavaScript专题之惰性函数 需求 我们现在需要写一个 foo 函数,这个函数返回首次调用时的 Date 对象,注意是首次。 解决一:普通方法 var t; function foo() {if (t) return t;t new Date()return t; }问题有两个&…...

Android本地关键代码安全处理
一、背景 最近在做代码安全方面的工作,发现一些关键信息如:密钥、加密策略等直接写死在项目代码中,存在代码安全隐患。本文档提供一种示例:把关键信息,保存在native层;并对安装包关联信息进行校验…...

Phoenix简介_安装部署_以及连接使用---大数据之Hbase工作笔记0035
我们之前都是用hbase的api的jar包来执行操作的hbase,但是不方便因为语法,太复杂了,提供的api也很麻烦,操作很不友好,Phoenix是凤凰的意思,可以让操作像mysql一样简单,写就可以了 可以看到Phoenix的介绍 上面是官网可以看下 然后看一下如何安装,可以看...

2020-复习
2020-复习一、程序设计二、操作系统三、计算机网络一、程序设计 1.编写一个函数实现十进制向二进制转换的功能,函数的输入为一个十进制数,输出为一个二进制数,如输入37,输出为100101 #include <stdio.h> // 编写一个函数实现十进制向二进制转换的功能,函数的输入为一个…...

Vue2项目总结-电商后台管理系统
Vue2项目总结-电商后台管理系统 去年做的项目,拖了很久,总算是打起精力去做这个项目的总结,并对Vue2的相关知识进行回顾与复习 各个功能模块如果有过多重复冗杂的部分,将会抽取部分值得记录复习的地方进行记录 一:项目…...

M1/M2 Pro VMware Fusion虚拟机安装Win11教程(超详细)
前言 最近换了新电脑 —— M2 Pro,属于是结束了二十多年的Windows生涯了。但是有些东西又必须在Windows系统上去搞。 比如 易语言开发、运行一些exe的软件等等,没办法,搞个虚拟机,装个Win11吧。 下面进入正题: 一、安装…...

记一次Excel模板导出功能
前言 这篇文章是要记载在开发过程中实现:使用自己定义的excel模板文件,将list数据填入模板文件中。 说明 这里只记录了一些功能要点和使用时要注意的地方!!! 详细 引入依赖 这里使用的是easypoi来实现这个功能,先引入依赖包,版本是4.1.2<dependency><group…...

Internet基础
目录Internet1、MAC地址2、IP地址(1)IP地址定义(2)IP地址分类(3)IP地址组成(4)IP地址的计算①子网数,主机数的计算②网络地址和广播地址的计算3、DNS和URL(1&…...

day11-函数总结
Function Effect 在实现某个功能对应的代码的时候,如果将实现功能对应的函数放到函数中,那么下一次再需要这个功能的时候,就可以不用再写这个功能对应的代码了,而是直接调用这个功能对应的函数 def sum_range(num):sum1 0for x…...

python中dumps、dump、load、loads的区别
根据序列化和反序列的特性 loads: 是将string转换为dictdumps: 是将dict转换为stringload: 是将里json格式字符串转化为dict,读取文件dump: 是将dict类型转换为json格式字符串,存入文件 一、相同点 dump…...

CSS基础之盒模型
盒模型 简介 在CSS中,元素都是被一个个的盒子(box)包围着,理解这些盒子的基本原理,是我们使用CSS实现准确布局,处理元素排列的关键。在CSS中有 块级盒子、内联盒子 两种,它们在页面流和元素…...

2023系统分析师---项目管理
一、项目管理 一、基本概念 范围管理:确定项目的边界,即那些工作是项目应该做的,那些工作不应该包括在项目中范围定义的输入包括:项目章程、项目范围管理计划、批准的变更申请、组织过程资产WBS的作用包括:便于估算、…...

go-zero学习 — 基础
go-zero学习 — 基础1 参考2 goctl 相关命令整理2.1 .api生成swagger的命令2.2 .api生成api模块的命令2.3 .proto生成rpc模块的命令2.4 sql文件生成model的命令2.5 docker启动swagger的命令3 架构图4 go-zero环境搭建4.1 注意事项4.2 go-zero 需要安装的组件4.3 方式 14.4 方式…...

【算法】退火算法+背包问题 python
目录一、概念二、算法的优点三、基本流程和公式四、例题python代码已知背包的装载量为 c10,现有 n5 个物品,它们的重量和价值分别是 (2, 3, 5, 1, 4) 和 (2, 5, 8, 3, 6)。试使用模拟退火算法求解该背包问题。python 代码一、概念 模拟退火算法采用类似…...

算法高频函数
目录 fixed() setprecision() setw() swap() sort() subsrt() atoi() 将不定时更新 fixed() 消除浮点数的科学计数法 只要出现了fixed,则后面都是以fixed输出。 用定点表示法表示浮点…...

PCIE时钟解说
接上篇文章《clock oscillator,generator,buffer选型杂谈》,今天我们来说下PCIE时钟的要求: 首先先看下PCIE架构组件:下图中主要包括了CPU(ROOT COMPLEX),PCIE SWITCH,BUFFER以及一些PCIE ENDP…...

从0开始学python -64
Python urllib -1 Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理。 本文主要介绍 Python3 的 urllib。 urllib 包 包含以下几个模块: urllib.request - 打开和读取 URL。urllib.error - 包含 urllib.request 抛出的异常。urllib.par…...

[前端笔记036]vue2之ajax配置
前言 本笔记参考视频,尚硅谷:BV1Zy4y1K7SH p96 - p104 vue脚手架配置代理服务器: 方法一:在vue.config.js中添加如下配置: devServer:{proxy:"http://localhost:5000" }优点:配置简单,请求资…...

Activity学习——安卓第二次作业
作业要求: 在第一个Activity通过两个EditText分别输入学号和姓名,然后通过数据传递,在第二个Activity上显示出刚才输入的学号和姓名。 布局要求用约束布局实现。 Activity的启动和结束 从当前页面跳到新页面,跳转代码如下&…...

python正则化
一、re模块简介聊到Python正则表达式的支持,首先肯定会想到re库,这是一个Python处理文本的标准库。标准库的意思表示这是一个Python内置模块,不需要额外下载,目前Python内置模块大概有300个。可以在这里查看Python所有的内置模块&…...

week13周报
一.动态规划走楼梯2难点:不能连续走三次两级台阶如何表示思路:可以用二维数组f[i][j],i表示当前台阶数,j表示已经连续走了j次二级台阶了转移方程:f[i2][j1]f[i2][j1]f[i][j] 当j!2时,我们可以选择走二级台阶…...

Mybatis使用Oracle数据库主键自增
一、关于mysql和oracle主键自增 我们知道在mysql中主键设置为int类型,然后设置AUTO_INCREMENT,则在插入数据的时候mapper中的sql文件是可以不写主键这个字段,数据库就会自动补全一个自增的主键值,但是在oracle中没有AUTO_…...

音视频技术开发周刊 | 285
每周一期,纵览音视频技术领域的干货。新闻投稿:contributelivevideostack.com。GPT-4 Office全家桶发布谷歌前脚刚宣布AI工具整合进Workspace,微软后脚就急匆匆召开了发布会,人狠话不多地祭出了办公软件王炸——Microsoft 365 Cop…...

具备人脸识别功能的多目标在线实时行为检测(yolov5+deepsort+slowfast)
文章目录前言配置项人脸识别配置多目标行为检测配置人脸识别模块采集模块人脸存储模块识别模块目标行为检测模块非在线实时检测在线实时检测结合人脸识别总结前言 这里先声明一下本项目是基于https://github.com/wufan-tb/yolo_slowfast 做的一个二次开发,也就是进…...

你绝对不知道的 SpringBoot 的外部化配置特性!
作为 Java 程序员,相信大家都知道,我们日常的 SpringBoot 项目会有一个配置文件 application.properties 文件。 里面会配置很多参数,例如服务的端口等,这些都只是默认值,在不改变配置文件里面内容的情况下,…...

《2023大型企业财务数智化白皮书》:大型企业财务数智化建设应用架构
2023年3月16日,用友在北京国家会计学院举办“智能会计价值财务”2023企业数智化财务创新峰会 北京站。会上,用友《大型企业财务数智化白皮书》重磅发布,其核心观点之一中强调,大型企业财务数智化建设应遵循“1-1-7”体系ÿ…...

JAVA进阶 —— 动态代理
目录 一、什么是动态代理? 二、如何为Java对象创建代理对象? 三、两种常见的动态代理方式 1. 基于接口的动态代理 2. 基于类的动态代理 一、什么是动态代理? 在原有代码上加入新的功能该如何操作呢? 我们可以采用 侵入式修改…...

TCP报文和UDP报文
TCP报文 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,用于在网络中传输数据。TCP报文段是TCP协议的基本单位,它主要由以下字段组成:20个字节 源端口号(16 bits)和目…...

【ChatGPT】教你搭建多任务模型
ChatGPT教你搭建多任务模型 You: tell me what’s your version of gpt ? ChatGPT: As an AI language model developed by OpenAI, I am based on the GPT (Generative Pretrained Transformer) architecture. However, my version is known as GPT-3.5, which is an updat…...

【微信小程序】-- 案例 - 自定义 tabBar(四十六)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...

人工智能多模态方向学习笔记Attention and Tell
简介 Attention and Tell(通常缩写为“Attn-Tell”)是一种机器学习算法,用于自然语言处理任务,如文本摘要和问答。 该算法由两个主要组件组成:注意力机制和解码器。注意力机制用于识别输入序列的重要部分,…...

ESP8266-NodeMCU开发板-------开发板介绍(1)
目录 认识ESP8266-NodeMCU开发板编辑 GPIO编号与NodeMCU开发板引脚名的区别: ESP8266 GPIO编号与NodeMCU开发板引脚名的对应关系 可用引脚 电压电流限制 特殊引脚情况说明 上拉电阻/下拉电阻 模拟输入 通讯 认识ESP8266-NodeMCU开发板 初识NodeMCU开发板 (第1章-第…...

蓝桥杯算法全集之完全背包问题(动态规划算法)
一、概念定义有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。用下面这个图来分别动态规…...

Servlet:利用Response实现重定向及其与请求转发的区别与实例展示
目录 一、创建RedirectServlet类 二、注册Srevlet(在web.xml中) 三、重定向和请求转发的区别 四、重定向实例应用——登录界面 1、打开index.jsp设计登录页面 2、创建RequestTest类 3、注册servlet 4、在webapp文件夹下新建一个success.jsp文件 …...

leetcode 2111 使数组K递增的最少操作次数
给你一个下标从 0 开始包含 n 个正整数的数组 arr ,和一个正整数 k 。 如果对于每个满足 k < i < n-1 的下标 i ,都有 arr[i-k] < arr[i] ,那么我们称 arr 是 K 递增 的。 比方说,arr [4, 1, 5, 2, 6, 2] 对于 k 2 是…...

(数字图像处理MATLAB+Python)第一章:绪论
文章目录一:图像的基本概念(1)视觉与图像A:视觉B:图像(2)图像的表示A:函数表示B:模拟图像C:数字图像二:数字图像处理(1)数…...

【3.20】BFS算法、操作系统进程管理(整理)、Java并发面试题
BFS BFS出现的常见场景是:让你在一幅「图」中找到从起点 start 到终点 target 的最近距离,这个例子听起来很枯燥,但是 BFS 算法问题其实都是在干这个事儿。 BFS框架: // 计算从起点 start 到终点 target 的最近距离 int BFS(No…...

【服务器数据恢复】使用碎片拼接方法恢复SQL Server数据库的数据恢复案例
服务器数据恢复环境: 某公司一台DELL服务器,作为WEB服务器使用,安装的Windows Server操作系统,配置了SQL Server数据库; 采用了Xen Server虚拟化系统; 底层是通过raid卡,用4块STAT硬盘搭建的RAI…...

VBA提高篇_ 31 VBA调用正则表达式_RegExp.Pattern/Global/Execute(s)/Replace(s,r)
文章目录1.VBScript处理正则的对象:2.创建对象: CreateObject("")3. 查找步骤RegExp.Pattern/Global/Execute(s)3.1 RegExp.Pattern--> 设置正则3.2 RegExp.Global--> 设置全局查找3.3 RegExp.Execute(s)--> 执行查找4.查找结果4.1 Matchs4.2 ()分组的高级应…...

基于BP神经网络的图像跟踪,基于BP神经网络的细胞追踪识别
目录 摘要 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络激活函数及公式 基于BP神经网络的细胞识别追踪 matab编程代码 效果 结果分析 展望 摘要 智能驾驶,智能出行是现代社会发展的趋势之一,其中,客量预测对智能出行至关重要,…...

day11-Python-函数
Python-函数 一.函数作用 """ 在实现某个功能对应的代码的时候,如果将实现功能对应的函数放到函数中,那么下一次再需要这个功能的时候,就可以不用再写这个功能对应的代码了, 而是直接调用这个功能对应的函数 &qu…...

总线(六)SPI通信协议介绍
文章目录SPI背景知识SPI特征SPI总线的物理层SPI标准协议SPI背景知识 SPI(Serial Peripheral interface)是串行外设接口,是一种高速、全双工、同步的通信总线。是Motorola首先在其MC68HCXX系列处理器上定义的。 SPI特征 1、全双工串行通信&a…...

国产化替代浪潮下,企业该如何保障电子邮件安全?
电子邮件,是日常工作到会经常用到的联系方式。但也正因为此,邮件攻击也成了网络攻击的主要手段之一,特别是带有恶意病毒、网页木马程序、特制木马程序以及利用软件漏洞的邮件木马在互联网上泛滥成灾,邮件安全已经成为一个安全领域…...

ChatGPT能够改变时代吗?一点点思考
都知道ChatGPT的出现对整个世界产生了剧烈的影响,前不久出的ChatGPT4更是在ChatGPT3.5的基础上展现了更强的功能。比如说同一个问题,ChatGPT3.5还是乱答的,ChatGPT4已经能给出正确解了。当然这只能说明技术是进步的。 虽然如此,很…...

十四届蓝桥杯青少组选拔赛Python_2023.03.12
十四届蓝桥杯青少组选拔赛Python_2023.03.12 未完 待更新...... T4. 编程实现: 假设果园中有N(1<=N<=100)种水果,猴子想要采摘一些水果带回家,但猴子采摘水果的总重量不能超过W(1<=W<=1000). 已知每种水果的最大采摘数量Ni(1<=Ni<=100)、每种水…...