基于SSM的网辩平台的设计与实现

news2024/11/25 7:31:43

摘  要

线上作为当前信息的重要传播形式之一,线上辩论系统具有显著的方便性,是人类快捷了解辩论信息、资讯等相关途径。但在新时期特殊背景下,随着网辩的进一步优化,辩论赛结合网络平台融合创新强度也随之增强。本文就网辩平台进行深入探究。

网辩平台的主要功能是:用户、管理员、视频类型、网辩视频展示、视频收藏、视频浏览、用户注册登录等。经过分析,使用B/S架构来开发本网辩平台。此系统采用SSM开发框架,SSM技术具有开发软件的特性,其优点是安全性能高,能减轻用户端浏览器的负担,提高交互速度。系统拟选用的SSM技术开发平台先结合Eclipse编辑器,采用的数据库服务器为MySQL。

关键词:网辩平台;Mysql数据库;SSM框架

1 绪论

1.1 课题研究背景

根据现在网辩平台的状况,设计成一个能提供给用户前台;查看网辩视频展示、首页及轮播展示、登录注册、在线留言等信息;管理员后台;系统用户管理、站内新闻管理、轮播图管理、网辩视频类别管理等;该系统要在方便的同时提供实用性,在具有可行性的前提下,能够做到减少管理人员的相应工作量,并且为用户方面以及管理员方面提供对应的便利。

1.2 课题研究意义

自从新冠肺炎到来之后,高校的许多有意义的人文活动都陷入了停滞,辩论赛即是其中之一。辩论赛可以促进大学生对社会中种种事物的思考,并通过与队友的交流和与对手的碰撞,来丰富自己对世界的看法,以此构建出自己的人生观和价值观。辩论赛在发展学生的辩证思维的同时也可以提高语言表达能力,所以辩论赛在大学生活中备受关注。而疫情使得这种面对面的,需要直接语言互动的比赛没有办法开展,所以线上辩论平台的需求就呼之欲出。此平台可以为正规的辩论赛事和队伍模拟训练提供途径,最大化的将辩论赛移植到线上,以此实现其原本的价值。

1.3 研究现状

本网辩平台为用户提供一个方便易操作的线上辩论平台。该系统不应该仅是实现固有的辩论功能,还应该加入等级及信誉系统,使平台成为一个系统化服务网站。

目前该领域的管理还停留在初级阶段,资源不够透明,各自开发而没有整合到一个系统中的阶段,使其具有一定的局限性,因此必须看清自身存在的优势和劣势,运用面向对象的开发与设计思想,创建高质量的网辩系统。

与此同时,本研究还研制了一套展示加互动评论关系的体系,其特征如下:

(1)实用:便于使用者查询服务展示,展示成果,随时查阅网辩视频信息、资讯等。

(2)系统的运行方式:适用于用户和管理员,系统运行简单,系统结构不复杂、不繁杂。

(3)代码易于阅读:本文所述的程式码易于操作,且易于理解。


2 系统开发工具及技术

2.1 系统开发工具

2.1.1 Eclipse开发工具

Eclipse是一个开源的、跨平台的集成开发环境(IDE)工具,用Java语言开发,主要用于Java程序的开发和调试。它具有丰富的插件和扩展功能,能够支持多种编程语言的开发,包括C、C++、Python、Php等。Eclipse可以帮助开发人员更快且更高效地开发软件,同时也支持各种版本控制系统,如Git、Subversion等。

2.1.2 Tomcat服务器

Tomcat是一个Web服务器软件,它是由Apache组织提供的。其特点是小巧灵活,免费开源,简单易用。Tomcat最初是由Sun的软件架构师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试Jsp程序的首选。

2.1.3 Navicat Premium

Navicat Premium是一款强大的数据库管理工具,支持多种数据库,包括MySQL、MariaDB、Oracle、PostgreSQL、SQLite等。它有直观的用户界面,可以方便地进行数据库管理、设计、维护和备份。同时,Navicat Premium还支持数据同步、数据转移、SQL编写、报表生成等功能,让用户能够更加高效地操作和管理数据库。

2.2 系统开发技术

2.2.1 B/S结构

B/S结构即 Browser/Server结构,是一种常见的网络架构模式。它将客户端浏览器作为用户界面,同时将服务器作为数据存储和业务处理的核心,实现客户端和服务端的分离[3]。在B/S结构中,客户端使用浏览器作为用户界面,通过发送Http请求,将请求发送到服务器上。服务器接收到请求后,进行处理并返回相应的结果,客户端再将结果显示在浏览器中供用户查看[4]。B/S结构具有易于维护、易于扩展、安全性高等优点。

