目录

  • 下载与安装
  • 最简单的应用
  • 路由
  • 跨域
  • 处理Get/Post请求
    • Get方式
    • Post方式
  • 连接MySQL与异步编程
  • 参考

前言:前段时间学习了如何基于Flask框架部署服务器,感觉非常容易上手,而这段时间又开始接触和学习Node.js与Koa,相比较而言它们有着很强的特性(比如异步),摸爬滚打中总算是成功学会了部署简单的服务,在此记录一下坎坷的过程。

Node.js是一个事件驱动I/O服务端JavaScript环境,它执行Javascript的速度非常快,使得 JavaScript 成为与PHP、Python等服务端语言平起平坐的脚本语言。Koa则是一个新的Web框架,是Express的下一代基于Node.js的Web框架。Koa丢弃了回调函数,并有力地增强错误处理能力。同时Koa提供了一套优雅的方法,可以快速而愉快地编写服务端应用程序。Koa2作为新版本,完全使用Promise并配合async来实现了异步。
本文基于Node.js与Koa2框架,讲解如何搭建服务器,开发实现后端API。在此之前,我们要具备一些HTML和JavaScript的基础知识和异步编程的思想,如果你已经具备了,那就开始吧!

下载与安装

Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/,在其中选择对应的系统即可。安装完成后命令行输入:

node --version

显示版本号,即代表安装成功。
Koa的安装参可考官方文档,在命令行输入:

npm install koa

等待安装完成即可。
至于Node.js的开发工具,笔者习惯使用功能强大的VSCode。

最简单的应用

我们在常用的工作目录下,创建一个文件,命名为server.js,输入代码如下:

const Koa = require('koa');const app = new Koa();
app.use(async ctx => 	// 处理请求的异步函数
{ctx.body = 'Hello World';
});app.listen(8080);	// 监听端口号console.log("Server running at http://127.0.0.1:8080");

接着在命令行输入(首先要cd进入工作目录,如果是在VSCode中,在运行界面中选择终端即可):

node server.js

结果如下图,点击链接即可访问,如下图所示。
终端显示
浏览器显示
至此就搭建好了一个最简单的服务器,对客户端发送的请求,服务端回复一个“Hello World”。
PS:在终端退出程序按Ctrl+C即可,服务相应就停止。

路由

通常情况下,我们服务器需要不同的路由来处理不同的请求,而Koa拥有一个集中处理URL的中间件:koa-router
PS:中间件(middleware)是Koa的一个重要组成部分,Koa拥有许多实用的中间件,我们安装的中间件都在工作目录下的node_modules文件夹中。中间件的执行顺序十分重要,理解了中间件,也就学会了Koa。
首先安装中间件,在命令行输入:

npm install koa-router --save

安装完成后,我们把刚才的server.js文件修改为如下:

const Koa = require('koa');
const router = require('koa-router')(); // 注意这里最后是函数调用const app = new Koa();// 添加路由
router.get('/', async (ctx, next) =>  // 根路由
{ctx.body = '我是服务器,我可以处理很多请求,对应不同的路由';
});router.get('/hello', async (ctx, next) => 
{ctx.body = 'Hello!';
});app.use(router.routes());
app.listen(8080);console.log("Server running at http://127.0.0.1:8080");

再次运行,对应在浏览器中可以访问到不同的路由。
根路由
路由1

跨域

当域名、端口、协议有任意一个不一样的时候就会出现跨域。通常我们都希望可以跨域访问服务器,但在默认情况下,我们用Koa部署的服务器却不允许我们这么做,因此要设置可以跨域。设置跨域的方法很多,比如请求与响应的数据使用jsonp格式,而Koa里又封装了一个实现跨域的中间件:koa2-cors
首先安装中间件,在命令行输入:

 npm install koa2-cors --save

安装完成后,我们继续修改刚才的server.js文件。
在一开始引入语句后加入如下语句:

const cors = require('koa2-cors');

在最后为app增加中间件的语句中加入如下语句:

app.use(cors()); 

至此就实现了跨域了,在这里运行看不出有什么区别,但接下来我们设计客户端后,就可以在前端访问到我们的服务器了。

处理Get/Post请求

