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

基于大数据爬虫数据挖掘技术+Python的网络用户购物行为分析与可视化平台(源码+论文+PPT+部署文档教程等)

#1024程序员节|征文#

 博主介绍CSDN毕设辅导第一人、全网粉丝50W+,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。

主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

大数据项目实战《100套》

Python项目实战《100套》

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

 系统介绍:

近年来,科技飞速发展,在经济全球化的背景之下,大数据将进一步提高社会综合发展的效率和速度,大数据技术也会涉及到各个领域,而爬虫实现网站数据可视化在网站数据可视化背景下有着无法忽视的作用。管理信息系统的开发是一个不断优化的过程,随着网络大数据时代的到来,管理信息系统与大数据集成为必然。

本次将以网络用户购物行为分析系统和信息管理系统两个方面为切入点,论述了网络用户购物行为分析系统与信息管理系统的意义和内容,以此展开对网站数据可视化的开发与建设的详细分析。从数据挖掘的角度出发,了解信息管理系统的作用,对数据分析的过程以及用处进行更深一步的研究,数据的处理效率,以及具体的应用方向。对于大数据环境下对信息管理系统所带来的影响,将从传统管理信息系统与大数据环境下的管理信息系统进行对比分析,从硬件优化、软件开发,这几个方面来论述网络用户购物行为分析的优势所在,分析网络用户购物行为分析系统在大数据时代发展的变化趋势。并且以网络用户购物行为分析系统信息为例,分析在网站数据可视化的客观需求分析,针对其中的问题网站数据可视化做出一些无论是加强相关政策的立法工作还是建立及时的信息反馈等等的合理化建议,并进行对于未来发展的分析规划。

关键词:网络用户购物行为分析系统

    程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。

程序操作流程图

      首先前端通过Vue和axios发送HTTP请求到后端的登录接口。在后端接收登录请求的Controller会使用`@RequestParam Map<String, Object> params`来接收前端传递的用户参数,用户名和密码。然后后端根据接收到的参数创建一个查询条件封装对象MyBatis的EntityWrapper用于构建查询条件。接着在业务层,调用相应的service方法来查询数据库中是否存在匹配的用户信息。这个查询方法Login()会将前端传递的对象参数传递到后台的DAO层,进行数据库的交互操作。如果存在符合条件的用户,则会返回相关的用户信息。最后在后端控制器中将查询结果封装成响应体,通过`return R.ok().put("data", userService.selecView(ew))`将用户信息返回给前端。前端收到响应后,可以通过调用Vue、ElementUI等组件来渲染登录结果,例如显示用户信息或者跳转到相应的页面。

系统架构设计

系统架构设计是软件开发过程中至关重要的一环。首先是模型层(Model),模型层通常对应着数据库或者其他数据源,它负责与数据库进行交互,执行各种数据操作,并将处理后的数据传递给控制器层。模型层的设计应该简洁清晰,尽可能减少与视图和控制器的耦合,以提高代码的可维护性和可重用性。

其次是视图层(View)通常是通过网页、移动应用界面或者其他用户界面来展示数据。视图层与用户交互,接受用户的输入,并将输入传递给控制器层进行处理。在MVC三层架构中,视图层应该尽量保持简单,只负责数据的展示和用户交互,不涉及业务逻辑的处理,以保持视图层的清晰度和可复用性,最后是控制器层(Controller),每个层都有特定的职责和功能,通过分层架构设计,实现代码模块化,为软件开发提供了一种有效的架构模式。系统架构如图4-1所示。

详细视频演示

请文末卡片dd我获取更详细的演示视频

功能截图:

      在系统前台首页,调用`$route(newValue)`方法监听路由变化,根据当前的路由地址来确定活动菜单的索引,并且根据路由的哈希部分(即URL的`#`后面的部分)来判断是否需要滚动页面到顶部或者某个特定元素的位置。如果不是首页,会将页面滚动到指定元素处,否则滚动到页面顶部。另外通过`headportrait()`方法用于更新组件渲染点前用户头像。在用户登录后,后端返回了新的用户信息,需要及时更新页面上的用户头像信息。

