当前位置: 首页 > news >正文

【面试题】对象、原型、原型链与继承 ,你了解多少?

前言

  • 原型、原型链、类与继承似乎无时无刻的出现在我们身边,无论你是在面试中亦或是平常学习和工作中都有它的身影。那么这个是又是什么东西呢 ? 我曾通过 avaScript高级程序设计你不知道的JavaScript、MDN文档以及教学视频。但似乎仍是半知半解,但我依然相信能通过这篇文章能让大家以及我搞懂这玩意到底是什么神仙。

大厂面试题分享 面试题库

前端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库

什么是对象?

  • 在ECMAScript中,对象是一组属性无序的集合,对象的每个属性或方法都有一个名称来标识,这个名称映射到一个值,你可以将其想像成一张散列表。

散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存储存位置的数据结构。也就是说,它通过计算出一个键值的函数,将所需查询的数据映射到表中一个位置来让人访问,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。

创建对象

  • 创建自定义对象

// 创建一个Object的新实例,然后在实例上面添加属性和方法const person = newObject();
person.name = "moment";
person.age = 18;
person.running = function () {console.log("我会游泳哦,你会吗");
};
复制代码
  • 对象字面量

const person = {running: function () {console.log("你会我也会啊");},name: "moment",age: 7,dance: function () {console.log("我还会跳舞呢");},
};
复制代码
  • 两个实例中,每创建一个对象,都要为其创建一个name,age的属性以及running的方法,那么有没有什么方法可以让我们可以减少一些重复的代码呢,答案是有的。我们可以把方法抽取出来定义成一个函数,再给对象赋值。但是......

construnning = (info) => {console.log(info);
};
const person = newObject();
person.name = "moment";
person.age = 18;
person.running = running;const object = {running,name: "moment",age: 7,dance: function () {console.log("我还会跳舞呢");},
};// ,似乎只能封装公共的方法,属性无法动态传值,只能是固定的一个值person.running("我们大家都会游泳哦"); // 我们大家都会游泳哦
object.running("我们大家都会游泳哦"); // 我们大家都会游泳哦复制代码

工厂函数

抽象工厂模式(英语:Abstract factory pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。在正常使用中,客户端程序需要创建抽象工厂的具体实现,然后使用抽象工厂作为接口来创建这一主题的具体对象。客户端程序不需要知道(或关心)它从这些内部的工厂方法中获得对象的具体类型,因为客户端程序仅使用这些对象的通用接口。抽象工厂模式将一组对象的实现细节与他们的一般使用分离开来。
  • 按我个人的理解,工厂模式就像是一个模具,你能根据这个模具去生产产品,你只能改变其外观颜色,但是你不能改变其形状和大小。

functioncreateObject(name, age, info) {const obj = newObject();obj.name = name;obj.age = age;obj.running = function () {console.log(info);};return obj;
}const person = createObject("moment", 18, "我会跑步");
const student = createObject("supper", 16, "我会跑步,我比你还年轻呢");person.running(); // 我会跑步
student.running(); // 我会跑步,我比你还年轻呢复制代码
  • 通过工厂模式,我们可以快速创建大量相似对象,没有重复代码。迎面走来走来的又是一个新问题,工厂模式创建的对象属于Object,无法区分对象类型,这也是工厂模式没有广泛使用的原因。

构造函数模式

  • 没有显式地创建对象

  • 属性和方法直接赋值给了this

  • 没有return

functionPerson(name, age, info) {this.name = name;this.age = age;this.running = function () {console.log(info);};
}const person = newPerson("moment", 18, "我会跑步");
const student = newPerson("supper", 16, "我会跑步,我比你还年轻呢");person.running(); // 我会跑步
student.running(); // 我会跑步,我比你还年轻呢复制代码
  • 以上代码实际上执行的是这样的操作

person.name = "moment";
person.age = 18;
person.running = function () {console.log("我会跑步");
};student.name = "moment";
student.age = 16;
student.running = function () {console.log("我会跑步,我比你还年轻呢");
};
复制代码
  • 要创建Person实例,应使用new操作符。

  1. 在内存创建一个新对象。

  1. 这个新对象内部的[[Prototype]] (proto)特性被赋值为构造函数的prototype属性, 即 person.proto=Person.prototype

  1. 构造函数内部的this被赋值为这个新对象(即this指向新对象)。

  1. 执行构造函数内部的代码. 如 person.proto.name='moment'

  1. 如果构造函数返回非空对象,则返回该对象;否则,返回刚创建的新对象。

  • new的过程可以参考以下代码

functionmyNew(func, ...args) {// 判断方法体if (typeof func !== "function") {throw"第一个参数必须是方法体";}// 创建新对象// 这个对象的[[prototype]](隐式原型 __proto__)指向 func 这个类的原型对象 prototype// 即实例可以访问构造函数原型 obj.constructor === Personconst object = Object.create(func.prototype);// 构造函数内部的this被赋值为这个新对象const result = func.apply(object, args);// 如果构造函数返回的结果是引用数据类型,则返回运行后的结果// 否则返回新创建的 objconst isObject = typeof result === "object" && result !== null;const isFunction = typeof result === "function";return isObject || isFunction ? result : object;
}
复制代码
  • 通过控制台打印不难发现,前面两个对象都是Object的实例,同时也是Person的实例

// instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上// person和student的隐式原型都指向Person的显式原型;console.log(person.__proto__ === student.__proto__); //trueconsole.log(person instanceofObject); //trueconsole.log(person instanceofPerson); //trueconsole.log(student instanceofObject); //trueconsole.log(student instanceofPerson); //true// 以上代码的代码实际上执行的该例子console.log(student.__proto__.__proto__.constructor.prototype === Object.prototype);
console.log(student.__proto__.constructor.prototype === Person.prototype);
复制代码
  • 构造方法虽然有用,但是也存在问题,虽然person和student都有一个方法running,但这两个方法不是同一个Function的实例,指向的内存也各自不同。

console.log(student.running === person.running); //false复制代码
  • 都是做着同样的事情,但是每个实例都创建出一个方法,这就造成了没必要的内存损耗,那么有没有什么办法可以很好的解决这个问题呢,这时候,原型模式就出现了。

原型模式

  • 每个函数都会创建一个prototype属性,这个属性是一个对象,该对象可以给每个实例共享属性和方法。

  • 我们对之前的代码进行改造。

functionPerson(name, age) {this.name = name;this.age = age;
}// 在这里,把方法running定义在了Person的prototype属性上// person和student共享同一个原型方法running,指向的是同一快内存空间Person.prototype.running = function (info) {console.log(info);
};const person = newPerson("moment", 18);
const student = newPerson("supper", 16);// 在构造函数中这里输出的是falseconsole.log(person.running === student.running); //trueperson.running("我会跑步"); // 我会跑步
student.running("我会跑步,我比你还年轻呢"); //我会跑步,我比你还年轻呢复制代码
  • 在前面的new操作符可以知道,personstudent的隐式原型等于Perosn的显式原型

  1. 首先person和student现在自己身上查找有没有running方法,没有找到。

  1. 去原型里查找,也就是通过person.__proto__或者student.proto,该方法,由于person.proto=Person.prototype,所以调用person.running()实际上调用的是Person.prototype.running()方法

  • 具体的内存表现形式如下图所示。

  • 通过上图,一下代码的输出就能理解了。

console.log(Person.prototype.constructor === Person); // trueconsole.log(student.__proto__.constructor === Person); // true复制代码

原型层级

  • 在讲之前先祭出两张神图

  • 在讲原型之前,我们先来认识一下认识一下FunctionObject的关系!

  1. JavaScript中,每个JavaScript函数实际上都是一个Function对象。

  1. JavaScript 中,几乎所有的对象都是 Object 类型的实例,它们都会从 Object.prototype 继承属性和方法。

  1. 从原型链上讲,Function继承了Object。

  1. 从构造器上讲,Function构造了Object。

  1. 好了,看到这里,晕了没?

  1. 接下来通过代码的展示,应该能更清楚的说明了上面两张图中的所讲的意思了。

functionPerson(name, age) {this.name = name;this.age = age;
}
// 在这里,把方法running定义在了Person的prototype属性上了Person.prototype.running = function (info) {console.log(info);
};const obj = {};const person = newPerson("moment", 18);
const student = newPerson("supper", 16);console.log(obj.__proto__ === Object.prototype); // trueconsole.log(Object.constructor === Function); // trueconsole.log(Function.prototype.__proto__ === Object.prototype); // trueconsole.log(Function.constructor === Function); // trueconsole.log(Person.__proto__.constructor.__proto__ === Function.prototype); // trueconsole.log(student.__proto__.__proto__.constructor.__proto__ === Function.prototype); // trueconsole.log(Function.constructor.__proto__ === Function.prototype); // trueconsole.log(Object.constructor === Function.constructor); // trueconsole.log(ObjectinstanceofFunction); // trueconsole.log(FunctioninstanceofObject); // trueconsole.log(Function.prototype.__proto__ === Object.prototype); // true复制代码
  • 原型查找机制,首先在实例上查找,有则返回,没有则往上查找,这时候查找到了原型上了,如果能找到有该属性或方法,则返回,如果仍然没找打,就在Object的原型上查找,找到了则返回,没有就返回undefined或者报错。

functionPerson(name, age) {this.name = name;this.age = age;this.sayName = function () {console.log("我是在实例身上的");};this.memory = "我是属于实例的";
}
// 在这里,把方法running定义在了Person的prototype属性上了Person.prototype.running = function () {console.log("我是原型上的方法");
};Object.prototype.牛逼 = "这是真的";Person.prototype.memory = "我是属于原型的";const person = newPerson("moment", 18);console.log(person.name); // 来自实例console.log(person.memory); // 来自实例
person.sayName(); // 来自实例
person.running(); // 来自原型console.log(person.牛逼); // 这是真的console.log(person.六六六); // undefined复制代码

原型模式的弊端

  • 在继承之前,我们每个类都要给其定义属于它自己的属性和方法,但是如果出现相同的方法,我们都要给他重新定义一遍,这样未免出现过多重复代码。