2.2.2 Spring框架

Spring框架是一个轻量级的Java开发框架,主要用于解决企业应用开发中的复杂性和困难性。它提供了一系列的模块化功能,包括依赖注入、面向切面编程、数据访问等,让开发人员可以更加关注业务逻辑的实现而不是框架本身的实现细节[17]。Spring框架也可以与其他框架、库和技术无缝集成,如Hibernate、MyBatis、Struts等,可以帮助开发者构建更加健壮和可维护的Java应用程序。Spring框架的到来大大简化了Java开发,为企业级应用提供了强大的支持。

2.2.3 Mybatis框架

Mybatis是一种基于Java的持久化框架,它为开发者提供了SQL映射和自动参数映射等功能,使得数据库操作变得更加简单和高效。Mybatis最大的优势就是可以很好地解决传统JDBC编程的问题,提高了代码的可读性和维护性[16]。Mybatis的核心组件包括:SqlSessionFactory、SqlSession、Mapper以及Mybatis配置文件。其中,SqlSessionFactory是创建SqlSession的工厂类,SqlSession封装了Sql语句的执行方法,Mapper则是用来描述数据操作的接口,而Mybatis配置文件则是用来配置SqlSessionFactory和Mapper的。Mybatis采用XML文件或注解方式进行SQL映射,并且支持动态Sql拼装,可以在运行时根据不同的条件构建出不同的SQL语句,使得开发更加灵活和高效。

2.2.4 Spring MVC

Spring MVC是一个基于Spring框架的Web应用程序开发框架,它是一种轻量级、灵活配置、高效率的Web开发框架。Spring MVC采用MVC(Model-View-Controller)的设计模式来组织Web应用程序的结构,并提供了一系列的组件和工具来简化Web应用程序的开发过程。 Spring MVC的核心组件包括:Controller、Model、View以及DispatcherServlet。其中,Controller用于处理客户端的请求,Model用于封装数据,View则负责呈现数据,而DispatcherServlet则充当了整个应用程序的前置控制器,负责将请求路由到正确的Controller上进行处理,并将处理结果交给View进行渲染[14]。

Spring MVC的优点包括:

  1. 高度可配置性:通过配置文件和注解,可以灵活地定制Spring MVC应用程序的行为。
  2. 灵活的请求处理机制:支持多种请求处理方式,如基于注解、基于XML配置等方式。
  3. 丰富的视图技术:支持多种视图技术,如JSP、FreeMarker、Velocity等。
  4. 易于测试:Spring MVC的组件独立性,使得对其进行单元测试非常方便。
  5. 集成Spring框架:可以方便地集成Spring框架的其他功能,如事务管理、安全管理等。

2.2.5 Layui

Layui是一个采用自身模块规范编写的前端UI框架,它简单易用、轻量灵活,且具有丰富的组件和接口。Layui的核心理念是“经典与未来”,通过对传统UI组件的优化与不断创新,推动Web开发领域的发展。Layui提供了包括表格、分页、下拉框、日期选择器、轮播图等众多常用的UI组件,并在这些组件的基础上,提供了丰富的预设样式和主题,同时也支持自定义主题。使用Layui能够快速构建出符合现代Web设计风格的网站和应用程序。Layui的另一个特点是基于模块化开发,它拥有完善的模块化机制,使得开发人员可以方便地按需加载和使用各个模块。同时,Layui也支持ES6语法,可在现代浏览器中直接使用。

2.2.6 MySQL

MySQL是一种高效、可靠、易于使用的关系型数据库管理系统[5],它能够在多个系统平台上运行,并提供了丰富的接口供各种应用程序使用。MySQL支持标准Sql语法和Odbc,拥有强大的网格控制和数据仓库功能,同时具备优秀的安全性和连接性。因此,MySQL被广泛用于中小型和大型网站的开发,是一个非常受欢迎的数据库管理系统[2]。

3 系统分析

3.1 可行性分析

系统的可行性分析有助于我们对系统进行更细致、更深入的理解,并能对研究方向和目的进行系统的分析,找到问题并确定最终的设计方案,使我们对设计有一个清楚的认识,从而使系统设计更好地进行[9]。

3.1.1 技术可行性