按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块一一说明如何设计和实现的。

5.1 后台用户功能的实现

用户注册,在注册页面通过填写用户账号、用户姓名、性别、电话、头像等信息,进行注册,在登录页面通过填写账号、密码等信息,进行登录,如图5-1、5-2所示。

图5-1 用户注册界面图

5-2 用户登录界面图

在这里,用户能够看到该系统的一些基本功能,成功登录后,用户可以通过当前页面的各个导航进入各功能的页面,然后进行相关操作。系统首页界面如图 5-3所示:

图 5-3系统首页界面 

用户点击电子产品,在电子产品页面的搜索栏输入标题、店名、省份,进行搜索然后可以查看标题、图片、店名、省份、商品评价、价格、优惠等信息如图5-4所示:

5-4电子产品界面图

用户点击用户资料用户资料页面用户可以修改个人信息,也可以修改密码如图5-5所示:

5-5用户资料界面图

5.2 后台管理员功能的实现

管理员登录,通过登录页面填写用户名和密码等信息点击登录操作,如图5-6所示。

5-6管理员登录界面图

管理员登录进入网络用户购物行为分析系统可以查看首页、用户、电子产品、系统简介、用户资料等功能进行详细操作,如图5-7所示。

5-7管理员功能界面图

管理员点击用户;在用户页面输入用户账号、用户姓名进行搜索可以点击添加或删除操作;如图5-8所示。

5-8用户界面图

管理员点击电子产品;在电子产品页面输入标题、店名、省份进行搜索可以点击添加或删除操作;如图5-9所示。

5-9电子产品界面图

管理员点击系统简介;在系统简介页面可以查看标题、副标题、图片1、图片2、图片3如图5-10所示。

5-10系统简介界面图

5.3系统看板展示

网络用户购物行为分析系统展示如图5-11所示。

5-11网络用户购物行为分析系统展示

5.3数据采集

定义一个Scrapy爬虫类`ZhaopinxinxiSpider`,用于爬取指定网站的招聘信息。`name`定义了爬虫的名称,`spiderUrl`指定了目标网站的URL,`start_urls`将目标网站的URL按分号拆分成一个列表,作为爬取的起始URL。`protocol`和`hostname`用于定义协议和主机名,暂时为空。`realtime`用于指定是否实时获取数据,初始化为False。代码如下所示。

class ZhaopinxinxiSpider(scrapy.Spider):
    name = 'zhaopinxinxiSpider'
    spiderUrl = 'https://www.chinahr.com/newchr/open/job/search'
    start_urls = spiderUrl.split(";")
    protocol = ''
    hostname = ''
    realtime = False

使用parse方法中进行一些初始化操作和判断条件。首先,通过urlparse函数解析self.spiderUrl得到URL的协议和主机名,并将其分别赋值给self.protocol和self.hostname。 然后,通过platform.system().lower()获取当前操作系统的名称,并将其转换为小写字母,保存在plat变量中。 接着,判断条件如果不是实时爬取(self.realtime为False)并且当前操作系统是Linux或Windows,建立数据库连接,并将连接对象赋值给connect变量。获取数据库的游标对象,并将其赋值给cursor变量,调用table_exists函数检查数据库中是否存在名为'5nw5u40i_zhaopinxinxi '的表,如果存在就执行关闭游标和连接,调用temp_data函数,最后返回。代码如下所示。

def parse(self, response):
    _url = urlparse(self.spiderUrl)
    self.protocol = _url.scheme
    self.hostname = _url.netloc
    plat = platform.system().lower()
    if not self.realtime and (plat == 'linux' or plat == 'windows'):
        connect = self.db_connect()
        cursor = connect.cursor()
        if self.table_exists(cursor, '5nw5u40i_zhaopinxinxi') == 1:
            cursor.close()
            connect.close()
            self.temp_data()
            return