我们搭建服务器,最重要的功能就是能够接收请求、发送响应,在客户端、服务器之间顺畅地收发数据。接下来就分别讲解Get和Post两种方式如何请求与响应。
我们首先建立一个客户端页面,命名为client.html,其中代码如下:

<!doctype html>
<head><meta charset="utf-8"/><title>简单客户端页面</title>
</head>
<body>ID:<textarea id="ID" style="height:15px;width:150px;"></textarea><br>姓名:<textarea id="Name" style="height:15px;width:150px;"></textarea><br><button onclick="getSubmit()">以Get方式提交</button><button onclick="postSubmit()">以POST方式提交</button><script>   // 此处存放处理事件的代码</script><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</body>

我们在客户端向服务器发送HTTP请求的方式有很多,而在这里采用的是jQuery中的$.ajax方法,其一般的调用方式如下:

$.ajax(
{type: "str类型", 		// 请求方法,get或者posturl: "str类型",			// 请求的URL路径,即服务器路径data:					// 发送的数据{attribute: value},dataType: "str类型", 	// 收发数据的格式,通常为json或jsonpsuccess: function(data)	// 请求成功的回调函数,data即服务器返回的数据{console.log(data);},error: function(XMLHttpRequest, textStatus, errorThrown)// 请求错误的回调函数,参数分别为XMLHttpRequest对象、错误信息、捕获的错误对象{  console.log(textStatus);}  
});

因为要用到这一方法,所以在刚才的客户端页面中,千万不要漏掉最后的一段引用jQuery的JavaScript代码。

Get方式

在Koa中,获取Get请求接收的数据的来源是request对象中的query方法或querystring方法。其中query方法返回的是格式化的参数对象,querystring方法返回的是请求字符串。而Koa又可以直接从上下文中获取这两个方法,因此在服务器端,我们在刚才的server.js文件中增加一条路由:

router.get('/getData', async (ctx, next) => 
{// 获取路由let url = ctx.url;//  从上下文的request对象中获取let request = ctx.request;let req_query = request.query;let req_queryString = request.querystring;//  从上下文中直接获取let ctx_query = ctx.query;let ctx_queryString = ctx.querystring;// 显示console.log(url);console.log(req_query);console.log(req_queryString);console.log(ctx_query);console.log(ctx_queryString);// 发送数据ctx.response.body = JSON.stringify("我已收到消息");
});

在刚才的client.html文件中,我们在script代码部分加入Get请求的事件处理函数:

function getSubmit()
{$.ajax({type: "get",url: "http://127.0.0.1:8080/getData",data:{ID: document.getElementById("ID").value,Name: document.getElementById("Name").value},dataType: "json",success: function(data){console.log(data);},error: function(XMLHttpRequest, textStatus, errorThrown){  console.log(textStatus);  }              });
}

启动服务器,再在客户端页面中输入ID和姓名,点击“以Get方式”提交,可以看到URL中加上了客户端发送的数据的键值对,query和querystring方法各自可以对此解析,获取到前端以Get方式发送的数据,客户端也收到了服务器响应的信息。
Get-服务器
Get-客户端

Post方式

Koa又封装了一个处理Post请求的中间件:koa-bodyparser
首先安装中间件,在命令行输入:

npm install koa-bodyparser --save

安装完成后,同样在server.js开始的引用部分添加:

const bodyParser = require('koa-bodyparser');

在最后为app添加中间件的部分添加:

app.use(cors());
app.use(bodyParser());	// 注意最后是函数调用
app.use(router.routes());

实际添加第2条即可,这里展示所有中间件是提醒大家注意中间件的顺序
接着就给server.js增加一条路由:

router.post('/postData', async (ctx, next) => 
{// 获取数据let ID = ctx.request.body.ID;let Name = ctx.request.body.Name;// 显示console.log(ID);console.log(Name);// 发送数据ctx.response.body = JSON.stringify("我已收到消息");
});

在client.html文件中,我们在script代码部分加入Post请求的事件处理函数:

function postSubmit()
{$.ajax({type: "post",url: "http://127.0.0.1:8080/postData",data:{ID: document.getElementById("ID").value,Name: document.getElementById("Name").value},dataType: "json",success: function(data){console.log(data);},error: function(XMLHttpRequest, textStatus, errorThrown){  console.log(textStatus);  }                  });
}

