基于ssm游戏美术外包管理信息系统源码和论文

摘 要

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,线下管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,游戏美术外包管理信息系统就是信息时代变革中的产物之一。

任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤;以java语言设计为基础,实现了游戏美术外包管理信息系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括系统首页,个人中心,用户管理,公司管理,作品信息管理,作品订单管理,外包需求管理,外包应征管理,流程追踪管理,在线交流管理,在线回复管理,管理员管理,留言反馈,系统管理等功能模块。

本文首先介绍了游戏美术外包管理信息技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

关键词:游戏美术外包管理信息;java;MySQL数据库

基于ssm游戏美术外包管理信息系统源码和论文757

演示视频:

基于ssm游戏美术外包管理信息系统源码和论文


Abstract

With the rapid development of information technology and network technology, human beings have entered a new information age, offline management technology has been unable to efficiently and conveniently manage information. In order to meet the needs of The Times and optimize the management efficiency, a variety of management systems have emerged. All walks of life have entered the information management era. The game art outsourcing management information system is one of the products in the information era.

Any system should follow the basic process of system design, this system is no exception, also need to go through market research, demand analysis, outline design, detailed design, coding, testing these steps; Based on Java language design, the game art outsourcing management information system is implemented. The system is based on B/S browser/server mode, the application of Java technology, MySQL as the background database. The system mainly includes system home page, personal center, user management, company management, works information management, works order management, outsourcing demand management, outsourcing application management, process tracking management, online communication management, online response management, administrator management, message feedback, system management and other functional modules.

This article first introduced the game art outsourcing management development background and current situation of the development of information technology, and then follow the routine software development process, first of all, in view of the system and the selection of suitable language development platform, according to the requirement analysis module and database structure design, and then based on the system's overall function module design rendering system function module chart, flow diagram and e-r diagram. Then, design the framework and write code according to the designed framework to achieve each functional module of the system. Finally, the preliminary completed system is tested, mainly functional test, unit test and performance test. The test results show that the system can achieve the required functions, and the running condition is fair and there is no obvious defect.

Key words: Game art outsourcing management information; Java; The MySQL database

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.GongsiEntity;
import com.entity.view.GongsiView;

import com.service.GongsiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;

/**
 * 公司
 * 后端接口
 * @author 
 * @email 
 * @date 2022-03-29 16:14:51
 */