使用Scrapy爬虫的回调函数,进行解析详情页面,从response的meta中获取字段对象fileds,最后对其进行赋值和处理。代码如下所示。

def detail_parse(self, response):
    fields = response.meta['fields']
    try:
        fields["detail"] = str( emoji.demojize(response.css('''div.detail-des_lists''').extract_first()))
    except:
        pass
    return fields

5.4数据处理

数据集处理是至关重要的环节。以下是我详细的数据集处理流程:

首先,通过各种渠道搜数据集,这可能涉及抓取数据、接收来自合作公司的资料,以及整合校内的就业公告等。这些数据应涵盖职位的核心详情,例如职位头衔、薪酬范围、工作位置及任职资格等。

接着,获取到数据集后,重要的一环是执行数据清洗和预处理步骤。数据清洗的目的是保证数据质量和完整性,涉及消除重复记录、处理未填充的值、修正不准确的信息等。预处理阶段则涵盖数据的格式统一、标准化和转化操作,以适应后续的分析需求。这一过程中,我们利用pandas库来进行数据洞察,并结合Scrapy架构进行高效的数据采集和清洗,从而保证数据的精确度和实用性。为了数据的可靠存储和扩展能力,我们选用MySQL数据库系统。

为了建立与MySQL数据库的连接,我们将使用root用户,其密码设定为123456,目标数据库名为spider5nw5u40i。采用pandas的read_sql方法,可以从数据库中提取所需的数据。具体代码实现如下。

def pandas_filter(self):
    engine = create_engine('mysql+pymysql://root:123456@localhost/spider5nw5u40i?charset=UTF8MB4')
    df = pd.read_sql('select * from zhaopinxinxi limit 50', con = engine)

首先,检查DataFrame对象df是否存在重复的行,使用'df.drop_duplicates()'函数删除对象中重复行。调用'df.isnull()'函数检测对象df'中的缺失值。随后调用'df.dropna()'函数删除具有缺失值的行。'df.fillna(value='暂无')'函数将对象df中的缺失值替换为指定的值'暂无'。代码如下所示。

df.duplicated()
df.drop_duplicates()
df.isnull()
df.dropna()
df.fillna(value = '暂无')

生成一个包含200个介于0到1000之间的随机整数的数组a,然后定义了一个布尔条件cond,用于筛选满足a在100到800之间的元素。生成一个包含10万个符合标准正态分布的随机数的数组b,定义一个布尔条件cond,用于筛选满足b的绝对值大于3的元素。

创建一个形状为10000行3列的DataFrame df2,其中的数据是符合标准正态分布的随机数。定义一个布尔条件cond,用于筛选在df2中任意一列的值大于三倍标准差的行。该行代码使用索引操作df2[cond].index,获取满足条件cond的行的索引。删除具有指定索引的行,并返回更新后的对象df2。代码如下所示。

a = np.random.randint(0, 1000, size = 200)
cond = (a<=800) & (a>=100)
a[cond]
b = np.random.randn(100000)
cond = np.abs(b) > 3 * 1
b[cond]
df2 = pd.DataFrame(data = np.random.randn(10000,3))
cond = (df2 > 3*df2.std()).any(axis = 1)
index = df2[cond].index
df2.drop(labels=index,axis = 0)

移除HTML标签,首先,检查html参数是否为None,如果是则返回空字符串。然后使用正则表达式模式匹配HTML标签的正则表达式(<[^>]+>),并通过re.sub函数将匹配到的HTML标签替换为空字符串。最后使用strip函数去除字符串两端的空白字符,并返回处理后的结果。代码如下所示。

def remove_html(self, html):
    if html == None:
        return ''
    pattern = re.compile(r'<[^>]+>', re.S)
    return pattern.sub('', html).strip()