functionStudent() {}
functionTeacher() {}Student.prototype.running = function () {console.log("学生");
};
Student.prototype.eating = function () {console.log("吃");
};
Student.prototype.study = function () {console.log("学习");
};Teacher.prototype.running = function () {console.log("老师
};
Teacher.prototype.teach = function () {console.log("吃");
};
复制代码

原型链继承

  • 父类的原型直接赋值给子类的原型

  1. 父类和子类共享同一个原型对象,修改了任意一个,另外一个也被修改。

  1. 这是一个错误的做法。

functionStudent() {}
functionTeacher() {}Teacher.prototype.running = function () {console.log("老师");
};
Teacher.prototype.teach = function () {console.log("吃");
};Student.prototype = Teacher.prototype;const student = newStudent();
student.running(); // 老师student.__proto__.running = function () {console.log("我被修改了");
};const teacher = newTeacher();
teacher.running();// 我被修改了复制代码
  • 正确的原型链继承

functionStudent() {}
functionTeacher() {}Teacher.prototype.running = function () {console.log("老师");
};Teacher.prototype.teach = function () {console.log("教");
};const teach = newTeacher();
Student.prototype = teach;const student = newStudent();student.running = function () {console.log("我被修改了");
};const smallStudent = newStudent();
smallStudent.running(); // 老师 继承于Teacher原型
student.running(); // 我被修改了  来自于实例本身复制代码
  • 通过一张图来展示子类的两个实例和两个构造函数及其对应的原型之间的关系

  • 原型链继承的问题

  1. 在使用原型实现继承时,原型实际上变成了另一个类型的实例。这意味着原先的实例属性和方法摇身一变成了原型属性和方法。

  1. 子类型在实例化时不能给父类型的构造函数传参。

盗用构造函数

  • 通过call或者apply改变this指向

functionTeacher(nickname, age, height) {this.nickname = nickname;this.age = age;this.height = height;
}functionStudent(nickname, age, height) {Teacher.call(this, nickname, age, height);this.hobby = ["唱", "跳", "rap"];
}Teacher.prototype.running = function () {console.log("老师");
};Teacher.prototype.teach = function () {console.log("教");
};const student = newStudent("moment", "18", "1米59");console.log(student.height); // 1米59console.log(student.hobby); //  ["唱", "跳", "rap"]复制代码
  • 借用构造函数存在问题

  1. 必须在构造函数中定义方法,因此函数不能重用。

  1. 子类也不能访问父类原型上定义的方法。

组合继承

  • 综合了原型链和盗用构造函数,将两者的优点集中了起来。

functionTeacher(nickname, age, height) {this.nickname = nickname;this.age = age;this.height = height;
}functionStudent(nickname, age, height) {Teacher.call(this, nickname, age, height);this.hobby = ["唱", "跳", "rap"];
}Teacher.prototype.running = function () {console.log("老师");
};Teacher.prototype.teach = function () {console.log("教");
};Student.prototype = newTeacher();const student = newStudent("moment", "18", "1米59");
console.log(student.height); // 1米59console.log(student.hobby); //  ["唱", "跳", "rap"]复制代码
  • 组合继承存在的问题 1.父类构造函数至少被调用两次。

引用类型继承终极解决方案 寄生式组合继承

functioninheritPrototype(superType, children) {const prototype = Object(superType.prototype); // 创建对象prototype.constructor = children; // 增强对象children.prototype = prototype; // 赋值对象
}functionTeacher(nickname, age, height) {this.nickname = nickname;
}functionStudent(nickname) {Teacher.call(this, nickname);this.hobby = ["唱", "跳", "rap"];
}inheritPrototype(Student, Teacher);Teacher.prototype.running = function () {console.log("老师会跑步");
};Student.prototype.running = function () {console.log("学生也会跑步");
};const student = newStudent("moment");student.running(); // 学生也会跑步console.log(student.hobby); // ['唱', '跳', 'rap']console.log(student.nickname); // comment复制代码
  • 这里只调用了一次Teacher构造函数,避免了Student.prototype上不必要也用不到的属性。

  • 原型链仍然保持不变。

大厂面试题分享 面试题库

前端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4925843.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

xml格式转json

xml转json 带完整案例 说明:最近有个需求就是第三方的接口返回数据有的是json有些是xml,需要使用excel批量查询,并下载查询到数据,所有需要将xml格式都转化成json在处理(完整的domo会上传到资源) 文章目录…...

两个手机靠近,唤起应用如微信(需打开NFC)

为什么人们对nfc不感兴趣呢 多好的技术 比蓝牙传输什么的都方便多了,只需两个手机靠近 就可以传递数据 多强大的功能 有兴趣的人 下我的demo试试 要求:手机必须装微信 打开手机自带的nfc 两个手机靠近 就可以唤起微信 当然也可以传…...

日更第6天:Linux常用命令之tail用法

1. 命令简介 在我们服务器线上排查问题时,通常会使用 tail 命令来实时观察各种日志的输出,从而方便我们及时排查、定位问题。其中 -f 是我们最常用的命令。 2. 英文含义 tail:尾部、后部的意思3. 语法格式 tail [选项]... [文件]...4. 选…...

Swift Double向上取整和向下取整、Double转Int/String