通过Eclipse开发工具,利用Java语言、Html、css、SSM及数据库等技术完成对开系统前后端的开发。Eclipse工具使用简单,功能齐全并且可以通过开放的源代码及技术交流群寻求帮助。在大学中都有所学习,并且在网上有许多相关案例可以借鉴。综上所述,该系统的开发在技术上具有可行性。

3.1.2 经济可行性

本系统所采用的软件和技术均是免费开放源代码的,可以有效地减少开发费用,因此在经济上也是具有可行性的。当这个系统发行后,可以通过收取手续费,广告费等形式来获取利润。

3.1.3 操作可行性

本系统以浏览器访问为基础实现,因此操作简单、使用方便,无需下载,无需安装,通过浏览器打开系统即可使用。并且该系统前后端页面简单明了,便于用户使用,因此,本系统在运行中也是可行的[12]。

3.2 功能需求分析

开发本系统主要是为了解决疫情使得这种面对面的,需要直接语言互动的比赛没有办法开展的问题。由此,便可以为正规的辩论赛事和队伍模拟训练提供途径,最大化的将辩论赛移植到线上,以此实现其原本的价值。

通过对用户需求的广泛收集,并进行归纳分析,总结出了其主要的功能:

(1)系统用户管理,包括管理员添加、管理员管理、注册会员管理。

(2)站内新闻管理,包括站内新闻添加、站内新闻查询。

(3)轮播图管理,包括轮播图添加、轮播图查询;

(4)网辩视频类别管理,网辩视频类别添加、网辩视频类别查询;

(5)网辩视频信息管理,网辩视频信息添加、网辩视频信息查询;

(6)系统基本管理:平台简介设置、留言板管理;

(7)首页展示:轮播图管理、视频推送展示;

(8)站内新闻展示:站内新闻列表展示、查看详情;

(9)精彩辩论视频展示:精彩辩论视频列表展示、查看详情、收藏、评论、点赞等;

(10)用户注册、登录。

3.3 性能需求分析

在对该网辩平台开发的过程中,为了使系统性能得到保证,需要考虑的内容主要如下。

(1)安全性。要确保信息系统的可控性与可靠性,使用户信息最大程度的保密。

(2)先进性。与现阶段的趋势相结合,开发出与用户需求相符的各种功能。

(3)可扩展性。在完成整个系统的开发之后,用户可能还会有一些其他需求的提出,因此在具体开发的时候要考虑到应用程序的可扩展性,方便将来系统的升级和更新。

3.4 系统UML分析

UML,也被成为统一建模语言,是用做软件密集型系统的一种可视化建模语言[14]。这是开发人员针对客观事物展开建模的主要标志,同样也作为开发人员对于系统具体功能以及开发当中的实际任务情况需要做哪些了解。然后是针对整个系统展开UML建模分析。

用户用例图具体情况如3-1。

图3-1 用户用例图

管理员用例图具体情况如3-2。

图3-2 管理员用例图

4 系统总体设计

4.1 系统整体功能设计

通过业务流程,我们可以将系统分为两大业务板块,分别是前台用户端和后台管理系统。

(1)前台用户端主要功能有:

①用户注册:第一次使用系统的用户可以注册属于自己的账号。

②用户登陆:账号注册完成后,登陆进入平台首页。

③首页展示:将我们的网辩视频在前台首页向用户呈现,使用户方便快捷的观看、收藏并且评论商品。

④网辩视频详情:点击对应的网辩视频,会展示该视频的详情,方便用户更清楚的了解详细信息。

⑤在线留言:可以点击在线留言,进入在线留言页面发表自己的留言信息。

⑥站内新闻:主要是实现站内新闻的信息列表和信息详情查看。

(2)后台管理系统主要功能有:

①后台登陆:后台管理系统拥有一个拥有所有权限的超级管理员,能够创建普通管理员,从而便于管理和责任追查。

②系统用户管理:是对管理员信息的管理,主要包括管理员添加、管理员管理、注册会员管理。

③站内新闻管理:主要是将站内新闻进行增、删、改、查相关操作管理。

④轮播图管理:主要是对首页轮播图进行增、删、改、查的操作进行管理。

⑤网辩视频类别管理:主要是对网辩视频类别信息进行管理,包括视频类别添加、视频类别查询等功能。

⑥网辩视频信息管理:主要是对网辩视频信息进行统一管理,包括视频信息添加、视频信息查询等操作。

平台主要分为前台功能模块和后台管理功能模块,如图 4.1 所示。

图4.1 整体功能架构图