在初始化数据库链接流程时,首要任务是从配置文件中提取必要的连接参数,这些参数涵盖了数据库的种类标识、服务器地址、端口、登录凭证,如用户名和密码。如果数据库名称未明确指定,系统会尝试从self.databaseName属性中寻找。接下来,根据所识别的数据库类型动态选择适配的连接技术。例如,如果确认是MySQL,会选择pymysql库进行无缝对接;反之,如果不是MySQL,程序将同样采用pymysql库来建立连接。最终,这段代码将执行并返回一个有效的连接对象,记作connect,整个过程逻辑严谨且高效。以下是具体实现的代码段:

def db_connect(self):
    type = self.settings.get('TYPE', 'mysql')
    host = self.settings.get('HOST', 'localhost')
    port = int(self.settings.get('PORT', 3306))
    user = self.settings.get('USER', 'root')
    password = self.settings.get('PASSWORD', '123456')

    try:
        database = self.databaseName
    except:
        database = self.settings.get('DATABASE', '')

    if type == 'mysql':
        connect = pymysql.connect(host=host, port=port, db=database, user=user, passwd=password, charset='utf8')
    else:
        connect = pymssql.connect(host=host, user=user, password=password, database=database)
    return connect

将处理好的数据进行数据存储,定义一个包含插入语句的sql字符串,目标数据库表是zhaopinxinxi,列名包括id、jobname、salary等,从表5nw5u40i_zhaopinxinxi中选择符合条件的数据,将这些数据插入到目标表中。

def temp_data(self):

    connect = self.db_connect()
    cursor = connect.cursor()
    sql = '''
        insert into `zhaopinxinxi`(……)
        select …… from `5nw5u40i_zhaopinxinxi`
        where(not exists (select …… from `zhaopinxinxi` where
              `zhaopinxinxi`.id=`5nw5u40i_zhaopinxinxi`.id))
         '''
    cursor.execute(sql)
    connect.commit()
    connect.close()

论文参考:

1 绪  论

1.1研究背景与意义

1.2系统研究现状

1.3 论文主要工作内容

2 系统关键技术

2.1 java简介

2.2 MySQL数据库

2.3 B/S结构

2.4 SpringBoot框架

2.5 VUE框架

3 系统分析

3.1 系统可行性分析

3.1.1 技术可行性

3.1.2 操作可行性

3.1.3 经济可行性

3.1.4 法律可行性

3.2 系统性能分析

3.3 系统功能分析

3.4 系统流程分析

3.4.1 数据开发流程

3.4.2 用户登录流程

3.4.3 系统操作流程

3.4.4 添加信息流程

3.4.5 修改信息流程

3.4.6 删除信息流程

4 系统设计

4.1 系统概要

4.2 系统结构设计

4.3数据库设计

4.3.1 数据库设计原则

4.3.3 数据库表设计

4.4 系统时序图

4.4.1 注册时序图

4.4.2 登录时序图

4.4.3 管理员修改用户信息时序图

4.4.4 管理员管理系统信息时序图

5 系统的实现

5.1前台功能实现

5.1.1系统首页页面

5.1.2个人中心

5.2后台管理员功能实现

6 系统测试

6.1 测试环境

6.2 测试目的

6.3 测试概述

6.4 单元测试

6.4.1 注册测试

6.4.2 登录测试

6.5 集成测试

结  论

参考文献

致  谢

代码实现:

/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String role, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user != null){if(!user.getRole().equals(role)){return R.error("权限不正常");}if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}else{return R.error("账号或密码或权限不对");}}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Integer id = (Integer)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

推荐项目:

基于大数据爬虫+数据可视化的农村产权交易与数据可视化平台

基于SpringBoot+数据可视化+大数据二手电子产品需求分析系统

基于SpringBoot+数据可视化+协同过滤算法的个性化视频推荐系统

基于大数据+爬虫+数据可视化的的亚健康人群数据可视化平台

基于SpringBoot+大数据+爬虫+数据可视化的的媒体社交与可视化平台

基于大数据+爬虫+数据可视化+SpringBoot+Vue的智能孕婴护理管理与可视化平台系统

基于大数据+爬虫+数据可视化+SpringBoot+Vue的虚拟证券交易平台

