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

JavaScript - 代理与反射(代理基础)

文章目录

  • 一、创建空代理
  • 二、定义捕获器
  • 三、捕获器参数和反射 API
  • 四、捕获器不变式
  • 五、可撤销代理
  • 六、实用反射 API
    • 6.1 反射 API 与对象 API
    • 6.2 状态标记
    • 6.3 用一等函数替代操作符
    • 6.4 安全地应用函数
  • 七、代理另一个代理
  • 八、代理的问题与不足
    • 8.1 代理中的 this
    • 8.2 代理与内部槽位

ECMAScript 6 新增的代理和反射为开发者提供了拦截并向基本操作嵌入额外行为的能力。具体地说,可以给目标对象定义一个关联的代理对象,而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前,可以在代理对象中对这些操作加以控制。

对刚刚接触这个主题的开发者而言,代理是一个比较模糊的概念,而且还夹杂着很多新术语。其实只要看几个例子,就很容易理解了。

注意:在 ES6 之前,ECMAScript 中并没有类似代理的特性。由于代理是一种新的基础性语言能力,很多转译程序都不能把代理行为转换为之前的 ECMAScript 代码,因为代理的行为实际上是无可替代的。为此,代理和反射只在百分之百支持它们的平台上有用。可以检测代理是否存在,不存在则提供后备代码。不过这会导致代码冗余,因此并不推荐。

正如本章开头所介绍的,代理是目标对象的抽象。从很多方面看,代理类似 C++指针,因为它可以用作目标对象的替身,但又完全独立于目标对象。目标对象既可以直接被操作,也可以通过代理来操作。但直接操作会绕过代理施予的行为。

注意:ECMAScript 代理与 C++ 指针有重大区别,后面会再讨论。不过作为一种有助于理解的类比,指针在概念上还是比较合适的结构。

一、创建空代理

最简单的代理是空代理,即除了作为一个抽象的目标对象,什么也不做。默认情况下,在代理对象上执行的所有操作都会无障碍地传播到目标对象。因此,在任何可以使用目标对象的地方,都可以通过同样的方式来使用与之关联的代理对象。

代理是使用 Proxy 构造函数创建的。这个构造函数接收两个参数目标对象处理程序对象缺少其中任何一个参数都会抛出 TypeError。要创建空代理,可以传一个简单的对象字面量作为处理程序对象,从而让所有操作畅通无阻地抵达目标对象。

如下面的代码所示,在代理对象上执行的任何操作实际上都会应用到目标对象。唯一可感知的不同就是代码中操作的是代理对象。

const target = {id: 'target'
}const handler = {}const proxy = new Proxy(target, handler)// id 属性会访问同一个值
console.log(target.id) // target
console.log(proxy.id) // target// 给目标属性赋值会反映在两个对象上
// 因为两个对象访问的是同一个值
target.id = 'foo'
console.log(target.id) // foo
console.log(proxy.id) // foo// 给代理属性赋值会反映在两个对象上
// 因为这个赋值会转移到目标对象
proxy.id = 'bar'
console.log(target.id) // bar
console.log(proxy.id) // bar// hasOwnProperty()方法在两个地方
// hasOwnProperty() 方法用于确定某个属性是在实例上还是在原型对象上,实例上返回true
// 都会应用到目标对象
console.log(target.hasOwnProperty('id')) // true
console.log(proxy.hasOwnProperty('id')) // true// Proxy.prototype 是 undefined
// 因此不能使用 instanceof 操作符
console.log(target instanceof Proxy) // TypeError: Function has non-object prototype 'undefined' in instanceof check
console.log(proxy instanceof Proxy) // TypeError: Function has non-object prototype 'undefined' in instanceof check// 严格相等可以用来区分代理和目标
console.log(target === proxy) // false

二、定义捕获器

使用代理的主要目的是可以定义捕获器(trap)。捕获器就是在处理程序对象中定义的“基本操作的拦截器”。每个处理程序对象可以包含零个或多个捕获器,每个捕获器都对应一种基本操作,可以直接或间接在代理对象上调用。每次在代理对象上调用这些基本操作时,代理可以在这些操作传播到目标对象之前先调用捕获器函数,从而拦截并修改相应的行为。

注意:捕获器(trap)是从操作系统中借用的概念。在操作系统中,捕获器是程序流中的一个同步中断,可以暂停程序流,转而执行一段子例程,之后再返回原始程序流。

例如,可以定义一个 get() 捕获器,在 ECMAScript 操作以某种形式调用 get() 时触发。下面的例子定义了一个 get() 捕获器:

const target = {foo: 'bar'
}
const handler = {// 捕获器在处理程序对象中以方法名为键get () {return 'handler override'}
}
const proxy = new Proxy(target, handler)

这样,当通过代理对象执行 get() 操作时,就会触发定义的 get() 捕获器。当然,get() 不是ECMAScript 对象可以调用的方法。这个操作在 JavaScript 代码中可以通过多种形式触发并被 get() 捕获器拦截到。proxy[property]、proxy.property 或 Object.create(proxy)[property] 等操作都会触发基本的 get() 操作以获取属性。因此所有这些操作只要发生在代理对象上,就会触发get() 捕获器。注意,只有在代理对象上执行这些操作才会触发捕获器。在目标对象上执行这些操作仍然会产生正常的行为

const target = {foo: 'bar'
}const handler = {// 捕获器在处理程序对象中以方法名为键get () {return 'handler override'}
}const proxy = new Proxy(target, handler)console.log(target.foo) // bar
console.log(proxy.foo) // handler overrideconsole.log(target['foo']) // bar
console.log(proxy['foo']) // handler overrideconsole.log(Object.create(target)['foo']) // bar
console.log(Object.create(proxy)['foo']) // handler override

三、捕获器参数和反射 API

所有捕获器都可以访问相应的参数,基于这些参数可以重建被捕获方法的原始行为。比如,get() 捕获器会接收到目标对象、要查询的属性和代理对象三个参数

const target = {foo: 'bar'
}const handler = {
// 目标对象、要查询的属性、代理对象get (trapTarget, property, receiver) {console.log(trapTarget === target)console.log(property)console.log(receiver === proxy)}
}const proxy = new Proxy(target, handler)console.log(proxy.foo)
// true
// foo
// true

有了这些参数,就可以重建被捕获方法的原始行为:

const target = {foo: 'bar'
}const handler = {get (trapTarget, property, receiver) {return trapTarget[property]}
}const proxy = new Proxy(target, handler)console.log(proxy.foo) // bar
console.log(target.foo) // bar

所有捕获器都可以基于自己的参数重建原始操作,但并非所有捕获器行为都像 get() 那么简单。因此,通过手动写码如法炮制的想法是不现实的。实际上,开发者并不需要手动重建原始行为,而是可以通过调用全局 Reflect 对象上(封装了原始行为)的同名方法来轻松重建。

处理程序对象中所有可以捕获的方法都有对应的反射(Reflect)API 方法。这些方法与捕获器拦截的方法具有相同的名称和函数签名,而且也具有与被拦截方法相同的行为。因此,使用反射 API 也可以像下面这样定义出空代理对象:

const target = {foo: 'bar'
}const handler = {get () {return Reflect.get(...arguments)}
}const proxy = new Proxy(target, handler)console.log(proxy.foo) // bar
console.log(target.foo) // bar

甚至还可以写得更简洁一些:

const target = {foo: 'bar'
}const handler = {get: Reflect.get
}const proxy = new Proxy(target, handler)
console.log(proxy.foo) // bar
console.log(target.foo) // bar

事实上,如果真想创建一个可以捕获所有方法,然后将每个方法转发给对应反射 API 的空代理,那么甚至不需要定义处理程序对象:

const target = {foo: 'bar'
}const proxy = new Proxy(target, Reflect)console.log(proxy.foo) // bar
console.log(target.foo) // bar

反射 API 为开发者准备好了样板代码,在此基础上开发者可以用最少的代码修改捕获的方法。比如,下面的代码在某个属性被访问时,会对返回的值进行一番修饰:

const target = {foo: 'bar',baz: 'qux'
}const handler = {get (trapTarget, property, receiver) {let decoration = ''if (property === 'foo') {decoration = '!!!'}return Reflect.get(...arguments) + decoration}
}const proxy = new Proxy(target, handler)console.log(proxy.foo) // bar!!!
console.log(target.foo) // bar
console.log(proxy.baz) // qux
console.log(target.baz) // qux

四、捕获器不变式

使用捕获器几乎可以改变所有基本方法的行为,但也不是没有限制。根据 ECMAScript 规范,每个捕获的方法都知道目标对象上下文、捕获函数签名,而捕获处理程序的行为必须遵循“捕获器不变式”(trap invariant)。捕获器不变式因方法不同而异,但通常都会防止捕获器定义出现过于反常的行为。

const target = {}
Object.defineProperty(target, 'foo', {configurable: false,writable: false,value: 'bar'
})const handler = {get () {return 'qux'}
}const proxy = new Proxy(target, handler)
console.log(proxy.foo)
// TypeError

五、可撤销代理

有时候可能需要中断代理对象与目标对象之间的联系。对于使用 new Proxy() 创建的普通代理来说,这种联系会在代理对象的生命周期内一直持续存在。

Proxy 也暴露了 revocable() 方法,这个方法支持撤销代理对象与目标对象的关联。撤销代理的操作是不可逆的。而且,撤销函数(revoke())是幂等的,调用多少次的结果都一样。撤销代理之后再调用代理会抛出 TypeError。

撤销函数和代理对象是在实例化时同时生成的:

const target = {foo: 'bar'
}const handler = {get () {return 'intercepted'}
}const { proxy, revoke } = Proxy.revocable(target, handler)console.log(proxy.foo) // intercepted
console.log(target.foo) // barrevoke()console.log(proxy.foo) // TypeError

六、实用反射 API

某些情况下应该优先使用反射 API,这是有一些理由的。

6.1 反射 API 与对象 API

在使用反射 API 时,要记住:

  • 反射 API 并不限于捕获处理程序
  • 大多数反射 API 方法在 Object 类型上有对应的方法

通常,Object 上的方法适用于通用程序,而反射方法适用于细粒度的对象控制与操作

6.2 状态标记