floor()函数:向下取整,取小于等于这个数的最大整数 (floor(3.94) 3) ceil()函数:向上取整,取大于等于这个数的最小整数 (ceil(3.14) 4) import Foundationextension Double {func intValue() -> Int {return Int(self)}func…...

43期《深入浅出Pytorch》课程 - Task01:PyTorch的安装和基础知识+前置知识打卡

Task011、Pytorch安装2、基础知识2.1 张量(Tensor)2.2 自动求导2.3 梯度2.4 并行计算3、前置知识打卡1、Pytorch安装 由于之前使用过Pytorch,所以说不需要再重新下载,直接开始后续的基础知识 2、基础知识 由于之前学习过numpy系列,所以说…...

Blazor Bootstrap 组件库 Toast 轻量弹窗组件介绍

轻量级 Toast 弹窗 DEMO https://www.blazor.zone/toasts 基础用法: 用户操作时,右下角给予适当的提示信息<ToastBox class="d-block" Options="@Options1" />@code{Options1 = new ToastOption { Title = "保存数据", IsAutoHide = fals…...

关于HML要玩物联网这件事 之 CC3200 TCP Client

假装是个引言 去年TI难得发了次大福利&#xff0c;圣诞节派送CC3200开发板。本辣鸡博主抢得早&#xff0c;加上没落C9.edu.cn 邮箱加持&#xff0c;抽奖居然抽中了。TI不论是赞助竞赛还是送板子&#xff0c;目的都很明确&#xff0c;就是想推广自己的东西。你们看&#xff0c;自…...

消息队列为何如此重要?

大家好,我是【架构摆渡人】,一只十年的程序猿。这是消息队列的第一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。 不知道大家平时是否有使用过Queue相关的类,比如ArrayBlockingQueue,DelayQueue等队列。如果你说你平时写业…...

python中rgb颜色_python颜色显示

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 显示颜色的格式&#xff1a; 033 显示颜色的参数&#xff1a;显示方式 效果 字体色 背景色 颜色描述 0 终端…...

xml转json的两种方法

1.第一种方法 使用JSON-JAVA提供的方法&#xff0c;之前一直使用json-lib提供的方法转json&#xff0c;后来发现了这个开源项目&#xff0c;觉得用起来很不错&#xff0c;并且可以修改XML.java中的parse方法满足自己的转换需要。 (1)首先去git下载所需的java文件&#xff0c;…...

c#如何将double转换成int

仅作为记录&#xff0c;大佬请跳过。 用(int)X 先初始化变量&#xff0c;再用 int a, b, c, d 0; a (int)X;b (int)Y;c (int)Width;d (int)Height;...

Confluent之Kafka Connector初体验

LinkedIn数据驱动主要有两点领悟,其一是强调动态数据有效性要远远大于静态数据,其二是要利用所有数据化信息而不仅仅是交易核心数据。 本篇主要从Kafka诞生背景开始,一步步引出Kafka的Connect组件,而Confluent也免费开源100多种Connector,最后用一个完整的Source和Sink例子…...

关于Swagger优化

背景尽管.net6已经发布很久了,但是公司的项目由于种种原因依旧基于.net Framework。伴随着版本迭代,后端的api接口不断增多,每次在联调的时候,前端开发叫苦不迭:“小胖,你们的swagger页面越来越卡了,快优化优化!”。 先查看swagger页面加载耗时:以上分别是:v1加载了两…...

原生实现C#和Lua相互调用-Unity3D可用

引言本篇简单介绍如何在C#中执行Lua脚本,传递数据到Lua中使用,以及Lua中调用C#导出的方法等。在Unity中开发测试,并打IL2CPP的Android包在模拟器上运行通过。Lua版本使用的是Lua5.1.5。 一、编译Lua动态链接库1. 编译Windows下使用的DLL文件使用VS2015创建一个空的动态链接库…...

软件测试复习

软件测试复习 软件测试的概念 采用手工或自动手段来运行或测定某个系统的过程&#xff0c;其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 软件缺陷是什么&#xff1f;体现在哪些地方 软件缺陷是指计算机系统或者程序中存在的任何一种破坏正常…...

数据智能在内容安全治理中的应用

摘要 在当前互联网产业快速发展的背景下,为了满足复杂环境下的内容安全治理需求,通过对自然语言处理、视图像智能识别和跨媒体感知等相关技术进行研究,提出了融合数据和内容安全的网络空间内容安全治理方案,对网络媒体中的文字、图片、视频等数据进行虚假信息检测、视图像…...

【机器学习】EM 算法(更新中)

在本文中规定&#xff0c;下凸函数为类似于 f(x)x2f(x)x^2f(x)x2 的函数&#xff0c;上凸函数为类似于 f(x)−x2f(x)-x^2f(x)−x2 的函数&#xff0c;f(x)kxbf(x)kxbf(x)kxb 这类线性函数既属于下凸函数又属于上凸函数&#xff0c;除去线性函数的下凸&#xff08;或上凸&#x…...

HML_FwLib_8051使用补充说明

镜像中默认只有STC89的源码和一个51测试demo&#xff1a; 分别代表了相对传统和相对现代的编程模式。仍然推荐现代模式&#xff01; 用自己电脑启动会有其他盘可供使用&#xff0c;需要修改并保存的&#xff0c;在其他位置中打开windows下常用盘就可以了。当然在此处做实验也可…...

nfc卡片

目标&#xff1a;将门禁卡、考勤卡、会员卡、停车卡、电梯卡等等各种卡模拟进手机里&#xff0c;模拟后可用手机代替刷卡&#xff0c;无需root&#xff0c;不用电脑 背景介绍&#xff1a; 1、前言   目前&#xff0c;IC卡已被广泛应用于身份识别、金融消费、安全认证等领域。…...

python生成颜色数组

利用matplotlib.pyplot工具生成颜色数组 用途 利用循环语句生成图表时&#xff0c;有时希望自定义每组数据在图表上颜色 如果多组数据在同一图表上生成图形&#xff0c;其实matplotlib.pyplot会自动给每组数据分配不同的颜色 例如&#xff1a; import numpy as np import m…...

python基础04——列表:list及元组:tuple

目录1 列表 list,有序可变序列1.1 创建1.1.1 使用[ ]创建1.1.2 使用list创建1.1.3 使用列表推导式创建1.2 查询1.2.1 索引 L[0]1.2.2 切片:左闭右开 L1[0:6:2]1.2.3 L.count(): 计数1.2.4 len(): 长度1.2.5 L.index(): 返回首次出现索引&#xff0c;如果没有出现则抛出异常1.2.…...

Google kickstart 2022 Round A题解

Speed Typing 题意概述 给出两个字符串I和P,问能否通过删除P中若干个字符得到I?如果能的话,需要删除字符的个数是多少? 数据规模 \[1≤|I|,|P|≤10^5 \]双指针 设置两个指针i和j分别指向I和P的第一个字符,滑动指针j,如果j指向的字符与i指向的字符相同,则让i向后滑动一个…...

Vue定时器设置

1. 创建定时器 1.1一次性定时器 //第二个参数是毫秒数 let timer setTimeout(() > {//需要定时执行的代码console.debug("Hello World");}, 3000)1.2 指定时间间隔触发定时器 let timer setInterval(() > {//需要定时执行的代码 },5000)1.3 清除定时器 /…...

JavaScript事件综合查询

click() 对象.click() 使对象被点击。 closed 对象.closed 对象窗口是否已关闭true/false clearTimeout(对象) 清除已设置的setTimeout对象 clearInterval(对象) 清除已设置的setInterval对象 confirm("提示信息") 弹出确认框&#xff0c;确定返回true取消返回false …...

[数字信号处理]应用FFT计算线性卷积

线性卷积的运算量 DFT的应用方向 一是计算卷积,二是频谱分析,该博客主要讨论前者。通常,信号过系统需要计算卷积,假设 h ( n ) h(n) h(n)的长度为 N N...

python求班级平均分,Python-------- for语句之统计班级平均分和打印九九乘法表

本片文章主要是有关for语句的几个Python小程序python1. 假设有一个登陆界面&#xff0c;从键盘上输入登陆的用户名和用户密码&#xff0c;当用户名为seven以及用户密码为123时打印登陆成功&#xff0c;其余状况打印登陆失败&#xff0c;一共有三次机会&#xff0c;当三次机会均…...

[杂记]算法: 单调栈

0. 引言 单调栈, 顾名思义就是从栈底到栈顶元素单调递增或者单调递减的栈. 往往, 我们在解决寻找一个元素前面/后面的最远/最近处满足某条件的另一个元素的时候可以用到单调栈. 也是用两道算法题作为例子. 在这之前, 先简单写一下构造单调栈的模板. 如果我们需要从一个数组中…...

了解 Oracle 中的主键和外键

一、主键 在现实世界中&#xff0c;很多数据具有唯一的特性&#xff0c;例如身份证号码&#xff0c;在国家人口基本信息表中&#xff0c;一定不会存在多个人用同一个身份证号码的情况&#xff0c;再例如手机号码、QQ号码、银行帐号等等&#xff0c;还有学生管理系统&#xff0…...

MySQL 表的增删查改(基础)

文章目录一. 新增(creat)二.查询(Retrieve)1.全列查询2.指定列查询3.查询字段为表达式4.别名5.去重操作----destinct6.排序操作----order by7.条件查询----Where8.分页查询----limit三.删除(Delete)这篇文章主要描述数据库中的 增查删改,CRUD.CRUD 即增加(Create)、查询(Retrie…...

JVM内存管理面试常见问题全解

一、什么是JVM 1、jvm的三个组成部分 二、类加载系统 1、类的加载过程 2、类加载器 三、双亲委派机制 1、双亲委派机制介绍 2、为什么要双亲委派机制 3、双亲委派机制的核心源码 4、全盘委托机制 5、自定义加载器实现双亲委托机制 6、自定义加载器打破双亲委派机制 四、运行时数…...

html班级管理模板,班级管理建议书模板参考

良好的班风是进行正常的学习的保障&#xff0c;下面是学习啦小编整理的班风建议书范文 班级管理建议书模板参考&#xff0c;欢迎阅读参考。班风建议书范文 班级管理建议书模板参考篇1最近我班的纪律很差&#xff0c;上课经常讲小话、换座位&#xff0c;课外也毫不约束自己。这都…...

Android四大组件——Activity——Activity的生命周期

Activity状态: 每个Activity在其生命周期中最多可能有四种状态 1.运行状态:处于栈顶时。初次创建处于栈顶时依次调用:onCreate(),onStart(),onResume()。由不可见重新处于栈顶时依次调用:onRestart(),onStart(),onResume()。由可见重新处于栈顶时调用:onResume()。 …...

Alien Skin Exposure2023调色滤镜插件RAW后期处理软件

Exposure既可以作为ps、lr的插件使用&#xff0c;也可以单独作为一款专业的图像编辑器使用&#xff0c;它可以处理RAW格式的照片&#xff0c;拥有500多种预设滤镜&#xff0c;还有照片管理和添加文字水印等功能。可以说&#xff0c;无论是新手还是设计师和摄影师&#xff0c;都…...

[附源码]计算机毕业设计JAVA基于JSP的美妆购买网站

[附源码]计算机毕业设计JAVA基于JSP的美妆购买网站 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM m…...

【FreeSwitch开发实践】外呼线路电话收不到回铃音问题的解决

✨ 博客主页&#xff1a;小小马车夫的主页 ✨ 所属专栏&#xff1a;FreeSwitch开发实践 ✨ 专栏介绍&#xff1a;主要介绍博主在实际项目中使用FreeSwitch开发外呼类项目的一些经验心得&#xff0c;主要涉及FreeSwitch的基本安装编译、基本配置、ESL、WSS、录音、自定义模块、m…...

C++:程序运行的开始和结束

1&#xff1a;程序如何开始 编译链接时的引导代码&#xff1a;操作系统性在执行main函数前其实也要先执行一段引导代码才能执行main&#xff0c;链接时由连接器将编译器中事先准备好的引导代码给链接进去和我们的应用程序一起构成最终的可执行程序。运行时的加载器&#xff1a…...

javaScript的事件集合大全

&#xfeff;&#xfeff;click() 对象.click() 使对象被点击。 closed 对象.closed 对象窗口是否已关闭true/false clearTimeout(对象) 清除已设置的setTimeout对象 clearInterval(对象) 清除已设置的setInterval对象 confirm("提示信息") 弹出确认框&#xff0c;确…...

Spark 多维分析

grouping sets / with cube / with rollup 多维分析问题 Spark SQL 的 GROUP BY 子句 | Spark SQL 教程 - 盖若 https://www.imooc.com/article/271662...

物联网安全年报信息采集

防护方式 本节讨论上文提到的 5 种防护方式的优缺点。非常明显的是 SDK在防护方式上具备天然优势&#xff0c;因 为 SDK可以直接参与到产品设计种&#xff0c;而终端的许多问题都是设计缺陷导致&#xff0c;SDK能从根源上解决一部 分问题。其次为可信系统&#xff0c;可信系统…...

ES6 入门教程 18 Iterator 和 for...of 循环 18.2 默认 Iterator 接口

ES6 入门教程 ECMAScript 6 入门 作者&#xff1a;阮一峰 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录ES6 入门教程18 Iterator 和 for...of 循环18.2 默认 Iterator 接口18 Iterator 和 for…of 循环 18.2 默认 Iterator 接口 Iterator 接…...

1529_AURIX_TriCore内核架构之编程模型

全部学习汇总&#xff1a; GreyZhang/g_tricore_architecture: some learning note about tricore architecture. (github.com) 继续看一下内核编程模型&#xff0c;看看是否能够对于所有芯片的理解形成一个统一的思维模式。 1. 编程模型主要涉及到的4项内容&#xff1a;支持的…...

320力扣周赛总结

目录 一、三元组数目 二、二叉树最近结点查询 三、到达首都的最少油耗 四、完美分割的方案数 一、三元组数目 6241. 数组中不等三元组的数目https://leetcode.cn/problems/number-of-unequal-triplets-in-array/ 思路&#xff1a;数据范围都非常小&#xff0c;三重循环即可…...

服务器端调用Matlab模型进行动作/意图识别

最近实验室项目结项&#xff0c;需要向云平台上上传模型进行动作识别&#xff0c;记得这是刚来实验室接手的第一个项目&#xff0c;做完这个项目的时间正好两年前我的生日的那天&#xff0c;老师给买了个蛋糕&#xff0c;实验室师哥陪我过完了我在实验室的第一个生日。这里再把…...

web前端培训:JQuery实现1024数独效果

今天我们来分享一款很火的小游戏&#xff0c;1024数独&#xff0c;先看看图 那么我先分享一下html5代码&#xff1a; 您现在得分 0 分 开始 ↑ ← ↓ → 接下来css代码: * { padding: 0; margin: 0; box-sizing: border-box; } ul { list-style: none; } .color0 { backgrou…...

200 a pmp minjie

全部 答对 答错 单选题 1.公司被委托研发一项新产品&#xff0c;预估实施质量控制系统将花费100万美元&#xff0c;预期的故障和潜在维修成本估计为50万美元。项目经理应该提出什么建议&#xff1f; A在做出决定之前考虑声誉损失成本 B实施质量控制系统&#xff0c;因为这是质…...

【输出重定向】Windows下 cmd 、powershell输出重定向

目录一、cmd和powershell二、什么是输入输出重定向三、语法及示例一、cmd和powershell 大家如果只用过Windows&#xff0c;可能cmd接触的相对多一点。按win r 输入cmd即可打开。我一般用的是powershell。 cmd:     cmd是command的缩写&#xff0c;即命令提示符。是提示命…...

基于mondrian的多维分析系统

0 术语与约束 1) Extraction-Transformation-Loading 是对OLTP数据进行抽取,转换,装载的过程(以下皆简称ETL) 2) 文档的说明均按照ETL→DW→CUBE→presentation 1 ETL相关 1.1维度表 1.1.1时间维度 1) 说明:该维度记录了每天的时间,粒度最高精确到日,并可分周,月,年等粒度…...