@RestController
@RequestMapping("/gongsi")
public class GongsiController {
    @Autowired
    private GongsiService gongsiService;



    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		GongsiEntity user = gongsiService.selectOne(new EntityWrapper<GongsiEntity>().eq("zhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		if("否".equals(user.getSfsh())) return R.error("账号已锁定,请联系管理员审核。");
		String token = tokenService.generateToken(user.getId(), username,"gongsi",  "公司" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody GongsiEntity gongsi){
    	//ValidatorUtils.validateEntity(gongsi);
    	GongsiEntity user = gongsiService.selectOne(new EntityWrapper<GongsiEntity>().eq("zhanghao", gongsi.getZhanghao()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		gongsi.setId(uId);
        gongsiService.insert(gongsi);
        return R.ok();
    }

	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        GongsiEntity user = gongsiService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	GongsiEntity user = gongsiService.selectOne(new EntityWrapper<GongsiEntity>().eq("zhanghao", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setMima("123456");
        gongsiService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,GongsiEntity gongsi, 
		HttpServletRequest request){

        EntityWrapper<GongsiEntity> ew = new EntityWrapper<GongsiEntity>();
		PageUtils page = gongsiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongsi), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,GongsiEntity gongsi, 
		HttpServletRequest request){
        EntityWrapper<GongsiEntity> ew = new EntityWrapper<GongsiEntity>();
		PageUtils page = gongsiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongsi), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( GongsiEntity gongsi){
       	EntityWrapper<GongsiEntity> ew = new EntityWrapper<GongsiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( gongsi, "gongsi")); 
        return R.ok().put("data", gongsiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(GongsiEntity gongsi){
        EntityWrapper< GongsiEntity> ew = new EntityWrapper< GongsiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( gongsi, "gongsi")); 
		GongsiView gongsiView =  gongsiService.selectView(ew);
		return R.ok("查询公司成功").put("data", gongsiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        GongsiEntity gongsi = gongsiService.selectById(id);
        return R.ok().put("data", gongsi);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        GongsiEntity gongsi = gongsiService.selectById(id);
        return R.ok().put("data", gongsi);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody GongsiEntity gongsi, HttpServletRequest request){
    	gongsi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(gongsi);
    	GongsiEntity user = gongsiService.selectOne(new EntityWrapper<GongsiEntity>().eq("zhanghao", gongsi.getZhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		gongsi.setId(new Date().getTime());
        gongsiService.insert(gongsi);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody GongsiEntity gongsi, HttpServletRequest request){
    	gongsi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(gongsi);
    	GongsiEntity user = gongsiService.selectOne(new EntityWrapper<GongsiEntity>().eq("zhanghao", gongsi.getZhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		gongsi.setId(new Date().getTime());
        gongsiService.insert(gongsi);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody GongsiEntity gongsi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(gongsi);
        gongsiService.updateById(gongsi);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        gongsiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<GongsiEntity> wrapper = new EntityWrapper<GongsiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = gongsiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}
package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ZaixianhuifuEntity;
import com.entity.view.ZaixianhuifuView;

import com.service.ZaixianhuifuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;

/**
 * 在线回复
 * 后端接口
 * @author 
 * @email 
 * @date 2022-03-29 16:14:52
 */
@RestController
@RequestMapping("/zaixianhuifu")
public class ZaixianhuifuController {
    @Autowired
    private ZaixianhuifuService zaixianhuifuService;



    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ZaixianhuifuEntity zaixianhuifu, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			zaixianhuifu.setYonghuming((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("gongsi")) {
			zaixianhuifu.setZhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ZaixianhuifuEntity> ew = new EntityWrapper<ZaixianhuifuEntity>();
		PageUtils page = zaixianhuifuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zaixianhuifu), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ZaixianhuifuEntity zaixianhuifu, 
		HttpServletRequest request){
        EntityWrapper<ZaixianhuifuEntity> ew = new EntityWrapper<ZaixianhuifuEntity>();
		PageUtils page = zaixianhuifuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zaixianhuifu), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ZaixianhuifuEntity zaixianhuifu){
       	EntityWrapper<ZaixianhuifuEntity> ew = new EntityWrapper<ZaixianhuifuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( zaixianhuifu, "zaixianhuifu")); 
        return R.ok().put("data", zaixianhuifuService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ZaixianhuifuEntity zaixianhuifu){
        EntityWrapper< ZaixianhuifuEntity> ew = new EntityWrapper< ZaixianhuifuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( zaixianhuifu, "zaixianhuifu")); 
		ZaixianhuifuView zaixianhuifuView =  zaixianhuifuService.selectView(ew);
		return R.ok("查询在线回复成功").put("data", zaixianhuifuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ZaixianhuifuEntity zaixianhuifu = zaixianhuifuService.selectById(id);
        return R.ok().put("data", zaixianhuifu);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ZaixianhuifuEntity zaixianhuifu = zaixianhuifuService.selectById(id);
        return R.ok().put("data", zaixianhuifu);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ZaixianhuifuEntity zaixianhuifu, HttpServletRequest request){
    	zaixianhuifu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zaixianhuifu);

        zaixianhuifuService.insert(zaixianhuifu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ZaixianhuifuEntity zaixianhuifu, HttpServletRequest request){
    	zaixianhuifu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zaixianhuifu);

        zaixianhuifuService.insert(zaixianhuifu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ZaixianhuifuEntity zaixianhuifu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(zaixianhuifu);
        zaixianhuifuService.updateById(zaixianhuifu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        zaixianhuifuService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<ZaixianhuifuEntity> wrapper = new EntityWrapper<ZaixianhuifuEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("gongsi")) {
			wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = zaixianhuifuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

spring面试:二、bean的生命周期和循环引入问题(三级缓存、@Lazy)

bean的生命周期 Spring容器在进行实例化时&#xff0c;会将xml配置的的信息封装成一个BeanDefinition对象&#xff0c;Spring根据BeanDefinition来创建Bean对象&#xff0c;里面有很多的属性用来描述Bean。 其中比较重要的是&#xff1a; beanClassName&#xff1a;bean 的类…

救命~这件国风旗袍女儿穿也太好看了吧

这款中式提花改良版旗袍 一眼就戳中了我的心巴 整件精美刺绣好看不大众 两侧网纱的加持增添仙气缥缈感 穿上厚实不显臃肿 袖口处拼接毛毛徒增可爱俏皮的感觉 穿上过年过节满满的焦点呀~

Logstash访问安全访问Elasticsearch集群

生成logstash证书: opensal pkcs12 -in elastic-stack-ca.p12 -clcerts -nokeys > logafash.cer openssl x509 -in logstash.cer -out logstash.pem 编排配置文件

Elasticsearch:使用 OpenAI 生成嵌入并进行向量搜索 - nodejs

在我之前的文章&#xff1a; Elasticsearch&#xff1a;使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation &#xff08;一&#xff09;&#xff08;二&#xff09;&#xff08;三&#xff09;&#xff08;四&#xff09;​​​​​ 我详细地描述了如何使用…

【C++11特性篇】盘点C++11中三种简化声明的方式【auto】【decltype】【nullptr】(3)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.auto&#xff06;范围for二.decltyp…

LVS负载均衡群集 DR模式

目录 1.LVS LVS调度器用的调度方法 固定调度算法 动态调度算法 LVS的工作模式及其工作过程 1、NAT模式&#xff08;VS-NAT&#xff09; 2、直接路由模式&#xff08;VS-DR&#xff09; 3、IP隧道模式&#xff08;VS-TUN&#xff09; 2.DR模式LVS负载均衡群集 LVS-DR模…

掌握Guava字符处理工具:让你的代码更易读、高效

推荐语 请允许我自夸一下&#xff0c;这确实是一篇精彩的技术文章&#xff0c;它深入介绍了Guava类库中强大的字符串处理工具。通过本文&#xff0c;你将了解如何巧妙运用这些工具来简化字符串操作、提高代码可读性和性能。不论是字符串拼接、分割、替换还是正则表达式匹配&am…

IT 人员与加密程序:如何战胜病毒

&#x1f510; 加密程序是攻击者在成功攻击组织时使用最多的恶意软件类型。它们通常会发送到一个庞大的电子邮件地址数据库&#xff0c;看起来像 Word 或 Excel 文档或 PDF 文件。 想象一下&#xff0c;你是会计部门的一名员工。这种格式的文件在电子文档管理系统中被广泛使用…

心理测试网站源码,知己心理React心理健康测试

源码介绍 React心理健康测试网站源码&#xff0c;帮助需要的人更好地了解自已的心理健康状态和人格特征。 React可以在Vite中启用HMR&#xff0c;并且包含了几人EsLint规则。只需要使用react antd-mobile即可 轻松部署完成。

美团赚钱更难了,Q3核心业务利润率下降2%,市值一年缩水近6000亿

从“买菜”卷向“超市”&#xff0c;成立5年的美团买菜更名为“小象超市”。 就在更名公告发布的前一天&#xff0c;美团公布了2023年三季报&#xff0c;尽管三季度营收净利双增长&#xff0c;但其股价却呈相反趋势。 三季报发布次日(11月29日)&#xff0c;美团港股股价单日跌…

离线云渲染有什么好用的平台?离线云渲染好用吗?

云渲染是一种在云端计算平台上执行的3D渲染任务处理方式&#xff0c;让CG制作者不必依靠本地硬件的计算力。它与传统的离线渲染有着相似之处——都不需要即时生成渲染结果&#xff0c;并且可能需要等待一段时间才能获取最终图像。不过&#xff0c;云渲染利用了云计算提供的分布…

外包干了3年,技术退步明显。。。

前言 简单说下我的情况吧&#xff01;普通本科的科班生&#xff0c;19年的时候通过校招进了一家小自研&#xff0c;工资还凑合&#xff0c;在里面带了一年多&#xff0c;公司没了&#xff0c;疫情期间找工作很麻烦&#xff0c;后面就开始自己近3年的外包生涯&#xff0c;这三年…

讯飞星火大模型api调用

讯飞星火大模型&#xff0c;通过websocket方式通信传递协议要求的报文&#xff0c;然后将流式返回的报文拼接为完整的响应内容&#xff0c;status2时是最后一条消息。因为是websocket方式所以是异步响应的&#xff0c;如果想要同步需要使用CountDownLatch控制下线程等待最后一条…

57.Go操作ES(官方提供github.com/elastic/go-elasticsearch库)

文章目录 一、简介1、安装依赖2、导入依赖3、连接 ES 二、操作索引三、model定义四、操作文档1、创建文档2、根据文档唯一ID获取指定索引下的文档3、检索 document1、 检索全部文档2、 模糊条件检索3、聚合检索 4、更新文档5、删除文档6、文档操作完整代码 代码地址&#xff1a…

数据结构与算法之美学习笔记:36 | AC自动机:如何用多模式串匹配实现敏感词过滤功能?

目录 前言基于单模式串和 Trie 树实现的敏感词过滤经典的多模式串匹配算法&#xff1a;AC 自动机解答开篇内容小结 前言 本节课程思维导图&#xff1a; 很多支持用户发表文本内容的网站&#xff0c;比如 BBS&#xff0c;大都会有敏感词过滤功能&#xff0c;用来过滤掉用户输入…

论文阅读:PointCLIP V2: Prompting CLIP and GPT for Powerful3D Open-world Learning

https://arxiv.org/abs/2211.11682 0 Abstract 大规模的预训练模型在视觉和语言任务的开放世界中都表现出了良好的表现。然而&#xff0c;它们在三维点云上的传输能力仍然有限&#xff0c;仅局限于分类任务。在本文中&#xff0c;我们首先协作CLIP和GPT成为一个统一的3D开放世…

使用 TensorFlow 创建生产级机器学习模型(基于数据流编程的符号数学系统)——学习笔记

资源出处&#xff1a;初学者的 TensorFlow 2.0 教程 | TensorFlow Core (google.cn) 前言 对于新框架的学习&#xff0c;阅读官方文档是一种非常有效的方法。官方文档通常提供了关于框架的详细信息、使用方法和示例代码&#xff0c;可以帮助你快速了解和掌握框架的使用。 如…

关于 Redis 与传统关系型数据库的选择

当需要为你的应用程序选择合适的数据库时&#xff0c;选择何种数据库通常取决于你项目的特定要求。Redis 是一种高性能的内存数据存储&#xff0c;而 MySQL 等传统关系型数据库也各自具有自己的优势和劣势。在本期文章中&#xff0c;我们将探讨在 Redis 和传统关系型数据库之间…

C++面向对象(OOP)编程-运算符重载

本文主要介绍C面向对象编程中的多态的手段之一运算符重载&#xff0c;讲清运算符重载的本质&#xff0c;以及通过代码实现一些常用的运算符重载。 目录 1 运算符重载的本质 2 运算符重载格式 3 运算符重载分类 3.1 重载为类的成员函数 3.1.1 双目运算符重载 3.1.2 单目运…

Faulhaber 2.5代运动控制系统 25mNm/13W

2.5代控制系统&#xff1b; PWM输出&#xff1b; 四象限控制带&#xff1b; RS232或CANopen通信接口&#xff1b; 2250_BX4_CxD 选件&#xff0c;电缆和连接信息&#xff1a; 适配部件&#xff1a;