很多反射方法返回称作“状态标记”的布尔值,表示意图执行的操作是否成功。有时候,状态标记比那些返回修改后的对象或者抛出错误(取决于方法)的反射 API 方法更有用。例如,可以使用反射 API 对下面的代码进行重构:

// 初始代码
const o = {}
try {Object.defineProperty(o, 'foo', 'bar')console.log('success')
} catch (e) {console.log('failure')
}
// failure

在定义新属性时如果发生问题,Reflect.defineProperty() 会返回 false,而不是抛出错误。因此使用这个反射方法可以这样重构上面的代码:

// 重构后的代码
const o = {}
if (Reflect.defineProperty(o, 'foo', { value: 'bar' })) {console.log('success')
} else {console.log('failure')
}
// success

以下反射方法都会提供状态标记:

  • Reflect.defineProperty()
  • Reflect.preventExtensions()
  • Reflect.setPrototypeOf()
  • Reflect.set()
  • Reflect.deleteProperty()

6.3 用一等函数替代操作符

以下反射方法提供:只有通过操作符才能完成的操作

  • Reflect.get():可以替代对象属性访问操作符
  • Reflect.set():可以替代 = 赋值操作符
  • Reflect.has():可以替代 in 操作符或 with()
  • Reflect.deleteProperty():可以替代 delete 操作符
  • Reflect.construct():可以替代 new 操作符

6.4 安全地应用函数

在通过 apply 方法调用函数时,被调用的函数可能也定义了自己的 apply 属性(虽然可能性极小)。为绕过这个问题,可以使用定义在 Function 原型上的 apply 方法,比如:

Function.prototype.apply.call(myFunc, thisVal, argumentList)

这种可怕的代码完全可以使用 Reflect.apply 来避免:

Reflect.apply(myFunc, thisVal, argumentsList)

七、代理另一个代理

代理可以拦截反射 API 的操作,而这意味着完全可以创建一个代理,通过它去代理另一个代理。这样就可以在一个目标对象之上构建多层拦截网:

const target = {foo: 'bar'
}const firstProxy = new Proxy(target, {get () {console.log('first proxy')return Reflect.get(...arguments)}
})const secondProxy = new Proxy(firstProxy, {get () {console.log('second proxy')return Reflect.get(...arguments)}
})console.log(secondProxy.foo)
// second proxy
// first proxy
// bar

八、代理的问题与不足

代理是在 ECMAScript 现有基础之上构建起来的一套新 API,因此其实现已经尽力做到最好了。很大程度上,代理作为对象的虚拟层可以正常使用。但在某些情况下,代理也不能与现在的 ECMAScript 机制很好地协同。

8.1 代理中的 this

代理潜在的一个问题来源是 this 值。我们知道,方法中的 this 通常指向调用这个方法的对象:

const target = {thisValEqualsProxy () {return this === proxy}
}const proxy = new Proxy(target, {})console.log(target.thisValEqualsProxy()) // false
console.log(proxy.thisValEqualsProxy()) // true

从直觉上讲,这样完全没有问题:调用代理上的任何方法,比如 proxy.outerMethod(),而这个方法进而又会调用另一个方法,如 this.innerMethod(),实际上都会调用 proxy.innerMethod()。多数情况下,这是符合预期的行为。可是,如果目标对象依赖于对象标识,那就可能碰到意料之外的问题。

还记得通过 WeakMap 保存私有变量的例子吧,以下是它的简化版:

const wm = new WeakMap()
class User {constructor (userId) {wm.set(this, userId)}set id (userId) {wm.set(this, userId)}get id () {return wm.get(this)}
}

由于这个实现依赖 User 实例的对象标识,在这个实例被代理的情况下就会出问题:

const user = new User(123)
console.log(user.id) // 123const userInstanceProxy = new Proxy(user, {})
console.log(userInstanceProxy.id) // undefined

这是因为 User 实例一开始使用目标对象作为 WeakMap 的键,代理对象却尝试从自身取得这个实例。要解决这个问题,就需要重新配置代理,把代理 User 实例改为代理 User 类本身。之后再创建代理的实例就会以代理实例作为 WeakMap 的键了:

const UserClassProxy = new Proxy(User, {})
const proxyUser = new UserClassProxy(456)
console.log(proxyUser.id) // 456

8.2 代理与内部槽位

代理与内置引用类型(比如 Array)的实例通常可以很好地协同,但有些 ECMAScript 内置类型可能会依赖代理无法控制的机制,结果导致在代理上调用某些方法会出错。

一个典型的例子就是 Date 类型。根据 ECMAScript 规范,Date 类型方法的执行依赖 this 值上的内部槽位 [[NumberDate]]。代理对象上不存在这个内部槽位,而且这个内部槽位的值也不能通过普通的 get() 和 set() 操作访问到,于是代理拦截后本应转发给目标对象的方法会抛出 TypeError:

const target = new Date()
const proxy = new Proxy(target, {})console.log(proxy instanceof Date) // trueproxy.getDate() // TypeError: 'this' is not a Date object

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

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

HTML学生作业网页:使用HTML+CSS技术实现非遗文化网页设计题材【汉服文化—共12个页面】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…...

计算机的应用数据处理,计算机的应用领域:数据处理(或信息处理)

计算机的应用领域:数据处理(或信息处理)发布时间:2008-07-14发布时间:2008-07-14 | 【打印】 【关闭】数据处理是指对各种数据进行收集、存储、整理、分类、统计、加工、利用、传播等一系列活动的统称。据统计,80%以上的计算机主…...

动态注入技术

我们在讨论动态注入技术的时候,APIHook的技术由来已久,在操作系统未能提供所需功能的情况下,利用APIHook的手段来实现某种必需的功能也算是一种不得已的办法。在Windows平台下开发电子词典的光标取词功能,这项功能就是利用Hook AP…...

#Primavera Unifier:关于零代码/低代码平台特点【2/3】

在之前对Unifier的介绍中,我提到了Unifier应用的一个非常关键的特征,及零代码快速配置使用,而为了更好的介绍Oracle Primavera Unifier 的零代码特点,以下我将通过3篇内容来逐一介绍零代码/低代码平台的特点。 前面介绍到了零代码…...

xmlns详解

xmlns是XML Namespaces的缩写,中文名称是XML(标准通用标记语言的子集)命名空间。 xmlns 属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于 URL,它定义了一个命…...

null toarray php,解决Laravel5.5下的toArray问题

作为一个有轻度强迫症且受ThinkPHP影响较深的PHP码农,总觉得Laravel5.5的DB::xxoo->get()->toArray()之后竟然还没得到我想要的ThinkPHP中的select()出来的数组,于是决定做一下修改。PS:出于尽量不影响原有框架的考虑,我是新…...

镜头快速精准反馈位置硬件环境搭建

目录 概述 一、检测部分 1、原理图 2、PCB板 二、驱动部分 1、原理图 2、PCB板 概述 本篇只要介绍,硬件电路搭建,这次是项目的需要,重新捡起好多年没使用 Altium Designer 软件了,熟悉又陌生,经过2、3天时间&am…...

【算法题解】河南师范大学 “青创杯” G : 回文子序列计数

【算法题解】回文子序列计数 题目 思路 我们这样想,我们需要求以某个位置i为中心构成的回文串有多少种可能,那么我们可以将这个字符串S以x作为分割点,将整个字符串一分为三分,第一份是1 ~ i-1中某个删除方案中剩下的子序列构成的…...

Manjaro 截图黑屏 远程控制黑屏 高分辨率不适配问题解决

问题描述 如题,笔者也被这一系列问题困扰很长时间,最终偶然在外网上看到了解决方案: https://community.teamviewer.com/English/discussion/1103/linux-disable-wayland-support 这篇文章大意是说:某些软件默认不支持Wayland&a…...

单片机控制可控硅调压

1.可控硅简介可控硅,也叫晶闸管,广泛应用于交流控制系统中,可实现小功率控制大功率设备。可控硅分单向可控硅和双向可控硅,双向可控硅在结构上相当于两个单向可控硅反向连接,可以实现双向导通。以BTA41为例&#xff0c…...

X1000对于CPU Core的参数解读(MIPS Cache)

各自摘抄整合,大多来自互联网,链接已全部放出来 1.MIPS-Based XBurst cores (up to 1.0GHz) 基于MIPS的XBurst核(最高可达1.0GHz) MIPS架构  XBurst是北京君正针对移动多媒体便携产品推出的一种创新的32位嵌入式CPU技术,它重新定义了32位嵌…...

Vue 动态组件component

有的时候,在不同组件之间进行动态切换是非常有用的。即页面的某个位置要显示的组件是不确定的,是会变化的。(多个组件每次只显示一个并且动态的进行切换) 场景:像局部的小的那种选项卡 语法: 在页面想显示…...

[Redis笔记] Redis安装卸载与基本配置

[Redis笔记] Redis安装卸载与基本配置一、安装Redis1. 下载压缩包2. 解压3. 编译与安装二、启动 redis-server1. 直接启动2. 通过 nohup & 启动3. 启动时指定配置文件4. 配置开机自启动三、Redis基本配置1. 守护进程2. 端口与监听地址3. 访问密码4. 其它常用配置四、启动 r…...

雅思阅读话题词汇111-120

111.anticipate phrase for: anticipate doing sth eg1:Some recordings are made without the speakers being aware of the fact-a procedure that obtains very natural data,though ethical objections must be anticipated. eg2:In this conference, there was more w...

科大讯飞车辆贷款违约

1、数据介绍 赛题数据由训练集和测试集组成,总数据量超过25w,包含52个特征字段。为了保证比赛的公平性,将会从中抽取15万条作为训练集,3万条作为测试集,同时会对部分字段信息进行脱敏。数据集中每个特征的含义&#x…...

xmlns是什么意思

xmlns是XML Namespaces的缩写&#xff0c;中文名称是XML&#xff08;标准通用标记语言的子集&#xff09;命名空间。 命名空间的语法如下&#xff1a;xmlns:[prefix]”[url of name]”其中“xmlns:”是必须的属性。“prefix”是命名空间的别名&#xff0c;它的值不能为xml。<…...

6种常见的无线组网架构