多维分析的本质计算是什么?能做什么又不能做什么?

多维分析主要面向业务用户提供数据查询分析服务&#xff0c;由于业务人员不懂 SQL&#xff0c;也无法完成多表关联&#xff08;有意义的查询经常是基于多表的&#xff09;&#xff0c;所以在多维分析建模阶段需要将多表转换成单表&#xff0c;也就是 CUBE。这样用户就可以很方便…...

About 11.20 This Week

Motivation&#xff1a; RE Englsih Math 一&#xff1a;RE 不管是自己举办的还是工作还是学校里的都挤在了这两周&#xff0c;尤其是这周&#xff0c;除了感觉自己的分享会有些意义&#xff0c;其他不过是浪费时间罢了&#xff0c;emmmm真的没意义&#xff0c;这种没意义的…...

realsense系列相机ros内外参标定2022.11.20

这里写目录标题环境环境 ros kinetic ubuntu 16.04 相机 realsense D455i 想着realsense是否和kinect一样进行内参标定&#xff0c;输出yaml文件&#xff0c;但是搜了一堆内容&#xff0c;并没有什么完整或是可靠的说法。 https://github.com/IntelRealSense/realsense-ros/is…...

分布式架构演进过程

分布式的前提&#xff0c;我们得有多台服务器&#xff0c;那么我们需要知道世界上第一台计算机的由来&#xff0c;而第一台计算机的参考模型就是冯诺依曼模型&#xff0c;为此奠定了所有的分布式都在围绕着这个模型里面的某一块或者相互之间模块进行打交道。 搞分布式又有什么意…...

比例尺与分辨率

一. 比例尺与分辨率 1.1 英寸与米的换算 1inch 25.4 mm 2.54cm 0.254dm 0.0254m 1m 1/0.0254 inch 39.37inch 1.2 比例尺的定义 ​ 比例尺&#xff0c;即地图上的距离与地面实际距离的比例。比如1:5000 表示的是1cm对应现实的5000cm即50米。比例尺通常有三种表达方式…...

探究本质,WebGIS前端地图显示之地图比例尺换算原理

1.没有豆浆机怎么办&#xff1f; 喝豆浆是我们早晨中基本必备的一环&#xff0c;油条豆浆&#xff0c;其乐融融。如果我问大家豆浆是怎么来的&#xff0c;五谷不分的人会说是用钱买的&#xff0c;了解有黄豆这会事的人会说是用豆浆机把黄豆磨出来的。如果我们再倒退十几年&…...

python输入班级姓名_c#部分---用结构体的题目- //请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体)...

//请输入班级人数&#xff0c;输入每个人的学号&#xff0c;姓名&#xff0c;和语文分数、数学分数和英语分数(要求使用结构体)&#xff0c;//求班级里两个语文分数是最高分的学生的所有信息&#xff1b;数学分数是最高分的两个学生的所有信息&#xff1b;英语平均分建立结构体…...

计算机专业班级建设方案获奖,汽车工程学院班级建设目标管理及示范班级创建方案(2012试行)...

为强化学生自我管理&#xff0c;深入推进学风建设&#xff0c;加强班级建设&#xff0c;促进学院发展&#xff0c;经研究&#xff0c;面向全院实行《班级建设目标管理与示范班级创建》(试行)方案。一、指导思想立足班级管理和发展&#xff0c;以学风建设为主线&#xff0c;充分…...

Spring Security(1)

您好&#xff0c;我是湘王&#xff0c;这是我的CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 虽然说互联网是一个非常开发、几乎没有边界的信息大海&#xff0c;但说起来有点奇怪的是&#xff0c;每个稍微有点规模的互联网应用都有自己的权限系统&#xff…...

C#二次开发BIMFACE系列60 File Management文件管理服务及应用场景

系列目录 【已更新最新开发文章,点击查看详细】在我的博客《C#二次开发BIMFACE系列》教程中详细介绍了如何注册BIMFACE、测试、封装服务器端接口并提供了丰富的Demo、视频教程等内容。目前已有70多家建筑公司、高校及个人软件开发者使用了我封装的开源 BIMFACE SDK,期间交…...

Python 函数转命令行界面库 -- Argsense CLI

argsense 是一个 python 命令行界面库, 是 click, fire, typer 之外的又一个选项. argsense 最大的特点是极低的侵入性设计和近乎零成本的上手难度, 如果你熟悉 python 函数是如何传参的 (这是大部分 python 初学者已经掌握的知识), 那么你就可以很快上手 argsense. 特性一览 …...

pytorch中Dataset和Dataloader的使用

1.datasets下载数据集 root :代表着路径&#xff0c;表示现存或者准备存储的地方。 train :代表是否下载训练数据集&#xff0c;如果否的话就下载测试数据集 transform: 如果想对数据集进行什么变化&#xff0c;在这里进行操作 target_transform:跟上面的一样 download:如果是T…...

面试突击40:线程休眠的方法有几种?

在 Java 中,让线程休眠的方法有很多,这些方法大致可以分为两类,一类是设置时间,在一段时间后自动唤醒,而另一个类是提供了一对休眠和唤醒的方法,在线程休眠之后,可以在任意时间对线程进行唤醒。PS:休眠是指让某个线程暂停执行(进入等待状态),唤醒指的是让某个暂停的…...

js如何实现继承

1&#xff0c;原型链继承 让构造函数的原型&#xff08;prototype&#xff09;是另一个类型的实例&#xff0c;那么该构造函数new出来的实例就具有该实例的属性&#xff1b;缺点&#xff0c;每一个对象实例共享所有的继承和方法&#xff0c;无法向父类传参 function father&a…...

【动态规划】01背包问题(手画图解)

经典dp动规问题&#xff0c;01背包问题关键在于遍历顺序与初始化这两步的推导。 目录 文章目录 一、01背包问题 二、确定dp数组及其下标含义 三、确定递推公式 四、确定初始化 五、确定遍历顺序 六、举例推导dp数组 总结 一、01背包问题 有n件物品&#xff0c;每件的价值…...

JS 闭包

JS 闭包 一、如何产生闭包&#xff1f; 当一个嵌套的内部&#xff08;子&#xff09;函数引用了嵌套的外部&#xff08;父&#xff09;函数的变量&#xff08;函数&#xff09;时&#xff0c;就产生了闭包&#xff1b; 二、闭包到底是什么&#xff1f; 理解一&#xff1a;闭…...

13薪|架构师[北京市 - 朝阳区]-20k-35k

"众推职聘”以交付结果为宗旨的全流程化招聘服务平台&#xff01;今日招聘信息↓【工作内容】1、负责公司千万级数据、用户的产品平台整体技术规划、系统架构设计及优化&#xff1b;2、对设计系统的最终性能和稳定性、扩展性负责&#xff1b;3、参与各种技术方案评审&…...

Windows磁盘克隆软件推荐

把原有硬盘克隆到另一个更大的硬盘&#xff0c;你只需要一个好用的硬盘克隆软件。如果你不知道硬盘克隆软件怎么选&#xff0c;你可以尝试下傲梅轻松备份&#xff0c;这个磁盘克隆软件适用于Windows 11、Windows 8、Windows 7、Windows XP、Windows Vista。以下是它的一些优点&…...

一文搞清商旅酒店数据治理——酒店数据问题分析及治理方案

问题背景 对于商旅用户而言&#xff0c;通过商旅系统进行酒店预订时&#xff0c;都希望酒店预订体验良好。并且商旅用户通过预订页面进行酒店预订时希望所见即所得&#xff08;也就是说&#xff0c;所看见的酒店相关信息就是用户最终预订的结果&#xff09;&#xff0c;包括能…...

TOOM品牌公关与舆情管理怎么做,品牌舆情监控工作制度是什么?

品牌舆情是指关于某一品牌的公共讨论、评价和看法。品牌舆情可以通过社交媒体、新闻媒体、博客、论坛等多种途径表现出来。监测品牌舆情是品牌公关和舆情管理的重要组成部分&#xff0c;可以帮助公司了解公众对品牌的看法&#xff0c;以及在遇到舆情危机时采取有效的应对措施。…...

SVG 语法入门教程(绘制矩形、圆形、椭圆、多边形等)

文章目录一、SVG 简介1.1 什么是 SVG &#xff1f;1.2 SVG 的历史和优势1.3 查看 SVG 文件1.4 创建SVG文件1.5 学习之前应具备的基础知识二、SVG 实例三、在 HTML 中嵌入 SVG3.1 使用 \<embed> 标签3.2 使用 \<object> 标签3.3 使用 \<iframe> 标签3.4 直接在…...

从0开始学python -23

Python3 条件控制 Python 条件语句是通过一条或多条语句的执行结果&#xff08;True 或者 False&#xff09;来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 代码执行过程&#xff1a; if 语句 Python中if语句的一般形式如下所示&#xff1a; if conditi…...

访问学者申请信标准模版

今天知识人网访问学者小编为大家分享一封标准的申请信模版&#xff0c;希望大家注意格式的书写&#xff1a;意向导师名称(如Dr. XXX)意向单位名称意向单位地址(如XXX号XX路XX市XX省)年月日开头(Dear XXX)&#xff0c;第一部分结合自己的研究兴趣向该单位的访学职位表示浓厚的兴…...

数字时代,VR云招聘“零见面”火了

招聘信息刷了又刷&#xff0c;上班谈、下班聊&#xff0c;终于到了可以预约时间来公司面试时&#xff0c;一句“我考虑下”或干脆没回音了&#xff0c;直接把HR打回原地。新年伊始&#xff0c;随着疫情的放开&#xff0c;金三银四的求职、招聘旺季仿佛也提前到来&#xff0c;但…...

Hudi(20):Hudi集成Flink之可以离线进行的操作

目录 0. 相关文章链接 1. 离线 Compaction 1.1. 设置参数 1.2. 原理 1.3. 使用方式 1.3.1. 执行命令 1.3.2. 参数配置 1.3.3. 案例演示 2. 离线 Clustering 2.1. 设置参数 2.2. 原理 2.3. 使用方式 2.3.1. 执行命令 2.3.2. 参数配置 2.3.3. 案例演示 0. 相关文章…...

【Spring-Security】详细使用用指南

Spring-Security使用详细指南简介简单入门认证登录校验流程原理解读认证流程登录校验&#xff1a;授权授权基本流程授权实现限制访问资源所需的权限简介 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。 在安全框架中&#xff0c;我们最常提到的两个概…...