基于大数据+爬虫技术+数据可视化的国漫推荐系统

基于大数据爬虫+Hadoop+数据可视化+SpringBoo的电影数据分析与可视化平台

基于python+大数据爬虫技术+数据可视化+Spark的电力能耗数据分析与可视化平台

基于SpringBoot+Vue四川自驾游攻略管理系统设计和实现

基于SpringBoot+Vue+安卓APP计算机精品课程学习系统设计和实现

基于Python+大数据城市景观画像可视化系统设计和实现

基于大数据+Hadoop的豆瓣电子图书推荐系统设计和实现

基于微信小程序+Springboot线上租房平台设计和实现-三端

2022-2024年最全的计算机软件毕业设计选题大全

基于Java+SpringBoot+Vue前后端分离手机销售商城系统设计和实现

基于Java+SpringBoot+Vue前后端分离仓库管理系统设计实现

基于SpringBoot+uniapp微信小程序校园点餐平台详细设计和实现

基于Java+SpringBoot+Vue+echarts健身房管理系统设计和实现

基于JavaSpringBoot+Vue+uniapp微信小程序实现鲜花商城购物系统

基于Java+SpringBoot+Vue前后端分离摄影分享网站平台系统 

基于Java+SpringBoot+Vue前后端分离餐厅点餐管理系统设计和实现

基于Python热门旅游景点数据分析系统设计与实现

项目案例: 

 

为什么选择我

 博主是CSDN毕设辅导博客第一人兼开派祖师爷、博主本身从事开发软件开发、有丰富的编程能力和水平、累积给上千名同学进行辅导、全网累积粉丝超过50W。是CSDN特邀作者、博客专家、新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流和合作。 

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

 精彩专栏推荐订阅下方专栏👇🏻

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

Python项目实战《100套》

相关文章:

基于大数据爬虫数据挖掘技术+Python的网络用户购物行为分析与可视化平台(源码+论文+PPT+部署文档教程等)

#1024程序员节&#xff5c;征文# 博主介绍&#xff1a;CSDN毕设辅导第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老…...

蓝桥杯每日真题 - 第19天

题目&#xff1a;&#xff08;费用报销&#xff09; 题目描述&#xff08;13届 C&C B组F题&#xff09; 解题思路&#xff1a; 1. 问题抽象 本问题可以看作一个限制条件较多的优化问题&#xff0c;核心是如何在金额和时间约束下选择最优方案&#xff1a; 动态规划是理想…...

CentOS7.9.2009的yum更换vault地窖保险库过期源,epel的archive归档源 笔记241117

CentOS7.9.2009的yum更换vault地窖保险库过期源,epel的archive归档源 笔记241117 备份 /etc/yum.repos.d 文件夹 tempUri/etc/yum.repos.d ; sudo cp -a $tempUri $tempUri.$(date %0y%0m%0d%0H%0M%0Sns%0N).bak清空 /etc/yum.repos.d 文件夹 sudo rm -rf /etc…...

Spark SQL大数据分析快速上手-完全分布模式安装

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 大数据与数据分析_夏天又到了的博客-CSDN博客 Hadoop完全分布式环境搭建步骤-CSDN博客,前置环境安装参看此博文 完全分布模式也叫集群模式。将Spark目…...

Java面试题2024-Java基础

Java基础 1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象&#xff08;Java最重要的特性&#xff0c;让程序耦合度更低&#xff0c;内聚性更高&#xff09; 3、与平台无关性&#xff08;JVM是Java跨平台使用的根本&#xff09; 4、可靠安全 5、支持多线程 2、…...

局域网协同办公软件,2024安全的协同办公软件推荐

在2024年&#xff0c;随着数字化转型的深入和远程工作需求的增加&#xff0c;协同办公软件已成为企业提升工作效率、优化沟通流程的重要工具。 以下是一些值得推荐的安全的协同办公软件&#xff1a; 钉钉 功能全面&#xff1a;钉钉是一款综合性极强的企业级协同软件&#xff…...

osg、osgearth简介及学习环境准备