启动服务器,再在客户端页面中输入ID和姓名,点击“以Post方式”提交,可以看到服务器获取到前端以Post方式发送的数据,客户端也收到了服务器响应的信息。
Post-服务器
Post-客户端
笔者在实际的部署的过程中,经常会遇到以下两个问题:
1.客户端提交后出现 404 not found error
解决:这类问题大多是由服务器没启动或者客户端请求的URL路径不正确或不存在引起的,但笔者遇到更多的情况,是服务器端处理请求(无论是Get还是Post)后没有返回数据,所以记得服务器在处理请求结束之前要返回消息。

2.客户端提交后报错:parsererrorUnexpected token xxx。
解决:这是由于服务器发送的格式与客户端请求中规定的数据格式不一致,导致了转换错误。通常情况下服务器与客户端间收发的数据都是json格式,所以在服务器返回的消息中,一定要使用ctx.response.body = JSON.stringify(发送数据),以转为json格式。而笔者遇到Unexpected token xxx 更多的原因则是客户端规定了数据格式为jsonp,而服务器返回json格式,之所以使用jsonp也是因为要实现跨域,而使用了本文中的跨域方法,就不再需要使用jsonp格式了。

至此,以上的讲解和代码你都能理解和运行,那么就已经成功地掌握了基于Node.js和Koa框架搭建服务器。

连接MySQL与异步编程

我们搭建好了服务器,能自由自在地与客户端之间收发数据,但这离一个基础的服务器还差一点。服务器的一个基本功能就是能够读取数据库,所以在这里以MySQL为例,讲解一下Koa2如何操作MySQL数据库。
首先是安装需要的模块,在命令行输入:

npm install mysql --save

安装成功后,在server.js的引入模块部分加入:

const mysql = require('mysql');const connection = mysql.createConnection
({host     : 'localhost',user     : 'root',password : '*******', // 你的MySQL数据库root密码database : '*******'	// 要连接的数据库名
});connection.connect();	// 打开连接

我们先对client文件进行修改,在其表单部分加入:

    <br><br><button onclick="search()">查询</button><br>结果:<textarea id="selectData" style="height:150px;width:300px;"></textarea>

在其script代码部分加入:

function search()
{$.ajax({type: "post",url: "http://127.0.0.1:8080/selectData",dataType: "json",success: function(data){document.getElementById("selectData").innerHTML = JSON.stringify(data);},error: function(XMLHttpRequest, textStatus, errorThrown){  console.log(textStatus);  }                });
}

再在server.js中增加一条路由:

router.post('/selectData', async (ctx, next) => 
{// sql语句let sqlStr = `select * from user;`// 查询connection.query(sqlStr, function (error, results, fields) {if (error) {console.log(error);}// 发送结果console.log(results);ctx.response.body = JSON.stringify(results);});
});

注意,在这里sql语句使用了撇引号``,而非单引号或双引号,是因为它可以进行字符串格式化操作,比如:

let ID = ctx.request.body.ID;
let sqlStr = `select * from bodydata where ID = ${ID}`;

回归正题,我们整个业务逻辑很清晰,客户端点击“查询”按钮,触发search()事件,请求获取user表中的数据,服务端查询后打印一下结果并将结果返回,客户端收到后显示在文本框selectedData中,看起来没有一点问题,但实际执行的过程中,客户端报错:
客户端报错
在之前讨论过,在路径正确的情况下,这一错误产生的原因是服务端没有返回数据,于是我们查看服务器在终端上的运行情况:
服务端输出
看到这里不禁会露出问号脸,服务器已经成功地查询到了结果,并且输出在了控制台,而紧接着的代码就是发送回这一数据,为何客户端偏偏就没收到呢?
笔者在此困扰了许久。查明原因不难,在学习Node.js时我们就了解到它异步的特性,例如我们定义3个异步函数func1()、func2()、func3(),然后执行以下代码:

func1();
func2();
func3();

