手摸手学会node框架之一——koa 傻瓜式小白教程
一、Koa简介
基于 Node.js 平台的下一代 web 开发框架。 由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。
详细请参考Koa官网进行学习。
二、Koa基础入门
1.项目初始化
执行 npm init -y
, 生成package.json
npm init -y
2.安装Koa
执行命令
npm i koa
ps:项目名称不能为koa,不然就噶了
3.入门体验
1)回顾Express如何创建服务程序
//导入express
const express = require('express')
//创建web服务器
const app = express()
//编写中间件
app.use(function(req, res, next) {console.log('hello express');next()
})
//启动服务器并监听端口
app.listen(8080, () => [console.log('express server running at http://localhost:8080')
])
2)使用koa编写服务程序
// 一. 导入koa
const Koa = require('koa')
// 二. 实例化对象 (Koa首字母需要大写,此处实际上是类)
const app = new Koa()
// 三. 编写中间件
app.use((ctx) => {//ctx:content http 请求上下文ctx.body = 'hello Koa'
})
// 四. 启动服务
app.listen(3000, () => {console.log('Koa server is running on http://localhost:3000')
})
通过node +文件路径执行,可以看到终端输出了
同时,我们使用postman对http://localhost:3000网址发出请求,可以看到服务端发出的响应“hello koa”
nodemon插件的安装
安装插件,便于实时监听后缀为js、mis、json文件的修改保存,避免多次重启服务(使用nodemon +文件路径启动)
npm i nodemon -D //此为开发环境安装,全局安装不需要-D
ps:此处安装成功后,可能会出现命令执行失败的情况,可以使用如下命令安装。
npm i nodemon -g --verbose
执行 nodemon src/test命令后,修改并保存文件内容,可以看到nodemon监听到文件被修改自行重启。
三、走进中间件
1.基本概念
有时候从请求到响应的业务比较复杂, 将这些复杂的业务拆开成一个个功能独立的函数, 就是中间件,每一个中间件就是一个函数,互不影响,但又彼此协作。
2.基本使用
// 一. 导入koa
const Koa = require('koa')
// 二. 实例化对象
const app = new Koa()
// 三. 编写中间件
app.use((ctx, next) => {console.log('我来组成身体')//next() 可以将当前函数暂停并将控制传递给定义的下一个中间件。next()
})
app.use((ctx, next) => {console.log('我来组成头部')next()
})
app.use((ctx) => {console.log('---------')//如果此处不使用ctx.body会报错“not found”ctx.body = '组装完成'
})
// 四. 启动服务
app.listen(3000, () => {console.log('server is running on http://localhost:3000')
})
app.use 可以将给定的中间件方法添加到此应用程序需要注意的是,其一次只能接受一个函数做为参数。其返回 this
, 因此可以链式表达,以上代码可以简写为
// 一. 导入koa
const Koa = require('koa')
// 二. 实例化对象
const app = new Koa()
// 三. 编写中间件
app
.use((ctx, next) => {console.log('我来组成身体')next()
})
.use((ctx, next) => {console.log('我来组成头部')next()
})
.use((ctx) => {console.log('---------')//如果此处不使用ctx.body会报错“not found”ctx.body = '组装完成'
})
// 四. 启动服务
.listen(3000, () => {console.log('server is running on http://localhost:3000')
})
思考题 下面的输出顺序是?
// 1. 导入koa包
const Koa = require('koa')
// 2. 实例化对象
const app = new Koa()
// 3. 编写中间件
app.use((ctx, next) => {console.log(1)next()console.log(2)console.log('---------------')ctx.body = 'hello world'
})app.use((ctx, next) => {console.log(3)next()console.log(4)
})app.use((ctx)=>{console.log(5)
})
// 4. 监听端口, 启动服务
app.listen(3000)
console.log('server is running on http://localhost:3000')
洋葱圈模型
- 中间件函数队列,会在最后一个中间件或一个没有调用next的中间件那里停止。
- koa官方文档上把外层的中间件称为"上游",内层的中间件为"下游"。
- 一般的中间件都会执行两次,调用next之前为第一次,调用next时把控制传递给下游的下一个中间件。当下游不再有中间件或者没有执行next函数时,就将依次恢复上游中间件的行为,让上游中间件执行next之后的代码
从源代码看use
use(fn) {// 判断是否为函数if (typeof fn !== 'function') throw new TypeError('middleware must be a function!');// 判断是否为generator函数,并转化为generator函数if (isGeneratorFunction(fn)) {deprecate('Support for generators will be removed in v3. ' +'See the documentation for examples of how to convert old middleware ' +'https://github.com/koajs/koa/blob/master/docs/migration.md');fn = convert(fn);}
// 调试 DEBUG=koa* node app.jsdebug('use %s', fn._name || fn.name || '-');// 把中间件push进middlewarethis.middleware.push(fn);return this;}
Genertor 函数
Genertor 函数是es6 新增的一种异步编程的解决方案,语法和传统的函数完全不同;Genertor 函数的最大的特点就是可以交出函数的执行权(即暂停执行)。
1)形式上: Generator函数是一个普通的函数,不过相对于普通函数多出了两个特征。一是在function关键字和函数明之间多了’*'号;二是函数内部使用了yield表达式,用于定义Generator函数中的每个状态。
2)语法上: Generator函数封装了多个内部状态(通过yield表达式定义内部状态)。执行Generator函数时会返回一个遍历器对象(Iterator(迭代器)对象)。也就是说,Generator是遍历器对象生成函数,函数内部封装了多个状态。通过返回的3)Iterator对象,可以依次遍历(调用next方法)Generator函数的每个内部状态。
3)调用上: 普通函数在调用之后会立即执行,而Generator函数调用之后不会立即执行,而是会返回遍历器对象(Iterator对象)。通过Iterator对象的next方法来遍历内部yield表达式定义的每一个状态。
function *myGenerator() {yield 'Hello'yield 'world'return 'ending'
}let MG = myGenerator()MG.next() // {value:'Hello',done:false}
MG.next() // {value:'world',done:false}
MG.next() // {value:'ending',done:true}
MG.next() // {value:'undefined',done:false}
上面代码一共调用了四次next方法。
第一次调用,Generator 函数开始执行,直到遇到第一个yield表达式为止。next方法返回一个对象,它的value属性就是当前yield表达式的值hello,done属性的值false,表示遍历还没有结束。
第二次调用,Generator 函数从上次yield表达式停下的地方,一直执行到下一个yield表达式。next方法返回的对象的value属性就是当前yield表达式的值world,done属性的值false,表示遍历还没有结束。
第三次调用,Generator 函数从上次yield表达式停下的地方,一直执行到return语句(如果没有return语句,就执行到函数结束)。next方法返回的对象的value属性,就是紧跟在return语句后面的表达式的值(如果没有return语句,则value属性的值为undefined),done属性的值true,表示遍历已经结束。
第四次调用,此时 Generator 函数已经运行完毕,next方法返回对象的value属性为undefined,done属性为true。以后再调用next方法,返回的都是这个值。
调用 Generator 函数,返回一个遍历器对象,代表 Generator 函数的内部指针。以后,每次调用遍历器对象的next方法,就会返回一个有着value和done两个属性的对象。value属性表示当前的内部状态的值,是yield表达式后面那个表达式的值;done属性是一个布尔值,表示是否遍历结束。
koa-compose源代码
从源代码观察洋葱模型的原理
'use strict'/*** Expose compositor.*/module.exports = compose/*** Compose `middleware` returning* a fully valid middleware comprised* of all those which are passed.** @param {Array} middleware* @return {Function}* @api public*/function compose (middleware) {// 判断接收的中间件是否为数组if (!Array.isArray(middleware)) throw new TypeError('Middleware stack must be an array!')for (const fn of middleware) {// 判断是否为函数if (typeof fn !== 'function') throw new TypeError('Middleware must be composed of functions!')}/*** @param {Object} context* @return {Promise}* @api public*/
// 返回匿名函数,该函数接收两个参数return function (context, next) {// last called middleware #// 初始下标为-1,记录执行的中间件的索引let index = -1// 从第一个中间件并开始递归执行return dispatch(0) function dispatch (i) {// 这里是保证同个中间件中一个next()不被调用多次调用 // 当i<index,next()函数被调用至少两次的时候,抛出错误if (i <= index) return Promise.reject(new Error('next() called multiple times'))// 如果i>index,则该中间件并未执行,记录索引index = i// 根据下标取出中间件let fn = middleware[i]// 当i已经是数组的length了,说明中间件函数都执行结束,即已经到了洋葱最中心if (i === middleware.length) fn = nextif (!fn) return Promise.resolve()try {// 若数组下标并未到达最后一位,且存在当前中间件函数则执行当前函数并传入 dispatch(i + 1),就可看出是数组中的下一个中间件了,此时作为 next 传入了中间件函数中;// 也就是说我们写中间件时,已经默认注入了 ctx 与 下次执行的封装函数 next,也是因为如此我们在 koa 的中间件中才可以非常方便的判断什么时候进入下一个中间件去执行的洋葱结构,并且一定要执行 next() 否则数组将在此中断,因为这里是 Function.prototype.bind(),bind()方法会创建一个新函数,称为绑定函数.当调用这个绑定函数时,绑定函数会以创建它时传入 bind()方法的第一个参数作为 this,传入 bind()方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数.// 需注意的是 bind 时指向 null 也是为了以防在执行过程中你有什么骚操作改变了指向,那就不好了// 在不断的 Promise.resolve 中去实现递归 dispatch 函数,最终实现顺序控制执行所有中间件函数return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));} catch (err) {return Promise.reject(err)}}}
}
四、路由
1、什么是路由
- 建立URL和处理函数之间的对应关系
- 主要作用: 根据不同的Method和URL返回不同的内容
app.use((ctx) => {if (ctx.url == '/') {ctx.body = '这是主页'} else if (ctx.url == '/users') {if (ctx.method == 'GET') {ctx.body = '这是用户列表页'} else if (ctx.method == 'POST') {ctx.body = '创建用户'} else {ctx.status = 405 // 不支持的请求方法}} else {ctx.status = 404}
})
2、使用koa-router
1)安装
npm i koa-router
或
npm i @koa/router
2)使用
// 一. 导入koa
const Koa = require('koa')
// 二. 实例化对象
const app = new Koa()
// 三. 导入koa-router, 实例化路由对象
const Router = require('koa-router')
const router = new Router()
router.get('/', (ctx) => {ctx.body = '这是主页'
})
router.get('/users', (ctx) => {ctx.body = '这是用户页'
})
router.post('/users', (ctx) => {ctx.body = '创建用户页'
})
// 四. 注册路由中间件
// userRouter.routes() 加载路由规则
// userRouter.allowedMethods() 对于没有实现和没有使用的请求方式做出正确的响应
app.use(router.routes())
app.use(router.allowedMethods())
// 五. 启动服务
app.listen(3000, () => {console.log('server is running on http://localhost:3000')
})
3) 优化
我们可以将一个模块放到一个单独的文件中. 分离出一个router路由层
创建src/router/user.route.js
// 导入koa-router, 实例化路由对象
const Router = require('koa-router')
const router = new Router()router.get('/users', (ctx) => {ctx.body = '这是用户页'
})
router.post('/users', (ctx) => {ctx.body = '创建用户页'
})module.exports = router
再导入
// 一. 导入koa
const Koa = require('koa')
// 二. 实例化对象
const app = new Koa()const userRouter = require('./router/user.route')// 四. 注册路由中间件
app.use(userRouter.routes()).use(userRouter.allowedMethods())// 五. 启动服务
app.listen(3000, () => {console.log('server is running on http://localhost:3000')
})
可以给路由设置一个统一的前缀, 使代码更加简洁
// 导入koa-router, 实例化路由对象
const Router = require('koa-router')
const router = new Router({ prefix: '/users' })router.get('/', (ctx) => {ctx.body = '这是用户页'
})
router.post('/', (ctx) => {ctx.body = '创建用户页'
})module.exports = router
五、请求参数
在很多场景中, 后端都需要解析请求的参数, 做为数据库操作的条件
场景一
前端希望通过请求, 获取id=1的用户信息
接口设计
GET /users/:id
场景二
前端希望查询年龄在18到20的用户信息
场景三
前端注册, 填写了用户名, 年龄, 传递给后端, 后端需要解析这些数据, 保存到数据库
对于不同的Http请求, 需要使用不同的方式携带参数
- GET请求: 在URL中以键值对传递
- POST/PUT/PATCH/DELET请求: 在请求体中传递
// 一. 导入koa
const Koa = require('koa')
// 二. 实例化对象
const app = new Koa()
// 三. 导入koa-router, 实例化路由对象
const Router = require('koa-router')
const router = new Router({ prefix: '/users' })
const db=[{id:1,name:'小明',age:21},{id:2,name:'小红',age:18},{id:3,name:'小兰',age:19},]//GET /users 获取所有用户信息,返回数组
router.get('/', (ctx) => {ctx.body = db
})//GET /users/:id 场景一:根据id,获取该用户信息,返回对象(通过路由传参, 可以通过params得到)
router.get('/:id', (ctx) => {const id = ctx.params.idconst res = db.filter((item)=>item.id==id)if(!res[0]) ctx.throw(404)ctx.body=res[0]
})// GET /users?start=18&end=20 ---- 获取所有的用户信息, 返回一个数组(以键值对的形式传参, 可以通过query得到)
router.get('/', (ctx) => {// 通过 ctx.query 是ctx.request.query的代理 解析键值对参数const { start = 0, end = 0 } = ctx.queryconst res = db.filter((item) => item.age >= start && item.age <= end)// 解析键值对res.length == 0 ? ctx.throw(404) : (ctx.body = res)
})
// 四. 注册路由中间件
app.use(router.routes())
app.use(router.allowedMethods())
// 五. 启动服务
app.listen(3000, () => {console.log('server is running on http://localhost:3000')
})
场景三、处理body参数
Koa原生支持body参数解析, 通常借助社区的中间件实现. 官方推荐的有
- koa-bodyparser
- koa-body (支持的方法更多,推荐使用)
1)安装
npm install koa-body
2)注册
// 注册KoaBody中间件, 解析请求体中的参数, 挂载到ctx.request.body
const KoaBody = require('koa-body')
app.use(KoaBody())
3)使用
通过ctx.request.body
获取请求体中的数据
app.use(ctx=>{
ctx.body=`Request Body:${JSON.stringify(ctx.request.body)}`
})
需要注意的是,在使用koa-body获取post请求body参数时,一定要在注册路由前使用koa-body,否则ctx.request.body获取为空
六、错误处理
1、为什么使用错误处理
- 防止程序 down 掉
- 告诉用户错误信息
- 便于开发者调试
- 一般Koa中的错误分为三类
- 404: 当请求的资源找不到, 或者没有通过
ctx.body
返回时, 由koa自动返回 - 手动抛出: 通过
ctx.throw
手动抛出 - 500: 运行时错误
- 404: 当请求的资源找不到, 或者没有通过
2、错误处理
1)在 async 函数中错误捕获
async 是“异步”的简写,而 await 可以认为是 async wait 的简写。async
用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。async 会将其后的函数的返回值封装成一个 Promise 对象,而await 会等待这个 Promise 完成,并将其 resolve 的结果返回出来。
我们通常处理 Promise 异步操作中的错误可以使用 .catch(err=>{ … }) 来处理,如:
getAsyncData().then(() => {console.log("成功啦")
}).catch(() => {console.log("出错啦")
})
同理,如果我们在koa中也这么处理会怎么样呢?
router.get('/getDatas', (ctx, next)=>{getAsyncData().then((data) => {ctx.body = {ok: ture,data: data,msg: ""}}).catch((err) => {ctx.body = {ok: false,data: "",msg: err.message}})
})
很显然,使用这种方式去处理响应数据是无效的。在异步函数中又创建了一个新的异步函数,新的异步函数的回调执行顺序肯定在当前异步函数的回调执行完毕之后。假如我们以这样的方式处理错误的话,当我们执行 ctx.body 赋值数据时,当前的请求已经发送完毕了,所以 ctx.body 是不能在内层的异步函数中调用的。如果我们需要通过异步获取数据,我们应该在当前的异步函数中使用 await 来阻塞数据获取的异步函数。
app.use(async (ctx,next) => {try {await next();} catch (err) {ctx.status = err.status || err.statusCode;ctx.body = {message: err.message}}
})
koa继承了emitter类,可以通过error监听错误,使用emit提交错误
app.use(async (ctx,next) => {try{await next()}catch(err){ctx.response.status = err.statusCode || err.status || 500;ctx.response.body = {message: err.message};// 如果在try...catch中已经捕捉到错误,error事件就不会发出,通过emit手动释放error事件ctx.app.emit('error', err, ctx);}
});
// 继续触发error事件
app.on('error',() => {console.error('server error', err.message);console.error(err);
});
3、插件的使用
#1) 安装
npm i koa-json-error
#2) 使用
基本使用
const error = require('koa-json-error')
app.use(error())
高级使用
const error = require('koa-json-error')
app.use(error({format: (err) => {return { code: err.status, message: err.message, result: err.stack }},postFormat: (err, obj) => {const { result, ...rest } = objreturn process.env.NODE_ENV == 'production' ? rest : obj},})
)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4500580.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
K线形态识别—多K线之卖出型多日K线组合
卖出型多日K线组合 卖出型多日K线组合,是指连续三个交易日以上所形成的K线组合,它预示后市股价将会下跌,投资者应卖出股票。和买入型多日K线组合一样,与仅判断二个或三个交易日的卖出型K线组合相比,多日型卖出K线组合在行情判断的准确率和可信度要更高一些。 一、向上三空 向上…...

社区疫情防控系统毕业设计,社情疫情防控系统设计与实现,毕业设计怎么写论文源码开题报告需求分析怎么做
项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的疫情下社区健康评估系统,整个网站项目使用了B/S架构,基于java的springboot框架下开发;通过后台设置网站信息,设置广告信息,查看和管理…...

css特效——纯css绘制图标:带框的加号(添加按钮)、三横(三道杠)、带圈点(双层圆点)
带框的加号(添加按钮) 鼠标悬浮时会高亮 <template><div style"padding: 20px"><div class"add"></div></div> </template> <style scoped>.add {display: inline-block;width: 76px; h…...

python 生成excel
# !/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb from datetime import datetime import cx_Oracle import os import xlwt import sys reload(sys) sys.setdefaultencoding(utf-8) os.environ[NLS_LANG] SIMPLIFIED CHINESE_CHINA.UTF8 import datetime #导...

什么是结构体【详解】
本期介绍🍖 主要介绍:什么是结构体,结构体的声明、定义、初始化、以及传参,匿名结构体类型,如何通过结构体来实现链表数据结构,结构体在内存中是如何存储的(即:结构体内存对齐&…...

ACM常用数据结构小结与实现
应当说这段时间学习了很多的数据结构,也到了一个总结的时候。fotile96的这篇Blog非常值得推荐,我达不到这个高度,只能给自己和队友做些简单的归纳。 树状数组 非常简单的数据结构,只需要一个数组,一切操作基于如下的函…...

C语言结构体(struct)最全的讲解(万字干货)
结构体的定义 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。 结构体和其他类型基础数据类型一样,例如int类型,char类型只不过结构体可以做成你想要的数据类型。以方便日后的使用。 在实际项目中࿰…...

一文搞懂行内元素、块元素、行内块元素
文章目录前言一、了解各个元素的概念1.概念:2.举个例子:3.样式展示二、如何将块元素变为行内块元素?1.修改css中的dispaly属性2.在进行样式选择的时候加入浮动三、将行内元素变为块元素?1.代码示例2.效果展示总结前言 行内元素,行…...

北理工嵩天的python_【学习笔记】PYTHON数据分析与展示(北理工 嵩天)
0 数据分析之前奏 课程主要内容: 常用IDE: 本课程主要使用:AnacondaAnaconda:一个集合,包括conda、某版本Python、一批第三方库等 -支持近800个第三方库 -适合科学计算领域 -包含多个主流工具 -开源免费 -跨平台 本身不…...

总结iPhone、iPad各机型对应的iOS 系统版本(最全)
iPhone屏幕尺寸、statusBar、navigationBar、tabBar高度对比_zhshy4428的专栏-CSDN博客 ...

leetcode547 朋友圈
leetcode547 朋友圈班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩…...
颜色查找表
...

office 2010图标出现异常时的解决办法
将按照有office 2010的其他电脑上,c:\windows\Installer下将{90140000-0011-0000-0000-0000000FF1CE} 该文件夹拷贝到显示图标异常的电脑上,即可结果图标异常 注意事项 c:\windows\installer该文件夹为隐藏的,直接在地址栏输入即可。 造成…...

【转】论文丨免费下载SCI全文文献的10个方法
转自:https://blog.csdn.net/yewei11/article/details/50808701 完成一篇SCI论文对大多数的中国科研者来说还是有一定困难的。因此在撰写之前,不管是科研成果还是论文的翻译、润色,借鉴以往发表成功的论文是很有必要的。怎样获取优秀的SCI论…...
2Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
转载自风宇冲Unity3D教程学院 http://blog.sina.com.cn/s/blog_471132920101crh3.html 引言:想用Unity3D制作优秀的游戏,插件是必不可少的。工欲善其事必先利其器。本文主旨是告诉使用Unity3D引擎的同学们如何根据需求选择适当的工具。为此我写了插件的经…...

Java poi 表格居中
XWPFTableRow rowBt table.createRow(); XWPFTableCell cell rowBt.createCell(); //表格文字居中 XWPFParagraph cellParagraph cell.getParagraphArray(0); cellParagraph.setAlignment(ParagraphAlignment.CENTER); XWPFRun titleFun cellParagraph.createRun() ; Strin…...

4.通用模块
1概述...

jsoneditor光标错位的原因及解决方式
jsoneditor是一款效率高、功能齐全的json编辑器,进行项目整合中出现光标错位的情况,就是你输入的字符不在光标当前位置,经过两天的各种测试,发现是由于字体设置导致的,原来项目全局为微软雅黑,将jsoneditor…...

【游戏开发教程】Unity Cinemachine快速上手,详细案例讲解(虚拟相机系统 | 新发出品 | 良心教程)
文章目录一、前言二、插件下载三、案例1:第三人称自由视角,Free Look character场景1、场景演示2、组件参数2.1、CinemachineBrain:核心2.2、CinemachineFreeLook:第三人称自由视角相机2.2.1、设置Follow:跟随2.2.2、设…...

关于“未结束的字符串常量”
今天在做项目时,总出现“未结束的字符串常量”错误,害我折腾了半天。事情是这样的:我在Action设了个数据 request.setAttribute("sendOkMsg", sendOkMsg);,想要在JavaScript中显示出来 alert("<%(String)reques…...

重置样式表
重置样式表,专门用来对浏览器的样式进行重置的 reset.css 直接去除了浏览器的默认样式 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd…...

莫烦 Python 激励函数
什么是激励函数 (Activation Function) 作者: 莫烦 编辑: 莫烦 2016-11-03 学习资料: Theano 激励函数 教程Tensorflow 激励函数 教程PyTorch 激励函数 教程 今天我们会来聊聊现代神经网络中 必不可少的一个组成部分, 激励函数, activation function. 注: 本文不会涉及数学…...
Elasticsearch2.x 全文检索之——文档匹配度
什么是文档匹配度? 在ES中执行一个搜索请求在默认情况下搜索的结果集是按照匹配度倒序排列。但是什么是文档匹配度?它是如何被计算的呢?每个文档的匹配度评分在es中被表示为一个浮点型的正数——“_score”,文档的_score评分越高&…...

身份证正则校验
前不久写js时需要用到身份证校验,在网上查找,没有全面的较好的,后来根据网上的几个拼凑出用于18位和15位身份证校验的正则表达式,记录一下,方面以后使用和回顾。 ^[1-9]\d{5}(18|19|20|21|22)\d{2}((0[1-9])|10|11|12…...

半解析快速傅里叶变换
我们提出了一种处理傅里叶变换的方法,其并不需要二次多项式相位项的抽样,而是用解析的方法处理。我们提出该理论的同时也给出了几个例子证明其潜力。 1.简介 物理光学建模需要频繁地从空间转换到角频域,反之亦然。这可以由电场和磁场分…...
stm32F1,NRF24L01模块无线通信发送失败解决方法【正点原子原码修改】
原码是正点原子的官方例程,对于发送模块,我只是修改了主函数部分。 #include "led.h" #include "delay.h" #include "key.h" #include "sys.h" #include "lcd.h" #include "usart.h" #in…...

图论算法整理
图论算法整理 图算法专题的一些基础知识。 文章目录图论算法整理一、图的遍历二、最短路算法1.Dijkstra算法2.Bellman-Ford和SPFA算法3.Floyd算法三、最小生成树算法1.prim算法2.kruskal算法四、拓扑排序总结一、图的遍历 DFS 深度优先搜索:采用递归实现ÿ…...

GeoGebra 與數學探索 1 GeoGebra 入門到進階之整體介紹
Goal: GeoGebra 除了可以輕鬆的讓我們以即時動態反饋圖形的方式模擬探索幾何的問題, 或是幫我們驗證答案, 也可以進行數論、微積分、矩陣等等各方面的探索, 在問題尺度不大又需要即時以圖像視覺呈現探索過程的情況下, GeoGebra 其實優於以寫程式的方式進行探索. “Talk is che…...

广脸达笔试复盘7.29
1.杰夫非常喜欢种草,他自己有一片草地,为了方便起见,我们把这片草地看成一行从左到右,并且第 i 个位置的草的高度是hi。 杰夫在商店中购买了m瓶魔法药剂,每瓶魔法药剂可以让一株草长高x,杰夫希望每次都能有…...

lumen使用laravel-modules进行模块化开发
lumen使用laravel-modules进行模块化开发序言正文序言 模块化开发,意味着系统的各个模块相互独立,从框架层面讲,每个模块可以独立安装运行。为啥使用模块化开发,一是为了增加代码的复用性,二是为了后期微服务的搭建奠…...

如何生成3分钟,5分钟,n分钟K线数据
这里讨论的不是如何画k线,而是如何生成特定周期k线的最高价,最低价,开盘价,收盘价。在vnpy的vn.trader的ctaDemo中,群主大人给出了生成1分钟K线的数据的方法:只要tick.datetime.minute不同就是一条新的K线。…...

c#12星座速配代码_十二星座运势接口代码示例分享
运势查询也是一种大众化的娱乐方式,星座运势接口方便查询十二星座的今日运势,下面分享的是今日或明日运势格式和本周或下周运势格式。接口平台:聚合数据接口地址:http://web.juhe.cn:8080/constellation/getAll支持格式࿱…...

Convert selected text to link (works in FF and IE)
<html><head><title>Text to Hyperlink</title> </head> <body> <h1>Create a link</h1> Select some text and click the button. The selected text will become the named hyperlink<br>My Homepage<br>My Fa...

php js 宽带测速程序,网络测速 php代码
/*http://hi.csdn.net/yinyiniao*/$fpfopen("cs.txt","w");for($i0;$i<170400;$i){fwrite($fp,"bandwidth");}fclose($fp);/*http://hi.csdn.net/yinyiniao*/?>/*http://hi.csdn.net/yinyiniao*/function mymicrotime(){list($usec, $sec...

Android 11.0 12.0SystemUI修改状态栏电池图标样式为横屏显示
1.概述 在11.0 12.0的产品定制化开发中,对于原生系统中SystemUId 状态栏的电池图标是竖着显示的,一般手机的电池图标都是横屏显示的 可以觉得样式挺不错的,所以客户要求横着显示和手机的样式一样,所以就得重新更换SystemUI状态栏的电池样式了 如图: 2.SystemUI修改状态栏…...

web项目调用qq临时会话功能实现方法
实现思路 在Web开发中,启动QQ来临时会话,可以通过一个URL链接 使用<a>标签实现跳转访问:uin字段接收一个临时会话的客服qq号。 <a target"_blank" href"http://wpa.qq.com/msgrd?v3&uin此处放置需要联系的QQ…...

Vmware安装CentOS7.5
安装准备环境 Vmware(默认已安装) 、本机已连网、CentOS 镜像文件(可在搜狐镜像站选择对应版本下载:http://mirrors.sohu.com/centos/) 1.点击创建虚拟机 2.点击自定义安装,然后点击下一步 3.点击下一步 4.点击稍后安装操作系统…...

【系统】VMware虚拟机安装Windows11
去年微软推出了Windows11操作系统,但由于新系统BUG多或者纯属更喜欢win10等原因,很多同学都跟冰冰一样依旧不选择升级,但有些情况又需要使用win11,比如说使用某些软件或者做测试等,这时候使用虚拟机肯定是个好方法 No.…...

面试题:SpringBoot调用http服务几种方式
面试官:SpringBoot提供了哪些调用Http服务的方式呢? 我们来盘一盘Spring提供的调用Http服务的方式: 方式一:RestTemplate RestTemplate默认的底层实现是JDK的HttpURLConnection。当然如果要支持负载均衡可以加上Loadbalancer注…...
【Cinemachine】VirtualCamera虚拟相机详解(一)
摘要:VirtualCamera虚拟相机是Cinemachine系统中的核心组成部分,咱们一起来看看虚拟相机是怎么用的吧。 你好,我是跟着大智学Unity的萌新,我叫小新,这是我本周的学习总结报告哦。 虚拟相机 Cinemachine中的Virtual Ca…...

python发短信sim800,如何使用GSM模块SIM800和Arduino Uno发送短信?
I am trying to send a text message from Arduino through a SIM800 GSM module. The message gets to the given number but not in the correct format.It shows "Message format not supported".I am including my code here and a fast reply is much apprecia...

汇编语言 王爽 第四版 课后检测点 课后实验 包括解释 持续更新~~
文章目录监测点课后实验持续更新~~,尽量在半年内更新完(课其实是没有汇编的,找到实习之后再写吧,不好意思了) 官方论坛 监测点 汇编语言 王爽 第四版 第一章 检测点1.1 汇编语言 王爽 第四版 第二章 检测点2.1 汇编语言 王爽 第四版 第二章 检测点2.2 汇编语言 王爽 第四…...
中国环氧树脂行业运营模式与营销创新策略分析报告2021-2027年版
【撰写单位】:鸿晟信合研究院 第1章:中国环氧树脂行业发展综述1.1 环氧树脂行业定义与分类 1.1.1 环氧树脂行业定义 1.1.2 环氧树脂产品分类 1.2 环氧树脂行业统计标准概述 1.2.1 国民经济行业分类中本行业所属类别及编号 1.2.2 本报告的主要数据来…...

java 对象序列化工具类
使用oss开发过程中涉及到了上传、下载的断点续传,需要将对象序列化为文件保存,于是写个工具类方便调用 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectIn…...

OpenHarmony鸿蒙操作系统源码
OpenHarmony官方网站 https://www.harmonyos.com/cn/home OpenHarmony源码开源地址: https://openharmony.gitee.com/openharmony?_fromgitee_search ReadMe https://gitee.com/openharmony/docs/tree/master/readme 快速入门 https://gitee.com/openharmon…...

解决方法:未能加载文件或程序集“Microsoft.Office.Interop.Excel。。
.NET错误提示:未能加载文件或程序集“Microsoft.Office.Interop.Excel, Version11.0.0.0, Cultureneutral, PublicKeyToken71e9bce111e9429c”或它的某一个依赖项。系统找不到指定的文件。原因:是GAC里没有Microsoft.Office.Interop.Excel组件࿰…...

2017-2018-2 《网络攻防实践》作业黑客和安全教程
一 黑客探秘 1.国外黑客 巴纳拜杰克(Barnaby Jack) 巴纳拜杰克(Barnaby Jack)是一名出生于新西兰的黑客、程序员和计算机安全专家。他曾花了二年时间研究如何破解自动提款机。2010年7月28日,在美国拉斯维加斯举行的一年…...
opencv中利用霍夫变换检测直线对图片进行校正
图片校正 利用霍夫变换检测直线,校正拍摄倾斜的图片 #include<opencv2\opencv.hpp> #include <iostream> using namespace cv; using namespace std; #define ERROR 1234//度数转换 double DegreeTrans(double theta) {double res theta / CV_PI * 1…...

oracle静态,Oracle 静态参数与动态参数类型介绍
Oracle 参数类型介绍首先 配置文件:pfile(参数文件),spfile(服务器配置文件) 在以前8i 以前的版本 是不可以动态的修改 系统参数的 但是 从9i 过后 就开始有了 spfile 提供给 管理员 更方便的 修改系统参数 两个文件 区别: pfile 是 文本文件 可以通过 文本编辑器 编辑参…...

结构体的定义
1、结构体的定义 在前面程序中,所用到的变量大多数都是相互独立的,没有内在联系,比如 int a; char c;都是相互独立的,但是有些情况需要把一些变量组合一起,比如,一个学生的名字,成绩࿰…...
PR菜鸟入门 -- PR基础教学
如需转载请注明出处: https://blog.csdn.net/qq_29350001/article/details/72983888 现在终于有时间来写 PR 的基础教学了,首先视频教学,参看:[Pr教程]0基础急速上手视频制作!UP主必备! 一、快速认识 …...

应聘linux/ARM嵌入式开发岗位
**************************************************************** 因为发在中华英才和智联招聘没有人采我所以我 在这里发布我的个人简历希望有公司能给我机会 对啦这是我第一次写简历,应该有很多高手麻烦你们提些意见 使劲批评,越厉害越好࿰…...

java导出word特殊符号,Word2019中输入特殊符号的方法
在Word 2019中输入文本时,不同内容文本的输入方法也会有所不同。对于一些经常用到的文本,程序提供了快捷的输入方法。本文图文详解Word2019中输入特殊符号的方法。要想在文档中输入键盘无法输入的特殊符号,可通过Word中的符号功能来实现。1、…...

使用iconfont字体图标的步骤
1.输入iconfont的网址 2.点击图标库---官方图标库--点击其中一个图标(进入具体图标的页面)---加入购物车--点击购物车图标---点击号图标 官方图标库 加入购物车 点击加号图标 生成链接 生成代码 点击复制代码 symbol字体图标的使用方式...

LED的基本操作(138译码器 573锁存器)
写在最前面: 致参加蓝桥杯比赛,提交代码时没有提交整体压缩工程文件,仅仅提交了.hex文件一事,错失机会,有感总结; #include<reg52.h> #define uint unsigned int void delay(uint time) { uint i,j;…...

7个有用的Pandas显示选项
Pandas是一个在数据科学中常用的功能强大的Python库。它可以从各种来源加载和操作数据集。当使用Pandas时,默认选项就已经适合大多数人了。但是在某些情况下,我们可能希望更改所显示内容的格式。所以就需要使用Pandas的一些定制功能来帮助我们自定义内容…...

适老化产品开发:用科技和智能解决老龄化难题
随着人口的深度老龄化,很多老年人不会使用智能手机、不会上网,在消费、出行等日常生活中遇到很多不便,为老人提供更多的养老、适老化产品,完善的养老服务,打造舒适安全的养老环境是我们急需解决的问题。实现适老化产品…...

职高计算机应用专业数据库试卷,中职计算机应用专业数据库应用技术期中试卷04.doc...
文档介绍:***~学年度第二学期期中考试高一计算机应用班数据库应用技术科试题命题:***审题:***(考试时间:100分钟满分:100分)注意事项:班级:姓名:学号:本试卷适用于中等职业学校计算机应用专业学生。全卷共6页,分为选择题和非选择题两部分。其中选择题占70分;非选择题…...

Vue项目中使用字体图标 带详细图解
1、首先在iconfont添加图标 传送门 2、把要添加的图标添加至购物车 3、点击右上角的购物车,点击添加至项目。没有项目的话就点击旁边的 加号建立项目 4、点击下载至本地 5、下载完毕后,解压,在你的项目下的assets文件夹里建立一个fonts文…...

QQ推广,无法发起临时会话
解决QQ推广,无法发起临时会话的问题如图,我们想在网页上添加发起对QQ的临时会话。我们可以选则使用QQ推广:QQ推广页面当我把生成的代码粘贴后运行,点击如图:发现并不能唤醒QQ,发起临时会话:接下…...

UE4 合并静态网格体
问题: 如下图,如何将世界大纲中的所有静态网格体(StaticMeshActor )合并为一个模型? 实现效果: 解决步骤: 1.在世界大纲中找到所有存在的静态网格体 2.CtrlA 全选 3.在菜单栏点击 窗口-》开发…...

UE-基础入门
学习内容 UE界面介绍导入资产创建材料使用蓝图创建具有基本功能的对象 导航界面 内容浏览器:此面板显示您的所有项目文件。使用它来创建文件夹和组织您的文件。您可以使用搜索栏或过滤器来搜索您的文件。模式:此面板可让您在景观工具和植物工具等工具之…...

UE学习资料整理
途径 官方文档、论坛 中文文档:https://docs.unrealengine.com/5.0/zh-CN/understanding-the-basics-of-unreal-engine/英文文档:https://docs.unrealengine.com/5.0/en-US/论坛:https://forums.unrealengine.com/c/development-discussion/…...

Win10注册表损坏进不了系统怎么U盘重装系统?
Win10注册表损坏进不了系统怎么U盘重装系统?有用户电脑提示注册表损坏,自己进行了系统的重新启动之后,遇到了电脑无法正常启动进行系统桌面的情况。那么遇到这样的情况,我们怎么去进行U盘重装系统呢?一起来看看具体的操…...

李笑来老师的财务自由之路读书笔记
关于理财...

程序员的财务自由之路
出处:程序员如何实现财务自由? - 知乎...

富爸爸 财务自由之路--读后感
本书将成年人归纳了为四类 左边象限: Employee: 雇员 Self-employed:自由职业者 左边象限: businessman: 企业家 investor:投资家 E和S 的特点是看似稳定,低风险,但是不自由。…...

090《财务自由之路》简记
《财务自由之路》,作者:博多舍费尔1 实现财务自由,应该树立怎样的金钱观念? 第一步:认识自己,认识对金钱的正确态度,在潜意识里,把对金钱的消极、负面情绪全部清空,然后…...

财务自由之路 笔记 第十四章 播种金钱
富裕产生的满足感,不能从简单的金钱占有或者挥霍中获得,而要通过明智的获取金钱获得人生的一切最终都是为了成功和幸福。成功意味着得到所爱,幸福意味着享受所得。你的目标是积累财富的同时获得幸福。 第一节 分析财富 钱并不知属于你个人 …...

一个普通程序员的财务自由之路
文章目录追寻自由之路一、何为财务自由?二、实现财务自由的三个阶段1.本金积累阶段2.滚雪球阶段3.财务自由阶段三、实现财务自由的重点和难点一)要有超长的战略眼光二)要有强大的执行力三)要有一个价值观相同的战友写在最后追寻自…...

读《财富自由之路》总结
一、简介 这本书我大概读了两周时间看完,其中主要分为50个篇章,以提问的方式详细的向我们讲述了从贫穷到怎样成为一个富人的过程。 二、书中的精彩片文字分析 什么是“财富自由”? 财富自由是指某个人再也不用为了满足生活必须出售自己的时…...

通向财务自由之路-笔记总结
引言 本文的直接目的是为了自己的策略研究打基础,想把市面上经典的书籍介绍的系统的各个方面纳入本文章,为策略研究做个参考,感觉网上介绍的都不太全面。 文章第一版为阅读通向财务自由之路[1]的总结,介绍了系统开发的各个步骤(会适当加上自己的理解,理解不当请指正),…...

财务自由之路 笔记 第十二章-财务保障、财务安全
通往幸福的路由两天,要么减少欲望要么增加财富如果你聪明过人,就会双管齐下。 -本杰明富兰克林为了美梦成真,你必须清楚自己的目标。 第一节 第一项计划:获得财务保障‘ 墨菲定律告诉我们,如果事物有变坏的可能&#…...

mysql快速生成100W条测试数据(8)全球各城市人口及经济增长速度并存入mysql数据库
这是之前的文章里面包含一些以前的一些操作流程可以进行参考学习 更加详细操作步骤在第一篇文章里面 mysql快速生成100W条测试数据(1):游戏人物数据 mysql快速生成100W条测试数据(2)公司员工信息 mysql快速生成100W条测…...

走上财务自由之路
大家肯定一致的认同这个万世不变的真理那就是"天上不会掉馅饼",而且就算是会掉,那也不会砸到你头上。所以说,财富也一样它不会莫名其妙地降临到你身上,除非你指望着中个中国福利彩票。但我就问你,你见到过你…...

读《财务自由之路》
国庆,晴天,祝愿祖国繁荣昌盛,也祝福自己能够更加的“自由”!读到这本书,感觉它是一本很不错的书,难怪豆瓣高分8.0,并且畅销多国。这本书没有过多鸡血口号、空洞洗脑,其中真知灼见很快…...

echarts柱状图值为0是不显示以及柱状图百分比展示
echarts柱状图值为0是不显示以及柱状图百分比展示 1.效果展示 2.代码 <template><div id"container"><div id"main"></div></div> </template> <script>import * as echarts from echarts import * as lodash…...
关于P-CMM
1984年,美国国防部资助建立了卡内基梅隆大学软件研究所(SEI);1987年,SEI发布第一份技术报告介绍软件能力成熟度模型(CMM)及作为评价国防合同承包方过程成熟度的方法论;1991年&#x…...

能力成熟度模型(CMM)
CMM定义 CMM是对软件组织进化阶段的描述,随着软件组织的定义、实施、测量、控制和改进其软件过程,软件组织的能力经过这些阶段逐步提高。该能力成熟度模型使软件组织能够较容易的确定其当前过程的成熟度并识别其软件过程执行中的薄弱环节,确…...
cmm是什么意思(风量cmm是什么意思)
cmm数据是什么意思 cmm是三坐标测量机的意思、 cmm数据顾名思义就是三坐标测量机检测出来的数据!表示他的数据 软件测试行业的CMM是指什么? 软件测试行业的CMM指的是“能力成熟度模型”。 其英文全称为Capability Maturity Model for Software࿰…...

wxPython下载安装教程
一、wxPython是什么 wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。(当然Python可不止这一个GUI库,欢迎Tkinter、PyGTK、PyQt、PySide,当然用哪个是根据你的实际用途和习惯来的&…...

品质qc工程图_QC工程图
作业流程工序名称成立条件作业依据品质记录检验设备责任人△物料收料合格的供应商依订单交货合格供应商名录1、订购单2、收料单收料员◇进料检验材料承认书进料检验规范AQL抽样表1、检查记录表2、收料单3、退货单4、特采申请单5、品质异常处理单卡尺LCR测试仪DCR测试仪耐压测试…...

ipqc的工作流程图_IPQC流程图
IPQC流程图流程图负责人流程说明生产任务单生管生管发出《生产任务单》至生产部,仓库依《BOM 表》备 料或车间领料。生产物料抽查IPQC 巡检物料投产上线前须通知 IPQC 确认该物料无误后方可进行 生产。 1、新产品上线前必须由所在班组长做首件,进行《首件…...

如何做好一位合格qc_如何做好QC成果.ppt
选题中常出现的错误 1、课题名称抽象化(达标、升级、创奖) 例:强化质量管理,创建名牌工程 2、把所采取的对策冠以课题名称(手段加目的) 例:加装闭锁装置,提高电压监测能力 3、选题理由两多一少 文字解释太多,理由条款多…...

qc中的流程图怎么画_QC工作流程图、生产流程图
版本/ 版次:A/0页 次:8单阶 位段格式: Q-001-01A4 (210mm297mm)SY-2-D-01SY-2-D-02SY-2-P-03SY-2-P-04SY-2-W-01SY-2-C-01SY-2-Q-04SY-2-Q-05SY-2-W-01SY-2-P-01SY-2-W-01SY-2-M-04SY-2-Q-06SY-2-Q-08SY-2-P-01SY-2-W-01SY-2-M-04SY-2-Q-06SY-2-Q-08资材/采购部供应…...

qc中的流程图怎么画_QC流程图参考
QC流程图样件试产量产文件编号:WI-MED-000FIC-G009版本:A0修改日期:客户:常规品机种: pcba适用工序:IQC/SMT/DIP/OQC/TEST/PACK审核:批准:检验方法检验频率记录担当负责人在制品完成品11确认型号、数量依送货单核对型号/数量仓库检查每批次送货单收料员仓…...

品质qc工程图_品质工程图QC工程图
管理程序序號記號工程名管理項目控制文件管理水平檢驗方法責任者QPM1材料采購廠商產能/品質/價格/環保要求SOP全數評審/檢測采購採購管理程序外購 數量SOP目視/磅秤色差 / ROHSSIP/SOP色差儀/XRF安全保管包裝,外觀,防潮濕全數目視▽識別管理LOT NO全數目視產品防護管理程序出…...

qc成果报告范例_QC小组活动成果报告编制技巧,进步青年都在看!
借由新版QC小组活动导则发布,今天分享工程建设QC成果报告编制要求,仅供参考!一、编制要求(仅供参考)1、标题:居中,2宋加粗2、小组名称:居中,4楷3、正文:5号宋体4、小标题(如工程概况…...

品质qc工程图_产品QC工程图
修制版本:1.0制程:ALL品质工程师单位LSLTgt.USL数量周期ZZ01驱动组件入散热体驱动散热体防静电手腕1.确认驱动规格是否正确;2.散热件规格、移印是否正确;3.不良品是否放入不良品框;////目视5pcs2H/次LED制程巡检表返工…...

# 【笔记】大话设计模式21-23
【笔记】大话设计模式21-23 文章目录【笔记】大话设计模式21-23单例模式21.1 Example21.2 定义21.3 Show me the code一般单例代码(**懒汉模式**)静态初始化(**饿汉模式**)21.4 总结22 桥接模式22.1 Example22.2 定义22.3 Show me the code22.4 总结23 命…...
游戏行业校招大揭秘,还在担心学了找不到工作吗?
今天给大家普及一下游戏公司校招那些事,将会从三个维度(何为校招、校招优势、校招准备)带领大家认识各大知名游戏公司的校招活动。让同学们对校招有一个初步全面的了解!话不多说我们开讲了! 对于在校大学生来讲&#…...

怎么主动发起话题_如何女生发起聊天话题?
展开全部很多男生在有了心仪女生62616964757a686964616fe58685e5aeb931333365636131之后,迫不及待的就想要跟她们聊天。但是又不知道怎样发起聊天的话题,也不知道聊天有什么技巧。今天就教大家几招轻松撩到那个她!有些男生性格比较老实木讷,即…...

怎么主动发起话题_如何和女生展开话题?这3个方法,吸引她主动跟你聊
男生往往处于主动追求的一方,所以对于一个男生来说,要想成功的追求到女生,就要做到胆大心细脸皮厚,而且掌握一定的聊天技巧,因为聊天是两个人沟通的重要环节,只有掌握了聊天技巧才能够迅速的增强女生的好感…...

什么是Facebook 话题标签
我们设置广告的时候,其实可以使用一个小方法让你的广告更有针对性一些,可以为你的广告加上小小的话题标签。 使用话题标签的好处: 话题标签可以将个人时间线、公共主页或小组中帖子上的话题和短句转化为可点击的链接。这有助于用户找到与他们…...

ROS开发 之 数据通信(话题)
概述 ROS中通信方式有三种,分别为话题(msg)、服务(srv)和活动(action),其中话题属于基本的发布/订阅通信方式,适用于单个节点发布消息,一个或多个节点接受消…...

ESP32 FreeRTOS-任务通知(11)
提示:好记性不如烂笔头。本博客作为学习笔记,有错误的地方希望指正 文章目录前言:一、xTaskNotifyGive()、xTaskNotifyGiveIndexed()二、vTaskNotifyGiveFromISR()、vTaskNotifyGiveIndexedFromISR()三、ulTaskNotifyTake()、ulTaskNotifyTak…...
基于Single-pass的文本话题聚类
研究背景 随着互联网的快速发展以及移动互联网的全面普及,网民们相互沟通了解的方式越来越多样化。微博作为一个新兴的平台,以其独特的灵活性和便捷性,更加受到网民的青睐。微博给人们生活带来极大便利的同时,也产生了一些副作用&…...

ios 输入话题_iOS微信新增2个功能:朋友圈带话题、输入框搜索
发送以后可以点击话题标签,进入新的页面。页面内容「基本和搜一搜结果一致」,不过「最先出现的是微信视频号」内容,毕竟这是微信当下大力推广的功能。不过目前朋友圈话题功能还是「测试阶段」,因此不是所有人都能用。「即便已经升…...

话题焦点人物代码实现c++
话题焦点人物代码实现c 首先来看题目 微博提供了一种便捷的交流平台。一条微博中,可以提及其它用户。例如你发出一条微博为:“期末考试顺利 蒜头君 花椰菜”,则你提及了蒜头君和花椰菜两位用户。 我们收集了 N(1 < N < 10000)N(1<…...

ROS:节点发布消息无对应话题名称
最近在写一个发布里程的节点的时候遇到了,发布了消息,在ros却没有对应话题情况。通过rostopic list 和 rosnode info 节点名 命令查看,均没有对应话题,大致代码如下: class Estimator { private:ros::NodeHandle nh;r…...

在Ros中如何自定义话题消息和自定义服务数据
自定义话题消息: 在ROS的元功能包common_msgs中提供了许多不同消息类型的功能包,例如std_msgs(标准数据类型)、geometry_msgs(几何学数据类型)、sensor_msgs(传感器数据类型)等&…...

Python写ROS话题
Python写ROS话题导入ROS模块发送话题接收话题第一种方式:rospy.Subscriber第二种方式:rospy.wait_for_message完整程序多线程处理同时接受多个话题导入ROS模块 用python编写ROS的程序有很多有点,Python的numpy模块可以方便快速的完成机器人规…...
怎么和女生找话题?四个技巧让你话题不断
怎么和女生找话题?四个技巧让你话题不断。 很多男生觉得和女生聊天要想吸引女生,就要绞尽脑汁,堆砌出华丽的词藻。事实上,有这样想法的男生可能是电视剧看多了。要知道我们都是平凡人,虽说朴实无华的语句不能起到惊艳…...

ROS话题与节点
ROS简单了解 Node: 节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。 Topics: 话题,节点可以发布消息到话题,也可以订阅话题以接收消息。 Master : 节点管理器,ROS名称服务(比如帮助节点找到彼此)。 ROS Topics (ROS话…...

重命名找不到该项目_知乎话题:和喜欢的女生聊天找不到话题该怎么办
文字|柒宝朋友小聪,最近心情很烦躁。小聪,工科男,毕业于上海交通大学。家境和学校都不错的他,毕业后选择留在了上海。凭借自己多年的勤奋和努力,很快他就找到了一份令人羡慕的工作。在旁人看来,他阳光帅气…...

ros订阅话题python_ROS之话题的发布与订阅
消息:msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。注意,在构建的时候,我们只需要"message_generation"。然而,在运行的时候,我们只需要"message_runtime&qu…...

公众号话题标签怎样添加
公众号话题标签:就是把发布过的文章归类整理汇总,在公众号文章标题的下方显示 用户点击话题,便可阅读【话题标签】里面的所有文章 设置【话题标签】,可以更大限度被用户搜索并订阅 也就意味着,符合用户搜索话题的文章…...

poi 5.2.2 操作word【目录】
poi 3.17操作Word工具包,点击此处 当前版本 5.2.2 ,版本不同,写法略有差异 - poi-5.2.2 操作word 【段落】 - poi-5.2.2 操作word 【表格】 - poi-5.2.2 操作word【单元格、行、列】 - poi 5.2.2 操作word【页眉页脚】 - poi 5.2.2 操作word…...

红茶的功效与作用,喝红茶的好处和坏处,红茶的种类有哪些
茶叶来源于中国,是世界三大饮料之一,今天我们就来聊一下红茶,红茶有哪些功效以及好处,多喝红茶的利弊,以及我们常见到的红茶都有哪些种类。 首先我们要先了解一下红茶,红茶是全发酵茶,营养成分…...

面试题之消息中间件(MQ与RabbitMQ)
为什么使用MQ?MQ的优点 简答 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长度控制请求量;可以缓解短时间内的高并发请求…...

深度学习22- 讨论AlphaGo Zero方法的结构
### AlphaGo Zero ▪ 讨论AlphaGo Zero方法的结构。 ▪ 在四子连横棋游戏上实现该方法。 **AlphaGo Zero方法** ▪ 我们不断使用蒙特卡洛树搜索(MCTS)算法遍历游戏状态树,其核心思想是半随机地浏览游戏状态,扩展它们并收集动…...
以面试的方式了解消息中间件MQ与RabbitMQ
个人博客请访问 http://www.x0100.top 为什么使用MQ?MQ的优点 简答 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长度控制请求量…...

2020 消息中间件MQ与RabbitMQ面试题大全
Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到…...

2021年常见消息中间件MQ与RabbitMQ面试题
文章目录 为什么使用MQ?MQ的优点 消息队列有什么优缺点?RabbitMQ有什么优缺点? 你们公司生产环境用的是什么消息中间件? Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点? MQ 有哪些常见问题?如何解决这…...
消息中间件MQ与RabbitMQ面试题(2020最新版)
Java面试总结(2021优化版)已发布在个人微信公众号【技术人成长之路】,优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结,删除了低频问题,添加了一些常见面试题,对文章进行了…...
消息中间件MQ与RabbitMQ面试题
文章目录为什么使用MQ?MQ的优点消息队列有什么优缺点?RabbitMQ有什么优缺点?你们公司生产环境用的是什么消息中间件?Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?MQ 有哪些常见问题?如何解决这些问题…...

消息中间件MQ与RabbitMQ
为什么使用MQ? MQ的优点 简答 异步处理 - 相比于传统的串行,并行方式,提高了系统吞吐量。应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。流量削峰 - 可以通过消息队列长度控制请求量;可以缓解短时间内的高…...
最新MQ与RabbitMQ面试题
个人博客请访问 http://www.x0100.top 为什么使用MQ?MQ的优点 简答 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长…...

一文梳理2021年常见消息中间件MQ与RabbitMQ面试题
文章目录 为什么使用MQ?MQ的优点 消息队列有什么优缺点?RabbitMQ有什么优缺点? 你们公司生产环境用的是什么消息中间件? Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点? MQ 有哪些常见问题?如何解决这…...

喝茶叶有什么害处吗
美国一项最新研究发现,许多速溶茶里的氟化物含量超标,过量饮用会引发骨骼氟中毒。美国食品和药品管理局所规定的瓶装水及饮料中每升所含氟化物标准是不得超过2.4ppm,而市场上销售的普通型立顿速溶茶的氟化物为每升含6.5ppm。3月29日ÿ…...

福特发布新成果!用量子计算研发电动汽车电池材料
(图片来源:网络)福特汽车公司的量子研究小组与量子计算公司Quantinuum合作进行了一项研究,研究的主要内容是:量子计算机能否用于模拟化学新材料,使未来的电动汽车电池更安全、能量密度更高、更容易回收&…...

Centos7 挂载 ISO镜像
切到mnt目录:cd /mnt mkdir iso确保centos镜像在服务上存在,磁盘挂载mount -o loop /home/xx.iso /mnt/iso查看是否挂载成功df -h出现红色的部分表示挂载成功修改源切目录并修改yum源:cd /etc/yum.repos.dllvim Centos-Base.repo修改后yum clean allyum list安装lrz…...

TLS、SSL、CA 证书、公钥、私钥。。。今天捋一捋!
松哥最近在和小伙伴们连载 gRPC,如何确保 gRPC 通信的安全性?这就涉及到 TSL 了,但是考虑到可能有小伙伴对加密连接这一整套方案比较陌生,因此我们今天先用一篇文章跟大家捋清楚这些概念,概念搞明白了,再来…...

Java多线程之ExecutorCompletionService
文章目录1 ExecutorCompletionService1.1 简介1.2 原理1.3 Demo示例1.3.1 未使用ExecutorCompletionService1.3.2 使用ExecutorCompletionService1.4 深入分析说明1.4.1 所有方法1.4.2 构造方法1.4.3 获取方法1.4.4 提交方法1 ExecutorCompletionService 1.1 简介 当我们向Ex…...

RK356x之HDMI显示出现输出信号不稳定、花屏、出现红条纹现象
1、环境 芯片:rk356x系列 显示器: HDMI接口显示器 2、现象 HDMI显示器接到控制板上可以显示,但是会出现时不时出现闪烁,红条纹(就好像之前我们家里大块电视上的条纹)。 3、大胆分析,小心求证 猜想1:HDMI显示器可能…...

classD类和classAB类功放区别
本身对硬件了解不深,因此对于本篇介绍classD和classAB类功放区别,我基于三个维度去介绍:网上资料、实验和个人理解,有不正确的地方请大家随时交流指正。 文章目录结论实验参考资料结论 先将我整理的classD类和classAB类区别的结论…...

谁说chatGPT要取代数据分析师?
最近有不少小伙伴都问了我一个问题:数据分析师会不会被ChatGPT取代?忙着搞“大事情”的二哥先来给大家盘一盘ChatGPT与数据分析! 本文重点讨论:ChatGPT能帮助数据分析师做什么 下期预告:数据分析师如何使用ChatGPT“提…...

Moonbeam质押DApp已完成更新,新动态费用机制已上线Moonriver
Runtime Upgrade 2200 Moonbeam在Runtime 2200当中发布了多项升级,包括Moonriver上的新动态费用机制以及对质押DApp中的代理账户质押和投票流程的改进。此外,为进一步统一波卡生态系统功能,XC-20资产的新格式正在Moonbase Alpha上进行测试&a…...

【Spring Cloud Alibaba Nacos】Nacos心跳机制实现快速上下线
文章目录前言Metadata元数据ClassMetadataSpring中常见的一些元注解Nacos心跳时间自定义配置Ribboon 的ServerListRefreshInterval总结前言 我们都知道Spring Cloud Alibaba Nacos是通过客户端和服务端的心跳机制,来实现服务的注册和下线的,Nacos的心跳…...

postman好用的插件有哪些,给出实例和插件下载地址、使用方法
postman好用的插件有哪些,给出实例和插件下载地址、使用方法 Postman 是一个常用的高级 API测试工具,也可以用来测试 Web 应用程序。它提供了许多内置的功能和工具,同时还支持通过插件拓展其功能。下面是几个很实用的 Postman 插件࿱…...

使用ChatGPT 开放的 API 接口可以开发哪些自研工具?
使用ChatGPT开放的API接口,可以开发多种自研工具,例如: 智能聊天机器人:可以使用ChatGPT提供的语言生成能力,构建一个智能聊天机器人,能够根据用户的输入自动回复,完成自然语言交互。 文本生成工具:可以使用ChatGPT的文本生成能力,开发一个文本生成工具,例如自动生…...

3.22作业
11 #define CNAME "myled"12 dev_t devno;13 14 unsigned count3;15 16 struct cdev *devp;17 18 #if 019 unsigned major 0;20 #else21 unsigned major 500;22 #endif23 24 unsigned minor 0;25 26 27 struct class *cls;28 struct device *dev;29 30 31 int (myle...

#023#gitee+hexo搭建个人博客
前言 日志,各位看官就当乐子看吧。 正经人谁写日记啊?!! ——鹅城县长 今天uniapp的学习进度到了showModal,其次是在码云上重新搭了博客。介绍工具、记录一下过程。改用个人博客,也是因为这几天写的只能…...

基于时空RBF神经网络的混沌时间序列预测(RBF-NN)
目录 摘要: 主要内容: 普通RBF: 时空RBF结构: 时间序列预测效果: 部分代码: 完整Matlab代码数据: 摘要: 提出了一种用于混沌时间序列预测的RBF神经网络的时空扩展。该算法利…...

尚硅谷大数据Hadoop教程-笔记02【HDFS】
视频地址:尚硅谷大数据Hadoop教程(Hadoop 3.x安装搭建到集群调优) 尚硅谷大数据Hadoop教程-笔记01【入门】尚硅谷大数据Hadoop教程-笔记02【HDFS】尚硅谷大数据Hadoop教程-笔记03【MapReduce】尚硅谷大数据Hadoop教程-笔记04【Yarn】尚硅谷大…...

[Spike] Consumer Details Rotation Mgmt on Managed Connected App
Summary As an ISV, It’s important to prioritize security best practices, even though connected app is only used for canvas UI integration. Rotating consumer key and secret is essential to minimize the impact of potential access breaches. However, you shou...

广东深圳形位公差检测服务CAV比对服务异形件三维尺寸测量-CASAIM
加工后的零件会有尺寸公差,因而构成零件几何特征的点、线、面的实际形状或相互位置与理想几何体规定的形状和相互位置就存在差异,这种形状上的差异就是形状公差,而相互位置的差异就是位置公差,这些差异统称为形位公差。形位公差包…...

通过自定义reflector实现对mybatis实体类带有自定义注解的属性进行加解密
文章目录自定义组件注解加解密接口实现Reflector注册Reflector自定义ConfigurationCustomizer实现ReflectorFactory类编写Configuration类使用方法自定义 Reflector 实现可以通过扩展 MyBatis 的 Reflector 实现类来实现对实体类带有自定义注解的属性进行加解密处理。 自定义组…...

三大升级!百度智能云加速文心一言产业化落地
随着文心一言等AI应用的爆火,支撑人工智能所需的算力需求也随之暴涨。为支持文心一言超大规模计算需求,进一步实现文心一言的产业化落地,去年年底开始,百度智能云已经通过三大动作全面升级云服务能力: 2022年12月&…...

Stable diffusion相比于latent diffusion有哪些改进?
Stable Diffusion是对Latent Diffusion模型的改进,主要在以下方面进行了优化: 稳定性:Stable Diffusion模型引入了稳定性措施,通过限制每一步噪声向量的大小来防止梯度爆炸或消失问题的出现。这一改进使得模型在训练过程中更加稳定和可靠。 训练速度:Stable Diffusion模…...

STM32实战项目-数码管
程序实现功能: 1、上电后,数码管间隔50ms计数; 2、触摸按键1调节数码管亮度,8个等级; 目录 1、硬件电路 1.1数码管 1.2TIM1620 驱动电路 二、技术讲解 2.1概述 2.2特性 2.3引脚说明 3.指令说明及配置 3.1显示…...

iZotope RX 10(专业音频修复增强软件)可以用来去除视频中的背景噪声吗?
iZotope RX 10是一款专业的音频修复和增强软件,具有音频修复工具、音频增强工具、高级技术、大量预设和插件、界面简洁易用等功能,适用于需要进行音频修复和增强的用户使用,如音频工程师、音乐制作人、语音专家等。 该软件具有以下主要特点&a…...
opencv学习-HOG LOG DOG
目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1.1主要思想1.2适用领域1.3计算方向梯度直方图的过程1.4opencv hog特征描述子的调用及计算1.5 行人检测2. LOG2.1 简介2.2 算法实现3. DOG3.1 简介3.2 具体步骤3.2.1 将同一图像在不同的参数下进行高斯滤波计算&…...

centos docker 安装 redis
1、判断是否安装了 运行 docker 如果未找到命令 2、先安装docker 下面是一键安装脚本 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 也可以依次执行,推荐用官方一键安装脚本 sudo yum install -y yum-utils sudo yum-config-manager…...

小程序开发视频:从入门到精通
一、小程序开发视频:快速上手 小程序开发视频教程是一个极其有效的学习工具,无论你是小程序新手,还是老司机,都可以从中获得有效的学习收获。在这里,你可以通过视频的形式快速的上手小程序的开发,从而节省你…...

Vue.js语法详解:从入门到精通
Vue.js是一个流行的JavaScript框架,用于构建用户界面。它的核心特性包括数据双向绑定、组件化架构、虚拟DOM和响应式系统等。在本文中,我们将深入探讨Vue.js的语法,帮助读者更好地理解和应用Vue.js。1.模板语法Vue.js的模板语法采用了类似HTM…...

AppleScript实现Mac iMessage自动发送消息
要使用AppleScript实现Mac iMessage自动发送消息给指定账户的iMessage账号,可以按照以下步骤进行操作: 打开Script Editor应用程序。在Script Editor中,点击“新建文稿”按钮。在新的文稿中,输入以下AppleScript代码:…...

opengauss源码分析:线程系统和内存系统
一、线程系统 opengauss使用了gcc提供的线程局部存储(TLS),定义了一个巨大的t_thrd结构体,这个结构体定义在全局,不过是 __thread 修饰的线程局部存储。每个线程创建时,运行时库会为这个线程创建其独占的…...

分布式锁基础概念
分布式锁 什么是分布式锁? 为了避免多线程去争抢同一个任务可以使用synchronized同步锁去解决,如下代码: synchronized(锁对象){执行任务... }synchronized只能保证同一个虚拟机中多个线程去争抢锁。 如果是多个执行器分布式部署&#x…...

8万字城市大脑综合运行管理平台大数据运营顶层设计方案
本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。部分资料内容: 1. 城市视频监控资源共享服务平台 (1) 建设共享服务平台,接入各社会视频资源 通过建设统一视频监控接入骨干网络和定义统一视…...
JAVA集合知识整理
Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之前数组链表,jdk1.8后数组链表红黑树 HashMap的一些基础数据 默认初始容量:1 << 4 最大数组容量:1 << 30 默认加载因子:0.75 使用0.75的…...

keil调试专题篇
调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面工程配置里选择了复位调试,则进入调试后,会停在main函数头部 示意: 相关指令 上面一行红框内,从左到右分别是:打断点&am…...

顺序栈和非循环队列来咯!!!
前言:通过上几篇文章,我们一直在学习我们的线性表,我们学习了我们的顺序表,链表等相关线性表,那么我们今天来学习一下栈和队列这两种线性表叭!当然我们今天只介绍我们的顺序栈和非循环的队列。可能有小伙伴…...

有限元三角形单元的等效节点力
文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(N)、单元应变矩阵(B)、单元应力矩阵(S)2、例子二、三角形单元的等效节点力分析1、体力和集中力的等效载荷2、面力的等效载荷3、…...

TM1638和TM1639差异说明
TM1638和TM1639差异说明✨本文不涉及具体的单片机代码驱动内容,值针对芯片使用功能的差异加以比较说明。 📍具体的手册请前往官网查阅 :http://www.titanmec.com/product/display-drivers/led-panel-display-driver-chip/p/1.html dz…...

SQL语法 DDL、DML、DQL、DCL
文章目录1 SQL通用语法2 SQL分类3 DDL 数据定义语言3.1 数据库操作3.2 表操作3.2.1 表操作-查询创建3.2.2 表操作-数据类型3.2.3 表操作-案例3.2.4 表操作-修改3.2.5 表操作-删除4 图形化界面工具5 DML 数据操作语言5.1 添加数据5.2 修改数据5.3 删除数据6 DQL 数据查询语言6.1…...

网络基础设施管理的未来
01 什么是网络基础设施? Cisco的定义:Network infrastructure refers to the hardware and software that enable network connectivity and communication between users, devices, apps, the internet, and more. 网络基础设施是指在用户、设备、应用…...

【数据结构】Java实现栈
目录 1. 概念 2. 栈的使用 3. 自己动手实现栈(使用动态数组实现栈) 1. 创建一个MyStack类 2. push入栈 3. pop出栈 4. 查看栈顶元素 5. 判断栈是否为空与获取栈长 6. toString方法 4. 整体实现 4.1 MyStack类 4.2 Test类 4.3 测试结果 1.…...

[数据结构]二叉树的顺序存储结构
目录 二叉树的顺序存储结构:: 1.二叉树的顺序结构 2.堆的概念及结构 3.堆的向下调整算法 4.堆的创建 5.建堆时间复杂度的证明 6.堆的插入 7.堆的删除 8.堆的代码实现 9.堆排序 10.Top-K问题 二叉树的顺序存储结构:: 二叉树的顺…...

NB美团九连问JVM到骨髓
1.请解释一下对象的创建过程?(半初始化) 有如下代码,编译成class文件后,使用IDEA的jclasslib bytecode viewer插件的view->show bytecode with jclasslib查看Java汇编。 public class JustTest {private static class T{}public static void main(String[] args) throw…...

云原生K8S精选的分布式可靠的键值存储etcd原理和实践
文章目录概述定义应用场景特性为何使用etcd术语架构原理读操作写操作日志复制部署单示例快速部署多实例集群部署静态etcd 动态发现常见命令概述 定义 etcd 官网地址 https://etcd.io/ 最新版本3.5.7 etcd 官网文档地址 https://etcd.io/docs/v3.5/ etcd 源码地址 https://gith…...

[Django] 1.Django项目创建
1.Django简介 Django是基于Python的重量级开源Web框架 Django采用MVT的软件设计模式,即模型(Model),视图(View)和模板(Template) M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM) T 表示模板 (Template)…...

Linux 信号(signal):信号的相关函数
目录1.kill2.raise3.abort4.alarm5.sigqueue6.signal7.例子使用信号时离不开各种函数,本文来看看在使用信号时最常用的几个函数。 kill:给指定进程发送指定信号raise:给调用进程发送指定信号abort:终止程序的运行alarm࿱…...

【问题系列】vue当编辑框被触发就出现保存按钮
目录 问题描述: 解决方案: 1.方案一 2.方案二 3.方案三 问题描述: 一个表单用vue的事件实现当点击编辑按钮(或图标)出现保存按钮,当要编辑的时候只出现编辑按钮,此时保存按钮隐藏 解决方案: 1.方案一…...

IHome主页 - 让你的浏览器主页与众不同
随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器成为人们的“第二个家”。 在这个过程中,浏览器的主页也变得越来越重要了。有些人喜欢简洁明了的主页,有些人则希望有丰富的内容。 今天,我…...

leetcode解题思路分析(一百三十八)1178 - 1189 题
猜字谜 外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。返回一个答案数组 answer,数组中的每个元素 answer[i] 是在给出的单词列表 words 中可以作为字谜迷面 puzzles[i] 所对应的谜底的单词数目。 采用字典树解题。 struct TrieN…...

SpringBoot高校餐厅缴费系统
SpringBoot高校餐厅缴费系统 帮朋友基于SpringBoot鲜花商城系统,订制开发了一套适用于高校餐厅缴费系统;添加的功能如下: 1.商品搜索功能 2.个人中心 3.购物车下单改造 4.支付宝功能接入 5.管理员板块校园卡管理功能 本系统涉及到的技术主要…...

SpringBoot快速整合SpringSecurity,新手都会的详细步骤
一、什么是SpringSecurity? Spring Security是一个基于Spring框架的安全性框架,提供了一组轻量级的API和工具,用于实现身份验证、授权、防止攻击等常见的安全性功能。它支持各种身份验证方式,例如基本身份验证、表单身份验证、OA…...

python高频小工具(持续更新)
无外乎处理各种文件和字符串,然后采用各种算法。excel文件操作采用openpyxl库(1)写数据import os from openpyxl import Workbookpath r"D:\python_practice" os.chdir(path) # 修改工作路径wb Workbook() wb.create_sheet(…...

SAP主配方需要ECN变更号才能更改
在流程制造中特别是制药行业,遵循的要求都是比较高的,像GMP的要求,CSV的认证,系统的变更都是需要进行申请审批通过以后才能进行变更的。 1、业务场景就是系统控制主配方需要有ECN号才能进行变更,否则不允许变更。 2、…...

Lock 接口解读
前置知识点Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{} 括起来的代码,作用的对象是调用这个代码…...

嵌入式物联网技术栈【协议篇】OPC UA协议
一、OPC UA协议简介 OPC UA前身是OPC,第一个OPC规范在1996年发布,包括一整套接口、属性和方法的标准集 OPC全称是Object Linking and Embedding(OLE) for Process Control,微软公司对象链接和嵌入技术在过程控制方面的应用,是一系列接口、方法和属性的标准集,是将通讯协…...

记录--我在前端干工地(three.js)
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Three.js后,试着用他加载了一些模型three.js初体验简陋的了解了一下three.js的相关使用,并且写下了第一篇文章。但是过后还是对很多一知半解,作为不会…...

7个最受瞩目的 Python 库,提升你的开发效率
当今时代,数据分析和处理已经成为了各行各业中不可或缺的一环。Python作为一种非常流行的编程语言,为我们提供了许多强大的工具和库来处理不同类型的数据。 在这篇文章中,我将向您介绍七个非常有用的Python库,这些库各自有着独特…...

智能指针用法分析
智能指针分类auto_ptr (c 98),目前已经被unique_ptr替换了,所以大家不要再使用auto_ptr了unique_ptr (c11) 独占式指针,同一个时间内,只有一个指针能够指向该对象,当然该对象的所有权还是可以移交出去的。shared_ptr &…...

GuLi商城-SpringCloud Alibaba-Nacos配置中心-命名空间与配置分组
Nacos支持三种配置加载方方案 Nacos支持Namespace group data ID的配置解决方案 Namespace方案 通过命名空间实现环境区分 下面是配置实例: 1、创建命名空间: 命名空间—>创建命名空间: 创建三个命名空间,分别为dev&a…...

Java核心技术卷I-第五章
类、超类和子类定义子类(使用关键字extends表示继承)覆盖方法子类构造器一个对象变量可以指向多种实际类型的现象称为多态,在运行时能够自动地选择适当的方法,称为动态绑定继承层次多态理解方法调用(非private方法、st…...

C++ 98/03 应该学习哪些知识9
构造函数/析构函数/拷贝构造 C中的构造函数、析构函数和拷贝构造函数是面向对象编程中的重要概念。下面是它们的定义和案例解释: 构造函数 构造函数是在对象创建时调用的一种特殊的成员函数,用于初始化对象的数据成员和执行必要的设置操作。在C中&…...

(五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
前言 本节内容我们实现虚拟机的克隆,主要根据模板虚拟机克隆三台hadoop虚拟机,用于hadoop集群的搭建,同时根据上一小节的内容,配置hadoop虚拟机的主机名、ip网络等,最终完成hadoop虚拟机的实例化。 正文 虚拟机克隆…...

分治法实现合并排序(归并排序),理解分治算法思想,实现分治算法的完美例子合并排序(含码源与解析)
🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨,经典算法的解析✨都在这儿,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 -…...