4.2 数据库设计

计算机信息系统当中的重要基础为数据库。只有数据库系统发挥支持作用,才能够实现数据的收集、存储、整理、更新、检索以及处理等相应的操作[5]。现阶段,计算机系统当中的核心还是属于数据库,且数据库质量直接会影响到整个系统运行的速度以及最终所呈现出的质量。

4.2.1 数据库设计原则

在具体进行概念设计的时候,通常是包括的设计方式有渐进扩张、自上而下、混合策略以及自下而上[13]。在针对局部设计的过程中,主要使用的是自顶向下而下,而物理结构的具体设计主要包括两个阶段:首先是对数据库物理结构进行定义,其次,存取关系模型的方式一定要选择正确。

4.2.2 概念设计

根据需求分析和业务流程,通过对系统中所涉及的用户、视频、管理员等现实世界中存在的事务物所具有的各种属性,进行归类、合并和总结,从而建立起抽象的数据概念模型。根据这个模型可以充分反映现实世界的信息结构、信息流动状况、信息之间的制约关系以及对信息进行增删改查的操作等。如图4.2所示

图4.2 数据库E-R图

4.3 物理设计

在本次项目开发中,一共设计了10张表,主要分为用户端和后台两部分。主要的表包括:管理员表、用户表、新闻表、视频类型表、视频信息表、收藏记录表等。

(1)后台管理员表(allusers)表

用于存储后台管理员用户名、密码、角色、添加时间等基本信息。

表4.1 后台管理员表(allusers)表

字段名称

描述

数据类型

值域

id

主键

int

0

username

用户名

varchar

50

pwd

密码

varchar

50

cx

角色

varchar

50

addtime

添加时间

timestamp

0

(2)用户表(yonghuzhuce)表

用于存储前台注册用户的用户名、密码、姓名、性别等基本信息。


表4.2 用户表(yonghuzhuce)表

字段名称

描述

数据类型

值域

id

主键

int

0

yonghuming

用户名

varchar

50

mima

密码

varchar

50

xingming

姓名

varchar

50

xingbie

性别

varchar

50

chushengnianyue

出生年月

date

0

QQ

QQ号

varchar

50

youxiang

邮箱

varchar

50

shouji

手机号

varchar

50

shenfenzheng

身份证号

varchar

50

touxiang

头像地址

varchar

50

dizhi

住址

varchar

50

beizhu

备注

varchar

500

issh

是否审核

varchar

10

addtime

创建时间

timestamp

0

(3)视频类别表(shipinleibie)表

用于存储视频类别id、名称等信息。

表4.3 视频类别表(shipinleibie)表

字段名称

描述

数据类型

值域

id

主键

int

0

leibie

类别名称

varchar

50

addtime

创建时间

timestamp

0

(4)视频信息表(shipinxinxi)表

用于存储网辩视频的编号、名称、关键字等基本信息。

表4.4 视频信息表(shipinxinxi)表

字段名称

描述

数据类型

值域

id

主键

int

0

bianhao

编号

varchar

50

mingcheng

名称

varchar

50

guanjianzi

关键字

varchar

50

leibie

类别

varchar

50

zhutu

主图地址

varchar

50

jianjie

简介

varchar

500

shipin

视频地址

varchar

50

shangchuanren

上传人

varchar

50

dianjilv

点击率

varchar

50

issh

是否审核

varchar

10

dianzan_d

点赞

int

0

续表4.4 视频信息表(shipinxinxi)表

dianzan_c

点赞

int

0

addtime

添加时间

timestamp

0

(5)收藏记录表(shoucangjilu)表

收藏记录表主要包含用户、信息id等基本信息。

表4.5 收藏记录表(shoucangjilu)表

字段名称

描述

数据类型

值域

id

表id

int

0

username

用户名

varchar

50

xwid

选择id

varchar

50

ziduan

字段名

varchar

50

biao

表名

varchar

50

addtime

添加时间

timestamp

0

biaoj

标记

varchar

255

(6)新闻统计表(xinwentongzhi)表

新闻统计表主要存储标题、类别、内容、首页图片等基本信息。

表4.6 新闻统计表(xinwentongzhi)表

字段名称

描述

数据类型

值域

id

表id

int

0

biaoti

标题

varchar

50

leibie

类别

varchar

50

neirong

内容

mediumtext

0

shouyetupian

首页图片

varchar

50

dianjilv

点击率

varchar

50

tianjiaren

添加人

varchar