【欢迎关注微信公众号&#xff1a;厦门微思网络】 微思网络&#xff08;官网&#xff09;&#xff1a;https://www.xmws.cn/ 01 无线典型组网一&#xff1a;家庭无线网络 这是典型家庭无线组网&#xff0c;此网络中做了两次NAT&#xff0c;分别在无线路由器和光猫出口。无线路…...

Zynga的数据分析

Zynga的数据分析系统能做到每一个更新内容设计几个不同的版本&#xff0c;从后台同时推送给不同的用户群&#xff0c;在一个小时之内把数据统计结果发回来&#xff0c;分别得到3种设计情况下用户的使用频率和比例&#xff0c;造成的付费或者病毒推广效果的变化等等&#xff0c;…...

【EmguCV系列一】EmguCV下载安装以及配置

EmguCV是将OpenCV封装的一个.net库&#xff0c;可以非常方便的调用OpenCV中的方法。最新版本为3.4.3&#xff0c;下载网站&#xff1a;https://sourceforge.net/projects/emgucv/ 本系列使用的是3.1.0版本。 下图是EmguCV的安装目录&#xff1a; 然后我们打开bin目录&#xff…...

高等数学:学习路线图

与数值分析相关&#xff1a; 泰勒 多元函数 微分方程 傅里叶变换...

证件与人脸结合——人证合一系统

细心的你一定会发现&#xff0c;虽然酒店实名登记已经进行了多年&#xff0c;但是在登记的过程中还存在着诸多弊端&#xff0c;比如&#xff1a;证件单一&#xff0c;一般都是采用身份证登记的形式、无法将证件和本人做对比&#xff0c;出现了拿别人身份证也能住宿的情况、无法…...

Visio安装

杂谈&#xff1a; 一般我们参加比赛、做实验&#xff0c;在写实验报告、说明书的时候&#xff0c;有时需要进行流程图&#xff0c;程序框图的绘制&#xff0c;使用word让人感觉心累&#xff0c;而Visio在这方面是非常专业的&#xff0c;也比较易上手。 资源&#xff1a;链接&am…...

jsp+ssm计算机毕业设计宠物寻回系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…...

Java学习笔记3.5.3 继承 - super关键字

文章目录 零、本讲学习目标一、为何需要super关键字(一)提出问题(二)解决方法二、super关键字使用场景(一)子类代码使用super关键字调用父类的成员变量(二)子类代码使用super关键字调用父类的成员方法(三)子类代码使用super关键字调用父类的构造方法三、super关键字使…...

docker-compose 搭建伪分布模式redis cluster集群

1、redis配置文件:redis.conf port 6379 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes 2、创建文件和目录 for port in seq 7001 7006; do \ mkdir -p ./${port}/conf \ && PORT${port} envsubst < ./redi…...

MFC的简单编程

一、VS2017创建MFC应用程序 ①创建新项目 ②弹出对话框&#xff0c;点击“完成” 二、MFC简易窗口实现 ①创建源文件window.cpp ②写入如下代码 #include "stdafx.h" // 引入MFC的库// 继承了CFrameWnd的子类CFristMFC&#xff0c;主要实现了Window窗口 class…...

SVM学习感受

在学习浙大胡浩基教授的SVM的理论部分后&#xff0c;不禁想起传热学老师的“放宽自己的格局”&#xff0c;经典的二维线性不可分到了五维后就变成线性可分了&#xff0c;挺奇妙的。...

TypeScript基础入门知识整理

1.安装 TypeScript $ npm install -g typescript$ tsc helloworld.ts# helloworld.ts > helloworld.js也可以不用安装 typescript&#xff0c;而是直接使用线上的 TypeScript Playground 来学习新的语法或新特性。 、 TypeScript Playground地址&#xff1a;https:www.type…...

Zynga 在韩国发布游戏《Harry Potter: Puzzles Spells》

屡获殊荣的热门手游已在韩国苹果应用商店和Google Play上架 -- (美国商业资讯) -- Zynga Inc. (Nasdaq: ZNGA)&#xff1a; 人物&#xff1a; 全球互动娱乐领域的领军企业Zynga Inc. (Nasdaq: ZNGA)宣布&#xff0c;《Harry Potter: Puzzles & Spells》已在韩国上线。这个屡…...

读者写者问题(读者优先)

一、读者写者问题定义 存在一个多个进程共享的数据区&#xff0c;该数据区可以是一个文件或一块内存空间&#xff0c;甚至可以是一组寄存器&#xff1a;有些进程&#xff08;reader&#xff09;只读取这个数据区中的数据&#xff0c;有些进程&#xff08;writer&#xff09;只…...

苹果手机来电归属地_苹果手机来电铃声、充电音还能这么有趣?这款神器也太炫了...

当身处公交、地铁等公共场所时&#xff0c;听到iPhone熟悉的来电铃声&#xff0c;不少iPhone用户都会下意识地拿出手机确认是否有来电&#xff0c;然而真实情况往往是别人的手机来电。由于ios系统的限制&#xff0c;iPhone本身并不提供个性化设置来电铃声的功能&#xff0c;&qu…...

牛客网Python专项练习重点题整理

第 1 题 Python3 中的除法为正常除&#xff0c;保留小数位&#xff0c;因此 1/2 0.5&#xff0c;为浮点型Python2 中除法默认向下取整&#xff0c;因此 1/2 0&#xff0c;为整型。 第 2 题 在 Python 中万物皆为对象&#xff0c;函数也不例外&#xff0c;函数作为对象可以赋…...

D3D11_Chili_Tutorial(1):关于 Win API 及其封装

文章目录1&#xff1a;WINAPI篇——进入点WinMain2&#xff1a;创建窗口3&#xff1a;消息循环4&#xff1a;窗口消息5&#xff1a;WM_CHAR 和鼠标6&#xff1a;窗口框架7&#xff1a;自定义图标 / 处理异常8&#xff1a;键盘输入9&#xff1a;鼠标输入10&#xff1a;应用层1&a…...

Few-shot learning

《学习笔记》 文章目录Generalssupervised vs few-shot learningsiamese NetTriplet losscosine similarityEntropy Regularisation为什么一个概率分布的entropy的mean需要足够小&#xff1f;Cosine similarity soft Max1 brach Vs 2 branch1 brach:2 branchProcess数据TrianI…...

渲染书籍目录汇总(不断更新中...)

转载于&#xff1a;https://zhuanlan.zhihu.com/p/507780022 渲染是一个令人着迷的方向&#xff0c;可学习渲染着实有不小的难度。 渲染技术不断在发展&#xff0c;各种技术层出不穷&#xff0c;相关英文资料&#xff08;中文相对少了很多&#xff09;更是多如牛毛。 那么如何…...

数据拟合算法c语言实现,数据拟合算法剖析及C语言实现.doc

数据拟合算法剖析及C语言实现数据拟合算法剖析及C语言实现[摘要]数据拟合在很多地方都有应用,主要用来处理实验或观测的原始离散数据。通过拟合可以更好的分析和解释数据。在引用前人的算法基础上,采用正交多项式最小二乘法进行曲线拟合,通过实验对算法进行了分析,并给出了C语言…...

Java 生成随机手机号,并写入数据库