sd卡图片损坏怎么修复?

在旅途中&#xff0c;正常情况下用相机拍的照片都是存在相机的SD卡里的。等到我们需要时&#xff0c;在进行导出。但如果是出现意外导致sd卡图片遭到损坏&#xff0c;遇到这种情况&#xff0c;sd卡图片损坏怎么修复呢?这里小编将为大家分享一些图片修复技巧。操作很简单。相信…...

博物馆ar景点创意化交互体验的优点

一直以来&#xff0c;博物馆注重展览深度的拓展和藏品价值的挖掘&#xff0c;而缺少传播与推广。“博物馆的研究成果和藏品价值应该让公众有更多机会和渠道了解。 在博物馆中&#xff0c;为了保护古代文物不受到破坏而收藏到展柜中&#xff0c;参观者因受到展柜的距离限制无法近…...

一道经典面试题透彻理解面向对象编程思想和简单工厂模式

一道经典的面试题如下&#xff1a; 用一种面向对象编程语言实现一个计算器来满足整数的加减乘除运算。 大部分人的代码如下&#xff1a; 1.0版本 #include<iostream> using namespace std; #include<string> //1.0版本 int main() {int num1 0;int num2 0;st…...

Java软件开发需要掌握的技术分阶-2023版

简单的东西考虑全面&#xff0c;复杂的东西分成简单&#xff0c;枪在手&#xff0c;路在前&#xff0c;独闯难关&#xff0c;大破无往 第一阶段 计算机理论基础&#xff1a;操作系统、网络安全、数据结构与算法、硬件与软件基本常识 Java&#xff1a;各环境部署与程序运行原理…...

使用 React hooks 怎么实现类里面的所有生命周期?

在 React 16.8 之前&#xff0c;函数组件也称为无状态组件&#xff0c;因为函数组件也不能访问 react 生命周期&#xff0c;也没有自己的状态。react 自 16.8 开始&#xff0c;引入了 Hooks 概念&#xff0c;使得函数组件中也可以拥有自己的状态&#xff0c;并且可以模拟对应的…...

shell脚本简介+编写

1、常用Linux命令 2、Linux下脚本编写 3、windows下CMD常用命令 文章目录一、变量1、系统预定义变量2、自定义变量3、特殊变量&#xff1a;n、n、n、#、∗、*、∗、、$?二、运算符三、条件判断1、两个整数之间比较2、文件权限判断3、文件类型判断4、多条件判断四、流程控制1、…...

新项目如何提交代码到已有仓库,并创建新分支

1、步骤 2、创建远程仓库或者打开已有仓库页面 3、打开工程&#xff0c;创建本地git仓库 4、本地仓库与远程仓库关联 1、新建项目&#xff0c;此时的项目工程如下图所示 2、创建远程仓库或者打开已有仓库页面 此时在新建仓库或者已有仓库页面复制好仓库地址&#xff08;仓库…...

分享36个JS滚动,29个JS进度条,12个JS日历代码,总有一款适合您

分享36个JS滚动&#xff0c;29个JS进度条&#xff0c;12个JS日历代码&#xff0c;总有一款适合您 36个JS滚动29个JS进度条12个JS日历代码下载链接&#xff1a;https://pan.baidu.com/s/1zvSK9EAPd4dnMRl7V4Cc1g?pwdsu9i 提取码&#xff1a;su9i Python采集代码下载链接&a…...

ElasticSearch-学习笔记03【ElasticSearch集群】

Java后端-学习路线-笔记汇总表【黑马程序员】ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】ElasticSearch-学习笔记02【ElasticSearch索引库维护】ElasticSearch-学习笔记03【ElasticSearch集群】ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】Ela…...

MySQL面试题:保证MySQL隔离性的MVCC

文章目录一、MVCC是什么二、为什么需要MVCC三、InnoDB中的MVCC学习视频&#xff1a;后端面试问题系列参考文章&#xff1a;MVCC 机制的原理及实现一、MVCC是什么 MVCC机制&#xff1a;生成一个数据快照&#xff0c;并用这个快照来提供一定级别的一致性的读取&#xff0c;也称为…...

基于RNN文本生成 为男朋友写诗歌 附代码 详细教程

一、亮出效果 世界上美好的事物很多,当我们想要表达时,总是感觉文化底蕴不够。 看到大海时,心情舒畅,顿时感觉激情澎湃,想了很久,说了句:真大啊!看到鸟巢时,心情舒畅,顿时感觉激情澎湃,想了很久,说了句:真大啊!看到美女时,心情舒畅,顿时感觉激情澎湃,想了很久…...

2.5 Java基础 day06 数组 九层妖塔数组实现 字符串的拼接、比较等方法

数组 一维数组&#xff1a; String[] nums new String[3]; // //nums[0] 1; // for (Object num : nums) { // System.out.println(num); // } // String[] names {"zhangsan", "lisi", "wangwu"}; …...

中创教育带你了解培训机构投诉退费纠纷增多原因

教育培训机构纠纷近年来案件越来越多&#xff0c;主要聚焦于退费问题。交费容易&#xff0c;退费难上加难&#xff0c;为此&#xff0c; 提醒各位学员在选择学历提升、学科类或职业技能、职业资格类教育培训机构时要注意查看对方是否已经取得教育行政部门或人力社保部门颁发的…...

【CSDN竞赛26】题解

文章目录等差数列题目描述解题思路AC代码阿波罗的魔力宝石题目描述解题思路AC代码任务分配问题题目描述解题思路AC代码单词逆序题目描述解题思路AC代码CSDN编程竞赛报名地址&#xff1a;https://edu.csdn.net/contest/detail/40 等差数列 题目描述 一个等差数列是一个能表示成…...

Visual Transformer算法汇总总结

深度学习知识点总结 专栏链接: https://blog.csdn.net/qq_39707285/article/details/124005405 此专栏主要总结深度学习中的知识点&#xff0c;从各大数据集比赛开始&#xff0c;介绍历年冠军算法&#xff1b;同时总结深度学习中重要的知识点&#xff0c;包括损失函数、优化器…...

【2】深度学习之Pytorch——数据类型、索引张量、Numpy的互通性的概念、序列化张量

目录数据类型创建时指定数据类型转换数据类型索引张量numpy与pytorch的互通性序列化张量保存加载将张量转移到GPU上运行张量常见的API总结每文一语本期文章我们继续介绍张量的数据类型和一些基本的操作 数据类型 张量构造函数&#xff08;即tensor、ones、zeros之类的函数&am…...

Pandas读取excel合并单元格的正确姿势(openpyxl合并单元格拆分并填充内容)

问题介绍&#xff08;ffill填充存在的问题&#xff09; 在pandas读取excel经常会遇到合并单元格的问题。例如&#xff1a; 此时使用pandas读取到的内容为&#xff1a; 如果去百度&#xff0c;几乎所有人会说应该用如下代码&#xff1a; df[班级] df[班级].ffill()这样看起来…...

jsp员工管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 员工管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发&#xff0c;数据库为Mysql&#xff0c;使用ja…...

Shebang Line解释行

Shebang Line Shebang Line也被叫做 Hashbang Line&#xff0c;主要是一个由井号#和叹号!开头&#xff0c;并构成的字符序列&#xff0c;如#! xx/xx/x就叫做 Shebang Line。在开头字符之后&#xff0c;可以有一个或数个空白字符。这个字符串&#xff0c;通常只出现在 Script 文…...

片内和片间时间同步,时间戳

时间同步的概念给出几个应用场景&#xff1a;GPS授时车载系统 传感器与处理器之间的时间同步汽车上的各个ECU基本都是实时性非常强的控制器&#xff0c;在关联ECU之间或ECU内部各个软件模块之间通常需要在大致同步的时间节拍上运行&#xff0c;特别是在某些高速场景&#xff0c…...

通过 Microsoft Visual Studio 构建NotepadFree

通过 Microsoft Visual Studio 构建NotepadFree 前置要求: Microsoft Visual Studio 2019 (C/C Compiler, v142 toolset for win32, x64, arm64) 由一个 Visual Studio 解决方案构建的三个组件&#xff1a; notepad.exe: (包含 libSciLexer.lib) libScintilla.lib : 基于 Sc…...

给大家推荐一些非常实用的JavaScript、TypeScript一行代码,建议收藏

给大家推荐一些非常实用的JavaScript、TypeScript一行代码&#xff0c;建议收藏一、数组相关1、数值类型转数组2、校验数组是否为空3、将对象数组转为单个对象4、两个数组比较5、将字符串数组转为数字6、统计一个值在数组出现的次数二、日期处理1、两个日期相差月份2、两个日期…...

One-Hot 的使用

Sklearn 中 OneHotEncoder 的使用&#xff1a; import numpy as np from sklearn.preprocessing import OneHotEncoder samples np.array([ [1, 3, 2], [7, 5, 4], [1, 8, 6], [7, 3, 9] ]) # 独热编码 sparse 是否采用稀疏矩阵 ohe OneHotEncoder(sparseFalse, dtype&quo…...

Springboot整合AOP和注解,实现丰富的切面功能

简介 我们在文章《Spring AOP与AspectJ的对比及应用》介绍了AOP的使用&#xff0c;这篇文章讲解一下AOP与注解的整合&#xff0c;通过注解来使用AOP&#xff0c;会非常方便。为了简便&#xff0c;我们还是来实现一个计时的功能。 整合过程 首先创建一个注解&#xff1a; Re…...

【Flutter入门到进阶】跨平台相关

1 跨平台 1.1 跨平台概念 1.1.1 概念 跨平台概念是软件开发中一个重要的概念&#xff0c;即不依赖于操作系统&#xff0c;也不依赖硬件环境。一个操作系统下开发的应用&#xff0c;放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨…...

阿里前端一面必会react面试题总结

React中怎么检验props&#xff1f;验证props的目的是什么&#xff1f; React为我们提供了PropTypes以供验证使用。当我们向Props传入的数据无效&#xff08;向Props传入的数据类型和验证的数据类型不符&#xff09;就会在控制台发出警告信息。它可以避免随着应用越来越复杂从而…...

各国政府成为量子投资“狂热”主力军!

&#xff08;图片来源&#xff1a;网络&#xff09;即使在资本寒冬&#xff0c;量子计算也吸引着投资者的极大兴趣。今年&#xff0c;尤其是美国以外的初创公司吸引了投资者的目光&#xff0c;获得了巨额投融资。2023年1月&#xff0c;总部位于澳大利亚悉尼的量子计算初创公司Q…...