一、osg简介&#xff08;三维场景图渲染与调度引擎&#xff09; OSG是Open Scene Graphic 的缩写&#xff0c;OSG于1997年诞生于以为滑翔机爱好者之手&#xff0c;Don burns 为了对滑翔机的飞行进行模拟&#xff0c;对openGL的库进行了封装&#xff0c;osg的雏形就这样诞生了&…...

nodejs基于微信小程序的云校园的设计与实现

摘 要 相比于传统的校园管理方式&#xff0c;智能化的管理方式可以大幅提高校园的管理效率&#xff0c;实现了云校园管理的标准化、制度化、程序化的管理&#xff0c;有效地防止了云校园信息的不规范管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能够及时、准确地…...

uni-app快速入门(十)--常用内置组件(下)

本文介绍uni-app的textarea多行文本框组件、web-view组件、image图片组件、switch开关组件、audio音频组件、video视频组件。 一、textarea多行文本框组件 textarea组件在HTML 中相信大家非常熟悉&#xff0c;组件的官方介绍见&#xff1a; textarea | uni-app官网uni-app,un…...

golang基础

在 Go 中字符串是不可变的&#xff0c;例如下面的代码编译时会报错&#xff1a; cannot assign to s[0] 但如果真的想要修改怎么办呢&#xff1f;下面的代码可以实现&#xff1a; var s string "hello" s [ 0 ] c s : "hello" c : [] b…...

Selenium + 数据驱动测试:从入门到实战!

引言 在软件测试中&#xff0c;测试数据的多样性和灵活性对测试覆盖率至关重要。而数据驱动测试&#xff08;Data-Driven Testing&#xff09;通过将测试逻辑与数据分离&#xff0c;极大地提高了测试用例的可维护性和可扩展性。本文将结合Selenium这一流行的测试工具&#xff0…...

LLaMA与ChatGLM选用比较

目录 1. 开发背景 2. 目标与应用 3. 训练数据 4. 模型架构与规模 5. 开源与社区支持 6. 对话能力 7. 微调与应用 8. 推理速度与资源消耗 总结 LLaMA(Large Language Model Meta AI)和 ChatGLM(Chat Generative Language Model)都是强大的大型语言模型,但它们有一…...

GPTZero:高效识别AI生成文本,保障学术诚信与内容原创性

产品描述 GPTZero 是一款先进的AI文本检测工具&#xff0c;专为识别由大型语言模型&#xff08;如ChatGPT、GPT-4、Bard等&#xff09;生成的文本而设计。它通过分析文本的复杂性和一致性&#xff0c;判断文本是否可能由人类编写。GPTZero 已经得到了超过100家媒体机构的报道&…...

C/C++ 优化,strlen 示例

目录 C/C optimization, the strlen examplehttps://hallowed-blinker-3ca.notion.site/C-C-optimization-the-strlen-example-108719425da080338d94c79add2bb372 揭开优化的神秘面纱... 让我们来谈谈 CPU 等等&#xff0c;SIMD 是什么&#xff1f; 为什么 strlen 是一个很…...

【动手学深度学习Pytorch】1. 线性回归代码

零实现 导入所需要的包&#xff1a; # %matplotlib inline import random import torch from d2l import torch as d2l import matplotlib.pyplot as plt import matplotlib import os构造人造数据集&#xff1a;假设w[2, -3.4]&#xff0c;b4.2&#xff0c;存在随机噪音&…...

深入理解PyTorch中的卷积层:工作原理、参数解析与实际应用示例

深入理解PyTorch中的卷积层&#xff1a;工作原理、参数解析与实际应用示例 在PyTorch中&#xff0c;卷积层是构建卷积神经网络&#xff08;CNNs&#xff09;的基本单元&#xff0c;广泛用于处理图像和视频中的特征提取任务。通过卷积操作&#xff0c;网络可以有效地学习输入数…...

DataGear 5.2.0 发布,数据可视化分析平台

