人不走空
🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录
🌈个人主页:人不走空 💖系列专栏:算法专题
⏰诗词歌赋:斯是陋室,惟吾德馨
1. 数据
2. 数据库
3. 数据库管理系统(DBMS)
4. 数据库系统
5. OLTP 和 OLAP
6. 数据模型
7. 函数依赖
8. 范式
9. 反范式
10. ER 图
11. 数据库管理工具
12. 数据库安全性
作者其他作品:
数据库是现代信息系统中不可或缺的基础设施之一,而要深入了解数据库,首先需要熟悉其中的核心术语。本文将对数据库中的关键概念进行解析,并探讨其在实际应用中的意义和应用场景。
1. 数据 数据是数据库中存储的基本对象,其本质是描述事物的符号。数据以多种表现形式存在,但需要通过解释才能完全表达其内容,因为数据和关于数据的解释是密不可分的。每个数据都有其独特的意义,而数据的解释即为对数据语义的说明。
2. 数据库 数据库是存放数据的仓库,通常位于计算机存储设备上,数据按一定格式存放。数据库具有长期存储、有组织、可共享等特点,其主要功能是对数据进行管理和控制,以保证数据的安全性和完整性。
3. 数据库管理系统(DBMS) 数据库管理系统是一种大型软件,用于操纵和管理数据库。它统一管理和控制数据库,用户通过DBMS访问数据,而数据库管理员则通过DBMS进行数据库的维护工作。DBMS的功能包括数据定义、组织、存储管理、数据操作、事务管理、数据库建立和维护、性能监视等。
4. 数据库系统 数据库系统由数据库、数据库管理系统、应用程序和数据库管理员组成,用于存储、管理、处理和维护数据。数据库系统在实现信息化管理、决策支持等方面发挥着重要作用。
5. OLTP 和 OLAP OLTP(联机事务处理)和OLAP(联机分析处理)是数据库管理系统的两种主要应用类型。OLTP用于处理数据库事务,而OLAP用于分析聚合数据。大多数公司同时使用OLTP和OLAP系统来满足其商业智能需求。
6. 数据模型 数据模型是对现实世界数据特征的抽象,用于描述、组织和操作数据。数据库系统基于某种数据模型,包括概念模型、逻辑模型和物理模型等。
概念模型:按照用户的观点对数据和信息建模,主要用于数据库设计,常用的方法有实体-联系模型(ER模型)。逻辑模型:描述计算机系统的观点对数据建模,主要用于数据库管理系统的实现,包括数据结构、数据操作和数据完整性约束等。物理模型:描述数据在系统内部的表示和存储方式,面向计算机系统。 7. 函数依赖 函数依赖描述了关系中属性之间的约束关系,或者依赖关系。它反映了一个关系中属性之间的依赖关系,是一种数据依赖关系。
8. 范式 数据库规范化,又称为范式,是数据库设计的指导理论。通过范式化设计,可以消除数据冗余,提高数据的一致性和完整性。主要有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)等。
第一范式(1NF):要求属性具有原子性,不可再分解。第二范式(2NF):要求记录有唯一标识,消除部分依赖。第三范式(3NF):消除传递依赖,字段没有冗余。 9. 反范式 反范式是相对于范式化设计而言的,其目的是为了提高查询效率,适当地冗余数据以减少表连接操作,从而优化数据库性能。
10. ER 图 ER 图是实体关系图的简称,用于描述现实世界的概念模型。通过实体、属性和联系的方式,清晰地表达了需求模型,为数据库设计提供了重要参考。
二手手机管理系统目录
目录
基于Springboot的二手手机管理系统设计与实现
一、前言
二、系统设计
三、系统功能设计
1、用户管理功能的实现界面
2、用户中心管理功能的实现界面
3、新闻信息管理功能的实现界面
4、商品收藏管理功能的实现界面
5、订单管理功能的实现界面
四、数据库设计
1、实体ER图
五、核心代码 六、论文参考
七、最新计算机毕设选题推荐
八、源码获取:
博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️
主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。
🍅文末获取源码联系🍅
基于Springboot的二手手机管理系统设计与实现 一、前言 促使二手交易网站的发展。二手交易网站可以实现远程购物,远程选择喜欢的商品和随时追踪订单的状态。二手交易网站给人们带来前所未有的体验,满足了新时代人们的购物需求,所以网上二手交易模式得到大力发展。
本系统为基于Springboot的华强北商城二手手机管理系统,是采用计算机和网络技术进行开发的在线交易平台,可以实现商品的展示、购买、评价以及销售等。本系统采用Java语言,数据库为Mysql,运行环境为Idea。使用角色分为注册用户、游客、管理员、商家,本系统的功能包括新闻管理、商品信息展示以及管理、注册用户管理、订单管理、商品评价同时还可以管理购物车。其中,游客负责浏览信息,注册用户可以购买商品、评价商品、管理订单,商家可以销售商品管理订单,管理员可以管理所有功能以及个人信息。本系统实现了商品的在线销售与购买,方便了购买者和销售者双方的利益,提高销量和购买效率,更符合现代人生活。
关键词:购物车,用户注册,商品信息管理,订单管理,Java语言
二、系统设计 系统的功能结构是系统实现的框架,本系统的主要结构为管理员和用户、商家。管理员的功能为个人中心管理、新闻管理、商品管理、订单管理、轮播图管理等。用户的功能为在线注册与登录、新闻浏览、商品信息浏览、我的购物车管理、我的订单管理、收藏管理和商品评价等。商家可以管理商品信息和商品的订单以及个人资料。
三、系统功能设计 1、用户管理功能的实现界面 用户注册后的资料管理员可以在注册用户管理功能里看到,本功能设计的目的是审核注册用户的资料,当发现不当的使用用户可以删除其账号。当删除注册用户信息后相对应的用户信息表里的信息也会随着删除掉。注册用户管理功能的运行界面如下图4-4所示:
图4-4用户管理功能的运行界面
2、用户中心管理功能的实现界面 用户中心管理的内容包括管理管理员账号和修改密码。本系统中可以拥有多个管理员。用户中心管理功能的运行界面如下图4-5所示:
图4-5用户中心管理功能的运行界面
3、新闻信息管理功能的实现界面 用户浏览的新闻都是由管理员在此功能里进行维护添加的,同样当管理员添加、编辑新闻后,数据库表中的版块表也会发生改变。添加新闻信息功能的运行界面如下图4-6所示:
图4-6添加新闻信息功能的运行界面
新闻信息管理功能还查询新闻。查询新闻的运行界面如下图4-7所示:
图4-7查询新闻的运行界面
4、商品收藏管理功能的实现界面 管理员可以查询收藏信息和管理收藏信息。查询商品收藏功能的运行界面如下图4-8所示:
图4.8查询商品收藏运行界面
5、订单管理功能的实现界面 用户下订单后,管理员都可以在本功能里收到。当审核订单无误后可以进行下一步操作。订单管理功能的运行界面如下图4-9所示:
图4-9订单管理功能的运行界面
四、数据库设计 1、实体ER图 管理员ER图包括的属性有管理员的编号、用户名和密码。管理员ER图如下图3-2所示: 图3-2管理员实体的ER图
商品信息包含的属性为商品的详细描述,有商品编号、商品名称等。商品信息ER图如下图3-3所示: 图3-3商品信息实体ER图
(3)注册用户信息的属性包括用户的个人资料,有姓名、性别、电话等。注册用户信息实体ER图如下图3-4所示:
图3-4注册用户实体ER图
(4)订单实体的属性有订单时间、订单编号、订单人等。订单实体ER图如下图3-5所示:
图3-5订单信息实体ER图
(5)评价信息实体的属性有评价人、评价内容、评价时间等。评价信息实体的ER图如下图3-6所示:
图3-6评价信息实体ER图
(6)新闻实体的属性有标题、内容、发布时间。新闻实体ER图如下图3-7所示:
图3-7新闻实体ER图
五、核心代码 package com.service.impl; import com.utils.StringUtil; import org.springframework.stereotype.Service; import java.lang.reflect.Field; import java.
一、背景与简介 随着无人机技术的快速发展,目标追踪成为无人机应用中的重要功能之一。YOLOv作为一种高效的目标检测算法,同样适用于目标追踪任务。通过集成YOLOv模型,我们可以构建一个无人机前端查看系统,实现实时目标追踪和可视化,为无人机操作员提供直观的操作界面和决策支持。
目录
一、背景与简介
二、系统架构
我们的系统主要包括三个部分:(YOLOv目标检测与追踪模块、无人机控制模块和前端查看界面。)
三、环境配置
与YOLOv应用开发类似,我们需要配置一个适合目标追踪的环境。
以下是基于conda的环境配置示例:
四、代码实现
以下是一个简化的代码示例:展示了如何集成YOLOv模型进行目标追踪,并通过前端查看界面展示结果:
五、前端代码实现
以下是一个简化的前端代码示例,用于展示如何通过WebSocket与后端进行通信,接收实时视频流和目标追踪结果,并在网页上进行展示。
HTML (index.html)
JavaScript (main.js) 在这个示例中:
六、系统测试与优化
在完成系统开发后,我们需要进行系统测试,确保目标追踪和前端查看功能正常工作。
系统测试
性能优化
七、未来展望
我们可以期待YOLOv系列的进一步升级改进,以及更多目标追踪的无人机应用场景的出现。
二、系统架构 我们的系统主要包括三个部分:(YOLOv目标检测与追踪模块、无人机控制模块和前端查看界面。) YOLOv模块||负责实时处理无人机传回的图像,进行目标检测和追踪。无人机控制模块||负责接收YOLOv模块的输出,控制无人机的飞行和拍摄。前端查看界面||则用于展示无人机拍摄的实时视频流和目标追踪结果,提供直观的可视化效果。 三、环境配置 与YOLOv应用开发类似,我们需要配置一个适合目标追踪的环境。 以下是基于conda的环境配置示例: conda create -n target_tracking python=3.8 conda activate target_tracking pip install torch torchvision pip install opencv-python pip install dronekit # 无人机控制库 除了安装YOLOv所需的依赖库外,还需要安装无人机控制相关的库和工具。 四、代码实现 以下是一个简化的代码示例:展示了如何集成YOLOv模型进行目标追踪,并通过前端查看界面展示结果: import cv2 import torch from models.experimental import attempt_load from utils.general import non_max_suppression, scale_coordinates from dronekit import connect, VehicleMode, LocationGlobalRelative # 加载YOLOv模型 model = attempt_load('yolov5s.
1.打开终端输入下列代码,打开配置文件 open ~/.bash_profile 2.在打开的配置文件中输入(以下代码3.11替换为所下载的版本即可) #下面是修改python版本的命令就是环境变量 export PYTHON_HOME=/Library/Frameworks/Python.framework/Versions/3.11 export PATH=$PYTHON_HOME/bin:$PATH alias python=$PYTHON_HOME/bin/python3.11 alias pip=$PYTHON_HOME/bin/pip3.11 3.Command+s保存文件后关闭文件❎ 4.回到终端窗口执行以下代码 source .bash_profile 5.在终端输入python或者python3检测更换成功
新建项目下Gradle sync报错:Plugin [id 'com.android.application' version '7.1.2' apply false] was not found in any of the following sources: 相信你在网上各种搜索答案,尝试了各种设置Http proxy,也配置了很多仓库,还是不能解决问题。
解决过程 在问题排除过程中,根据网上的博客猜测是版本Gradle和Gradle Plugins不匹配产生的问题,但是发现sync的过程中,build.gradle、settings.gradle中并未有如上现象。对此我百思不得其解。我不得已对项目中Gradle Scripts中的每个文件进行查询发现,在Gradle Scripts下的gradle.properties文件中,出现了下面的几行代码:
# Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx1024m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects.
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨
🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。
我是Srlua,在这里我会分享我的知识和经验。🎥
希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮
记得先点赞👍后阅读哦~ 👏👏
📘📚 所属专栏:数据库
欢迎访问我的主页:Srlua 获取更多信息和资源。✨✨🌙🌙
目录
数据库系统概述
数据库系统
数据库系统一般包含 4 个部分
1.数据库
2.数据库管理系统(DBMS)
3.应用程序
4.系统用户
数据库系统各部分之间的关系:
数据库系统特点
数据结构化
整体数据结构化
数据库中实现的是数据的真正结构化
数据的共享性高,几余度低,易扩充
数据共享的好处
数据独立性高
物理独立性
逻辑独立性
数据由 DBMS 统一管理和控制
DBMS 提供的数据控制功能
数据库系统的模式结构
三级模式结构
1.内模式
2.概念模式
3.外模式
总结
数据库管理系统(DBMS)DBMS 的功能主要包括以下几个方面:
1.数据库定义功能
2.数据操纵功能
3.数据库运行管理功能(DCL)
4.数据库的建立和维护功能
数据库(DB)、数据库系统(DBS)数据库管理系统(DBMS)三者之间的关系
数据库系统概述 数据库系统 数据库系统是以数据库技术为核心的计算机应用系统,其主要目的是处理生产和实践过程中产生的数据和信息,实现生产过程管理的自动化和信息化,提高信息管理效率。
数据库系统一般包含 4 个部分 1.数据库 定义:是数据库系统存放结构化数据的地方,是长期存储的、有组织的、可共享的数据的集合。
数据最终是以文件的形式存储在磁盘上,只有数据库管理系统才能对这些文件进行存取操作。每一个数据库都至少有一个这样文件,称为数据文件。SQL Server 数据库的数据文件以.mdf或.ndf为扩展名。 2.数据库管理系统(DBMS) 定义:DBMS 是数据库的管理软件,是应用程序和数据库之间桥梁,即应用程序必须通过 DBMS 才能存取数据库中的数据。
DBMS 对数据的存取操作最终体现为对数据文件的更新和修改但应用程序不能直接执行这种更新和修改操作。SQL Server 2008 就是 SQL Server 数据库系统的一种 DBMS。 3.
Conda在下载安装包时报错:
PackagesNotFoundError: The following packages are not available from current channels: - XXXXXX(包名) 有如下两种解决方法:
方法一:将conda-forge添加到搜索路径上 在命令行运行下方指令,然后重新安装。
conda config --append channels conda-forge conda install 需要安装的包名 方法二:在官网搜索相关包的安装指令并运行 点击命令行提示的连接,即官网: https://anaconda.org ,在页面搜索需要的包,复制下方任意一条指令在命令行运行即可。
PackagesNotFoundError: The following packages are not available from current channels: - beautifulsoup Current channels: - https://conda.anaconda.org/conda-forge - https://conda.anaconda.org/bioconda - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro - defaults To search for alternate channels that may provide the conda package you're looking for, navigate to https://anaconda.
本文参考自
Springboot3+微服务实战12306高性能售票系统 - 慕课网 (imooc.com)
本章将介绍仿12306售票系统实战开发的开发环境、项目核心技术和功能、项目模块和架构设计、开发所需前置知识,若想直接开始编写代码实现,请关注作者,看后面的第二章——项目实现
一、开发环境 后端: JDK 17Springboot 3.0.0SpringCloud Alibaba 2022.0.0.0第三方依赖,如Mybatis等,使用升级后适配Springboot3的版本 前端: Vue3 二、项目技术亮点概括 为什么使用最新版本?
学习要激进,实际项目要滞后(市场主流还是使用JDK1.8那套)
技术亮点主要就是高并发技术
售票系统需要实现持续高并发,不停的刷票,决不能超卖
12306是如何解决高并发问题?
提高处理能力: QPS和TPS
堆积硬件;引入第三方软件Gemfire;算法(模型、逻辑)
Gemfire:商业软件,分布式内存数据库,使得查询速度从15秒降到0.2秒
QPS(Queries Per Second)和 TPS(Transactions Per Second)是衡量系统性能的重要指标:
QPS(Queries Per Second):指的是每秒钟所处理的查询数量,通常用来衡量系统对于短时、瞬时请求的处理能力,比如网络请求、数据库查询等。TPS(Transactions Per Second):指的是每秒钟所处理的事务数量,事务可以是一个或多个相关操作的集合,用来完成一个业务功能。TPS常用来衡量系统对于业务操作的处理能力,比如支付交易、订单处理等。 QPS更强调系统的查询处理能力,而TPS更侧重系统对业务操作的处理能力。在不同的场景下,可以根据具体需求选择监控并优化QPS或TPS来提升系统性能。
削峰
业务:验证码、分时段、排队
技术:限流、异步
三、项目业务逻辑难点概括 选座逻辑
实现类似12306的选座逻辑
使用位运算算法,既快又准的得到符合要求的座位
12306:
本项目:
动态库存
当上海——北京,被买,则是1张票
当上海到南京,南京到上海被买,则是2张票
线上线下
即可线上买票,也可线下买票
四、核心功能 最高并发:余票查询
业务逻辑最复杂:车票购买
五、功能模块划分 网关模块
路由转发、登录校验
会员模块
会员、乘客、已购买的车票
业务模块
所有的车次数据、余票信息
跑批模块
管理定时任务,页面启停
web模块
会员相关界面
admin模块
管理员相关界面
六、整体架构设计 业务、会员、跑批分别为不同的服务,且数据库相互隔离(做一定的数据冗余)common主要是公共的工具类,generator为代码生成器springcloud alibaba组件:nacos是注册中心,seata是分布式事务,sentinel是限流 七、数据库表 1.
docker官网 docker中文 docker文档 docker-hub官网 docker-desktop官网 一、docker简介 简介翻译
Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使您能够将应用程序从基础设施中分离出来,以便快速交付软件。使用Docker,您可以像管理应用程序一样管理基础架构。通过利用Docker的方法来交付、测试和部署代码,您可以显著减少编写代码和在生产环境中运行代码之间的延迟。
翻译
Docker提供了在称为容器的松散隔离环境中打包和运行应用程序的能力。隔离和安全性使您可以在给定主机上同时运行多个容器。容器是轻量级的,并且包含运行应用程序所需的一切,因此您不需要依赖于主机上安装的东西。您可以在工作时共享容器,并确保与您共享的每个人都获得以相同方式工作的相同容器。
Docker提供了工具和平台来管理容器的生命周期:
使用容器开发应用程序及其支持组件。
容器成为分发和测试应用程序的单元。
准备好后,将应用程序部署到生产环境中,作为容器或编排服务。无论您的生产环境是本地数据中心、云提供商还是两者的混合,这都是一样的。
翻译
我可以用Docker做什么?
快速、一致地交付应用程序
Docker允许开发者使用本地容器在标准化环境中工作,从而简化了开发生命周期。容器非常适合持续集成和持续交付(CI/CD)工作流。
考虑以下示例场景:
您的开发人员在本地编写代码,并使用Docker容器与同事共享他们的工作。
他们使用Docker将他们的应用程序推送到测试环境中,并运行自动和手动测试。
当开发人员发现错误时,他们可以在开发环境中修复它们,并将它们重新部署到测试环境中进行测试和验证。
二、安装docker-desktop 收费提醒
翻译
在规模较大的企业(员工超过250人或年收入超过1000万美元)中,Docker Desktop的商业使用需要付费订阅。
点击 打开 docker-desktop官网
提醒:没有docker账号的,记得创建docker账号, 需要开启代理访问
docker-desktop安装包下载完后直接安装,安装完毕后测试是否可以正常启动,首次启动docker-desktop成功后,桌面出现的界面是几个教程,示例如下图所示:
三、docker-desktop界面介绍 1、Settings > General界面
2、Settings > Resources > Advanced界面1
2、Settings > Resources > Advanced界面2
3、Settings > Resources > Proxies界面
配置不走代理示例
使用阿里云镜像的代理配置
localhost,127.0.0.1,*.aliyuncs.com
4、Settings > Docker Engine界面
国内镜像源
中国区官方镜像:https://registry.docker-cn.com
清华源:https://docker.mirrors.ustc.edu.cn
腾讯源:https://mirror.ccs.tencentyun.com
中科大::https://docker.mirrors.ustc.edu.cn
网易: http://hub-mirror.c.163.com
其他可配置项请点击Daemon CLI (dockerd)文档 查看,示例如下图
1. HarmonyOS next ArkTS ArkTS围绕应用开发在 TypeScript (简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集
ArkTS在TS的基础上扩展了struct和很多的装饰器以达到描述UI和状态管理的目的
以下代码是一个基于 HarmonyOS 的登录页面组件的示例代码,主要实现了用户登录功能以及一些数据存储和页面跳转的操作。下面我会逐步解释每个部分并添加注释:
2. 实例 3. 功能分区 1.1. HTTP获取后台接口数据,以下是示例 async jwt(jwt: string) { try { const res = await this.httpUtil.request(`192.168.xxx.xxx/readers/userinfo`, { method: http.RequestMethod.GET, extraData: { no: jwt }, }); let data = JSON.parse(res.result.toString()); return data; } catch (error) { throw error; } } 1.2 接口数据(作为测试,可以直接使用json): 2.生命周期函数的使用--AboutToAppear AboutToDisappear aboutToAppear() { let httpRequest = http.createHttp() this.httpUtil = httpRequest // todo 初始化上一次访问时间 this.getPreTime() // todo 初始化当前时间 this.
automatic1111 (stable diffusion webui开源项目)
--listen 开启远程访问,局域网内主机可通过ip地址访问SD webui主机
--share 开启互联网访问,任何主机都可访问主机,启动后会在启动文本上显示访问链接
--port 通常是配合listen使用,自定义访问端口
--enable-insecure-extension-access 开启外部访问后,必须加此项才可以更改系统配置及安装扩展
--api 提供外部api调用,如photoshop插件,open-webui等外部程序
--xformers 指定xformers作为加速器,如果不指定,可以在系统设置中选择其它优化方法
--precision full 精度选择fp32精度,AMD, 40hx, telsa卡没有半精度的话,可以选这个
--medvram 8G显存需要选用
--medvram-sdxl 8G显存需要选用
--no-half 关闭半精度
--no-half-vae 仅在vae时关闭半精度。
forge (automatic1111的分支项目)区别点
forge项目对显存使用是动态优化的,所以砍掉了大部分显存优化参数,性能优化也可以直接在界面中设置,其它常用的参数同上,区别如下:
--all-in-fp32 全部跑fp32精度,同上--precision full
如果你的系统还是经常报OOD(显存不足)可以进一步优化:
--always-offload-from-vram 时刻卸载显存内驻留内容
--cuda-malloc 动态显存管理,按需要变更占用大小
--cuda-stream 简单理解就是用啥调啥
--pin-shared-memory 与cuda-stream一起使用,从显存卸载的内容,放到共享显存中,而不是放到内存中
写在前面:
如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持!
文章目录 一、下载安装包二、解压安装包三、设置配置文件四、配置系统环境五、初始化操作 此次安装的版本为MySQL社区版,即MySQL Community Server。
一、下载安装包 第一步,登录MySQL官网www.mysql.com,进入产品下载页面。
第二步,进入产品下载页面后,向下滑动页面,找到MySQL Community(GPL)Downloads链接并进入。
第三步,选择社区版产品。
第四步,选择安装方式。通常有解压包安装和步骤安装两种方式,这里选择了解压包安装。
第五步,选择无需登录直接下载。
二、解压安装包 第一步,将下载好的安装包转移到你希望安装的文件目录下(我这里是在D盘创建了一个MySQL目录)。
第二步,点击右键全部解压缩。解压后文件目录如下。
三、设置配置文件 在解压目录创建my.ini文件并添加内容如下。
[mysqld]
#设置3306端口
port=3306
#服务端使用的字符集默认为UTF8
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
四、配置系统环境 第一步,windows程序栏搜索系统变量,找到“编辑系统环境变量”并打开如下窗口,点击“环境变量”。
第二步,点击系统变量的窗口下的“新建”按钮,新建一个环境变量MYSQL_HOME,变量值填写解压后的文件地址,点击“确定”保存设置。
第三步,点击系统变量栏的Path变量,并进入编辑页面。
第四步,进入Path变量编辑窗口,点击“新建”,创建一个“%MYSQL_HOME%”变量的引用,并在后面添加bin目录,如下所示。
第五步,全部点确定保存设置。
五、初始化操作 完成环境变量设置后,还需要通过终端对MySQL进行一些初始化操作。注意,要使用管理员权限进入cmd。
第一步,进入MySQL的解压目录。由于MySQL我储存在了D目录,所以需要转换一下盘,然后进入相关目录。终端操作如下。
C:\Users\86130>D:
D:>cd D:\MySQL\bin
D:\MySQL\bin>
由此进入到了我的解压目录D:\MySQL的bin目录下。
第二步,对MySQL进行初始化。需要注意,此时会产生一个临时密码,后面要用到。这一步出错的话,需要清空data目录下的文件再试。
mysqld --initialize --console
第三步,安装MySQL服务。
mysqld --install
提示Service successfully installed就是安装成功了。
第四步,启动MySQL服务。命令如下。
net start mysql
终端完整操作如下。
D:\MySQL\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
目录 1.基本词云图1.1 导入所需库1.2 准备词汇1.3 配置参数并生成词云图1.4 在Python窗口中显示图片1.5 效果展示1.6 完整代码 2. 不同形状词云图2.1 找到自己所需形状图片2.2 利用PS将图片设置为黑白色2.3 在代码中设置背景2.4 效果展示 1.基本词云图 1.1 导入所需库 import matplotlib.pyplot as plt from wordcloud import wordcloud 1.2 准备词汇 # (1)读取当前路径以上file文件中的text.txt中的文字 text = open('../file/text.txt', 'r', encoding='utf-8').read() # (2)直接将文字拷贝 text = """创新、科技、人工智能、数据、分析、未来、智能、云计算、物联网、区块链、机器学习、自动化、网络安全、移动应用、用户体验、社交媒体、电子商务、环保、可持续发展、健康、医疗、生物科技、能源、金融、创业、投资、教育、文化、旅游、娱乐、艺术、设计、时尚、美食、体育、音乐、电影、游戏、旅游、探索、发现、自由、梦想、希望、勇气、坚持、友谊、爱情、家庭、幸福、和平、尊重、包容、平等、合作、共赢、责任、信任、感恩、成长、智慧、自由、开放、多元、共享、创新、激情、卓越、领导、管理、团队、战略、营销、品牌、服务、质量、用户、产品、设计、研发、技术、创新、创业、投资、金融、经济、市场、竞争、合作、发展、未来、全球化、国际化、本土化、趋势、时尚、文化、艺术、历史、传统、现代、科学、哲学、教育、学习、成长、心理、健康、医疗、科技、环境、社会、公益、责任、道德、伦理、政治、法律、自由、民主、平等、尊重、包容、多元、和平、安全、稳定、繁荣、发展、机遇、挑战、创新、突破、变革、转型、升级、优化、提升、拓展、延伸、深化、加强、巩固、拓展、创新、拓展、升级、转型、变革、发展、共赢、协同、合作、共享、开放、包容、多元、自由、平等、民主、法治、公正、廉洁、诚信、友善、和谐、美丽、安全、稳定、繁荣、幸福、健康、快乐、自由、梦想、希望、勇气、坚持、奋斗、拼搏、进取、努力、付出、收获、成就、尊重、感恩、奉献、爱心、责任、公益、环保、可持续、未来、探索、发现、智慧、领导力、创新思维、团队协作、战略眼光、市场营销、品牌影响力、优质服务、产品质量、用户体验、研发实力、技术创新、创业精神、投资眼光、经济发展、市场竞争、合作共赢、全球化视野、本土化运营、国际化战略、时尚潮流、文化传承、艺术创新、历史积淀、现代科技、科学探索、哲学思考、教育培训、学习成长、心理健康、医疗服务、科技创新、环境保护、社会责任、道德规范、政治稳定、法律保障、民主自由、平等公正、法治精神、社会和谐、美丽中国、安全稳定、繁荣发展、机遇挑战、创新突破、变革转型、升级优化、提升拓展、深化加强、巩固发展、共赢协同、共享开放、包容多元、自由平等、民主法治、公正廉洁、诚信友善、和谐美丽、安全稳定、幸福繁荣、健康快乐、梦想希望、勇气坚持、奋斗拼搏、进取努力、付出收获、成就尊重、感恩奉献、爱心责任。""" 1.3 配置参数并生成词云图 wc = wordcloud.WordCloud( font_path='../font/msyh.ttc', # 字体路径 background_color='white', # 背景颜色 max_font_size=30, # 字体大小最大值 min_font_size=10, # 字体大小最小值 ) wc.generate(text) # 图片被保存在当前目录以上image文件中,所以要提前创建image文件 wc.to_file('../image/image.png') 关于字体路径:
找到 C:\Windows\Fonts 所在文件
2. 找到 Microsoft YaHei UI,右键,点击复制。
目录
前言
1. 主从复制
主从复制的基本配置示例:
2. 主从复制的限制
3. InnoDB Cluster架构
InnoDB Cluster配置步骤示例:
4. InnoDB Cluster的优势
总结
⭐️ 好书推荐
前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站
当谈论MySQL高可用性解决方案时,从最初的主从复制到现代的InnoDB Cluster架构经历了长足的演进。这些解决方案为数据库系统提供了在硬件或软件故障时保持可用性和持久性的能力。
1. 主从复制
主从复制是MySQL早期用于提高可用性和读取负载均衡的主要方式之一。在这种架构中,一个MySQL实例充当主服务器(Master),负责接收写操作和更新数据,而其他实例则作为从服务器(Slaves),复制主服务器的数据。主从复制架构通常用于读取负载均衡和数据备份。
在主从复制的配置中,主服务器记录所有的更新操作并将其写入二进制日志(binary log),而从服务器则读取这些日志并应用到自己的数据中。
主从复制的基本配置示例:
-- 主服务器配置 [mysqld] server-id = 1 log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = your_database_name -- 从服务器配置 [mysqld] server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin.log read-only = 1 2. 主从复制的限制
虽然主从复制提供了一定的冗余和读取负载均衡,但它也存在一些局限性。例如,它仍然容易受到单点故障的影响,而且在进行故障转移时需要手动干预。此外,主从复制对于写操作的扩展性有一定的局限性。
3. InnoDB Cluster架构
InnoDB Cluster是MySQL官方提供的高可用性解决方案,它建立在MySQL组复制(Group Replication)和MySQL Shell之上。InnoDB Cluster不仅提供了自动化的故障检测和故障转移功能,还能够实现自动化的数据再平衡和节点扩展。
InnoDB Cluster配置步骤示例:
-- 初始化InnoDB Cluster dba.
前端错误 “TypeError: Cannot read properties of undefined (reading ‘xxx‘) 原因分析及解决
情况一:
出现该错误的原因是因为你花括号中的某些属性未定义。极大可能是因为你写错了属性名称
情况二:
异步请求获取数据时,语句可能写错,如{KaTeX parse error: Expected 'EOF', got '}' at position 19: …n).prev().val()}̲ 错写成{(btn).prev().val}
情况三:
异步请求获取数据时,由于数据时异步获取的,所以一开始是没有该数据属性,这种情况下也会报这种错误。
比如说我这里有一个数据tableData,初始值为一个空对象。我们在使用{{tableData.detail}}是不会报错的,但如果是{{tableData.detail.name}}这样就会报错了,这是为什么呢?
因为,tableData.detail已经是一个undefined了,你undefined.name就肯定会报错了。
所以在初始化时,detail属性赋值为空对象就行了。
情况四:
后端返回给你的数据没有这个属性 或者 返回的有的有数据有的是null
这个时候需要先查一下,可以加v-if进行判断
情况五:
使用$nextTick,刷新表格的时候,表格未自定义属性,或自定义属性引用错了
原文链接:https://blog.csdn.net/sunwenpinglike/article/details/129690571
前言 大家是否记得自己是怎么开始学习大数据的内容呢,估计关注我得同学会发现前面有点陆续有点关于Docker的小烂文,是因为使用Docker可以最快的速度让我们拥有一个学习的环境。大数据的东西都逃不过搭建环境测试跑通这么一个过程,我自己也是过来人,尤其是刚刚接触比较新的东西的时候受制于当前的网络,当前的配置一系列的问题,导致大量从入门到放弃的情况非常多,今天我通过一些实际的例子,让大家感受一下这种便利性。
误区 首先一定要纠正一个误区,尤其是这种技术类型的,不是说需要掌握100%才去使用,但凡了解了一丢丢,你就应该去做了,很多人一上来就干到很深的底层原理,那样学习本身的成本就很高了,没必要。另外一方面来说试错这个事情本身就是学习的过程。更重要的一点,一定是你自己亲自动手跑通的才算,因为参考学习视频学的时候,你发现老师操作的时候异常顺利,因为有些问题老师处理过了,有的问题在老师的环境上面就没有。
目标 我这里是两个小案例,通过这种案例让大家感受到docker作为工具给我们带来便利,一是自己编写的java使用docker跑通,第二个是使用docker快速获得flink的环境。 前提,大家机器里面有docker环境,注意了docker环境在mac和windows都是有图形安装的,所以和安装QQ这种完全是一样的,官网在这里,点击,下载安装包安装就行,不用很复杂的配置。我知道这里面在很多教学资料告诉怎么去linux上面安装,那是深入学习的时候才会到linux上面去,这个地方千万别花太多时间折腾了。
跑通一个自己的Java程序 首先当然是构建一个maven工程,大家养成习惯为了让后面的人工作顺利进行,前面的工作做好,我这里提前准备一下maven仓库的配置,内容如下
cat /Users/zhuxuemin/.m2/settings_aliyun.xml 这里面关键的内容其实是阿里云仓库配置,这样后面会顺利一些
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> <mirrorOf>central</mirrorOf> </mirror> 构建工程了,我是比较喜欢先命令行构建出来,再导入idea,所以下面的命令顺利会和前面工作有关系
mvn --settings /Users/zhuxuemin/.m2/settings_aliyun.xml archetype:generate -DgroupId=net.blog.csdn -DartifactId=docker-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 构建出来导入idea,就是一个简单的maven工程,帮我们输出一下。
目录还没像我上述那样(我没遇到),还无法创建Java Class类可能可以参考如下:
参考
3. 配置maven
点击应用Apply,然后等配置,右下角条条消失即完成
4. 测试
接着测试,参考下文的“3. 测试”进行测试即可
参考
其中的启动项目是在java启动类里,如下图
注:
曾经参考过的另一篇配置文章:参考
还有一种maven创建的方法,有空可试一试:
参考
其他可能参考:
参考
文章目录 一、代码1、添加依赖2、配置kafka3、创建生产者4、创建消费者5、测试 二、遇到问题1、could not be established. Broker may not be available2、Error while fetching metadata with correlation id xxx 一、代码 1、添加依赖 在pom.xml文件中添加Kafka的依赖
<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> 2、配置kafka 在生产者项目的application.properties文件中配置kafka
spring.kafka.bootstrap-servers=192.168.56.100:9092 spring.kafka.producer.client-id=forlan-client-id spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer 参数说明:
spring.kafka.bootstrap-servers:指定Kafka集群的地址。这是一个以逗号分隔的服务器列表,每个服务器都以IP地址和端口号的形式表示。spring.kafka.producer.client-id:指定Kafka生产者的客户端ID。这是一个用于标识生产者的唯一字符串。在诊断和监控时,这个ID可以帮助识别发送给Kafka的哪些消息是由哪个生产者发送的。spring.kafka.producer.key-serializer:定义Kafka的消息的键的序列化器。spring.kafka.producer.value-serializer:定义Kafka的消息的值的序列化器。 在消费者项目的application.properties文件中配置kafka消费者
spring.kafka.bootstrap-servers=192.168.56.100:9092 spring.kafka.consumer.client-id=forlan-client-id spring.kafka.consumer.group-id=forlan-group-id spring.kafka.consumer.auto-offset-reset=earliest spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer 参数说明:
spring.kafka.bootstrap-servers:指定Kafka集群的地址。这是一个以逗号分隔的服务器列表,每个服务器都以IP地址和端口号的形式表示。spring.kafka.consumer.client-id:指定Kafka消费者的客户端ID。这是一个用于标识消费者的唯一字符串。在诊断和监控时,这个ID可以帮助识别从Kafka接收到的哪些消息是由哪个消费者接收的。spring.kafka.consumer.group-id:指定Kafka消费者的组ID。在消费者组中,成员之间可以共享消息消费进度,以便在需要时进行重新消费或进行故障转移。spring.kafka.consumer.key-deserializer:指定用于反序列化从Kafka接收的消息的键的类。spring.kafka.consumer.value-deserializer:指定用于反序列化从Kafka接收的消息的值的类。 3、创建生产者 设置发送消息服务类
@Component public class KafkaProducer { @Autowired private KafkaTemplate<String, String> kafkaTemplate; public void testSend(String topic, String message) throws ExecutionException, InterruptedException { SendResult<String, String> stringStringSendResult = kafkaTemplate.send(topic, message).
目录 vue如何监听对象或者数组某个属性的变化1. 使用 `watch`2. 使用 `computed`解决方式`vm.$set()` 方法 vue如何监听对象或者数组某个属性的变化 在 Vue 中,你可以使用 watch 或者 computed 来监听对象或数组某个属性的变化。但是,如果直接设置数组的某一项的值,或者直接设置对象的某个属性值,这个时候,你会发现页面并没有更新。这是因为 Object.defineProperty() 限制,监听不到变化。
1. 使用 watch watch 是 Vue 提供的一个 API,用于监听对象或者数组某个属性的变化。当被监听的属性发生变化时,watch 中的处理函数会被调用。下面是一个示例代码:
data() { return { myObject: { prop: 'initial value' } }; }, watch: { 'myObject.prop': function(newVal, oldVal) { // 在这里处理属性变化 } } 在上述示例中,当 myObject.prop 的值发生变化时,watch 中的处理函数会被调用。
2. 使用 computed computed 是 Vue 提供的一个计算属性,用于监听对象或数组某个属性的变化。当被监听的属性发生变化时,computed 属性会自动更新。下面是一个示例代码:
data() { return { myArray: [1, 2, 3] }; }, computed: { arraySum() { return this.
Redis安全加固策略:绑定Redis监听的IP地址 & 修改默认端口 & 禁用或者重命名高危命令 1.1 绑定Redis监听的IP地址1.2 修改默认端口1.3 禁用或者重命名高危命令1.4 附:redis配置文件详解(来源于网络) 💖The Begin💖点点关注,收藏不迷路💖 1.1 绑定Redis监听的IP地址 设置Redis配置文件设置bind选项。这个选项指定了Redis服务器监听的IP地址,可以是单个IP地址、多个IP地址或者0.0.0.0表示监听所有网络接口。
为了安全起见,建议将Redis服务器绑定到特定的IP地址,而不是监听所有网络接口。这样可以限制Redis只接受来自指定IP地址的连接,提高安全性。
检测方法:
执行一下命令查看当前运行数据库实例的配置文件名称:
【安装路径】/redis-cli -p 【数据库端口】-a 【认证密码】 -h 【数据库主机名称或IP】 redis-cli -h 127.0.0.1 -p 8801 -a Zyl##2024 127.0.0.1:6379> CONFIG GET bind 1) "bind" 2) "0.0.0.0" 127.0.0.1:6379> 或查看配置文件中的相应配置。
判定依据: bind配置了相关地址限制则为合规,否则为不合规。
加固参考配置操作:
1、修改配置文件在bind后添加需要连接的IP地址 vi /usr/local/redis-7.0.9/redis.conf ## 添加/修改内容: bind 具体IP地址 这里建议配置固定需要连接redis数据库的IP。
2、重新启动redis数据库。
systemctl restart redis 1.2 修改默认端口 修改默认端口可以增加系统的安全性,因为大多数攻击者会尝试连接到常见的默认端口,如6379。
通过将Redis服务器迁移到非标准端口,可以减少受到自动扫描和恶意攻击的风险。
检测方法:
执行以下命令查看当前数据库使用的端口:
Linux
【安装路径】/redis-cli -p 【数据库端口】-a 【认证密码】 -h 【数据库主机名称或IP】 redis-cli -h 127.