Makefile 整理

1 简介 一个工程中的源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先编译&#xff0c;哪些文件需要后编译&#xff0c;哪些文件需要重新编译&#xff0c;甚至于进行更复杂的功能…...

全局事务服务 GTS

目录 1.什么是全局事务服务GTS 2.为什么需要全局事务服务 3.产品架构 4.应用场景 SOA 和分布式事务 消息事务 通用分布式事务管理 共享出行 5.产品功能 跨数据库分布式事务 跨服务的分布式事务 消息队列分布式事务 混合的分布式事务 多种事务模式 6.产品优势 超强…...

【C#项目】图书管理系统-WinForm+MySQL

文章目录前言一、业务梳理与需求分析1.功能描述2.实现步骤3.功能逻辑图二、数据库设计1.实体-关系&#xff08;E-R图&#xff09;概念模型设计2.数据表设计三、WinForm界面交互设计四、通用类设计五、系统代码实现与分析总结前言 图书馆管理系统主要功能有普通用户&#xff08…...

STK + C# + Cesium联合编程(一):技术路线验证

概述本文演示了一个基于STK C# Cesium联合编程的应用实例。关于STK和Cesium编程网上在线资料丰富&#xff0c;本文主要解决了如果配置IIS服务以使得远程客户端能访问、初始化、以及执行服务器端STK的接口服务。请参考本作者之前关于STK、Cesium&#xff08;CZML&#xff09;、…...

2023-02-07 mysql创建user并配置权限

查询数据库版本 select version 查询所有ip和用户 select * from mysql.user; mysql> select * from mysql.user; mysql> select host,user from mysql.user; ---------------------------------------- | host | user …...

STM32CubeMX学习笔记(51)——读写内部Flash

一、简介 在STM32芯片内部有一个 FLASH 存储器&#xff0c;它主要用于存储代码&#xff0c;我们在电脑上编写好应用程序后&#xff0c;使用下载器把编译后的代码文件烧录到该内部 FLASH 中&#xff0c;由于 FLASH 存储器的内容在掉电后不会丢失&#xff0c;芯片重新上电复位后…...

互斥锁、读写锁、自旋锁

目录 为什么需要加锁&#xff1f; Demo1 分析原因 解决方法一&#xff1a;互斥锁(mutexlock) 解决方法二&#xff1a;自旋锁(spinlock) 自旋锁与互斥锁效率对比 Linux自旋锁与互斥锁的区别 Linux自旋锁与互斥锁的选用原则 C/CLinux服务器开发/后台架构师【零声教育】-学…...

Linux 项目使用命令整理

一. 从一个服务器到另一个服务器拷贝命令 拷贝单个文件命令&#xff1a; scp file usernameip:filepath 说明&#xff1a; username: 远程登录的用户名&#xff0c; 拷贝文件夹命令如下(多加上一个-r 参数即可)&#xff1a; scp -r file usernameip:filepath 二. 常用命令积…...

@Aspect注解背后的奥秘--下

Aspect注解背后的奥秘--下前言手动化进行到自动化靠的是什么自动代理创建器如何搜寻并对增强器集合进行过滤1.寻找所有可用的候选advisor1.1 isEligibleBean两种分支情况2.过滤候选增强器3.扩展增强器4.对增强器进行排序搜寻所有切面类并完成解析转换过程创建代理对象拦截器链执…...

Dlib+Opencv进行人脸识别检测

本案例主要用于对图片中的人脸进行检测&#xff0c;并用矩形进行框出import dlibimport cv2# 需要被识别的图片img_path "D:\\xxx.jpg"imgcv2.imread(img_path)#转换为灰阶图片graycv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 正向人脸检测器detector dlib.get_frontal…...

汽车行业进入「换帅+换将」周期,2023年关键词:变

「换帅换将」&#xff0c;成为汽车制造商进入下一个行业十年发展周期的新常态&#xff0c;同时也是解决企业现阶段难题&#xff08;包括新能源转型、智能化技术升级、市场销量疲软等等&#xff09;的不二之选。 1月30日&#xff0c;小鹏汽车宣布&#xff0c;原长城汽车总经理王…...

Android---PhotoView

目录 准备工作 1、双击放大和缩小 2、惯性滑动 3、双指放大和缩小 4、完整DEMO 准备工作 自定义PhotoView 自定义 PhotoView 继承(extends)自 View。并在最中间显示后面操作的图片。绘制图片可以重写 onDraw()方法&#xff0c;并在里面通过Canvas.drawBitmap()来要绘制图片…...

GardenPlanner 下载,园林绿化设计

garden planner拥有花园式和景观设计的工具&#xff0c;软件使用简单放&#xff0c;是一个简单而有效的软件解决方案&#xff0c;可以帮助你设计你梦想中的花园,以及安排植物,树木,建筑物和对象。1、garden planner支持更简单的园林规划方案2、软件采用二维的方式建立规划图3、…...

关于Python3异步非阻塞Web框架Tornado:真实的异步和虚假的异步

我们知道Tornado 优秀的大并发处理能力得益于它的 web server 从底层开始就自己实现了一整套基于 epoll 的单线程异步架构&#xff0c;其他 web 框架比如Django或者Flask的自带 server 基本是基于 wsgi 写的简单服务器&#xff0c;并没有自己实现底层结构。而tornado.ioloop 就…...

传统文件同步方式有哪些问题?该如何寻找替代同步方案?

企业每天都在产生大量数据&#xff0c;不断累加&#xff0c;大部分数据都会存储在服务器、数据中心等位置&#xff0c;所以在数据中心、服务器节点、异地分支机构、外部合作伙伴之间等&#xff0c;存在多种文件交换场景。 很多企业一开始会选择一些传统的传输调度方式&#xff…...

8-还在用Replication Controller吗、不妨考虑Deployment

8-还在用Replication Controller吗、不妨考虑Deployment 前言 在前一天我们介绍到Replication Controller。如果读者看过 Replication Controller官方文件 &#xff0c;可以看到官方在文件一开头就表示&#xff1a; NOTE: A Deployment that configures a ReplicaSet is now …...

Mysql5.7解压版安装教程(安装第二个服务)

一、 安装步骤 &#xff08;1&#xff09;解压Mysql5…7版本&#xff0c;在根目录下创建文件“my.ini”&#xff0c;并编辑相关内容如下&#xff1a; 注意&#xff1a; port、basedir、datadir、server-id不要和第一个&#xff08;已安装的&#xff09;MySQL相同。 [mysql] #…...

深圳医药净化厂房设计装修要点SICOLAB深圳医药净化厂房设计装修公司

1 GMP的作用药厂的新建、改建和扩建均要按照GMP 进行GMP 是药品生产和质量管理规范的简称。为了保证药品的生产质量&#xff0c;保证人民安全用药&#xff0c;中国国家药品监督管理局1998 年颁布的《GMP》是借鉴国外和国内以往的《GMP》&#xff0c;经过逐步完善&#xff0c;结…...

02-PS工具栏介绍

1.移动工具 用来移动图片位置的, 用鼠标左键点击图片不松手, 移动鼠标就可以进行拖动 2.画板工具 ps中选择画板工具之后&#xff0c;可以根据需要添加多个画板。以下为详细的操作步骤&#xff1a; 1.ps软件中&#xff0c;新建画布之后&#xff0c;在左侧工具栏选择画板工具 …...

小区系 统 信 号 及 电 源 传 输

&#xff08; 1&#xff09; 系 统 的 信 号 电 缆本 次 设 计 主 要 道 路 的 数 字 监 控 &#xff0c; 采 用 超 五 类 室 外 防 水 网 线 传 输 视 频 信 号 &#xff0c; 传输 距 离 小 于 75米 &#xff0c;当 距 离 大 于 75米 时 &#xff0c;全 部 采 用 交 换 机 千 …...

基于Orfeo ToolBox+TensorFlow 遥感影像分类教程

一、前言在本博客中&#xff0c;我们将了解如何仅使用面向用户的开源软件在真实世界的遥感图像上训练和应用深度神经网络。 无需编码技能&#xff01;我们想要对 Sentinel-2 图像进行分类&#xff0c;这意味着我们打算估计每个像素的类别。 由于我们的地形真实数据被稀疏地注释…...

三.并发操作的同步

文章目录一、条件变量等待条件成立&#xff0c;std::condition_variable1.wait()条件成立时线程执行后续工作&#xff0c;否则线程原地待命进入睡眠状态2.notify_one()触发一个调用wait()处于等待的线程去检验条件3.notify_all()触发所有调用wait()处于等待的线程去检验条件4.实…...

C的实用笔记38——结构体的引入和定义

1.为什么要用结构体&#xff1f; 0、原因&#xff1a;实际开发中&#xff0c;我们需要将不同类型的数据组合成一个整体&#xff0c;这就是结构体。结构体是自创的类型。 1、查找一名学生信息的两种方案&#xff1a;在EXCEL表格和数据库中经常有这种情况&#xff0c;比方说一个…...

C++:序列化和反序列化知识和代码

转载&#xff1a; 1.c 序列化和反序列化 - Malphite - 博客园 (cnblogs.com) 2. C使用boost.serialization序列化与反序列化_c boost 序列化_mq白的博客-CSDN博客 3.xml、json、protobuf序列化协议 - 知乎 (zhihu.com) 4.Boost序列化全解析_boost 序列化_土豆西瓜大芝麻的博…...

宿主DAW编曲软件 FL Studio 21中文版超过 25 年的持续更新

宿主DAW编曲软件 FL Studio&#xff1a;经过超过 25 年的持续更新&#xff0c; FL Studio 21中文版已成为许多顶级 DJ 和制作人的“for many top DJs and producers”。 作曲、编曲、编辑、录音、混音、母带处理等所需的一切都应有尽有&#xff0c;这些有机的整合一定会激发您…...

CSMSC里面的文本和标点

。 &#xff1f; 、&#xff01;&#xff0c; wei1 wei1 jing3 gang1 shan1 mian2 gen4 wu2 bai2 li3 000297 不能#2狗熊#1掰棒子#4。 bu4 neng2 gou3 xiong2 bai1 bang4 zi5 000298 民#1哪告得过#1官啊#4&#xff1f; min2 na3 gao4 de5 guo4 guan1 a5 000299 …...

数据库:Redis哨兵及cluster集群部署