DataGear 企业版 1.3.0 已发布&#xff0c;欢迎体验&#xff01; http://datagear.tech/pro/ DataGear 5.2.0 发布&#xff0c;图表插件支持定义依赖库、严重 BUG 修复、功能改进、安全增强&#xff0c;具体更新内容如下&#xff1a; 重构&#xff1a;各模块管理功能访问路径…...

uniapp: vite配置rollup-plugin-visualizer进行小程序依赖可视化分析减少vender.js大小

一、前言 在之前文章《uniapp: 微信小程序包体积超过2M的优化方法&#xff08;主包从2.7M优化到1.5M以内&#xff09;》中&#xff0c;提到了6种优化小程序包体积的方法&#xff0c;但并没有涉及如何分析common/vender.js这个文件的优化&#xff0c;而这个文件的大小通常情况下…...

深度学习:如何复现神经网络

深度学习&#xff1a;如何复现神经网络 要复现图中展示的卷积神经网络&#xff08;CNN&#xff09;&#xff0c;我们需详细了解和配置每层网络的功能与设计理由。以下将具体解释各层的配置以及设计选择的原因&#xff0c;确保网络设计的合理性与有效性。 详细的网络层配置与设…...

Spring Boot与MyBatis-Plus的高效集成

Spring Boot与MyBatis-Plus的高效集成 引言 在现代 Java 开发中&#xff0c;MyBatis-Plus 作为 MyBatis 的增强工具&#xff0c;以其简化 CRUD 操作和无需编写 XML 映射文件的特点&#xff0c;受到了开发者的青睐。本篇文章将带你一步步整合 Spring Boot 与 MyBatis-Plus&…...

【Unity ShaderGraph实现流体效果之Function入门】

Unity ShaderGraph实现流体效果之Node入门&#xff08;一&#xff09; 前言Shader Graph NodePosition NodeSplit NodeSubtract NodeBranch Node 总结 前言 Unity 提供的Shader Graph在很大程度上简化了开发者对于编写Shader的工作&#xff0c;只需要拖拽即可完成一个视觉效果…...

Spark RDD sortBy算子执行时进行数据 “采样”是什么意思?

一、sortBy 和 RangePartitioner sortBy 在 Spark 中会在执行排序时采用 rangePartitioner 进行分区&#xff0c;这会影响数据的分区方式&#xff0c;并且这一步骤是通过对数据进行 “采样” 来计算分区的范围。不过&#xff0c;重要的是&#xff0c;sortBy 本身仍然是一个 tr…...

React-useRef与DOM操作

#题引&#xff1a;我认为跟着官方文档学习不会走歪路 ref使用 组件重新渲染时&#xff0c;react组件函数里的代码会重新执行&#xff0c;返回新的JSX&#xff0c;当你希望组件“记住”某些信息&#xff0c;但又不想让这些信息触发新的渲染时&#xff0c;你可以使用ref&#x…...

Mistral AI 发布 Pixtral Large 模型:多模态时代的开源先锋

Mistral AI 最新推出的 Pixtral Large 模型&#xff0c;带来了更强的多模态能力。作为一款开源的多模态模型&#xff0c;它不仅在参数量上达到 1240 亿&#xff0c;更在文本和图像理解上实现了质的飞跃。 模型亮点 1. 多模态能力再升级 Pixtral Large 配备了 123B 参数的解码器…...

Windows、Linux多系统共享蓝牙设备

Windows、Linux多系统共享蓝牙设备 近来遇到一个新问题&#xff0c;就是双系统共享蓝牙鼠标。因为一直喜欢在Windows、Linux双系统之间来回切换&#xff0c;而每次切换系统蓝牙就必须重新配对&#xff0c;当然&#xff0c;通过网络成功解决了问题。 通过这个问题&#xff0c;稍…...

C语言 | Leetcode C语言题解之第564题寻找最近的回文数

题目&#xff1a; 题解&#xff1a; #define MAX_STR_LEN 32 typedef unsigned long long ULL;void reverseStr(char * str) {int n strlen(str);for (int l 0, r n-1; l < r; l, r--) {char c str[l];str[l] str[r];str[r] c;} }ULL * getCandidates(const char * n…...