50

addtime

添加时间

timestamp

0

(7)友情链接表(youqinglainjie)表

友情链接表主要存储网站名称、网址、添加时间等基本信息。

表4.7 友情链接表(youqinglainjie)表

字段名称

描述

数据类型

值域

ID

表id

int

0

wangzhanmingcheng

网站名称

varchar

50

wangzhi

网址

varchar

50

addtime

添加时间

timestamp

0

LOGO

Logo

int

0

(8)评论表(pinglun)表

评论表主要存储网站名称、网址、添加时间等基本信息。


表4.8 评论表(pinglun)表

字段名称

描述

数据类型

值域

ID

表id

int

0

xinwenID

新闻id

varchar

10

pinglunneirong

评论内容

varchar

500

pinglunren

评论人

varchar

20

pingfen

评分

varchar

4

biao

varchar

20

addtime

添加时间

timestamp

0

(9)留言板表(liuyanban)表

留言板表主要存储性别、QQ、邮箱、手机号等基本信息。

表4.9 留言板表(liuyanban)表

字段名称

描述

数据类型

值域

id

表id

int

0

cheng

新闻id

varchar

50

xingbie

性别

varchar

50

QQ

QQ

varchar

50

youxiang

邮箱

varchar

50

shouji

手机号

varchar

50

neirong

内容

varchar

500

huifuneirong

回复内容

varchar

500

addtime

添加时间

timestamp

0

(10)系统简介表(dx)表

留言板表主要存储性别、QQ、邮箱、手机号等基本信息。

表4.10 系统简介表(dx)表

字段名称

描述

数据类型

值域

ID

表id

int

0

leibie

类别

varchar

50

content

内容

longtext

0

5 系统功能详细设计与实现

(1)注册

(2) 登录

(3) 首页展示

(4) 首页视频列表

(5) 视频详情

(6) 新闻页面效果图

(7) 我要留言

(8)辩论精彩瞬间列表

 (9)后台登录

  (10)后台功能列表

喜欢的点赞收藏加关注私信作者交流沟通 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/587906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尧泰汉海五城联动,“益”起圆梦!用爱守护成长,助力502名孩子实现心愿

公益的力量让孩子们的梦想被看见。 文具套装、书包、篮球 、益智积木、生日蛋糕......一个个看似小小的心愿,对于城市里的孩子来说是平常不过的礼物,但却成了许多正处于困境孩子的期待。 本次活动由重庆市慈善总会指导,Home尧泰汉海慈善专项…

【项目】ROS下使用乐视深度相机LeTMC-520

本文主要记录如何在ros下使用乐视深度相机。乐视三合一体感摄像头LeTMC-520其实就是奥比中光摄像头(Orbbec Astra Pro) 系统:Ubuntu20.04 这款相机使用uvc输入彩色信息,需要使用libuvc、libuvc_ros才能在ROS上正常使用彩色功能。…

k8s实战2-用minikube发布本地应用

官网的教程中,hello-minikube其镜像都在网上(dockerhub)上,如何把本地打包的docker镜像发布到minikube中 1 终端上运行eval $(minikube docker-env) 此命令的作用是使用Minikube Docker守护进程,跟原来docker desktop的docker进程区别开来 …

FPGA深层解析

概览 高端设计工具为少有甚是没有硬件设计技术的工程师和科学家提供现场可 编程门阵列(FPGA)。无论你使用图形化设计程序,ANSI C语言还是VHDL语言, 如此复杂的合成工艺会不禁让人去想FPGA真实的运作情况。在这个芯片中的程 序在这些可设置硅片间到底是如何工作的。本书会使…

腾讯云2核4G5M服务器性能如何?来说说CPU内存带宽系统盘

腾讯云轻量应用服务器2核4G5M配置一年168元,三年628元,100%CPU性能,5M带宽下载速度640KB/秒,60GB SSD系统盘,月流量500GB,折合每天16.6GB流量,超出月流量包的流量按照0.8元每GB的支付流量费&…

SKY13330-397LF国产替代ATR5330 SUB-1G SPDT开关芯片

1.1 芯片简介 ATR5330是一款采用CMOS SOI工艺制作的单刀双掷开关单芯片,该芯片的推荐工作频率20MHz-4GHz, 开关芯片采用单电源供电控制,有非常低的电流功耗。开关开启工作时有非常低的插入损耗以及非常高的线性度。 1.2主要特征 频率范围: 0.…

项目管理:如何利用工具做好工作汇报?