一、redis数据库哨兵模式 目录 一、redis数据库哨兵模式 1、什么是哨兵模式 2、哨兵的作用 3、哨兵结构组成 4、哨兵故障转移机制 5、哨兵工作、切换原理 6、哨兵主节点选举原则 7、哨兵模式部署 二、redis数据库cluster集群 1、cluster集群优点、数据存储及同步方式…...

【在家远程控制校园网主机开关机方案】

【解决校园网远程控制限制方案】1. 前言1.1 需求分析1.2 原因分析2. 方案设计2.1 RayLink下载2.2 BIOS来电重启项2.3 天猫精灵智能开关3. 实验效果3.1 远程控制效果3.2 远程开关机效果4. 总结1. 前言 1.1 需求分析 上个月我买了一台主机&#xff0c;原先19年的飞行堡垒不中用…...

来自chatgpt3.0的无障碍开发

无障碍开发是一种尊重和包容所有人的开发方式&#xff0c;旨在实现全面的可访问性&#xff0c;使所有人均能够轻松使用应用程序和网站。 随着社会多元化和数字化的发展&#xff0c;越来越多的人需要使用数字技术&#xff0c;包括残障人士、老年人以及经历过某些生理或心理状况…...

【可信平台集成:未获取匹配BOM】--60092973

今天遇到可信平台集成报错: 物料是60092973 去可信平台查一下,物料是否存在 可以看到有两条记录,一条是禁用状态,一条是启用状态。 这里只需要关注启用状态的物料。 既然物料是存在的,看一下这个物料所属的BOM有没有维护。 查询BOM是否维护有2种方法。 1.将上面的物料…...

在VScode中配置Python开发环境----需要注意的一个点:settings.json

在VScode中配置Python开发环境&#xff08;可以参考这个博主的方法&#xff09;&#xff1a; http://t.csdn.cn/L1jux 1、安装python 官网下载地址&#xff1a;https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe 双击打开.exe文件 勾选 Add Python 3.8 to Pat…...

面试热点题:DFS最大人工岛 一个没有那么难的的困难题

如果你一点也不了解什么是DFS(深度优先搜索)&#xff0c;建议看一下这一篇LeetCode岛屿问题DFS 最大人工岛 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后&#xff0c;grid 中最大的岛屿面积是多少&#xff1f; 岛屿 由一组上、下、左…...

【Java Web】006 -- MySQL(DDL DML)

目录 前言 1、什么是数据库&#xff1f; 2、目前主流的关系型数据库有哪些&#xff1f; 3、课程安排 一、MySQL概述 1、安装 & 配置 ①、安装 ②、配置 ③、MySQL-企业开发使用方式 2、MySQL的数据模型 ①、关系型数据库 ②、数据模型 3、SQL简介 ①、SQL通用语法 ②、SQL分…...

数据结构与算法_单链表

要实现对一组数据的增删查改&#xff0c;我们可以用动态顺序表来实现。但是动态顺序表也有它的缺陷&#xff0c;那就是要对某个位置的数据进行删除&#xff0c;或者在某个数据之前或之后插入数据&#xff0c;就要改变部分数据原有的位置。 而用链表的话&#xff0c;就不会有这…...

【三】3D匹配Matching之可变形曲面匹配Deformable Surface—read_deformable_surface_model()算子

&#x1f60a;&#x1f60a;&#x1f60a;欢迎来到本博客&#x1f60a;&#x1f60a;&#x1f60a; &#x1f31f;&#x1f31f;&#x1f31f; Halcon算子太多&#xff0c;学习查找都没有系统的学习查找路径&#xff0c;本专栏主要分享Halcon各类算子含义及用法&#xff0c;有…...

MySQL为什么有时候会选错索引

目录 前言 优化器的逻辑 索引选择异常和处理 前言 在 MySQL 中一张表其实是可以支持多个索引的但是你写 SQL 语句的时候&#xff0c;并没有主动指定使用哪个索引也就是说&#xff0c;使用哪个索引是由 MySQL 来确定的不知道你有没有碰到过这种情况&#xff0c;一条本来可以执…...

《程序员面试金典(第6版)》 面试题 08.11. 硬币(动态规划,组合问题,C++)

题目描述 硬币。给定数量不限的硬币&#xff0c;币值为25分、10分、5分和1分&#xff0c;编写代码计算n分有几种表示法。(结果可能会很大&#xff0c;你需要将结果模上1000000007) 示例1: 输入: n 5 输出&#xff1a;2 解释: 有两种方式可以凑成总金额: 55 511111 示例2: 输…...

第06章_索引的数据结构

第06章_索引的数据结构 &#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目…...

Randomized Response论文笔记

1.论文背景 1.1 主要思想&#xff1a; 利用对敏感问题回答的不确定性对原始数据进行隐私保护. &#xff08;用撒谎来掩饰&#xff09; 1.2 核心问题&#xff1a; 在回答隐私问题时&#xff0c;很多人不愿意回答或者是随机回答&#xff0c;因此统计结果的误差通常很难估计. …...

NIO 缓冲区

摘要 Java提供了NIO操作的API&#xff0c;但真正处理NIO流&#xff0c;经常会出现如下代码&#xff1a; SocketChannel channel (SocketChannel) key.channel();ByteBuffer buffer ByteBuffer.allocate(1024);while (channel.read(buffer)!-1){//复位&#xff0c;转化为读模式…...

ChatGPT 将如何颠覆数据和分析领域(翻译)

ChatGPT 将如何颠覆数据和分析领域 每个人都在谈论 ChatGPT。许多人也在使用它。这个新的人工智能工具由 OpenAI 推出&#xff0c;它在各行各业和各行各业的人们中引起了轰动。该工具可以为查询提供明确的响应、编写代码并为大多数查询提供结果&#xff0c;甚至是那些与流程、…...

python 创建数组的方法

数组是一个集合&#xff0c;它把一个对象放在集合的某个位置。数组可以存放一个或多个对象&#xff0c;每个对象都是一个数组。在 python中&#xff0c;我们可以使用 new关键字创建一个数组&#xff0c;然后对其进行操作。 下面来看看如何创建一个简单的数组吧。 首先我们要创建…...

Spring Boot使用GraphQL开发Web API

目录前言Spring Boot中GraphQL的实现方案前言 传统的Restful API 存在诸多的问题&#xff0c;首先它无法控制返回的字段&#xff0c;前端也无法预判后端的返回结果&#xff0c;另外不同的返回结果对应不同的请求地址&#xff0c;这就导致了多次请求的问题。而GraphQL正是基于这…...

自学大数据第13天~Hbase数据库操作

前面学习了Hbase的安装与简单的使用(shell命令),今天首先复习一下Hbase的简单命令: 启动Hbase,创建表, 插入数据: 可以看到,一次只能插入一列,不能插入多个列 插入数据,然后查看 这里可以看到每个数据都带有时间戳,所以如果是分布式集群的方式要注意每个机器之间的时间要统一…...

每日一练2627——变态跳台阶快到碗里来不用加减乘除做加法三角形

文章目录变态跳台阶思路&#xff1a;代码&#xff1a;快到碗里来思路&#xff1a;代码&#xff1a;不用加减乘除做加法思路&#xff1a;代码&#xff1a;三角形思路&#xff1a;代码&#xff1a;变态跳台阶 题目链接&#xff1a; 思路&#xff1a; 这个题目很容易理解&#…...

【Java】【JVM】主内存和工作内存

前言&#xff1a;了解JVM内存模型 内容 参考JVM内存模型&#xff0c;可分为主内存和工作内存。 主内存&#xff1a;所有的线程所共享的,主要包括本地方法区和堆工作内存&#xff1a;每个线程都有一个工作内存不是共享的 一个是属于该线程私有的栈对主存部分变量拷贝的寄存器…...

基于springboot实现社区疫情防控平台演示【附项目源码】

基于springboot实现社区疫情防控平台演示B/S的系统是通过能上网的电脑就可以使用&#xff0c;它最大的优点是不需要安装专门的软件&#xff0c;首先浏览器向服务器发出请求&#xff0c;然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据&#xff0c…...

WTI原油交易价格(1986年1⽉2⽇-2022年9⽉6⽇)

数据来源&#xff1a;自主整理 数据介绍&#xff1a;WTI即West Texas Intermediate&#xff08;Crude Oil&#xff09;&#xff0c;美国西德克萨斯轻质中间基原油&#xff0c;是北美地区较为通用的一类原油。由于美国在全球的军事以及经济能力&#xff0c;WTI原油已经成为全球…...

【算法基础】(一)基础算法 --- 离散化

✨个人主页&#xff1a;bit me ✨当前专栏&#xff1a;算法基础 &#x1f525;专栏简介&#xff1a;该专栏主要更新一些基础算法题&#xff0c;有参加蓝桥杯等算法题竞赛或者正在刷题的铁汁们可以关注一下&#xff0c;互相监督打卡学习 &#x1f339; &#x1f339; &#x1f3…...

【数据库复习】第三章关系数据库标准语言SQL

SQL的特点 1.综合统一 集数据定义语言&#xff08;DDL&#xff09;&#xff0c;数据操纵语言&#xff08;DML&#xff09;&#xff0c;数据控制语言&#xff08;DCL&#xff09;功能于一体。 可以独立完成数据库生命周期中的全部活动&#xff1a; 定义关系模式&#xff0c;插…...

Rabbitmq了解

Rabbitmq特点 可靠性。支持持久化&#xff0c;传输确认&#xff0c;发布确认等保证了MQ的可靠性。灵活的分发消息策略。这应该是RabbitMQ的一大特点。在消息进入MQ前由Exchange(交换机)进行路由消息。分发消息策略有&#xff1a;简单模式、工作队列模式、发布订阅模式、路由模…...

Linux 网络编程学习笔记——十三、多进程编程

目录 进程是Linux操作系统环境的基础&#xff0c;它控制着系统上几乎所有的活动。本章从系统程序员的角度来讨论 Linux 多进程编程&#xff0c;包括如下内容&#xff1a; 复制进程映像的 fork 系统调用和替换进程映像的 exec 系列系统调用&#xff1b;僵尸进程以及如何避免僵…...

性能测试实战

准备工作: 1、熟悉数据库设计 作用: 性能测试时,监控数据库的性能指标,定位bug构造测试数据2、项目搭建步骤 1、获取项目源代码 包括前端代码和后端代码实际工作当中项目源代码由开发提供,项目所需要的配置文件,启动项目的顺序也由开发提供文档介绍2、构建某某项目后端…...

【堆的应用】TOP-K问题