wsl虚拟机中的dockers容器访问不了物理主机

1 首先保证wsl虚拟机能够访问宿主机IP地址&#xff0c;wsl虚拟机通过vEthernet (WSL)的地址访问&#xff0c;着意味着容器也要通过此IP地址访问物理主机。 2 遇到的问题&#xff1a;wsl虚拟机中安装了docker&#xff0c;用在用到docker容器内的开发环境&#xff0c;但是虚拟机…...

Spark RDD 的宽依赖和窄依赖

通俗地理解 Spark RDD 的 宽依赖 和 窄依赖&#xff0c;可以通过以下比喻和解释&#xff1a; 1. 日常生活比喻 假设你在管理多个团队完成工作任务&#xff1a; 窄依赖&#xff1a;每个团队只需要关注自己的分工&#xff0c;完成自己的任务。例如&#xff0c;一个人将纸张折好&…...

二进制转十进制

解题思路分析 二进制转十进制原理&#xff1a;二进制数转换为十进制数的基本原理是按位权展开相加。对于一个二进制数&#xff0c;从右往左每一位的位权依次是将每一位上的数字&#xff08;0 或 1&#xff09;乘以其对应的位权&#xff0c;然后把所有结果相加&#xff0c;就得…...

深度学习:神经网络中的非线性激活的使用

深度学习&#xff1a;神经网络中的非线性激活的使用 在神经网络中&#xff0c;非线性激活函数是至关重要的组件&#xff0c;它们使网络能够捕捉和模拟输入数据中的复杂非线性关系。这些激活函数的主要任务是帮助网络解决那些无法通过简单的线性操作&#xff08;如权重相乘和偏…...

做电子外贸网站建设/sem是指什么

DataTable myDt dt;//删除列myDt.Columns.Remove("minArea");myDt.Columns.Remove("maxArea");//调整列顺序 &#xff0c;列排序从0开始myDt.Columns["num"].SetOrdinal(1);//修改列标题名称dt.Columns["num"].ColumnName "搜索…...

wordpress登录图标/公司网站优化方案

基本思路&#xff1a;1、假设有B、C、D三个网页链接到A&#xff0c;则A的PR值等于各个网页自身PR值除以外链数之和。2、比如B的PR值为X&#xff0c;外链到3个网站&#xff0c;则B对外贡献值为X/33、实际计算要有阻尼系数参与样本数据A B C D以上代表&#xff1a;A网页…...

临沂做网站建设的公司/网络营销公司招聘

课程首页地址&#xff1a;http://blog.csdn.net/sxhelijian/article/details/7910565完成题目需要的文件&#xff0c;请下载&#xff1a;http://download.csdn.net/detail/sxhelijian/5566513 【项目1】旧题再做涨工资   从文件salary.txt中读入500名工人的工资&#xff0c;…...

网站后台更新栏目/怎么在百度做宣传广告

代码见&#xff1a;https://codepen.io/xiaokuoai/pen/bGVBxPq需求&#xff1a;在h5上展示如下图的环形效果图&#xff0c;其中被我马赛克的地方是文字描述&#xff0c;可以忽略。其实像很多图表库都可以满足&#xff0c;譬如echart/antv等&#xff0c;但是只是这一个展示&…...

wordpress进入后台显示500/张家界seo

jkjkljkjkkkkkk adjustadjust转载于:https://blog.51cto.com/songkx/561176...

网站建设的主要步骤有哪些/100大看免费行情的软件

点赞再看&#xff0c;养成习惯前言面试官&#xff1a;敖丙你简历上写了你会数据库调优&#xff0c;你都是怎么调优的&#xff1f;敖丙&#xff1a;加索引。面试官&#xff1a;还有么&#xff1f;敖丙&#xff1a;没了。面试官&#xff1a;我们公司的门你知道在哪里吧&#xff0…...