Node.js执行的过程并不是顺序式的func1()、func2()、func3(),而是异步执行,也就是说执行func1()时,程序并不会就此等待它返回,而是立马接着执行它之后的代码,func2()、func3()也是如此。异步的特性使得Web进行请求和响应时有很高的并发度,响应时间也因此大大缩短。而我们服务端用于处理请求的正是异步函数,因此服务器并不会等待数据库查询函数执行完成,而是直接执行后面的代码,而后面则是处理函数体结束,服务端自然结束处理请求,什么也没返回给客户端,客户端报错,而在这之后query()执行完成,打印信息,返回结果,但此时连接已经断开。
解决这一问题就需要用到Promise对象, Promise对象使得异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易。
我们在server.js的引入模块部分的打开连接后加入以下语句:

query= function(sql, parmas=null)
{return new Promise(function(reject,resolve){        //执行sql语句connection.query(sql,parmas, function (error, results, fields) {if (error) {throw error;}reject(results);  // 注意是reject   });// 提交connection.commit();})
}

在此定义了query()函数,它返回一个Promise对象。这里没有在query()函数中前后各打开、关闭连接,而是一直保持连接处于打开状态,因为每次开关的代价比较大,会减慢响应速度。
然后修改刚才的路由为如下:

router.post('/selectData', async (ctx, next) => 
{// sql语句let sqlStr = `select * from user;`// 查询let res = await query(sqlStr);ctx.response.body = JSON.stringify(res);
});

一定要注意await的使用,await使得一个异步函数停下来等待另一个异步函数的执行结束并返回,这样就能等待query()的执行,取到数据后返回,客户端成功收到数据,运行结果:
客户端成功接收数据
至此,我们成功地使用Koa2对Mysql数据库进行操作,我们基于Node.js和Koa框架搭建一个基础的服务器,也可以说是大功告成了。但笔者对JavaScript中的Promise对象和async/await的使用还只是一个浅显的理解,异步编程的思想更需要深入学习。

参考

  1. 菜鸟教程,[Node.js 安装配置]:https://www.runoob.com/nodejs/nodejs-install-setup.html;
  2. Bootstrap前端框架,[koa]:https://koa.bootcss.com/#introduction;
  3. 廖雪峰的官方网站,[JavaScript教程/Node.js/Web开发/koa]:https://www.liaoxuefeng.com/wiki/1022910821149312/1023025933764960;
  4. CSDN软件开发网,[koa2如何允许跨域]:https://blog.csdn.net/wyw223/article/details/86745599;
  5. 博客园,[$.ajax()方法详解]:https://www.cnblogs.com/tylerdonet/p/3520862.html;
  6. 简书,[Koa2框架学习笔记]:https://www.jianshu.com/p/892d2098a75e;
  7. 简书,[nodejs查询数据库后将值返回前端]:https://www.jianshu.com/p/6e77d6fdaf13;
  8. 菜鸟教程,[JavaScript Promise 对象]:https://www.runoob.com/w3cnote/javascript-promise-object.html;
  9. CSDN软件开发网,[KOA2操作mysql数据库]:https://blog.csdn.net/weixin_34378969/article/details/91436028。
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. node.js htttp文件服务器 遇到目录时搜索目录内默认html页面 廖雪峰javascript教程node.js中http部分练习题

    廖雪峰javascript教程node.js中http部分最后的练习题:https://www.liaoxuefeng.com/wiki/1022910821149312/1023025830950720在浏览器输入http://localhost:8080/时,会返回404,原因是程序识别出HTTP请求的不是文件,而是目录。请修改file_server.js,如果遇到请求的路径是目…...

    2024/4/27 17:08:56
  2. 廖雪峰介绍Node.js

    https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501245426ad4b91f2b880464ba876a8e3043fc8ef000从本章开始,我们就正式开启JavaScript的后端开发之旅。Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。众所周知,在Net…...

    2024/4/27 15:22:26
  3. 饿了么大前端 Node.js 进阶教程

    饿了么大前端 Node.js 进阶教程因为 2016 年面试了很多做 Node.js 的同学,发现大部分做 Node 的同学都是前端转过来的,对后端的知识大多一片空白。所以很难招到比较好的 Node.js 服务端程序员(注意,不是全栈)。于是出于我们一贯的开源与分享精神,我们筹备了这个名字叫《如…...

    2024/4/27 18:51:58
  4. 关于node.js读取文件以及操作流文件的个人理解

    最近公司项目不是很急,所以想静下心学习node.js,教程是《廖雪峰的官方网站》中的node教程,学习基础还是可以的,但是好像没有深入 地址:廖雪峰的官方网站之node学习 有关node的安装以及npm安装这里就不啰嗦了,我一介菜鸟都会的操作,各位大佬肯定也是会的。 1.关于node读写…...

    2024/4/27 14:53:58
  5. websocket和 node.js 安装配置

    随笔-82 文章-0 评论-3 Windows下Node.js+Express+WebSocket 安装配置Linux参考:Linux安装Node.js 使用Express搭建Web服务器 Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对…...

    2024/4/27 18:55:51
  6. 菜鸟学习nodejs--安装nodejs

    既然是菜鸟学习node.js,那么在安装的之前,我们就先来了解一下他是个什么东西,为什么我要学习他呢。 简单的说 Node.js 就是运行在服务端的 JavaScript。如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常…...

    2024/4/27 15:46:41
  7. Node.js安装图解教程

    Node.js是一个基于Chrome JavaScript运行时建立的一个平台,用来方便地搭建快速的,易于扩展的网络应用Node.js借助事件驱动,非阻塞I/O模型变得轻量和高效,非常适合run across distributeddevices的data-intensive的实时应用。工具/原料Windows系统平台node.js程序安装包方法…...

    2024/4/27 16:40:12
  8. Window10安装Nodejs的详细过程

    Window10安装Node.js 下载Node.js官网下载地址:http://nodejs.cn/download/中文网下载地址:https://nodejs.org/en/自行选择合适版本(以中文网下载为例)安装Node.js 以Windows 安装包 (.msi)为例 1.安装过程 除了安装路径外,其他都可以一路点击Next即可(当然如果安装路径也…...

    2024/4/27 17:28:09
  9. 学习mysql安装和在node.js使用

    学习mysql安装和在node.js使用一,安装window上mysql https://www.cnblogs.com/xsmile/p/7753984.html 二,node连接数据库 首先引入mysql, var connection = mysql.createConnection({ host : localhost, user : root, password : fan******,…...

    2024/4/17 22:29:22
  10. node.js快速安装教程

    1、node.js官网下载:https://nodejs.org/en/download/,下载msi文件到本地电脑2、双击msi文件,选择好安装路径之后,一路next,傻瓜式安装即可(不需要修改默认配置)3、安装完成后,win+R打开cmd命令行控制台输入node -v查看安装版本node自带了NPM,输入npm -v可查看npm版本…...

    2024/4/27 13:42:52
  11. NodeJS入门(一)---nodejs详细安装步骤

    初学NodeJS,就是要弄清楚什么是nodejs,能做什么,怎么用。。 什么是nodejs?脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS,nodejs就是一个解析器。每一种解析…...

    2024/4/27 13:25:23
  12. 【Node.js】Node.js 安装配置

    Node.js 安装配置本章节我们将向大家介绍在window和Linux上安装Node.js的方法。本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。Node.js安装包及源码下载地址为:https://nodejs.org/en/download/。你可以根据不同平台系统选择你需要的Node.js安装包。Node.js 历史版本…...

    2024/4/18 20:53:09
  13. 教程:Win下安装Node.js提示Erro2502和2503报错无法安装的解决方法.

    简易教程。这是msi安装提示报错的范例。导致这种问题的原因一般有两个:一个可能是原来安装过Node.js不过没有卸载干净另一个可能就是msi安装包的权限问题。***首先检查你的电脑是否已经完全卸载了Node.js。cmd里键入“node -v”然后去环境变量Path里看看还有没有nodejs的记录。…...

    2024/4/25 17:55:24
  14. Node.js学习2_Windows下Node.js与npm的安装与配置

    1:先下载Node.js,网站https://nodejs.org/en/,左侧为稳定版,右侧为最新版,推荐稳定版2:Node.js安装,运行下载后的.msi文件,一路下一步就可以了,我选择的安装路径为E:\Program Files\nodejs,安装之后运行cmd,执行node -v 和 npm -v命令如执行结果为上图所示出现版本号,…...

    2024/4/27 16:37:52
  15. 在Windows下安装和配置Node.js环境v8.11.3与遇到的问题

    公司同事给了一个版本为8.11.3的node安装包,安装步骤请查看点击打开链接但是在安装完成之后,发现执行cnpm -v检查是否安装cnpm成功时报错:不是内部或外部命令,具体解决办法请查看点击打开链接...

    2024/4/24 9:52:24
  16. Node.js安装配置

    本安装教程以Node.js v4.2.3版本为例 Node.js下载地址:https://nodejs.org/en/download/ 根据不同平台系统选择你需要的Node.js安装包。 Windows上安装Node.js Windows 安装包(.msi) : 64位安装包下载地址:https://nodejs.org/dist/v4.2.3/node-v4.2.3-x86.msi 64位安装包下载…...

    2024/4/27 17:16:03
  17. node.js入门安装教程

    一.简单认识一下node.js它是对Google V8引擎进行封装,所以在执行js速度和性能上表现都是很不错的,同时改进了二进制数据处理能力。现在一些大的互联网站都开始使用。 二.安装 在linux下安装比较方便,我的环境的win7系统,暂对win7来安装 第一步. 到官网http://nodejs.org/下…...

    2024/4/27 16:24:35
  18. Centos7 安装Node.js10以上版本的方法步骤

    Centos7 安装Node.js10以上版本的方法步骤删除旧的 nodejs 版本:第1步 - 添加Node.js Yum存储库第2步 - 在CentOS上安装Node.js.第3步 - 检查Node.js和NPM版本第4步 - 创建测试是否可用Web服务器(可测可不测)这篇文章主要介绍了Centos7 安装Node.js10以上版本的方法步骤,文…...

    2024/4/27 17:58:09
  19. node.js 安装步骤及Grunt安装实例

    1、百度搜索node.js 官网下载最新版本 地址:http://nodejs.cn/2、进入官网后根据自己系统版本下载对应文件3、下载到本地的node.js 文件如下4、安装就可以一路回车了,界面风格很漂亮 ,灰常喜欢安装很快的,稍稍等待......5、在cmd控制台输入:node -v,控制台将打印出:v4…...

    2024/4/24 13:18:32
  20. Vue.js安装教程

    目的: 记录使用npm安装方式 安装Vue.js的过程,方便参考和借阅No 1. 安装Node.js (如果电脑上已经安装了npm环境的同学,就不用再次安装,可以跳过此步骤 直接到No.2)1.1 进入到右边的网页地址 https://nodejs.org/en/ 1.2 进入之后,点击下载(download) 1.3 选LTS版本的:…...

    2024/4/24 13:18:34

最新文章

  1. GPU服务器和普通服务器有何区别?

    众所周知&#xff0c;服务器是网络中的重要设备&#xff0c;要接受少至几十人、多至成千上万人的访问&#xff0c;因此对服务器具有大数据量的快速吞吐、超强的稳定性、长时间运行等严格要求。 GPU服务器和普通服务器的主要区别在于硬件配置和适用场景&#xff0c;特别是处理器…...

    2024/4/27 19:10:21
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 关于ansible的模块 ③

    转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 接《关于Ansible的模块①》和《关于Ansible的模块②》&#xff0c;继续学习ansible的user模块。 user模块可以增、删、改linux远…...

    2024/4/18 10:52:09
  4. Topaz Video AI for Mac v5.0.0激活版 视频画质增强软件

    Topaz Video AI for Mac是一款功能强大的视频处理软件&#xff0c;专为Mac用户设计&#xff0c;旨在通过人工智能技术为视频编辑和增强提供卓越的功能。这款软件利用先进的算法和深度学习技术&#xff0c;能够自动识别和分析视频中的各个元素&#xff0c;并进行智能修复和增强&…...

    2024/4/27 12:49:51
  5. Clickhouse-表引擎探索之MergeTree

    引言 前文曾说过&#xff0c;Clickhouse是一个强大的数据库Clickhouse-一个潜力无限的大数据分析数据库系统 其中一个强大的点就在于支持各类表引擎以用于不同的业务场景。 MergeTree MergeTree系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一…...

    2024/4/24 11:08:45
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/26 20:12:18
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/26 21:56:58
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/26 22:01:59
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57