TOP-K问题&#xff1a;即求数据结合中前K个最大数或者最小数&#xff0c;一般情况下数据量比较大。常用的方法是建堆处理①.生活案例②.解决思路:1.取数据集合中前K个元素建堆2.用剩余的n-k个数据与堆顶元素比较&#xff0c;不满足则替代入堆③.快速测试代码①.生活案例 在生活…...

一文教会你如何在SpringBoot项目里集成Hibernate

在Spring Boot项目中集成Hibernate前言1.引入依赖2.配置数据源3. 创建实体类4.创建Repository5.编写业务代码6.编写控制器&#xff0c;处理http请求7.运行应用程序前言 Hibernate是一个流行的ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它可以将Java对象映射到数…...

HHDEBC与其他主流软件SQL格式化功能的对比

SQL格式化&#xff08;即SQL美化&#xff09;是一项非常重要的功能。只有清晰的结构&#xff0c;才能让您更好的优化数据库查询或写入。 HHDBCS的SQL格式化功能有着独特的处理方式&#xff0c;可运用于对复杂SQL语句的分析或者是程序代码优化上。 下面便以HHDBCS与两个主流软…...

oracle 低版本 11.2.0.1.0 创建DBlink访问 oracle 19c提示用户密码错误ORA-010107

由于导数据需要&#xff0c;在oracle 11.2.0.1创建dblink访问oracle19c数据库&#xff0c;提示用户密码错误。 当然不会存在创建是 用户密码错误的情况。 报错页面如下 后面猜想是由数据库版本太低问题导致&#xff0c; 11g版本信息如下&#xff1a; SELECT t.* FROM v$vers…...

微波雷达人体感应开关模块 智能感应探测器 XBG-M555

一、概括 XBG-M555是一款采用多普勒雷达技术&#xff0c;专门检测物体移动的微波感应模块。采用2.9G微波信号检测&#xff0c;该模块具有灵敏度高&#xff0c;可靠性强&#xff0c;感应角度大&#xff0c;工作电压宽等特点。高电平输出&#xff0c;可直接驱动外部 LED灯或负载。…...

双master节点+keepalived方式部署K8s 1.18.20

相关部署方式也挺多&#xff0c;自己采用双master节点单node节点方式&#xff0c;并且采用keepalived部署1.18.20版本&#xff0c;中间也出现过相关小问题&#xff0c;但都一一处理&#xff0c;记录以给需要的同仁们参考&#xff0c;希望大家都可以一起学习交流&#xff01;&am…...

Python 类型提示(type hints)

Python 是一门动态语言, 变量使用前不需要声明, 并且可以指向任何类型的对象; 一方面给开发者带来了便利, 另一方面, 给 IDE 和代码阅读者带来了困惑, 在变量类型未知的情况下, IDE 无法给出补全提示和语法检查 Python 从 3.5 版本开始支持"类型提示"(PEP484), 允许开…...

面试题——求二叉树的下一个结点

题目&#xff1a; 给定一颗二叉树和其他的一个结点&#xff0c;如何找出中序遍历序列的下一个节点&#xff1f;树中的节点除了两个分别指向左右节点的指针&#xff0c;还有一个指向父亲节点的指针。 假如给定这棵二叉树的序列是{d,b,h,e,i,a,f,c,g},来分析如何找出二叉树的下一…...

formily实践经验和踩坑

1 前言 最近深度使用了阿里的formily组件,功能很强大,但是对新手还是有些不友好,特别是vue用户,我使用的formily/element, 详细的可以在对应的网站上查看, formily/element链接 在此,记录一些使用经验和踩过的坑, 下面用的例子都放在github上, 见代码实例 2.createForm和effe…...

【Git从入门到精通】分支机制

文章目录简述创建新分支切换分支基本的分支与合并操作基本的分支操作基本的合并操作基本的合并冲突解决远程分支推送跟踪分支拉取删除Git的分支模型是Git的杀手锏特性 简述 首先我们来看一下Git是如何存储数据的。 Git通过一系列的快照的方式来存储数据&#xff0c;当你发起提…...

Github + Sphinx+Read the docs 实战入门指南(三)

目录引言主要流程图自动更新主分支内容到docs分支写在最后继续阅读引言 接着上两篇文章 Github SphinxRead the docs 实战入门指南(一) Github SphinxRead the docs 实战入门指南(二) 我们已经成功地将Sphinx文档部署到了Read the docs网站&#xff0c;但是这个文档&#xf…...

生成式 AI 背后的共同框架:Stable Diffusion、DALL-E、Imagen

前言 如果你对这篇文章感兴趣&#xff0c;可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」&#xff0c;查看完整博客分类与对应链接。 框架 这些生成式 AI 的整体功能为&#xff1a;输入「文字」&#xff0c;返回「图像」&#xff0c;即 Text-to-image Gener…...

Linux下安装nginx-2023-03-30

背景&#xff1a;公司的漏洞扫描发现Nginx的版本发现漏洞&#xff0c;现在的版本是1.20.2&#xff0c;建议升级到1.23.2及以后 第一步&#xff1a;我查看了一下现在的Nginx的版本&#xff0c;然后对Nginx进行卸载 其实&#xff1a;安装Nginx时&#xff0c;需要提前安装一些前置…...

第一章------c++并发世界

1:什么是并发 并发&#xff1a;两个或更过的独立活动同时发生 1.1 计算机系统中的并发 单个系统之同时执行多个独立的活动&#xff0c;而不是顺序的一个一个执行&#xff0c;对于单核处理器&#xff0c;在宏观上&#xff0c;计算机通过任务切换达到并发的效果&#xff0c;使…...

HTTP 3.0之QUIC优势和TCP弊端

文章目录1 HTTP 3.01.1 引言1.2 TCP存在队头阻塞问题1.2.1 发送窗口的队头阻塞1.2.2 接收窗口的队头阻塞1.3 HTTP/2 的队头阻塞1.4 没有队头阻塞的 QUIC1.5 TCP 建立连接的延迟1.6 升级 TCP 的工作很困难1.7 网络迁移需要重新建立 TCP 连接1.8 总结1 HTTP 3.0 1.1 引言 从 HT…...

学习系统编程No.13【文件系统】

引言&#xff1a; 北京时间&#xff1a;2023/3/31/7:48&#xff0c;该篇博客在两天前本就应该产出&#xff0c;但是摆烂谁拦得住&#xff0c;所以呜呜呜&#xff01;本以为欠的钱也要快还完了&#xff0c;没想到啊&#xff0c;越欠越多&#xff0c;烦人&#xff01;但是&#…...

Qt 输入输出设备和文件操作

一、输入输出设备 QIODevice类是Qt中所有I/O设备的基础接口类&#xff0c;为诸如QFile、QBuffer和 QTcpSocket等支持读/写数据块的设备提供了一个抽象接口。QIODevice类是抽象的&#xff0c;无法被实例化&#xff0c;一般是使用它所定义的接口来提供设备无关的I/O功能。 QIODe…...

算法之链表反转

算法系列 1、链表反转 文章目录算法系列一、核心思路二、循环反转2.1 示例代码三、递归反转3.1 示例代码四、总结一、核心思路 现在有一个单向链表&#xff0c;链表的第一个节点指向第二个&#xff0c;第二个节点指向第三个&#xff0c;以此类推&#xff0c;组成一个链表&…...

django 运用pycharm的各种故障汇总(1)

一.用django入门第一个问题:pycharm的[community]社区版-免费开源与[professional]专业版注册收费两个版本:用django只能有[professional]版本便捷、专业; 解决方案的各种学习总结: 1.破解版:网上找了很多资料,基本已经没效果,不要报太大希望; 2.找中间途径然后有:Python 、…...

基于Prometheus的jvm监控指标详解

使用Prometheus 监控Springboot应用参考 Prometheus Operator实战—— Prometheus、Alertmanager、Grafana 监控Springboot服务 下面来看看jvm的监控指标 # HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds. # TYPE jvm_gc_collection…...

电机PID参数调节笔记

规则1 1&#xff09;降低比例增益P&#xff0c;可以获得较小的振动2&#xff09;有可能不需要调节I环和D环3&#xff09;提升比例增益P环可以增加灵敏度&#xff0c;但可能会出现不稳定的情况&#xff08;如振动&#xff09;4&#xff09;可以设定电机速度最大幅值&#xff0c…...

Spark SQL实战(08)-整合Hive

1 整合原理及使用 Apache Spark 是一个快速、可扩展的分布式计算引擎&#xff0c;而 Hive 则是一个数据仓库工具&#xff0c;它提供了数据存储和查询功能。在 Spark 中使用 Hive 可以提高数据处理和查询的效率。 场景 历史原因积累下来的&#xff0c;很多数据原先是采用Hive…...

【Java版oj】day21小易的升级之路、找出字符串中第一个只出现一次的字符

目录 一、小易的升级之路 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、找出字符串中第一个只出现一次的字符 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&…...

windows 下C++生成Dump调试文件与分析

目录1、前言2、依赖库下载3、项目配置3.1、设置输出路径3.2、拷贝依赖资源3.3 将dbghelp.h添加在工程中3.4、配置lib文件路径3.5、添加生成minidump文件方法4、测试效果5、打开dump文件进行定位1、前言 dump文件是C程序发生异常时&#xff0c;保存当时程序运行状态的文件&…...

unserialize3(php序列化、反序列化及绕过)

打开链接 审计一下代码 这里出现了一个__wakeup()函数&#xff0c;在进行PHP反序列化时&#xff0c;会先调用这个函数&#xff0c;但是如果序列化字符串中表示对象属性个数的值大于真实的属性个数时就会跳过__wakeup&#xff08;&#xff09;的执行。 在php中与序列化相关的函…...

C++ STL:queue的常见用法

queue 队列&#xff0c;在STL中实现先进先出的容器。 1. 定义 使用queue&#xff0c;需要先添加头文件 #include <queue>using namespace std;基本定义格式&#xff1a; queue<typename> name; //typename可以是任意基本数据类型或容器2. 容器内元素的访问 q…...

HulaCWMS呼啦企业网站管理系统 v3.0.4

HulaCWMS(呼啦企业网站管理系统)是基于ThinkPHP5框架开发&#xff0c;安全高效&#xff0c;包括ThinkPHP5的所有特性。专注于企业、政府单位网站建设&#xff0c;以免费开源的方式&#xff0c;帮助广大站长、个人或企业开发者大大降低了开发成本和维护成本。快速锁定意向客户&a…...