10 2020 档案
摘要:概述 fanout扇出也称之为广播 在广播模式下,消息发送的流程是这样的,如下所示: 可以有多个消费者。 每个消费者有自己的 queue(队列) 每个队列都要绑定到 Exchange(交换机) 生产者发送的消息,只能发送到交换机,交换机来决定要发给哪个队列,生产者无法决定。 交换机把消息发送给绑定过
阅读全文
摘要:为什么要搭建集群 假如 ElasticSearch 只放在一台服务器上,即单机运行,假如这台主机突然断网了或者被攻击了,那么整个 ElasticSearch 的服务就不可用了。但如果改成 ElasticSearch 集群的话,有一台主机宕机了,还有其他的主机可以支撑,这样就仍然可以保证服务是可用的。
阅读全文
摘要:算法介绍 relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度。 ElasticSearch 使用的是 term frequency/inverse document frequency 算法,简称为 TF/IDF算法。TF词频(Term F
阅读全文
摘要:概述 Work Queues,也被称为(Task Queues)任务模型。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用 work 模型:让多个消费者绑定到一个队列,共同消费队列中的消息。队列中的消息一旦消费,就会消
阅读全文
摘要:认证流程图 认证代码执行流程 调用 subject.login 方法进行登录,其会自动委托给 securityManager.login 方法进行登录。 securityManager 通过 Authenticator(认证器)进行认证。 Authenticator 的实现 ModularRealm
阅读全文
摘要:可以在自己的开发工具中添加好如下的模板下次开发直接一键生成 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <!--可以让部分国产浏览器默认采用高速模式渲染页面--> <meta name="renderer" co
阅读全文
摘要:什么是Bootstrap Bootstrap 是 twitter 公司推出的,专门用于开发响应式布局、移动设备优先的 WEB 框架。 Bootstrap 当前最新的版本是 Bootstrap4,但当下企业使用最多的是 Bootstrap3。 Bootstrap3和4的区别 CSS 预处理器不同,Bo
阅读全文
摘要:什么是认证 也就是身份认证,就是判断一个用户是否为合法用户的处理过程,通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令是否一致,来判断用户的身份是否正确。 关键对象 对面名称 概述 Subject(主体) 用户 Principal(身份信息) 是主体(Subject)进行身
阅读全文
摘要:核心类 整体类图如下图所示: 类名 作用 Authentication 身份认证,也就是登录,验证用户是不是拥有相应的身份 Authorization 授权,也就是权限验证,验证某个已认证的用户是否拥有某个权限 Session Manager 会话管理,就是用户登录后就是一次会话,在没有退出之前,它
阅读全文
摘要:什么是权限管理 权限管理就是实现对用户访问系统的资源进行控制,用户可以访问而且只能访问自己被授权的资源,只要有用户和密码的系统,权限管理几乎都会出现,举例,给张三赋予 “人力资源经理” 的角色,“人力资源经理” 具有 “查询员工”、“添加员工”、“修改员工” 和 “删除员工” 的权限。此时张三能够进
阅读全文
摘要:总体分层 连接层 是用来与客户端进行连接的一个服务,主要完成一些类似连接的处理,授权认证及相关的安全方案的处理,在该层上还引入了连接池的概念 服务层 提供核心的服务功能,如 SQL 接口,完成缓存的查询,SQL 的分析和 SQL 的优化部分及内置函数的执行,所有跨存储引擎的功能都在这一层实现,服务器
阅读全文
摘要:学习 jQuery 前必须先掌握 JavaScript,jQuery 虽然属于前端技术,但是对于后端人员(诸如Java、PHP 等,也需要掌握) jQuery 是什么 jQuery 是一款优秀的 JavaScript 库,从命名可以看出 jQuery 最主要的用途是用来做查询(jQuery = js
阅读全文
摘要:SessionStorage LocalStorage 和 Cookie 一样,SessionStorage 和 LocalStorage 也是用于存储网页中的数据的 Cookie SessionStorage LocalStorage 之间的区别 生命周期 这里说的生命周期指的是在同一浏览器下 C
阅读全文
摘要:什么是模块 浏览器开发中的模块,在浏览器开发中为了避免命名冲突,方便维护等等,我们采用类或者立即执行函数的方式来封装 JS 代码,来避免命名冲突和提升代码的维护性,其实这里的一个类或者是一个立即执行的函数就是浏览器开发中的一个模块,如下所示: let obj = { 模块中的业务逻辑代码 }; ;(
阅读全文
摘要:和浏览器一样 Node 环境中的全局对象也提供了很多方法和属性供我们使用。 官方中文文档地址: http://nodejs.cn/api/ 属性名 作用 __dirname 当前文件所在的文件夹的绝对路径 __filename 当前文件的绝对路径 setInterval 和 clearInterva
阅读全文
摘要:关于 SpringCloud-Alibaba 我之前写过对应的文章,由于精力的问题,我不能再重新写了,后面有啥新的组件特性我会一一更的。 所以大家将就将就就看看我之前写好了的吧,文章地址如下: SpringCloud-Alibaba-All 密码:303158131
阅读全文
摘要:将 Cookie 写给客户端 服务器怎样把 Cookie 写给客户端 创建 Cookie,语法如下: Cookie cookie = new Cookie(String cookieName, String cookieValue); Cookie 会以响应头的形式发送给客户端 Cookie 只能存
阅读全文
摘要:什么是会话 用户开一个浏览器 点击多个超链接,访问服务器里多个 web 资源 然后关闭浏览器,整个过程称,就为一个会话 和打电话一样,电话接收,开始会话,电话挂断,结束会话 会话技术解决的问题 保持各个客户端自己的数据 每个用户在使用浏览器与服务器进行会话的过程中,不可避免的就是各自会产生一些数据
阅读全文
摘要:错误内容 解决办法 先卸载 JDK 打开注册表 找到如上图的文件夹,把这个 javasoft 删除即可 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft 如果没有此选项,就不用删除 使用 360 进行卸载时,删除残余项目就没有此文件 然后重新安装 JDK 重新安装完毕
阅读全文
摘要:当发送 POST 请求时,带有中文的参数会发生乱码的情况 解决乱码 在 web.xml 当中添加一个 过滤器 即可解决 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
阅读全文
摘要:使用传统的Request对象接收参数 以下的内容都是紧接着前面的文章的如果你想来玩这个 Demo 请自行参考前面文章开始玩下来即可 页面代码如下: <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <he
阅读全文
摘要:为什么要有验证码 可以防止:恶意批量注册、恶意破解密码、刷票、论坛灌水 有效防止某个黑客对某一个特定注册用户,用特定程序暴力破解方式进行不断的登陆尝试 确保当前访问的是来自一个人而非机器的操作 添加 CheckCodeServlet.java Servlet,用来生成验证码 就是把别人写好的生成验证
阅读全文
摘要:什么是lombok 是一款小巧的代码生成工具 自动生成 getter 与 setter 方法 提高开发效率 代码简洁,直观,减少大量冗余代码 减少后期的维护成本 安装lombok 下载lombok:https://projectlombok.org/download 在 eclipse 中安装 lo
阅读全文
摘要:需求:把服务器当中的文件直接下载到电脑当中 下载文件 直接使用 a 标签来去下载 有些内容浏览器会自动解析 浏览器不能解析的文件才会被下载 .jpg、png、zip、mp4、rar,等等不同的文件格式自己按照如下的方式去试试就知道效果了 通过发送 Servlet 请求来去下载 通过发送一个 Serv
阅读全文
摘要:Response响应过程 在发送一个请求时,会找到 tomcat 引擎 引擎会找到对应的 web 应用 并且会创建 request 对象和 response 对象 找到应用后,会执行应用的 web.xml 再去根据 url-patten 的内容创建 Servlet 对象 并且会调用 Servlet
阅读全文
摘要:Consul 是一款由 HashiCorp 公司开源的,用于 服务治理 的软件 Spring Cloud Consul 对其进行了封装 Consul 具有如下特点 服务注册:自动注册 和 取消注册服务 实例的网络位置 运行状况检查:检测服务实例何时启动并运行 分布式配置:确保所有服务实例使用相同的配
阅读全文
摘要:关于 Request:只需要会如何获取 请求行, 请求头,请求体 即可 获取请求行 获取请求方法 String method = request.getMethod(); 获取请求的资源 StringBuffer requestURL = request.getRequestURL(); Strin
阅读全文
摘要:数据来驱动界面更新(声明式渲染) 只要 数据 发生了改变,界面就会自动改变 之前写法 <div id='box'></div> let message = 'BNTang'; const oDiv = document.querySelector('#div'); oDiv.innerText =
阅读全文
摘要:什么是ServletContext ServletContext 代表的是一个 web 应用的上下文对象(web 应用对象) 里面封装的都是 web 应用信息 一个 ServletContext 对应一个应用 ServletContext的生命周期 在服务器一启动的时候就会创建 在服务器关闭的时候销
阅读全文
摘要:增删改 添加 修改 ArticleService 添加一个方法做添加 public void save(Article article){ article.setId(UUID.randomUUID().toString()); articleDao.save(article); } 测试类代码如下
阅读全文
摘要:现在创建 Servlet 存在的问题 每一次都要去实现 Servlet 接口 都要去 web.xml 中做配置 从 Servlet3.0 开始可以直接使用 注解 的形式来去使用 Servlet 创建 Servlet 在创建好的 Servlet上面有会有一个 @WebServlet("/myServl
阅读全文
摘要:Servlet的生命周期 Servlet什么时候被创建 默认情况下第一次被访问的时候才创建 可以通过配置文件设置服务器启动的时候就创建 init Servlet 对象创建的时候调用 默认第一次访问时创建 service 每次请求都会执行一次 destroy Servlet 对象销毁的时候执行 默认服
阅读全文
摘要:操作 ES 可以采用 SpringDataElasticSearch 使用 intellij IDEA 创建一个 Maven jar 工程 我这里就不在贴图了自行创建 添加相关依赖 修改 pom.xml <parent> <groupId>org.springframework.boot</grou
阅读全文
摘要:配置启动服务器就加载SpringMVC 修改 web.xml <load-on-startup>1</load-on-startup> 请求转发 修改 MyFirstController 如果你没有需要返回给前端页面的数据可以直接返回一个字符串如下: /** * @author: BNTang **
阅读全文
摘要:处理器映射器 @RequestMapping:定义请求 url 到处理器的映射 注解式的处理器映射器,对类中标记了 @ResquestMapping 的方法进行映射 @ResquestMapping 定义了请求 url 的映射用来匹配 @ResquestMapping 标记的方法 匹配成功后,返回
阅读全文
摘要:架构流程 首先用户发送一个请求会到达前端控制器 DispatcherServlet DispatcherServlet 收到用户的请求之后会调用 HandlerMapping 处理器映射器 处理器映射器根据请求的 url 找到具体的处理器 生成处理器对象及处理器拦截器(如果有则生成)之后并返回给 D
阅读全文
摘要:创建一个 web 工程 导入 SpringMVC 相关的 jar 包 在 Spring 基础 jar 包上在添加一个 MVC 的包即可如下图,jar包下载链接:https://wws.lanzous.com/ilykSl5t32f 添加配置文件 springmvc.xml,配置内容如下: <?xml
阅读全文
摘要:SpringMVC概述 SpringMVC 属于 SpringFramework 的后续产品 Spring 框架提供了构建 web 应用程序的功能 MVC 模块 使用 Spring 可以很轻松的插入 MVC 框架,从而在使用 Spring 进行 web 开发时,可以选择使用 Spring 的Spri
阅读全文
摘要:事务概述 逻辑上的一组操作,组成这组操作的各个单元,要么全都成功,要么全都失败 也就是一套完整的业务代码,要么在出现问题的时候全部成功,要么全部失败 事务的特性 原子性:事务不可被分割 一致性:事务执行前,和执行后的数据是完整性的保持一致的 隔离性:一个事务的执行不应该受到其他事务的干扰 持久性:一
阅读全文
摘要:插入操作 代码如下: /** * @author: BNTang **/ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml") public class De
阅读全文
摘要:引入 jar 包,包含了如下的相关 jar Spring 开发的基本 jar 包 数据库驱动 Spring JDBC模板的 jar 包 创建数据库和表 如下图: drop table if exists account; create table account( id int primary ke
阅读全文
摘要:Spring 是 JavaEE 开发的一站式的框架 是 JavaEE 开发,每层的解决方案 Spring 对持久层也提供了解决方案 ORM模块 JDBC模板 Spring 提供了很多的模板用于简化开发,例如下面的两种就是其中的 JDBC:org.springframework.jdbc.core.j
阅读全文
摘要:Type是什么 type,是一个 index 中用来区分类似的数据的,类似的数据,但是可能有不同的 fields 而且有不同的属性来控制索引建立、分词器 lucene 是没有 type 的概念的 在 document 中,实际上将 type 作为一个 document 的 field 来存储 即 t
阅读全文
摘要:虽然直接 PUT 数据,ES 就会为我们创建索引并且动态建立映射 但是为了方便维护,我们需要手动建立索引和映射 就像数据库的建表语句一样,即使 Hibernate 和 jpa 已经给我们提供了自动建表的功能 我们实际开发中依然是手动建表 创建索引 语法如下: PUT /index { "settin
阅读全文
摘要:引入相关 jar 包 创建配置文件 applicationContext.xml 如果是接着我上面文章下来的就不需要创建了,因为已经有了内容如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframew
阅读全文
摘要:基于 execution 函数来完成 语法 【访问修饰符】方法的返回值 包名.类名.方法名(参数列表) 例如下面的例子: 参数为任意参数 public top.it6666.dao.GoodsDaoImpl.save(..) * 任意类型 * top.it6666.dao.GoodsDaoImpl.
阅读全文
摘要:什么是Mapping映射 概念:自动或手动为 index 中的 _doc 建立的一种数据结构和相关配置,简称为 mapping映射 说白了,就是给我们索引中的某些字段指定一下数据类型 插入几条数据,让 es 自动为我们建立一个索引 PUT /website/_doc/1 { "post_date":
阅读全文
摘要:前置通知 在目标方法执行之前进行操作 也就是在目标方法执行之前执行你指定的方法,可以在目标方法执行之前你可以做一些操作 <bean id="goodsDao" class="top.it6666.dao.impl.GoodsDaoImpl"/> <bean id="myAspect" class="
阅读全文
摘要:引入 Spring 的基本jar包 引入 aop 开发的相关jar包 配置文件中引入 aop约束 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xml
阅读全文
摘要:是的你没听错,ES7 之后支持 SQL 操作了,至少需要 JDK11 版本 语法 POST /_sql?format=txt { "query":"select * from article" } 这里的 format=txt 是指显示的方式,除了 txt 之外,还支持以下的方式 csv、json、
阅读全文
摘要:Joinpoint : 连接点 可以被拦截到的方法 能够被增强的方法,这些方法就可以称为是 连接点 Pointcut : 切入点 真正被拦截的方法 真正被增强的方法 Advice : 通知 增强的内容 通常都是封装成一个方法,这个方法我们就称为是 通知 Introduction : 引介 类层面的增
阅读全文
摘要:SPU SPU = Standard Product Unit(标准化产品单元) SPU 是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合 该集合描述了一个产品的特性 SPU属性 不会影响到 库存 和 价格 的属性,又叫 关键属性 举例 OPPO R17 这是商品的 SPU 但 OP
阅读全文
摘要:所谓 聚合,就是在查询完某些数据之后,进行 group by 等操作,并进行一系列的统计 基本语法如下: POST /index/_search { "size":0, "query":{ "match_all":{ } }, "aggs":{ "group_by_model":{ "terms":
阅读全文
摘要:什么是分词器 给你一段句子,然后将这段句子拆分成一个一个的单个的单词,同时对每个单词进行时态转换(单复数、同义词) 分词器的组成部分如下: 字符过滤:在一段文本进行分词之前,先进行预处理,比如过滤 HTML 标签 分词:hello world java → hello, world, java 字符
阅读全文
摘要:什么是React React 起源于 Facebook 的内部项目 因为 Facebook 对市场上所有的 JavaScript MVC 框架,都不满意 就决定自己写一个框架,用来架设 Instagram 的网站 来源:https://reactjs.org/blog/2013/06/05/why-
阅读全文
摘要:普通搜索 语法如下: GET /index/_search /article/_search 查询结果解释 took:执行的时长,毫秒 timed_out:是否超时 _shards:到几个分片中搜索(也就是到了多少个库中进行了检索),成功几个,跳过几个,失败几个 total:查询总数 max_sco
阅读全文
摘要:文档 ID 生成 手动生成 当我们从外界导入数据到 ES 时,我们并不希望改变原本数据的主键,就需要手动设置 ID 手动设置的方式在上面已经学习 方式如下: PUT /index/type/id 自动生成 语法如下: POST /index/type 自动生成的 ID,长度是 20 个字符的 GUI
阅读全文
摘要:ES 采用 JSON 形式的 RESTFUL API 接受数据并响应,操作起来极为简单,只需要使用 PostMan 即可 我这里使用的不是 PostMan 你们随意只要可以发送 HTTP 请求即可 查看集群的健康情况 GET /_cat/health?v 以下是对返回的参数的解释 cluster:集
阅读全文
摘要:搭建Docker 参考:https://www.cnblogs.com/BNTang/articles/13776799.html 创建存放数据目录 mkdir -p /usr/local/dockeres/data mkdir -p /usr/local/dockeres/logs mkdir -
阅读全文
摘要:准备说明 安装 JDK,至少 1.8 版本 Linux 版本的 JDK 可以自行去 JDK 官网下载即可:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 下载 JDK 上传至 Centos 中的 /
阅读全文
摘要:Windows 安装 JDK,至少要 1.8 版本(略) 然后去官网进行下载 官网地址:https://www.elastic.co/cn/downloads/elasticsearch 下载安装包并解压 目录说明 bin 脚本目录,包括:启动、停止等可执行脚本 config 配置文件目录 data
阅读全文
摘要:ES的简介 ElasticSearch(简称 ES) 是使用 Java 开发,基于 Lucene、分布式、通过 Restfu 的方式进行交互的 近实时 的搜索平台框架 它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,Restful 风格接口,多数据源,自动搜索负载等 ES 是 EL
阅读全文
摘要:概述 在上图的模型中,有以下概念 P:生产者,也就是要发送消息的程序 C:消费者,消息的接受者,会一直等待消息的到来 Queue:消息队列,图中蓝色部分 类似一个邮箱,可以缓存消息 生产者向其中投递消息,消费者从其中取出消息 创建生产者生产消息 代码如下: /** * @author: BNTang
阅读全文
摘要:AMQP协议的回顾 RabbitMQ支持的消息模式 官方介绍:https://www.rabbitmq.com/getstarted.html 注意 3.7 版本的 RabbitMQ 不支持 第7种 模式 创建一个空项目RabbitMQ-Code 设置名称,设置存放地址 点击了 Finish 之后会
阅读全文
摘要:Overview Overview 概览 connections:无论生产者还是消费者,都需要与 RabbitMQ 建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况 channels:通道,建立连接后,会形成通道,消息的投递获取依赖的通道 Exchanges:交换机,用来实现消息的路由
阅读全文
摘要:名词解释 Message 消息,消息是没有名字的,它由 消息头 和 消息体 组成 消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括 routing-key(路由键) priority(相对于其他消息的优先权) delivery-mode(指出该消息可能需要持久性存储)等 Publis
阅读全文
摘要:安装前的说明 RabbitMQ → Erlang → 安装 Erlang 虚拟机 → 跑 RabbitMQ 这种方式比较麻烦 RabbitMQ 对 Docker 的支持非常到位! 官网经常更新镜像,所以怎么办呢 当然是用 Docker 跑啦,嘿嘿 安装RabbitMQ 搭建Docker 确保 Cen
阅读全文
摘要:生活中的案例 学生问问题 分布式项目中通过 RPC 框架调用处理时间过长的问题 为什么要使用MQ 微服务架构后,链式调用是我们在写程序的时候都是基本的写法 为了这完成这一个整体功能会把它拆分成多个函数(或子模块) 比如模块 A 调用模块 B,模块 B 调用模块 C,模块 C 调用模块 D 但是大型分
阅读全文
摘要:SpringBoot 默认使用 Servlet3.0 可以没有 web.xml 没有任何的 xml 如果我们想要做一些自定义的配置 比如数据库相关的配置,该如何配置 可以使用 Java 的配置方式 配置的演变 Spring1.0 时代:Spring 的配置都是使用 xml 的方式 Spring2.0
阅读全文
摘要:统一管理所有 jar 包的版本 管理所有 jar 包的依赖 其中包含了 SpringBoot 给我们提供的很多的 starter 启动器 关于:../../spring-boot-dependencies 你可以去你的 maven 仓库中进行查找一下 然后找到对应的文件夹目录 点进去,找到自己对应的
阅读全文
摘要:关于 热部署 也就是你修改了代码,不需要重启服务器啥的自动加载最新的代码 添加如下依赖即可: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId>
阅读全文
摘要:主题官方文档:https://guangzan.gitee.io/awescnb-docs/ 快速美化 接下来开始由我来给你们讲解 首先需要切换博客园的皮肤,切换方式如下图,选择设置下方我框出来的就是切换博客园提供的皮肤的位置: 然后按照文档中讲解的复制 JS、CSS、HTML,如下是 CSS 样式
阅读全文
摘要:从零使用Maven搭建 首先使用 intellij IDEA 创建一个 Maven 工程 因为我这里使用的是 Maven 来引入和管理依赖的 点击 intellij IDEA 右上角的 File → New → Project,然后就会出现下图中的样子: 关于 intellij IDEA 的配置和用
阅读全文
摘要:什么是SpringBoot 官方地址:https://spring.io/projects 这是 Spring 全家桶的所有项目 SpringBoot 是 Spring 项目中的一个 子工程 与我们所熟知的 Spring Framework 都是属于 Spring 的产品 设计的目的是用来简化 Sp
阅读全文
摘要:AOP简介 在软件开发行业,AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程 通过 预编译 的方式和运行期间,使用动态代理的方式来实现程序功能的统一维护的一种技术 AOP 是 OOP (面向对象)的延续,是软件开发中的一个热点,也是 Spring 框架中
阅读全文
摘要:@Component 标记一个类,将这个类交给 Spring 管理 相当于在配置文件当中配置的 <bean id="" class=""> @Component的三个衍生注解 @Controller:web层 @Service:service层 @Repository:dao层 为了更好的进行 分层
阅读全文
摘要:在 Spring4 之后,也就是 5 开始,想要使用IOC注解的形式,必须得要引入 Aop 的包 在 applicationContext.xml 配置文件当中,还得要引入一个 context约束 xmlns:context="http://www.springframework.org/schem
阅读全文
摘要:构造方法的方式 首先新建一个 User 类 这个类当中有一个构造器,两个参数的,就是待会用它来进行注入 /** * @author: BNTang **/ public class User { private String name; private Integer age; public Use
阅读全文
摘要:NodeJS 环境和浏览器环境一样都是一个 JS 的运行环境, 都可以执行JS代码 但是由于 宿主 的不同所以特点也有所不同 内置对象不同 浏览器环境中提供了 window 全局对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF
阅读全文
摘要:Node程序执行方式 由于浏览器中集成了 V8引擎, 所以浏览器可以解释执行JS代码 可以直接在浏览器控制台中执行JS代码 可以在浏览器中执行 JS 文件 中的JS代码 输出结果: 由于 NodeJS 中也集成了 V8引擎 所以 NodeJS 中也可以解释执行 JS 代码 可以直接在命令行工具中编写
阅读全文
摘要:首先需要创建一个 Node 项目 npm init -y 然后安装 Sequelize npm install sequelize 导入 Sequelize const Sequelize = require('sequelize'); 配置连接信息: 第一个参数:要操作的数据库名称 第二个参数:数
阅读全文