public int getNum(int start,int end) {return (int)(Math.random()*(end-start1)start); } /*** 返回手机号码*/ private String[] telFirst"158,138".split(","); private String getTel() {int indexgetNum(0,telFirst.length-1);//手机号前三位String…...

小程序的豆瓣项目练习

小程序的豆瓣项目&#xff1a; ​ 一. tabbar的布局实现 ​ 需要创建 pages/welcome board list item search mine ​ 全局配置 —> tabBar ​ app.json里面进行了配置&#xff1a; ​ "tabBar":{ //配置底部的tab栏"color":"#ccc", …...

论文笔记(二十一):Fusing Joint Measurements and Visual Features for In-Hand Object Pose Estimation

Fusing Joint Measurements and Visual Features for In-Hand Object Pose Estimation文章概括摘要1. 介绍2. 贡献3. 粒子滤波器4. 可能性评估5. 实施细节6. 实验A. 物体模型B. 合成序列C. 真实序列7. 结论8. 鸣谢文章概括 作者&#xff1a;Martin Pfanne&#xff0c;Maxime C…...

python可视化神器_详解Python可视化神器Yellowbrick使用

机器学习中非常重点的一环就是数据的可视化分析&#xff0c;从源数据的可视化到结果数据的可视化都离不开可视化工具的使用&#xff0c;sklearnmatplotlib的组合在日常的工作中已经满足了绝对大多数的需求&#xff0c;今天主要简介的是一个使用sklearn和matplotlib模块进行扩展…...

想知道添加水印的软件哪个好?这2款软件简单又实用

不知道大家平时在平台上传分享图片的时候&#xff0c;会给你们的图片做上记号吗&#xff1f;比如说为了自己辛辛苦苦拍摄的劳动成果能不被他人挪用&#xff0c;我们通常都会给图片添加水印。那么你们知道添加水印的软件哪个好吗&#xff1f;下面就来看看我分享的2款简单实用的工…...

蚂蚁金服Java研发岗四面真题(多线程+并发编程+Mysql+Redis)

面试流程 先说下面试流程&#xff0c;一般大公司都有3-4轮技术面&#xff0c;1轮的HR面。就蚂蚁金服而言&#xff0c;我共经历了4轮技术面&#xff0c;前两轮主要是问基础和项目实现&#xff0c;第3轮是交叉面&#xff0c;两个面试官&#xff0c;主要是问项目实现和拓展。第4轮…...

Linux操作系统~进程替换,exec系列函数的使用

目录 1.概念/原理 &#xff08;1&#xff09;.替换原理 &#xff08;2&#xff09;.子进程调用execl执行程序替换&#xff0c;为什么父进程不受影响&#xff1f; &#xff08;3&#xff09;.exec*返回值 2.替换函数exec execl execv execlp execvp的&#xff08;execv…...

计算机单位换算

单位换算 1B (byte&#xff0c;字节) 8 bit (比特&#xff0c;又称"位", 计算机中每个0或1就是一个位(bit)) ;1KiB&#xff08;Kibibyte&#xff0c;千字节&#xff09;1024B 2^10 B&#xff1b;1MiB (Mebibyte&#xff0c;兆字节&#xff0c;百万字节&#xff0c;…...

商标注销

...

openGauss 数据库逻辑备份与恢复

简介 之前的数据库迁移系列中&#xff0c;是将其他类型的数据库数据迁移到 openGauss 中。实际使用中&#xff0c;还存在不同的 openGauss 数据库之间的迁移或者数据的备份。数据在同类型数据库迁移或者数据备份时&#xff0c;需要进行数据导出导入。openGauss 提供了 gs_dump…...

一个移动应用程序是如何让我被动地赚到 500 美元以上的?

我一直有一个在网上赚钱的梦想。当我年轻的时候,我做了一切从互联网上赚钱的事情。我尝试了很多方法,但大多数都是骗局。 早在 2010 年,我决定学习编码。我从制作静态网站开始。我有一台旧笔记本电脑,但我无法购买新笔记本电脑。 记得第一次尝试在 ThemeForest 上卖主题,…...

gitlab 项目加人最详细流程

1.打开项目&#xff0c;member->点击第一个输入框->会出现用户列表->add to project 2.赋予权限&#xff0c;然后邀请进项目即可。...

全栈开发可能需要的环境及工具

全栈开发可能需要的环境及工具 本文主要以本人作为Java全栈开发工程师&#xff0c;在实际项目开发者需要使用的软件为依据来撰写的。如果有不正确的地方&#xff0c;欢迎大家在评论区指正。如果还有其他好用的环境及工具&#xff0c;也欢迎大家在评论区指出哦。 后端环境及工…...

解释什么是计算机硬件和软件,什么叫软件,什么叫硬件?(要详细)

计算机系统是由硬件和软件组成&#xff0c;所谓硬件是指组成计算机系统的物理设备&#xff0c;包括电子的、机械的、磁的、光的设备的总和。计算机的硬件结构包含五个子系统&#xff0c;即控制部件、计算部件、存储部件、输入和输出部件.控制部件负责程序和指令的解释及执行&am…...

mysql数据库运维月报_数据库实施部署和运维服务

产品亮点湖南星伟文讯可以在华为云公有云环境实施Oracle、OracleRAC&#xff0c;Oracle DG、Sqlserver、MySQL主备&#xff0c;在出现数据库单点故障的情况下&#xff0c;不中断您的业务&#xff0c;保持业务系统的连续高可用性。在华为云上物理服务器-裸金属实现RAC集群的部署…...

计算机的数据存储单位以及换算关系

什么是bit&#xff1f; 比特&#xff08;英语&#xff1a;binary digit&#xff09;&#xff0c;亦称二进制位&#xff0c;指二进制中的一位&#xff0c;是信息的最小单位。bit是binary digit&#xff08;二进制数字&#xff09;的缩写&#xff0c;由数学家John Wilder Tukey提…...

读者-写者问题

哲学家就餐问题对于互斥访问有限资源的竞争问题&#xff08;如I/O设备&#xff09;一类的建模过程十分有用。另一个著名的问题是读者-写者问题&#xff08;Courtois 等人&#xff0c;1971&#xff09;&#xff0c;它为数据库访问建立了一个模型。例如&#xff0c;设想一个飞机订…...

计算机毕业设计django基于python精品课程在线学习系统

项目介绍 在各学校的教学过程中,租房系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的精品课程系统的平台,这样可以有效地解决课程学习系统混乱的局…...

Zynga发布魔法三消手游《Harry Potter: Puzzles Spells》

伦敦--(美国商业资讯)--Professional Triathletes Organisation今天发布了以下于2020年3月3日致万达体育集团有限公司董事会的信函&#xff0c;向该董事会告知&#xff0c;如果其不与PTO进行建设性讨论&#xff0c;则Ironman业务的任何潜在出售价值将受到不利影响。 旧金山--(美…...

Visio安装流程

Visio 2019新增功能&#xff1a;强化的墨迹、新的数据可视化工具、大数数据类型&#xff08;大型页码&#xff09;支持、快速使用图表。。。。。。 安装包下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1GNis_bhW0lxc7jUwUmwxKw 提取码&#xff1a;e4mo 软…...

浅谈关系型数据库主键设置策略

几乎大多数的应用都会使用关系型数据库进行数据存储&#xff0c;而主键一定是标配。那么&#xff0c;在您的应用中&#xff0c;通常使用什么方案来满足业务扩张呢&#xff1f;下面简单介绍普遍做法以及改进之道。 第一层&#xff1a;业务布局之初。众所周知&#xff0c;企业业…...

对亿级数据进行去重

一.需求 目前有一个小需求,就是对数据库中的数据进行去重,数据量总共大概10亿左右,如果不同数据的某三个字段均一致,则认为是重复数据 二.思考问题 10亿数据,以每条数据按150个字符算,一共需要139g的内存,所以只能采用分而治之的思想;如果在读取数据库过程中因为某种原因程序…...

数据库的主键与外键

主键保证了数据的唯一性&#xff0c;外键保证了数据的一致性、完整性&#xff0c;具有约束性。 1.主键 主键是能确定一条记录的唯一标识&#xff0c;比如&#xff0c;一条记录包括身份证号&#xff0c;姓名&#xff0c;年龄。 身份证号 是唯一能确定你这个人的&#xff0c;其他…...

魅族升级过程中出现android,彻底伤了,魅族16更新安卓9.0遥遥无期,工程师:升级费时费力不讨好...

去年黄章回归之后&#xff0c;魅族15的确只算是一款小试牛刀的产品&#xff0c;因为销量确实不怎么样&#xff0c;同时设计还比较过时。倒是下半年的魅族16算是真正的惊艳&#xff0c;可以供货不足&#xff0c;等到现货的时候已经没有价格优势。所以在魅族16S即将上市之际&…...

http_认证机制https加密TLSSSL密钥对(公钥私钥)

文章目录http_认证机制&https加密&TLS&SSL&密钥对(公钥&私钥)references更多详情(MDN::HTTP)session&token:何为认证HTTP 使用的认证方式BASIC认证(不常用)BASIC认证的问题DIGEST 认证(不常用)DIGEST的问题HTTP 的缺点http加密内容的加密伪装密钥&…...

全网最全原理讲解!Android模块化面向接口编程,文末领取面试资料

前言 在老东家呆了将近四年光景&#xff0c;受益颇多&#xff0c;无奈在技能上遇到瓶颈&#xff0c;深感自己技能上不能再进步&#xff0c;毅然离职&#xff0c;加入求职大军。说实话&#xff0c;遇上18年的金融危机、互联网寒冬、裁员&#xff0c;大量求职人员迸涌上来&#…...

2021最新 腾讯云数据库团队:SQL Server 数据加密功能解析

数据加密是数据库被破解、物理介质被盗、备份被窃取的最后一道防线&#xff1b;数据加密&#xff0c;一方面解决数据被窃取安全问题&#xff0c;另一方面有关法律要求强制加密数据&#xff1b;SQL Server 的数据加密相较于其他数据库&#xff0c;功能相对完善&#xff0c;加密方…...

深度剖析原理!Android高级工程师面试实战,文末领取面试资料

Android开发前景怎么样&#xff1f; 很多人说Android开发前景越来越差了 我觉得这个回答是片面的 首先Android应用开发前景差是在最近两年出现的&#xff0c;也就是从2018开始&#xff0c;从那时起移动端的程序员已经慢慢出现供大于求的局面&#xff0c;本人作为移动端开发&a…...

Fabric 1.0源代码分析(1)BCCSP(区块链加密服务提供者)

# Fabric 1.0源代码笔记 之 BCCSP&#xff08;区块链加密服务提供者&#xff09;## 1、BCCSP概述BCCSP&#xff0c;全称Blockchain Cryptographic Service Provider&#xff0c;即区块链加密服务提供者&#xff0c;为Fabric提供加密标准和算法的实现&#xff0c;包括哈希、签名…...

【物联网】WiFi基础知识 (一)【看评论区领取资料】

wifi的802.11协议中比较常见的知识做一个基本的总结和整理 一、基本概述 1、有线和无线网络 目前有线网络中最著名的是以太网(Ethenet)&#xff0c;但是无线网络WLAN是一个很有前景的发展领域&#xff0c;虽然可能不会完全取代以太网&#xff0c;但是它正拥有越来越多的用户&…...

微信JS-SDK]微信公众号JS开发之卡券领取功能详解

js sdk&#xff1a; http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E9.99.84.E5.BD.952-.E6.89.80.E6.9C.89JS.E6.8E.A5.E5.8F.A3.E5.88.97.E8.A1.A8 微信团队在2015年初改革了微信JS的API,本文主要详细说明其中用到的卡券领取功能. 微信卡券需要认证…...

面试被问懵了,加密后的数据如何进行模糊查询?

因公众号更改推送规则&#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享点击关注#互联网架构师公众号&#xff0c;领取架构师全套资料 都在这里0、2T架构师学习资料干货分上一篇&#xff1a;分布式系统设计模式&#xff0c;你用过哪些&#xff1f;我们知道加密后的…...

php批量生成优惠券,PHP自动批量生成会员卡号程序

文章给大家介绍一个PHP自动批量生成会员卡号程序的例子&#xff0c;其实原理非常的简单我们将0-Z(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)分别代表数值0-35&#xff0c;如字母Z代表35。这样的话我要得到一个5位的编号&#xff0c;最大信息量就是36的5次方了&#xff0c;36^5 6…...

微服务网关鉴权:gateway使用、网关限流使用、用户密码加密、JWT鉴权

点击上方“芋道源码”&#xff0c;选择“设为星标”管她前浪&#xff0c;还是后浪&#xff1f;能浪的浪&#xff0c;才是好浪&#xff01;每天 10:33 更新文章&#xff0c;每天掉亿点点头发...源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源项目R…...

加密王座游戏攻略——GoDapp

加密王座的功能由这样几个部分组成&#xff1a;大本营&#xff0c;战斗场&#xff0c;联盟&#xff0c;市场。 他们分别承担着游戏内不同的功能&#xff1a;大本营里可征募士兵和收取资源&#xff1b;战斗场里&#xff0c;你可以尽情享受策略游戏战争的快感&#xff1b;联盟提供…...

QQ电子密保卡已经于今日上线 可免费领取

QQ 密保卡是腾讯公司推出的一项帐号安全保护服务。它是一个记录着10行8列数字的卡片&#xff0c;在执行敏感操作&#xff08;如 在幻想游戏中转让装备、修改QQ密码&#xff09;时&#xff0c;系统将提示用户输入密保卡三个位置上的数字&#xff0c;全部输入正确才允许继续操作。…...

Element UI 之table表格样式

需求&#xff1a; 鼠标移入&#xff1a; 实现&#xff1a; <template><el-table:data"tableData"style"width: 800px"height"440px":header-cell-style"{background: #1C2E45,height: 40px,padding: 0,color: #a0b2d3,}":…...

Tensorflow2.*教程之基本分类:对Fashion Mnist进行分类(1)

tensorflow版本&#xff1a;2.1.0 需要Python库&#xff1a;Numpy,Matplotlib 使用的数据集&#xff1a;Fashion Mnist TF1.* TF1.x 主要用于处理「静态计算图」的框架。计算图中的节点是 Tensors&#xff0c;当图形运行时&#xff0c;它将保持nn维数组&#xff1b;图中的边表…...

UML用例图-软件需求分析与设计(很详细,很详细,很详细)

用例图 用例图是用来描述系统功能的技术&#xff0c;表示一个系统中用例与参与者及其关系的图&#xff0c;主要用于需求分析阶段。 用例图的基本组成元素&#xff1a;参与者、用例、元素之间的关系。 用例图使用范围&#xff1a;需求分析 1.捕获需求。描述功能需求、行为需求&a…...

科普的不科普(读科普读物笔记)

人生比较低落的时候需要点精神安慰&#xff0c;宅男也必须有追求&#xff0c;所以就看了一些科普读物&#xff0c;结果一思考&#xff0c;上帝就发笑了&#xff1a; 1&#xff09;不同观察者的相对火车路人甲A <-------v-----||------v------->B …...

股票什么时候买入什么时候卖出适合?

学习寻找临界点的过程其实就是学股的过程&#xff0c;当然其中还包括学习炒股的正确心态。坦率地赚&#xff0c;学找临界点的技巧还比较容易&#xff0c;培养心态才真正困难。 华尔街将炒股的诀窍归纳成两句话&#xff1a;截短亏损&#xff0c;让利润奔跑&#xff01;英文叫 C…...

实战系列-亿级流量秒杀系统JVM调优

导语   关于亿级流量的秒杀系统的调优,其实并不仅仅包括对于JVM的调优,还有包括网络调优、IO调优、负载均衡调优,缓存调优,中间件调优等等一些东西内容的调优计划,一个亿级流量的秒杀系统仅仅是通过JVM的调优来实现一个高性能真的它所起到的作用很小很小。只要有资金,可…...

校机甲大师比赛安装报告

校机甲大师比赛安装报告一、所需材料二、设计思路三、组装小车时遇到的困难与解决方法1、电池电压问题2、提供接线问题3、电池槽电线问题4、各个模块供电问题5、接口数量问题6、开关问题7、接线问题8、接线方法9、程序烧录问题10、蓝牙模块11、循迹模块四、实物五、其他注意事项…...

python学习---进程和线程(1)进程

目录多应用任务线程和进程并发和并行实现多任务的方式进程创建进程自定义进程进程池阻塞式非阻塞式进程间的通信多应用任务 def func1(n):for i in range(n):print(搬砖,i)yield Nonedef func2(n):for i in range(n):print(听歌,i)yield Noneg1 func1(3) g2 func2(3)while T…...

C++之友元:是朋友(friend)也是破坏者

目录前言1.友元的概念1.1友元的基本概念1.2友元的形式1.3为什么要有友元的存在2.友元函数2.1友元函数的概念2.2注意3.友元类3.1友元类的概念2.2注意4.友元成员函数5.破坏者&#xff1f;后记前言 hello。大家好&#xff0c;我们来继续分享关于C的知识点&#xff0c;今天我们来分…...

Kernel pwn 入门 (3)

ret2dir 这是一种绕过SMAP/SMEP和PXN防护的攻击方式。利用内核空间的direct mapping area&#xff08;起始位置为0xFFF8880000000000&#xff09;。Linux对内存的访问采用的是多级页表的方式&#xff0c;将某段物理内存映射到程序的虚拟内存空间中的某段地址。而在Linux内核空…...

马哥架构第2周课程作业

haproxy、nginx、lvs负责均衡相关的话题一. nginx和haproxy的异同点二. 实现haproxy四层地址透传&#xff0c;并且做基于cookie的会话保持2.1 haproxy四层地址透传2.2 基于cookie的会话保持2.2.1 配置选项2.2.2 配置示例2.2.3 验证 Cookie 信息三. 实现自定义错误页面和https的…...

徐峥回应港囧差评 “地才”光头徐的电影崛起之路

一出门就“囧”&#xff0c;这是徐峥喜剧的模式。作为徐峥“囧”系列的作品&#xff0c;《港囧》在上映之初就备受关注&#xff0c;而在票房成绩上&#xff0c;《港囧》仅用9天时间就超越了《泰囧》。并最终以15亿票房让徐峥稳坐国内2D影片票房冠军。然而&#xff0c;观众却认为…...

c/c++解析SA雷达数据和强度显示

0. 前言 本设计是基于MFC对话框的应用程序&#xff0c;通过读取sa雷达基数据的基本信息&#xff0c;解析雷达数据&#xff0c;识别扫描模式VCP&#xff0c;根据扫描模式设置选择的仰角&#xff0c;最后绘图实现PPI图像的显示。 1. 背景刷 新建一个MFC项目&#xff0c;选择基于…...

java雷达数据解析_雷达数据包解析

截取了一段激光雷达扫描的数据包 里面包含了质量 角度 距离 数据 &#xff0c;数据包-----[2020-03-19 15:51:13.694]# RECV HEX>3E 61 6C 00 00 3E 2B 4C 00 00 3E 8B 4C 00 00 3E 07 49 00 00 3E 67 49 7B 61 3E C7 49 82 61 3E 2D 4A 00 00 3E 93 4A 00 00 02 C3 4E 00 0…...

python学习笔记---面向对象编程【廖雪峰】

面向对象编程 面向对象编程——Object Oriented Programming&#xff0c;简称OOP&#xff0c;是一种程序设计思想。OOP把对象作为程序的基本单元&#xff0c;一个对象包含了数据和操作数据的函数。 面向过程 VS 面向对象 ●面向过程的程序设计把计算机程序视为一系列的命令集合…...

雷达基础术语学习

exercises 1&#xff1a; &#xff08;a&#xff09;一部雷达的PRF是200Hz和700Hz&#xff0c;计算最大非模糊距离; RucT2c2fr(最大非模糊距离,PRI的一半)R_u \frac{cT}{2} \frac{c}{2f_r} \tag{最大非模糊距离,PRI的一半}Ru​2cT​2fr​c​(最大非模糊距离,PRI的一半) TTT……...

【X波段雷达衰减订正方法】

X波段雷达衰减订正方法背景概括算法与实现思路实现Kdp订正的基本计算方式其他订正方式Zh订正法Kdp_Zh综合订正法结果分析订正结果定性分析点聚图分析背景概括 X波段双线偏振雷达体积小、成本低&#xff0c;在我国天气雷达发展早期&#xff0c;对于提高云雨监测时效发挥了重要作…...

【Kotlin】集合操作 ② ( MutableList 可变列表集合 | 修改 MutableList 集合的 mutator 函数 )

文章目录一、MutableList 可变列表集合二、修改 MutableList 集合的 mutator 函数1、添加元素运算符 和 删除元素运算符 -2、通过 Lambda 表达式筛选要删除的元素一、MutableList 可变列表集合 使用 listOf 函数 创建的 List 集合 是 只读列表集合 ; 使用 mutableListOf 函数…...

资源搜索,推荐3个比网盘搜索质量度高的平台和技巧!

好久没有写文章&#xff0c;最近发现不少好东西&#xff0c;想记录一下&#xff0c;免得哪天忘了找不找地方。 之前搜索资源&#xff0c;我见到很多作者推荐的网盘&#xff0c;各类网盘搜索工具&#xff0c;说实话&#xff0c;我感觉这类型的效率太低了&#xff0c;而且垃圾资…...

中国职业教育政策解读 | 职业教育系列报告(三)

回望创投圈的2019&#xff0c;“资本寒冬”可谓是贯穿始终的重要关键词之一。然而随着1993年以来的第四波政策红利&#xff0c;职业教育赛道被众多教育领域投资者及产业端赋予重望&#xff0c;有望成为下一个“风口”。职教行业未来市场体量预计可发展至千亿级别&#xff0c;其…...

IT职业教育(8)IT培训之厂商认证和企业定制培训篇

曾经的贵族-厂商认证培训曾几何时&#xff0c;大的软件厂商认证是求职的必备之物&#xff0c;随着中国岗位要求的日益复杂&#xff0c;以及中国面对应试而出现的畸形通过心理&#xff0c;过去一直是IT培训市场中流砥柱的厂商认证开始走向没落。以前微软、思科等国际知名IT厂商的…...

IT职业教育(6)IT职业培训之游戏、3G和测试

近年&#xff0c;软件人才需求依然旺盛&#xff0c;中国软件事业以中国人自己都无法想像的速度向前发展&#xff0c;随着行业的细分和成熟&#xff0c;一批新兴的IT新贵浮出水面。游戏开发工程师、游戏美术工程师、3G开发工程师、软件测试工程师都是在这个发展过程中孕育而生的…...

IT职业教育(7) 从《大国崛起》(德国)看中国IT教育

德国在世界的崛起&#xff0c;核心靠的是教育兴国。德意志是中国对德国的翻译&#xff0c;意志也的确反应出日耳曼民族的坚韧本性。该民族世世代代都是在靠教育继承着这令世界震惊的钢铁性格。德国的高等教育和职业教育都有诸多创新&#xff0c;曾为世界的榜样&#xff0c;甚至…...

IT职业教育(14)职业教育中的备课

一、职业教育中的教学过程在职业教育中&#xff0c;由于自身的职业教育特色&#xff0c;教学过程也有自己的一些特点&#xff0c;通常这个过程分为三个阶段&#xff1a;1、备课阶段&#xff1a;由于职业教育的教学素材要包含教材&#xff08;理论部分和实践部分&#xff09;、教…...

IT职业教育(9)培训的意义探讨

时常问自己&#xff0c;为何自己的英语一直是就那么个水平&#xff0c;自从考过TOEFL和雅思之后&#xff0c;就每年水平逐步递减。再这么下去&#xff0c;恐怕最终只能退化为只有英文初级阅读能力了。有的时候&#xff0c;心里也有很多惶恐&#xff0c;研究生毕业、思科微软讲师…...

IT职业教育(5)IT职业教育与网络环境的依存

当前几年出现职业培训的概念时&#xff0c;我们甚至并不知道它的诞生会这么生逢其时&#xff0c;会成为传统学历教育IT专业最大的一个讽刺。 自20世纪90年代中后期计算机和网络普及以来&#xff0c;IT培训市场由萌芽到发展&#xff0c;已逐渐成为培训市场的主力军。2002—2005连…...

IT职业教育(10)教育要先学会换位思考

以前开过一个培训学校&#xff0c;有天突然接到一个学生家长的电话&#xff0c;说&#xff1a;“马老师&#xff0c;您在吧&#xff0c;我现在过去和您聊聊。”“您是&#xff1f;”我有些差异&#xff0c;成人学习中直接面对家长的次数并不是很多。“我是智勇的母亲。”“哦&a…...

IT职业教育(1) 北大青鸟APTECH

说是北大青鸟这个职业培训品牌可能不太准确&#xff0c;因为谈到北大青鸟的成功&#xff0c;不能不说它的合作伙伴APTECH&#xff0c;尽管APTECH在现越来越淡出大家的视线&#xff0c;但是在青鸟的成立初&#xff0c;一套披着软件大国印度外衣的培训产品还是在01年建立了很权威…...

IT职业教育(2)IT培训教材的优劣

对于一个培训机构&#xff0c;不同人对什么业务是核心会有不同的理解&#xff1a;老师会说&#xff0c;培训就是教学过程&#xff0c;理所应当我们就是核心&#xff1b;市场人员会说&#xff0c;我为培训企业谋利润&#xff0c;这是企业生存之本&#xff0c;连学生都招不来&…...

IT职业教育(16)教学过程控制

IT职业教育一般存在着多种授课形式&#xff0c;在不同的授课形势下就存在不同的过程控制办法。这篇讨论的可包括为理论课、上机课和项目课三种形式下的教学控制。教学过程控制是教师在教学过程中的具体管理措施, 一般包括&#xff1a;理论课、上机课、项目课的教学过程监督。其…...

IT职业教育行业该如何度过互联网寒冬

“金三银四”求职季&#xff0c;无论是求职者还是需要招人的企业&#xff0c;无一不随着春天的脚步的来临而躁动了起来。 回过头来看前几年的就业形式&#xff0c;在高薪的驱动下&#xff0c;更多的求职者将目标锁定在了IT行业&#xff0c;甚至不惜转行从头再来&#xff0c;这…...

成人赛道IT职业教育将迎来“黄金发展期”

2014-2016年前后&#xff0c;成人教育还处在“适应期”&#xff0c;不管是线下还是线上都没有太多的资源供给&#xff0c;用户预期也没有那么高。但是最近几年&#xff0c;受政策利好、资本热捧以及用户学习意愿增强的影响&#xff0c;成人教育赛道发生了明显改变。 成人教育业…...

IT职业教育(13)什么是职业教育?

一、职业教育的目的是什么&#xff1f;是为了学习理论知识&#xff1f;为了完善知识体系&#xff1f;为了增进学习能力&#xff1f;为了培养动手能力&#xff1f;为了提升社交能力&#xff1f;这些都是职业教育所要达到的结果之一&#xff0c;职业教育是为了培养技能型的人才&a…...

中国IT职业教育发展历程的三个阶段

近几年&#xff0c;伴随着中国IT产业的飞速发展&#xff0c;企业对IT人才的需求持续升温。根据权威机构测算&#xff0c;中国IT人才年缺口100万。据国家信息产业部公布的数据&#xff0c;目前我国IT业仅软件开发人才的缺口每年约24万—28万人&#xff0c;而以我国“十一五规划”…...

macOS Catalina 10.15.7官方原版可引导镜像

提供各版本的苹果电脑macOS系统镜像下载https://www.apple114.com/pages/macos/...

揭开网络安全神秘面纱的执行指南

强盗通常会要求访问银行的金库。在 IT 领域&#xff0c;这是数据库&#xff0c;其中存储有价值的信息&#xff0c;例如密码、信用卡或金融交易信息或医疗保健数据。有几种方法可以保护这些数据&#xff0c;或者至少可以监控它。加密和数据库应用程序监控解决方案是最常见的。 …...

揭开伪基站的神秘面纱

从技术上角度讲&#xff0c;将基站中的编码、发射装置独立出来&#xff0c;配上电源&#xff0c;加上一个控制用的笔记本电脑就可以组成一个独立的基站。 伪基站&#xff0c;是指未取得电信设备进网许可和无线电发射设备型号核准&#xff0c;具有搜取手机用户信息&#xff0c;强…...

揭开“QUIC”的神秘面纱

作者&#xff1a;赵咏 QUIC的发音类似于Quick&#xff0c;实际上也确实很快。它可以很好地解决应用在传输层和应用层面临的各种需求&#xff0c;包括处理更多的连接、安全性以及低延迟。 目前在互联网领域&#xff0c;QUIC可以说刮起了新一代互联网传输协议的风。对开发者而言…...

一文揭开ALBERT的神秘面纱

本文是我对ALBERT论文的一个总结归纳&#xff0c;如有理解上的偏差、错误欢迎大家指正批评&#xff0c;感谢。 前言 RoBERTa没霸榜几天&#xff0c;这不Google爸爸就又放大招&#xff0c;这次的新模型不再是简单的的升级&#xff0c;而是采用了全新的参数共享机制&#xff0c…...

揭开JS无埋点技术的神秘面纱

一、背景 相信很多人都接触过**“埋点”这个概念&#xff0c;无论是前端还是后端开发&#xff0c;我们都可以使用这门技术来生产出一些运营性质的原始数据&#xff08;接口耗时、程序安装/启动、用户交互行为等等&#xff09;&#xff0c;然后分析它们得到一些抽象指标&#x…...

揭开人工智能的神秘面纱

一 什么是人工智能1 具有感知、理解、决策能力。2 学习的能力&#xff0c;是智能的本质。二常见人工智能产品智能手表、智能手机、家电家具三 大数据时代大数据时代造就了人工智能的发展。人工智能&#xff1a;需要先有人工&#xff0c;然后再去智能。人工&#xff1a;需要一个…...

揭开分组密码的面纱

前面的几篇博文简单地介绍了传统加密的知识&#xff0c;大家应该已经了解了常见的传统加密方案以及代码实现。这篇文章主要来介绍密码学中的分组密码的工作模式以及填充模式&#xff0c;这篇文章没有相关的代码&#xff0c;都是一些简单的理论。这里说一下为什么是先介绍分组密…...

全流量分析为企业提升SAP用户体验

前言 某汽车总部已部署NetInside流量分析系统&#xff0c;使用流量分析系统提供实时和历史原始流量&#xff0c;重点针对SAP系统性能进行分析&#xff0c;以供安全取证、应用事务分析、网络质量监测以及深层网络分析。 本次分析报告包含&#xff1a;SAP系统性能分析。 分析对…...

揭开Wayland的面纱

(一) 揭开Wayland的面纱&#xff08;一&#xff09;&#xff1a;X Window的前生今世 古老的X Window和现代的桌面技术 X Window在1984年由MIT研发&#xff0c;它的设计哲学之一是&#xff1a;提供机制&#xff0c;而非策略。举个最简单的例子吧&#xff1a;X Window提供了生…...

揭开内存屏障的面纱

推荐阅读&#xff08;强烈推荐&#xff09;c标准库内存屏障的使用 一 什么是内存屏障 内存屏障&#xff08;英语&#xff1a;Memory barrier&#xff09;&#xff0c;也称内存栅栏&#xff0c;内存栅障&#xff0c;屏障指令等&#xff0c;是一类同步屏障指令&#xff0c;是…...

揭开 ClickHouse 快的面纱

背景 其实早在去年我们就已经开始接触并研究clickhouse了&#xff0c;因为当时进行多表关联测试性能并不是特别优秀&#xff0c;所以并没有在线上大范围使用&#xff0c;当时研究的是分布式部署 &#xff08;感觉分布式会比单机好一些&#xff09;最后发现性能并不怎么样 而且分…...

揭开雷达的面纱(科普)接收机

1、超外差接收机的功能 信号选择&#xff08;高频和中频滤波器实现信号选择&#xff09;&#xff1b;放大信号&#xff08;因为接收信号比较微弱&#xff0c;所以需要多级放大器&#xff09;&#xff1a;高频放大&#xff1b;中频放大&#xff1b;视频放大。变换信号 先用混频…...

揭开 import-html-entry 面纱

文章目录揭开 import-html-entry 面纱0. 本文使用示例说明1. 拉取 HTML 并处理2. 拉取 JS 并支持执行3. 总结揭开 import-html-entry 面纱 摘要&#xff1a;import-html-entry 是 qiankun 中一个举足轻重的依赖&#xff0c;用于获取子应用的 HTML 和 JS&#xff0c;同时对 HTM…...

Spring入门篇3 --- 依赖注入(DI)方式、集合注入

目录1.依赖注入方式依赖注入(DI&#xff1a;dependence injection)&#xff1a;在容器中建立bean与bean之间的依赖关系的整个过程。向一个bean中传递数据有三种方法&#xff1a;setter注入、构造器注入、自动装配/src/main/java/com/itheima/dao/BookDao.javapackage com.ithei…...

OB运维 | tenant--删除租户的流程设计

作者&#xff1a;姚嵩 不知道是地球人还是外星人&#xff0c;知道的可以留言告诉小编… 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 背景&#xff1a; ob中的租户相当于我们平常认知的…...

华为OD机试题,用 Java 解【乱序整数序列两数之和绝对值最小】问题 | 含解题说明

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典本篇题目:乱序整数序列两数之和绝对值最小…...

刻意练习:数据结构复习思路

针对性的插入链接了解考试形式和试卷结构做到心中有数一、数据结构与算法(一) 数据结构的基本概念(二) 算法和算法分析1. 算法基本概念2. 算法的时间和空间性能分析二、线性表(一) 线性表的基本概念(二) 线性表的顺序存储结构和链式存储结构(三) 线性表的应用三、栈和队列(一) …...

Mybatis入门案例【超详细】

目录 前言 一、查询所有用户 1. 持久层添加查询所有方法 2. 在UserMapper.xml映射文件添加查询语句 3. 测试方法 4. 运行结果 二、MyBatis核心对象及工作流程 1. MyBatis核心对象 2. MyBatis工作流程 3. 使用SqlSession操作数据库 三、添加其他常见方法 1. Mybatis新…...

学习系统编程No.8【bash实现】

引言&#xff1a; 北京时间&#xff1a;2023/3/22/6:59&#xff0c;一晃3月都要过去了&#xff0c;时间真快&#xff0c;我都不知道自己这个月是怎么过的呢&#xff1f;怎么就要结束了&#xff0c;难受&#xff0c;恍惚自己还在2022年&#xff0c;刚刚晨跑回来&#xff0c;洗完…...

微服务注册中心做了什么事——服务发现

是否被一大堆的注册中心八股文淹没&#xff0c;不知道哪个是哪个&#xff0c;有啥区别甚至于不知道哪几个功能重叠互为替代&#xff0c;​请看下文。 服务发现 服务发现如何做到持续维护服务地址在动态运维中的时效性 那在正式开始学习之前呢&#xff0c;让我们先来思考一个…...

Linux防火墙——SNAT、DNAT

目录 NAT 一、SNAT策略及作用 1、概述 SNAT应用环境 SNAT原理 SNAT转换前提条件 1、临时打开 2、永久打开 3、SNAT转换1&#xff1a;固定的公网IP地址 4、SNAT转换2&#xff1a;非固定的公网IP地址&#xff08;共享动态IP地址&#xff09; 二、SNAT实验 配置web服务…...

React篇-关于React的简简单单了解~

一.简介1.介绍用于构建用户界面的 JavaScript 库2.创建项目(1)手动创建<head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width,…...

机器学习领域中各学派划分(符号主义、频率主义、贝叶斯主义、连接主义)

前言 如果你对这篇文章感兴趣&#xff0c;可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」&#xff0c;查看完整博客分类与对应链接。 在机器学习领域中&#xff0c;算法数量可谓是数不胜数&#xff0c;若只关注每个算法本身&#xff0c;将各个算法独立地进行…...

独特视角解读JVM内存模型

独特视角解读JVM内存模型类加载器类加载器体系结构的作用防止恶意代码去干涉善意的代码守护了被信任的类库的边界双亲委派模型运行时包JVM内存模型类装载过程ClassLoader类中的核心方法和注意事项方法区从Main方法的执行探究一次类加载的完整过程堆方法表对象锁数组对象程序计数…...

C++ swtich case用法

参考:https://www.dovov.com/switch.html 这是我想要做的&#xff1a; switch(myvar) { case: 2 or 5: … break; case: 7 or 12: … break; … } 我尝试了“情况&#xff1a;2 || 5”&#xff0c;但没有奏效。 目的是不要为不同的值编写相同的代码。 通过堆叠每个开关盒&a…...

Redis为什么选择单线程?Redis为什么这么快?

目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程&#xff1f;三、Redis6.0引入多线程四、Redis主线程和IO线程是如何完成请求的&#xff1f;1、服务端和客户端建立socket连接2、IO线程读取并解析请求3、主线程执行请求命令4、IO线程会写回socket和主线程清…...

基于spring cloud 的连接不同数据库的查询案例(手把手配置详解)

前言&#xff1a; 本文非常详细&#xff0c;主要讲解实际开发的代码部分&#xff0c;同时每个步骤都有标签&#xff0c;不用担心内容过长&#xff0c;内附详细代码。以及中途各种问题的解决方案。 springcloud案例介绍&#xff1a; 订单微服务能够查询订单信息&#xff0c;订…...

【CMake入门教程】CMake目录导航

CMake教程专栏文章列表 【手册篇】CMake帮助手册的使用【手册篇】CMake编译平台介绍 【实例篇】01.第一个程序【实例篇】02.包含头文件实例【实例篇】03.创建静态库【实例篇】04.创建一个共享库【实例篇】05.安装程序【实例篇】06.编译类型(Debug/Release/MinSizeRel/RelWithD…...

mysql查询数据库版本

方法一&#xff1a;select version(); 或者 select version() from dual执行结果:version : 5.7.31注意&#xff1a;1、sql语句一般部不分大小写2、dual解释见小结方法二mysql - version 或者 mysql - status执行的结果&#xff1a;第一行:mysql Ver 14.14 Distrib 5.7.31, for…...

【并发编程】线程的基本原理和Thread Dump线程分析

线程的基本原理和Thread Dump线程分析线程的基本原理线程的运行状态如何中断线程存在循环的线程中断处于阻塞状态的线程中断Thread Dump线程分析CPU不高&#xff0c;但响应很慢CPU很高&#xff0c;且响应很慢线程的基本原理 放一张线程的原理图: java代码创建线程后&#xff0…...

阿里妈妈智能诊断工程能力建设

丨本文作者&#xff1a;茂道、羲洋、君之、天柏1. 业务背景算法同学在日常工作中经常要面临一些耗时较多的临时工单&#xff0c;这类工单的问题类型五花八门&#xff0c;背后对应的原因也各不相同&#xff0c;例如广告主操作类问题、大盘流量波动问题、海选问题、粗排问题等。这…...

openresty 安装与使用

一、openresty的安装下载源码openresty download安装依赖apt-get install libpcre3-dev \libssl-dev perl make build-essential curl编译tar -xzvf openresty-VERSION.tar.gz# --without-http_redis2_module 将不能使用http_redis2模块./configure --prefix/usr/local/openres…...

DxO PureRAW 3 - RAW 格式照片自动降噪锐化光学校正

使用 DxO PureRAW&#xff0c;无需升级相机即可获取更清晰、更纯净的 RAW 文件&#xff0c;能够高效去除图像的噪点&#xff0c;并可对镜头光学方面的缺陷进行校正。官网&#xff1a;https://www.dxo.com/zh-cn/dxo-pureraw/DxO PureRaw 3 最大的亮点在于其加入了 DxO 最新的人…...

【数据库学习】Postgres原理及底层实现

1&#xff0c;事务原理 事务&#xff08;transaction&#xff09;&#xff1a; 是用户定义的一组数据库操作&#xff0c;要么全做要么全不做&#xff0c;失败即回滚。 事务是恢复和并发控制的基本单元。 保存点&#xff08;savePoint&#xff09; 在一个大的事务中&#xff0c;…...

工程管理系统软件 自主研发,工程行业适用

ava版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示1…...

Java开发 | 内部类 | 静态内部类 | 非静态内部类 | 匿名内部类

目录 1.内部类 1.1内部类的简单创建 1.2内部类的分类 1.2.1普通内部类 1.2.2静态内部类 1.3匿名内部类 1.4局部内部类 1.内部类 内部类就是一是一个类里面装着另外一个类&#xff0c;就像俄罗斯套娃一样。最外层的类我们叫外部类&#xff0c;内层的类我们叫内部类。 1…...

【C语言】栈区与堆区

目录分配管理方式申请大小限制不同申请效率不同总结&#xff1a;栈区、堆区 是内存模型 对比起来看 分配管理方式 栈区由编译器自动管理&#xff0c; 函数运行时分配&#xff0c;函数结束时释放。存放为运行函数而分配的局部变量&#xff08;函数结束时&#xff0c;其内临时…...

交通信号标志识别软件(Python+YOLOv5深度学习模型+清新界面)

摘要&#xff1a;交通信号标志识别软件用于交通信号标志的检测和识别&#xff0c;利用机器视觉和深度学习智能识别交通标志并可视化记录&#xff0c;以辅助无人驾驶等。本文详细介绍交通信号标志识别软件&#xff0c;在介绍算法原理的同时&#xff0c;给出Python的实现代码以及…...

js——async和defer

同步加载——不添加async或defer 代码1&#xff08;后面所有对代码的改动&#xff0c;都参照代码1&#xff09; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" co…...

JAVA多线程知识整理

Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#xff0c;并重写该类的run()方法&#xff0c;该run()方法实际上就是线程执行体&#xff0c;代表了线程需要完成的任务。创建该子类的实例&#xff0c;即创建线程对象。调用线程对象的star…...

Kaggle 赛题解析 | AMP 帕金森进展预测

文章目录一、前言二、比赛说明1. Evaluation2. Timeline3. Prize4. Code Requirements三、数据说明四、总结&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 竞赛题目&#xff1a;AMP-Parkinson’s Disease Progression Prediction 竞赛地址…...

Shell变量和引用

变量的定义本质上讲&#xff0c;变量就是在程序中保存用户数据的一块内存空间&#xff0c;而变量名就是这块内存空间的地址在程序的执行过程中&#xff0c;保存数据的内存空间的内容可能会不断地发生变化&#xff0c;但是&#xff0c;代表内存地址的变量名却保持不变变量的命名…...

腾讯云轻量应用服务器和CVM云服务器比为什么这么便宜?

最近需要一台服务器&#xff0c;发现腾讯云轻量应用服务器很便宜&#xff0c;为什么这么便宜&#xff1f;腾讯云轻量应用服务器和CVM云服务器比为什么这么便宜&#xff1f;轻量服务器公网带宽起步很高&#xff0c;4M起&#xff0c;感觉配置很高呀&#xff0c;难道性能不行么&am…...

C语言枚举—事件提醒程序 (time函数)

编写程序&#xff0c;实现一个事件提醒程序&#xff0c;如果今天是周几&#xff0c;完成什么事情… 这里需要用time函数获取当前时间&#xff0c;或者会用到localtime()函数 (1) time的原型是&#xff1a; #include <time.h>time_t time( time_t *time );功能&#xff1…...

小程序二:不支持打开非业务域名https://xxx.xx.com

原因&#xff1a;由于在小程序项目中&#xff0c;源H5网页代码里通过 <web-view> 嵌入或引用了https://xxx.xx.com域名&#xff0c;导致审核失败&#xff0c;因为&#xff1a;微信公众平台如果是开通的个人账号&#xff0c;那他不支持打开因为:需要已经认证的企业号和服务…...

PyTorch机器学习与深度学习技术方法与案例实践应用

PyTorchPyTorch是一个开源的Python机器学习库&#xff0c;基于Torch&#xff0c;用于自然语言处理等应用程序。2017年1月&#xff0c;由Facebook人工智能研究院&#xff08;FAIR&#xff09;基于Torch推出了PyTorch。它是一个基于Python的可续计算包&#xff0c;提供两个高级功…...

Go项目(幂等性)

文章目录简介服务雪崩幂等性unique indextoken锁小结简介 前一篇为了避免因消息的重复发送导致一个订单的库存归还多次&#xff0c;我们新建了一张表 StockSellDetail其实这里涉及到幂等性&#xff0c;但在此之前&#xff0c;先来了解一些微服务中的常见问题 注&#xff1a;微…...

Python-模块和包

1.模块 概念 在Python中&#xff0c;模块是一种组织Python代码的方式。一个模块(py文件)可以包含多个函数、类、变量等Python对象&#xff0c;可以被其他Python程序导入和使用。Python标准库中包含了很多有用的模块&#xff0c;如math、random、os等。此外&#xff0c;Python还…...

Spring 远程加载配置

本文以携程的Apollo和阿里的Nacos为例。 pom中引入一下依赖&#xff1a; <dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client</artifactId><version>2.0.1</version></dependency><depe…...

3月第3周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

飞瓜轻数发布2023年3月13日-3月19日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能力强的B…...

dbms_application_info

今天在查看的时候发现&#xff0c;原有的存储过程中添加了很多dbms_application_info函数的调用&#xff0c;不知道是干什么的&#xff0c;查了下相关资料&#xff1a; dbms_application_info提供了通过v$session跟踪脚本运行情况的能力&#xff0c;该包允许我们在v$session设…...

网络同步——帧同步和状态同步解析

目录 概述 帧同步概念 状态同步概念 对比 概述 同步就是要多个客户端表现效果是一致的&#xff0c;而且对于大多数的游戏&#xff0c;不仅仅要表现一致&#xff0c;还要客户端和服务器的数据也是一致的。所以同步是个网络游戏概念&#xff0c;只有网络游戏才需要同步&…...

The FLARE challenge中的DG Tricks

在数据预处理过程中&#xff0c;大多数顶级团队将强度值裁剪到特定范围内&#xff0c;然后以单位标准差(表6预处理CI & N)将其归一化为[ 0 , 1]或零均值&#xff0c;从而减小了不同个例和中心之间的强度方差。重采样被顶级球队广泛使用&#xff0c;但采样策略各不相同。一些…...

docker-compose 搭建RocketMQ 5.1.0 集群(双主双从模式) | Spring Cloud 28

一、前言 关于更多RocketMQ的介绍请见官网&#xff1a;https://rocketmq.apache.org/zh/docs/ 网上关于Docker搭建RocketMQ单机&集群的版本一般都是4.X。关于最新的5.X版本&#xff0c;官方给出的示例都是基于物理机&虚拟机实现&#xff0c;不便于我们我们日常开发使…...

论文解读:ChangeFormer | A TRANSFORMER-BASED SIAMESE NETWORK FOR CHANGE DETECTION

论文地址&#xff1a;https://arxiv.org/pdf/2201.01293.pdf 项目代码&#xff1a;https://github.com/wgcban/ChangeFormer 发表时间&#xff1a;2022 本文提出了一种基于transformer的siamese网络架构&#xff08;ChangeFormer&#xff09;&#xff0c;用于一对共配准遥感图…...

工程师你知道PCB的蛇形走线咋搞吗?

提起蛇形线&#xff0c;很多PCB工程师都不会陌生&#xff0c;蛇形线是PCB布线环节时经常用到的一种走线方式&#xff0c;主要目的是为了调节延时、满足系统时序设计要求&#xff0c;然而很多工程师经常经常滥用蛇形线&#xff0c;导致信号质量降低&#xff0c;板子整体上没那么…...

Vue入门+DRF项目实战-01-引入REST Framework

1. 引入Django REST framework 在本章中,我们要大家介绍为什么学习Django REST framework,它能帮助我们做哪些事情。 课程思路: 我们从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实 现一个REST API为例,明确后端开发REST API要做…...

Matter名词解释

Access Control List&#xff1a;访问控制列表&#xff0c;类似一个白名单&#xff0c;可以用来方控制访问簇元素Administrator&#xff1a;管理员&#xff0c;对另一个节点的访问控制列表具有管理权限的节点Advertising Data&#xff1a;广播包数据&#xff0c;主要指的是通过…...

ROS安装官方教程,以及如何解决安装过程中的报错

本文参考ROS官方教程&#xff1a;http://wiki.ros.org/melodic/Installation/Ubuntu 安装 ros melodic&#xff0c;并解决了安装过程中出现的报错 我们正在为以下几个Ubuntu平台构建Debian软件包。这些软件包比基于源代码的构建更高效&#xff0c;也是我们推荐在Ubuntu上使用的…...

【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列 p179 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie-lcof/ 1. 题目介绍&#xff08;33. 二叉搜索树的后序遍历序列&#xff09; 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true&am…...

回溯算法(排列/组合/子集)

排列 无重复元素全排列 题目链接&#xff1a; 全排列https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 示例&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,…...

安卓逆向高阶之frida hook java层

文章目录1. 初次hook Java 层函数2. hook 修改函数返回值3. hook调用静态函数和非静态函数4. hook设置成员变量5. hook内部类6. hook 动态加载dex7. 枚举class1. 初次hook Java 层函数 登录走else if 逻辑&#xff0c;hook a 方法 function hook_java() {Java.perform(functio…...

unity的C#学习——浮点常量、字符常量和字符串常量

浮点常量 在C#中&#xff0c;一个浮点常量是由整数部分、小数点、小数部分和指数部分组成。浮点常量可以使用以下几种表示形式&#xff08;大写与小写效果等价&#xff09;&#xff1a; 十进制表示法&#xff1a;使用小数点来表示浮点数&#xff08;默认为double类型&#xff…...

同样是软件测试岗位,年薪只比我大5岁,凭什么他能年薪50W?

相信大家听过网上流传的一句话&#xff1a; 35岁前当经理&#xff0c;35岁后开滴滴。 疫情当下&#xff0c;各大互联网都在想办法“活下去”&#xff0c;各种花样裁员也已经不足为奇&#xff0c;很多软件测试工程师就开始焦虑这个问题&#xff1a;在这个行业真的干到35岁就干…...

NPDP|来聊聊To B产品经理都应该具备的9个边界能力

面对市场的时候&#xff0c;给予To B产品经理的反馈却是繁杂且滞后的&#xff0c;很多无效的反馈&#xff0c;将直接干扰、甚至破坏产品的发展决策。 这时&#xff0c;To B产品经理的“边界能力”就会显得非常重要。"边界能力”简单说&#xff0c;就是什么该做&#xff1f…...

【git报错】unable to resolve reference ‘ORIG_HEAD‘: reference broken

【git报错】unable to resolve reference ‘ORIG_HEAD’: reference broken git报错&#xff1a;&#xff1a;fatal: update_ref failed for ref ‘ORIG_HEAD’: cannot lock ref ‘ORIG_HEAD’: unable to resolve reference ‘ORIG_HEAD’: reference broken 这个错误通常意…...

【算法】动态规划复习汇总

一、概述 1.1 基本概念 动态规划主要用于解决多段决策最优化的问题。 动态规划通常用来解决这样的一类问题&#xff1a;该问题有n个输入&#xff0c;问题的解由这n个输入的一个子集构成&#xff0c;这些子集必须满足某些事先给定的约束条件&#xff0c;满足约束条件的子集称…...

react中渲染企业微信的表情

前提&#xff1a;后端返回的的表情是解析成字符串的这种&#xff0c;形如&#xff1a;[微笑]、[旺财]等的 大致思路&#xff1a; 需要一张完整表情包的精灵图&#xff0c;用正则去匹配[***]这种文本再写个json对照表&#xff0c;匹配到的再用json去匹配对应的style样式。利用…...

Jetpack系列之Paging2.0 分页加载

&#xff08;一&#xff09;概述 Paging是Jetpack中的一个数据分页加载组件&#xff0c;核心成员有 DataSource, PagedList, PagedListAdapter。 // 下拉刷新 api com.scwang.smartrefresh:SmartRefreshLayout:1.1.0 api com.scwang.smartrefresh:SmartRefreshHeader:1.1.0 …...

线性回归-线性神经网络

线性神经网络 注: 该文章为作者学习深度学习笔记,共参考以下两大开源深度学习资料: 深度学习(花书) https://github.com/exacity/deeplearningbook-chinese动手学习深度学习(李沐) https://zh-v2.d2l.ai/ 线性回归 线性回归是一种常用的统计分析方法,它可以用来研究一个或多个…...

矿泉水瓶装大米,便利店能增收300万

矿泉水瓶装大米&#xff0c;便利店能增收300万 把大米装进矿泉水瓶&#xff0c;一瓶卖到60块&#xff0c;是同行的十倍&#xff0c;放进便利店&#xff0c;一年能卖300万 梦龙商业案例分析&#xff0c;带你了解商业背后的秘密 他针对的是单身人士和小情侣&#xff0c;这群人…...

Nginx学习(5)—— 基本结构(源码)

文章目录Nginx源码学习基本数据结构1、字符串结构&#xff1a;ngx_str_t2、类似资源管理的结构&#xff1a;ngx_pool_t3、Nginx数组结构&#xff1a;ngx_array_t4、哈希表结构&#xff1a;(1) ngx_hash_t&#xff1a;普通哈希表(2) ngx_hash_wildcard_t&#xff1a;通配符域名哈…...

使用configmap形式持久化grafana-dashboard

安装部署请参考&#xff1a;k8s部署prometheus 一、下载dashboard的json文件 先去官网找到喜欢的dashboard 官网地址&#xff1a;https://grafana.com/grafana/dashboards/?pghp&plcmtlt-box-dashboards 这个地址有很多的dashboard&#xff0c;根据需要去搜索即可 把js…...