我们公司曾经经历了一次惨痛的教训。我们为一家重要的大客户提供咨询服务,但在项目结束时,我们的项目负责人在电梯间遇见了客户的总经理,被问及项目结果时,却无法在短时间内清晰地表达出来。这一失误导致我们失去了这位重要客户。…

什么是跳表

什么是跳表 跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集(见右…

【Redis】Redis 内存回收

文章目录 1. 过期key处理1.1 惰性删除1.2 周期删除 2. 内存淘汰策略 Redis 中数据过期策略采用定期删除惰性删除策略结合起来,以及采用淘汰策略来兜底。 定期删除策略:Redis 启用一个定时器定时监视所有的 key,判断key是否过期,过…

大语言模型技术原理

在今天这个时代,人们的工作和生活已经离不开数据访问,而几乎所有平台背后的数据存储和查询都离不开数据库。SQL作为一种数据库的查询和处理语言历史悠久,最早由IBM于上世纪70年代初研究关系数据模型时提出,后续发展为一种广泛使用…

Python实战基础15-匿名函数,高阶函数

1、匿名函数 用lambda关键词能创建小型匿名函数,这种函数得名于省略了用def声明函数的标准步骤。 lambda函数的语法只包含一个语句,如下: lambda 参数列表: 运算表达式 如下实例: sum lambda arg1,arg2:arg1 arg2…

Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial

未完待续。。。。。 5.1 基本操作 参考视频: 5 - 1 - Basic Operations (14 控制输出格式的长短 min).mkv 5.1.1 简单运算 不等于符号的写法是这个波浪线加上等于符号 ( ~ ),而不是等于感叹号加等号( ! ) 1 1 1   % 判断相等 2 1 ~ 2   % 判断不等 3 …

【AUTOSAR】Com通讯栈配置说明(一)---- Can模块

通讯栈 模块 项目通讯栈 主要包含如下几个模块: 各模块详细配置说明 Can模块 这部分最终会导入到EB 中,通过EB 生成CanDriver 代码, 具体参数的介绍已经在EB 配置说明中介绍过。 CanController ​​​​​​​CanHaredWareObject 以其中一…

Unity3D:2D/3D 项目

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 2D 还是 3D 项目 无论是创建 2D 还是 3D 游戏,Unity 都很拿手。在 Unity 中创建新项目时,可以选择以 2D 或 3D 模式启动。您可能已经知道要构建什么&#x…

1-网络初识——网络发展史

目录 1.独立模式 2.网络互联 2.1.局域网(Local Area Network,简称LAN) ①基于网线直连 ②基于集线器组建 ③基于交换机组建 ④基于交换机(网口很多)和路由器组建 2.2.广域网(Wide Area Network&…

MySQL新身份验证插件caching_sha2_password

同事反馈了一个问题,MySQL客户端连接数据库的时候,提示这个错误, ERROR 2059 (HY000): Plugin caching_sha2_password could not be loaded: /usr/lib64/mariadb/plugin/caching_sha2_password.so: cannot open shared object file: No suc…

中国码农生存现状调查

传说中的码农到底是一种什么样的存在。 程序员一直都是一个备受人们关注的群体。据IDC统计,全球约有1850万名程序员,中国占10%。随着近年全国互联网创业热潮的兴起,“互联网”、“云计算”以及“智能硬件”等领域发展迅速,市场对…

微信小程序开发需要多少钱?

近几年来,微信小程序开发行业发展迅猛,可以说是未来的一个趋势,它不仅能在用户体验上更好,而且也能有效地提升商家的营业额。目前来说,小程序开发主要有模板小程序、定制小程序两种,模板小程序的价格比较低…

IO多路复用详解

文章目录 基本概念select系统调用详解select函数定义select的底层原理select的优缺点 poll系统调用详解poll函数定义调用poll的底层原理poll的优缺点 epoll系统调用详解epoll相关的函数定义epoll的底层原理epoll的优缺点 ET vs LT基本概念epoll_ctl模式设置 应用场景基于IO多路…

Makefile中定义版本号,巨坑

最初是这样定义的,咋看没问题 DT_VERSION 5.1.0 ifeq ($(shell which git), )DT_BACKEND_VERSION $(DT_VERSION) elseDATE $(shell date "%m/%d/%Y")GIT_VERSION $(shell git rev-parse HEAD | cut -c 1-8)DT_BACKEND_VERSION $(DT_VERSION)-$(GIT_…