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

《黑马前端ajax+node.js+webpack+git教程》(笔记)——node.js教程+webpack教程(nodejs教程)

黑马程序员前端AJAX入门到实战全套教程,包含学前端框架必会的(ajax+node.js+webpack+git),一套全覆盖

文章目录

    • Node.js与Webpack-01.Node.js入门
      • 定义和作用
      • 什么是前端工程化?(离不开node.js)
      • Node.js 为何能执行JS?
      • Node.js 安装
      • 终端如何使用node.js
        • 可以用windows控制台
        • 也可以用vscode
        • vocode配置默认终端为windows cmd
      • 代码示例
        • 需求
        • 实战
      • 总结
    • Node.js与Webpack-02.fs模块-读写文件(fs.writeFile()、fs.readFile())
      • 定义
      • 代码示例
    • Node.js与Webpack-03.path模块-路径处理
      • 问题示例
      • path模块(`__dirname`获取绝对文件路径;path.join()拼接跨平台路径)
      • 代码示例
      • 建议在代码中用__dirname获取文件绝对路径,这样不论在哪个工作路径运行代码,代码都能找到相对的资源文件;同时path模块在处理`/`或`\`时会自动做跨平台处理,不用自行构建
    • Node.js与Webpack-04.案例-压缩前端html
      • 定义
      • 代码示例(将html代码中的换行符和回车符都替换成空格)
    • Node.js与Webpack-05.URL中的端口号
      • 定义
      • 常见服务程序
      • 总结
    • Node.js与Webpack-06.http模块-创建Web服务
      • 创建web服务http接口
      • 代码示例
    • Node.js与Webpack-07.案例-浏览时钟
      • 需求
      • 步骤
      • 代码
    • Node.js与Webpack-08.模块化简介(如何定义js模块)
      • 定义(模块就是一个js文件)
      • CommonJS标准(默认支持,不需要添加package.json)(导出:module.exports = {}、导入:require('模块名或路径'))
      • 代码示例
      • 总结
    • Node.js与Webpack-09.ECMAScript标准-`默认导出和导入`(官方推荐)(导出:export default = {}、导入:import 变量名 from '模块名或路径')
      • 定义(ECMAScript标准导出和导入,需要在模块下增加package.json)
      • 代码示例
      • 总结
    • Node.js与Webpack-10.ECMAScript标准-`命名导出和导入`(如果不想一次性全部导入,想只导入需要的可以用这个)
      • 定义
      • 代码示例
      • 总结
    • Node.js与Webpack-11.包的概念
      • 定义(一个文件夹,有两种类型:项目包、软件包)
      • 代码示例
      • 总结
    • Node.js与Webpack-12.npm软件包管理器
      • 定义与使用
      • 示例
        • 目标
        • 终端打开项目文件夹
        • 执行`npm init -y`初始化`package.json`
        • 执行`npm i dayjs`安装库
        • 执行`node server.js`使用软件包
      • 总结
    • Node.js与Webpack-13.npm安装所有依赖
      • 定义:`npm i`可根据package.json下载所需软件包
      • 测试
      • 总结
    • Node.js与Webpack-14.npm全局软件包-nodemon
      • 定义
      • 安装
      • 运行测试
      • 总结
    • Node.js与Webpack-15.Node.js概念和常用命令总结
      • Node.js模块化总结
      • Node.js包总结
      • 常用命令总结
    • Node.js与Webpack-16.Webpack简介以及体验
      • Webpack介绍
      • 使用示例
    • Node.js与Webpack-17.Webpack修改入口和出口
      • webpack.config.js文件(位于项目根目录)
      • 入口和出口官方文档
    • Node.js与Webpack-18.案例-用户登录-长度判断
      • 案例需求定义
      • 代码示例
    • Node.js与Webpack-19.Webpack自动生成html文件(html-webpack-plugin插件)
      • 定义
      • 官方文档
      • 实战训练
    • Node.js与Webpack-20.Webpack打包css代码(将css打包到js代码中)(css-loader插件)
      • 定义
      • 官网
      • 实战
    • Node.js与Webpack-21.优化-提取css代码(将css代码打包成独立文件)(mini-css-extract-plugin插件)
      • 定义
      • 官网
      • 实操
    • Node.js与Webpack-22.优化-压缩过程(压缩代码压缩、生产模式压缩)(css-minimizer-webpack-plugin插件)
      • 问题
      • 定义
      • 使用方法
      • 实操
        • 步骤:
        • 安装
        • 打开配置文件`webpack.config.js`加上代码,按照官网[http://webpack.docschina.org/plugins/css-minimizer-webpack-plugin/](http://webpack.docschina.org/plugins/css-minimizer-webpack-plugin/)上的加就行:
        • 执行打包`npm run build`
    • Node.js与Webpack-23.Webpack打包less代码
      • 定义
    • Node.js与Webpack-24.Webpack打包图片
      • 定义
    • Node.js与Webpack-25.案例-用户登录-功能完成
      • 定义
      • 操作
    • Node.js与Webpack-26.Webpack搭建开发环境(webpack-dev-server)增加开发效率
      • 定义
      • 实操
    • Node.js与Webpack-27.Webpack打包模式(development和production)
      • 定义
    • Node.js与Webpack-28.Webpack打包模式应用(需求:在开发模式下用 style-loader内嵌更快,在生产模式下提取 css 代码)
      • 解决方案:使用cross-env环境变量工具,可以设置不同环境变量来读取process.env来配置不同打包模式(需修改代码)
      • 实操
    • Node.js与Webpack-29.前端-注入环境变量(注意:cross-env 设置的只在 Node.js 环境生效,前端代码无法访问process.env.NODE_ENV,所以需要DefinePlugin插件来注入环境变量)
      • 定义
      • 实操
    • Node.js与Webpack-30.Webpack开发环境调错(inline-source-map插件)
      • 定义
      • 实操(原来webpack.config.js的配置就是js对象的配置)
    • Node.js与Webpack-31.Webpack解析别名alias
      • 定义
      • 实操
    • Node.js与Webpack-32.优化-生产模式下使用CDN(bootcdn)
      • 定义
      • 实操
    • Node.js与Webpack-33.Webpack多页面打包
      • 定义
    • Node.js与Webpack-34.案例-打包发布文章页面
      • 定义
    • Node.js与Webpack-35.优化-分割公共代码(打包的代码有复用冗余,太大,用这个方法提取公共代码)
      • 定义
    • Node.js与Webpack-36.总结
      • 总结
    • Git-01.初识
    • Git-02.仓库
    • Git-03.三个区域
    • Git-04.文件状态
    • Git-05.暂存区使用
    • Git-06.练习-登录页面
    • Git-07.回退版本
    • Git-08.删除文件
    • Git-09.忽略文件
    • Git-10.分支
    • Git-11.练习-登录修复
    • Git-12.分支-合并与删除
    • Git-13.分支-合并与提交
    • Git-14.分支-合并冲突
    • Git-15.常用命令
    • Git-16.远程仓库
    • Git-17.远程仓库-克隆
    • Git-18.多人协同开发
    • Git-19.在VSCode中使用
    • Git-20.部署黑马头条数据管理平台
    • Git-21.命令总结
    • 前端框架前置课程完结篇

Node.js与Webpack-01.Node.js入门

定义和作用

在这里插入图片描述

什么是前端工程化?(离不开node.js)

在这里插入图片描述

Node.js 为何能执行JS?

在这里插入图片描述

Node.js 安装

https://nodejs.org/zh-cn

在这里插入图片描述

终端如何使用node.js

可以用windows控制台

在这里插入图片描述

也可以用vscode

在这里插入图片描述

建议用cmd终端,别用poweshell终端。

在这里插入图片描述

在这里插入图片描述

vocode配置默认终端为windows cmd

在这里插入图片描述
在这里插入图片描述

代码示例

需求

在这里插入图片描述

实战

在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-02.fs模块-读写文件(fs.writeFile()、fs.readFile())

定义

在这里插入图片描述

代码示例

在这里插入图片描述
在这里插入图片描述

const fs = require('fs')fs.writeFile('./test.txt', 'hello, Node.js', (err) => {if (err) {console.log('err')}else {console.log('写入成功')}
})fs.readFile('./test.txt', (err, data) => {if (err) {console.log(err)}else {console.log(data.toString())}
})

在这里插入图片描述

Node.js与Webpack-03.path模块-路径处理

问题示例

在这里插入图片描述

path模块(__dirname获取绝对文件路径;path.join()拼接跨平台路径)

在这里插入图片描述

代码示例

在这里插入图片描述

建议在代码中用__dirname获取文件绝对路径,这样不论在哪个工作路径运行代码,代码都能找到相对的资源文件;同时path模块在处理/\时会自动做跨平台处理,不用自行构建

Node.js与Webpack-04.案例-压缩前端html

定义

在这里插入图片描述

代码示例(将html代码中的换行符和回车符都替换成空格)

/g表示全局匹配
在这里插入图片描述
在这里插入图片描述

Node.js与Webpack-05.URL中的端口号

定义

在这里插入图片描述

常见服务程序

在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-06.http模块-创建Web服务

创建web服务http接口

在这里插入图片描述

代码示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Node.js与Webpack-07.案例-浏览时钟

需求

在这里插入图片描述

步骤

在这里插入图片描述

代码

在这里插入图片描述

在这里插入图片描述

Node.js与Webpack-08.模块化简介(如何定义js模块)

定义(模块就是一个js文件)

在这里插入图片描述

CommonJS标准(默认支持,不需要添加package.json)(导出:module.exports = {}、导入:require(‘模块名或路径’))

在这里插入图片描述

代码示例

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-09.ECMAScript标准-默认导出和导入(官方推荐)(导出:export default = {}、导入:import 变量名 from ‘模块名或路径’)

定义(ECMAScript标准导出和导入,需要在模块下增加package.json)

在这里插入图片描述

代码示例

在这里插入图片描述

在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-10.ECMAScript标准-命名导出和导入(如果不想一次性全部导入,想只导入需要的可以用这个)

定义

在这里插入图片描述

代码示例

在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-11.包的概念

定义(一个文件夹,有两种类型:项目包、软件包)

在这里插入图片描述

唯一出口文件index.js不是必须的,如果不存在,就会到package.json中去找定义的入口文件(main属性指定的入口文件)

代码示例

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-12.npm软件包管理器

定义与使用

在这里插入图片描述

示例

目标

在这里插入图片描述
在这里插入图片描述

终端打开项目文件夹

在这里插入图片描述

执行npm init -y初始化package.json
npm init -y

在这里插入图片描述

{"name": "05","version": "1.0.0","main": "server.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","start": "node server.js"},"keywords": [],"author": "","license": "ISC","description": ""
}
执行npm i dayjs安装库

在这里插入图片描述

装好后自动在package.json中记录了这个包版本:

在这里插入图片描述

执行node server.js使用软件包

在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-13.npm安装所有依赖

定义:npm i可根据package.json下载所需软件包

在这里插入图片描述

测试

在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-14.npm全局软件包-nodemon

定义

在这里插入图片描述

安装

全局安装:npm i nodemon -g
在这里插入图片描述

运行测试

nodemon server.js

修改代码后,按ctrl + s保存代码,程序将会自动重启。

在这里插入图片描述

总结

在这里插入图片描述

Node.js与Webpack-15.Node.js概念和常用命令总结

Node.js模块化总结

在这里插入图片描述

Node.js包总结

在这里插入图片描述

常用命令总结

在这里插入图片描述

Node.js与Webpack-16.Webpack简介以及体验

Webpack介绍

在这里插入图片描述

使用示例

在这里插入图片描述

npm i webpack webpack-cli --save-dev

具体参考文章:webpack介绍(现代JS应用静态模块打包工具,在内部构建依赖图,映射项目所需模块,生成打包后的文件)webpack.config.js

Node.js与Webpack-17.Webpack修改入口和出口

webpack.config.js文件(位于项目根目录)

在这里插入图片描述
示例文件:

文件中建议入口文件和出口文件都使用绝对路径。
在这里插入图片描述

入口和出口官方文档

在这里插入图片描述

Node.js与Webpack-18.案例-用户登录-长度判断

案例需求定义

在这里插入图片描述

代码示例

https://gitee.com/arnold_s/my-learning-test/tree/master/20250501_node.jsTest/08_WEBPACK_STUDY

Node.js与Webpack-19.Webpack自动生成html文件(html-webpack-plugin插件)

定义

在这里插入图片描述

官方文档

http://webpack.docschina.org/plugins/

http://webpack.docschina.org/plugins/html-webpack-plugin

在这里插入图片描述

完整参数:
https://github.com/jantimon/html-webpack-plugin#options

在这里插入图片描述

实战训练

在这里插入图片描述

npm i html-webpack-plugin --save-dev

在这里插入图片描述
配好执行命令打包就行:

在这里插入图片描述

Node.js与Webpack-20.Webpack打包css代码(将css打包到js代码中)(css-loader插件)

定义

在这里插入图片描述

官网

http://webpack.docschina.org/loaders/css-loader/

在这里插入图片描述
注意加载器会从后往前使用,先使用css-loader,再使用style-loader。

实战

在这里插入图片描述
在这里插入图片描述

执行npm run build,然后css被打包到js里了:

在这里插入图片描述

打开dist中的login.html:

在这里插入图片描述

在这里插入图片描述

Node.js与Webpack-21.优化-提取css代码(将css代码打包成独立文件)(mini-css-extract-plugin插件)

定义

在这里插入图片描述

npm install --save-dev mini-css-extract-plugin

在这里插入图片描述

官网

http://webpack.docschina.org/plugins/mini-css-extract-plugin/

在这里插入图片描述

实操

在这里插入图片描述

npm run build

在这里插入图片描述

生成了单独的main.css文件:

在这里插入图片描述

html文件中也有引入main.css的代码:

在这里插入图片描述

打开html,也没有问题:

在这里插入图片描述
在这里插入图片描述

Node.js与Webpack-22.优化-压缩过程(压缩代码压缩、生产模式压缩)(css-minimizer-webpack-plugin插件)

问题

上一节自己写的css代码并没有被压缩:

在这里插入图片描述

定义

http://webpack.docschina.org/plugins/mini-css-extract-plugin/#minimizing-for-production
在这里插入图片描述

http://webpack.docschina.org/plugins/css-minimizer-webpack-plugin/

在这里插入图片描述

使用方法

在这里插入图片描述

实操

步骤:

在这里插入图片描述

安装
npm i css-minimizer-webpack-plugin --save-dev

在这里插入图片描述

打开配置文件webpack.config.js加上代码,按照官网http://webpack.docschina.org/plugins/css-minimizer-webpack-plugin/上的加就行:
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
    // 优化打包过程optimization: {minimizer: [// 在 webpack@5 中,你可以使用 `...` 语法来扩展现有的 minimizer(即 `terser-webpack-plugin`),将下一行取消注释// `...`,new CssMinimizerPlugin(),],},

在这里插入图片描述

记得取消...注释,具体原因参考文章:为什么在Webpack 5 中,直接添加new CssMinimizerPlugin()到optimization.minimizer数组而不取消注释…语法,会导致JavaScript压缩失效?

执行打包npm run build

在这里插入图片描述

然后我发现没压缩,原因不知道是谁在webpack.config.js中设置了开发模式而不是生产模式:

在这里插入图片描述

解决方法可以是直接把配置文件改成生产模式,也可以根据官网把 optimization.minimize 设置为 true:

http://webpack.docschina.org/plugins/css-minimizer-webpack-plugin/
在这里插入图片描述
在这里插入图片描述
然后重新编译发现可以打包了:

在这里插入图片描述

Node.js与Webpack-23.Webpack打包less代码

http://webpack.docschina.org/loaders/less-loader#root

https://www.bilibili.com/video/BV1MN411y7pw/?p=105

定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Node.js与Webpack-24.Webpack打包图片

http://webpack.docschina.org/guides/asset-modules/#root

https://www.bilibili.com/video/BV1MN411y7pw/?p=106

定义

在这里插入图片描述
在这里插入图片描述

Node.js与Webpack-25.案例-用户登录-功能完成

定义

在这里插入图片描述
在这里插入图片描述

操作

cd D:\3_coding\my-learning-test_edit\20250501_node.jsTest\09_webpack_user_login_axios
npm i axios
npm i webpack webpack-cli --save-devnpm install --save-dev css-loader style-loader less less-loader html-webpack-plugin mini-css-extract-plugin terser-webpack-plugin clean-webpack-plugin babel-loader @babel/core @babel/preset-envnpm run build

Node.js与Webpack-26.Webpack搭建开发环境(webpack-dev-server)增加开发效率

定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实操

在这里插入图片描述

npm i webpack-dev-server --save-dev

在这里插入图片描述
在这里插入图片描述

npm run dev

Node.js与Webpack-27.Webpack打包模式(development和production)

定义

在这里插入图片描述

不建议在webpack.config.js中改,建议在package.json中改

Node.js与Webpack-28.Webpack打包模式应用(需求:在开发模式下用 style-loader内嵌更快,在生产模式下提取 css 代码)

解决方案:使用cross-env环境变量工具,可以设置不同环境变量来读取process.env来配置不同打包模式(需修改代码)

在这里插入图片描述

实操

在这里插入图片描述

npm i cross-env --save-dev

在这里插入图片描述
在这里插入图片描述

Node.js与Webpack-29.前端-注入环境变量(注意:cross-env 设置的只在 Node.js 环境生效,前端代码无法访问process.env.NODE_ENV,所以需要DefinePlugin插件来注入环境变量)

定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实操

在这里插入图片描述
在这里插入图片描述

在开发环境运行代码和在打包后生产环境运行,呈现不同效果。

Node.js与Webpack-30.Webpack开发环境调错(inline-source-map插件)

定义

在这里插入图片描述

实操(原来webpack.config.js的配置就是js对象的配置)

在这里插入图片描述
配置了它之后,浏览器在开发模式下就能定位到准确代码位置,生产模式下无法定位

Node.js与Webpack-31.Webpack解析别名alias

定义

在这里插入图片描述

在这里插入图片描述

通过这个路径就能找到了:
在这里插入图片描述

在这里插入图片描述

实操

在这里插入图片描述

Node.js与Webpack-32.优化-生产模式下使用CDN(bootcdn)

定义

在这里插入图片描述
在这里插入图片描述

实操

https://www.bootcdn.cn/axios/
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后测试:

开发环境:

npm run dev

生产环境:

npm build

Node.js与Webpack-33.Webpack多页面打包

定义

在这里插入图片描述
在这里插入图片描述

感觉内容好多好乱,看得我都懵逼了!

https://www.bilibili.com/video/BV1MN411y7pw?p=115

Node.js与Webpack-34.案例-打包发布文章页面

定义

在这里插入图片描述
在这里插入图片描述

懵,尤其对打包配置,配来配去,不知道为啥这么配,配的地方又多,不知道学了ts后会不会好点!!

Node.js与Webpack-35.优化-分割公共代码(打包的代码有复用冗余,太大,用这个方法提取公共代码)

定义

在这里插入图片描述

说是后面vue react之类的,浏览器没法直接运行,必须得用webpack打包的

Node.js与Webpack-36.总结

总结

在这里插入图片描述

vue react 小程序

Git-01.初识

Git-02.仓库

Git-03.三个区域

Git-04.文件状态

Git-05.暂存区使用

Git-06.练习-登录页面

Git-07.回退版本

Git-08.删除文件

Git-09.忽略文件

Git-10.分支

Git-11.练习-登录修复

Git-12.分支-合并与删除

Git-13.分支-合并与提交

Git-14.分支-合并冲突

Git-15.常用命令

Git-16.远程仓库

Git-17.远程仓库-克隆

Git-18.多人协同开发

Git-19.在VSCode中使用

Git-20.部署黑马头条数据管理平台

Git-21.命令总结

前端框架前置课程完结篇

相关文章:

《黑马前端ajax+node.js+webpack+git教程》(笔记)——node.js教程+webpack教程(nodejs教程)

黑马程序员前端AJAX入门到实战全套教程,包含学前端框架必会的(ajaxnode.jswebpackgit),一套全覆盖 文章目录 Node.js与Webpack-01.Node.js入门定义和作用什么是前端工程化?(离不开node.js)Node.…...

Flink 快速入门

本文涉及到大量的底层原理知识,包括运行机制图解都非常详细,还有一些实战案例,所以导致本篇文章会比较长,内容比较多,由于内容太多,很多目录可能展示不出来,需要去细心的查看,非常适…...

高效管理多后端服务:Nginx 配置与实践指南

在现代的 Web 开发和运维中,一个系统往往由多个后端服务组成,每个服务负责不同的功能模块。例如,一个电商网站可能包括用户服务、订单服务和支付服务,每个服务都运行在独立的服务器或容器中。为了高效地管理这些服务并提供统一的访…...

阻塞队列:线程安全与生产者消费者模型解析

一、阻塞队列 阻塞队列就是基于普通队列做出扩展 1.线程安全的 如果针对一个已经满了的队列进行入队列,此时入队列操作就会阻塞,一直阻塞到队列不满(其他线程出队列元素)之后 如果针对一个已经空了的队列进行出队列&#xff0c…...

【入门|Docker】基础知识扫盲:什么是 Docker?

文章目录 基础知识扫盲:什么是 Docker?Docker 是什么?Docker 核心组件Docker 与虚拟机的区别Docker 在现代开发中的核心角色Docker 的局限性 基础知识扫盲:什么是 Docker? 最近打算开始系统性地学习与云计算相关的技术…...

如何利用 Java 爬虫获得某书笔记详情:实战指南

在知识分享和学习的领域,许多平台提供了丰富的书籍笔记和学习资源。通过 Java 爬虫技术,我们可以高效地获取这些笔记的详细信息,以便进行进一步的分析和整理。本文将详细介绍如何利用 Java 爬虫获取某书笔记详情,并提供完整的代码…...

【MYSQL】基本查询,表的增删查改

📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🅒 C 语言 | 🌐 计算机网络 |🗃️ mysql 摘要:本文详细介绍了MySQL中的CRUD操作(创…...

在嵌入式系统中, 一般链路层断开多久,断开TCP为好

一、典型场景与推荐策略 1. 实时性优先(工业控制、自动化设备) 需求:快速释放资源,避免因等待重传浪费内存或阻塞任务。 策略: 立即断开:在lwip_netif_link_callback中检测到链路断开后直接关闭TCP连接&a…...

Android Studio 日志系统详解

文章目录 一、Android 日志系统基础1. Log 类2. 日志级别 二、Android Studio 中的 Logcat1. 打开 Logcat2. Logcat 界面组成3. 常用 Logcat 命令 三、高级日志技巧1. 自定义日志工具类2. 打印方法调用栈3. 打印长日志4. JSON 和 XML 格式化输出 四、Logcat 高级功能1. 自定义日…...

基于matlab的D2D 功率控制仿真

基于MATLAB的D2D(Device-to-Device)功率控制仿真示例,包含系统建模、功率控制算法实现和性能分析。该仿真以蜂窝网络为背景,重点关注D2D用户间的干扰管理和功率优化。 1. 系统模型与参数设置​ clc; clear; close all;%% 参数配置…...

互联网大厂Java面试:从基础到复杂场景的技术挑战

互联网大厂Java面试:从基础到复杂场景的技术挑战 场景描述 在一家知名互联网大厂的会议室里,面试官严肃地坐在桌子的一侧,而对面则是一位充满喜感的应聘者——谢飞机。面试官准备了一系列关于Java技术栈的提问,涵盖了从基础到复…...

使用Redission来实现布隆过滤器

简述布隆过滤器 布隆过滤器是一种概率型数据结构,它可以用来判断一个元素是否在一个集合中。我们当时使用的是Redisson实现的布隆过滤器。它的底层原理是,先初始化一个比较大的数组,里面存放的是二进制0或1。一开始都是0,当一个k…...

为 Windows 和 Ubuntu 中设定代理服务器的详细方法

有时下载大模型总是下载不出来,要配置代理才行 一、Windows代理设置 ① 系统全局代理设置 打开【设置】→【网络和Internet】→【代理】。 在【手动设置代理】下,打开开关,输入: 地址:10.10.10.215 端口:…...

Feign异步模式丢失上下文问题

Feign异步模式丢失上下文问题 问题描述 当我们使用异步对我们代码进行操作优化时,代码中使用了RequestContextHolder去获取上下文的数据,当我们执行原来可以执行的业务时发现报了空指针异常或数据为空,这是为什么呢? 原理解释 …...

OpenCV阈值处理完全指南:从基础到高级应用

引言 阈值处理是图像处理中最基础、最常用的技术之一,它能够将灰度图像转换为二值图像,为后续的图像分析和处理奠定基础。本文将全面介绍OpenCV中的各种阈值处理方法,包括原理讲解、代码实现和实际应用场景。 一、什么是阈值处理&#xff1…...

【AWS入门】Amazon SageMaker简介

【AWS入门】Amazon SageMaker简介 [AWS Essentials] Brief Introduction to Amazon SageMaker By JacksonML 机器学习(Machine Learning,简称ML) 是当代流行的计算机科学分支技术。通常,人们在本地部署搭建环境,以满足机器学习的要求。 AWS…...

ArcGIS Pro 3.4 二次开发 - 内容

环境:ArcGIS Pro SDK 3.4 .NET 8 文章目录 内容1 工程1.1 创建一个空工程1.2 使用指定名称创建新工程1.3 使用Pro的默认设置创建新工程1.4 使用自定义模板文件创建新工程1.5 使用 ArcGIS Pro 提供的模板创建工程1.6 打开现有工程1.7 获取当前工程1.8 获取当前工程的…...

如何在 MongoDB 中设计文档结构?与关系型数据库的表结构设计有何不同?

在 MongoDB 中设计文档结构是一个核心且重要的环节,它直接影响应用的性能、可扩展性和可维护性。 MongoDB 文档结构设计原则与方法 MongoDB 的核心思想是数据如何被应用访问,就如何存储它。 嵌入 (Embedding / Denormalization) vs. 引用 (Referencing…...

MYSQL 故障排查与生产环境优化

目录 一.前置知识点 1. 案例需求 (1)mysql 常见故障解决 (2)mysql 性能优化 2.案例实施思路 (1)单库常见故障分析 (2)主从常见故障分析 (3)从几个不同…...

解决使用@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss“, timezone = “GMT+8“)时区转换无效的问题

前言 对于一些时间的字段,我们从数据库查询出来通常需要转换后返回给前端展示,前端需要的格式一般为yyyy-MM-dd HH:mm:ss,可以通过JsonFormat注解来作转换和时区转换。 问题场景 原因 LocalDateTime类本身不带时区信息所以转换无效 解决办…...

计算机网络概要

⽹络相关基础知识 协议 两设备之间使⽤光电信号传输信息数据 要想传递不同信息 那么⼆者ᳵ就需要约定好的数据格式 层 封装 继承 多态是计算机的性质 它们⽀持了软硬件分层的实现 同层协议可以ᳵ接通信 同层协议ᳵ不直接通信 是各⾃调⽤下层提供的结构能⼒完成通信 分层…...

Word压缩解决方案

Word压缩解决方案:基于图片压缩的 .docx 优化实践 📌 背景 在日常科研写作或项目文档整理中,Word 文档(.docx)往往因为插入大量高清图表、扫描图像、公式图等导致文件体积过大,或者毕业学位论文查重要求上…...

Spring Boot开发—— 整合Lucene构建轻量级毫秒级响应的全文检索引擎

文章目录 一、为什么选择 Lucene?轻量级搜索的底层密码二、核心原理:Lucene 的倒排索引2.1 倒排索引:速度之源2.2 段合并优化策略三、Spring Boot集成Lucene实战3.1 依赖配置3.2 实体与索引设计3.3 核心索引服务(含异常处理)3.4 使用示例(测试类)四、高级优化技巧4.1 索…...

TDengine 2025年产品路线图

TDengine OSS 之 2025 年年度路线图如下表所示。 季度功能2025Q1 虚拟表查询能力:REGEXP、GREATEST、LEAST、CAST 函数支持判断表达式、单行选择函数的其他列值、INTERP 支持插值时间范围存储能力:支持将查询结果写入超级表、超级表支持 KEEP 参数、STM…...

vue3中element-plus修改el-tooltip的宽度

注意选中的样式是 :deep(.el-popper .is-dark){max-width:30% !important; } 也有可能不需要后面的 .is-dark,看情况而定,总之不是.el-tooltip 修改el-tooltip的显示高度参考:前端字数太多使用el-table设置show-overflow-tooltip显示不下&a…...

Ubuntu服务器部署多语言项目(Node.js/Python)方式实践

Ubuntu服务器部署多语言项目(Node.js/Python)方式实践 服务器脚本运行方式命令行直接执行nohup后台执行进程 Screen概述安装基本操作命令启动 Screen退出当前会话(不终止进程)查看所有会话重连会话关闭会话 常用快捷键典型使用场景…...

计算机网络 - 2.基础协议

1.TCP协议 1.TCP(Transmission Control Protocol):传输控制协议2.TCP协议是一种面向连接的、可靠的、 基于字节流的传输层通信协议 1.面向连接:两个使用TCP协议的应用(通常一个客户和一个服务器)在彼此交换数据包之前必须先建立一个TCP连接2.可靠的 1.数据传输之前都要建立…...

Kafka消息路由分区机制深度解析:架构设计与实现原理

一、消息路由系统的核心架构哲学 1.1 分布式系统的三元悖论 在分布式消息系统的设计过程中,架构师需要平衡三个核心诉求:数据一致性、系统可用性和分区容忍性。Kafka的分区路由机制本质上是对CAP定理的实践解: 一致性维度:通过…...

机器学习中采样哪些事

在机器学习中采样主要分为两种,过采样(Oversample)和欠采样(Undersample)。过采样就是通过增加少数类样本的数量来平衡数据集。而欠采样就是通过减少多数类样本的数量来平衡数据集。 通常在进行采样中以下是几种常用的方法: 1. 随机采样 随…...

初识css,css语法怎样学好css以及常见问题与避坑

一、CSS 是什么? CSS(Cascading Style Sheets)是一种用于描述网页文档(HTML 或 XML)呈现样式的语言。它负责控制网页元素的视觉表现,如颜色、字体、布局等,使内容与展示分离。 二、CSS 语法结构…...