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

微信小程序毕业设计-英语互助系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:微信小程序毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 Python毕业设计
🌎Java毕业设计

开发运行环境

①前端:微信小程序开发工具

② 后端:Java

  • 框架:springboot
  • JDK版本:JDK1.8
  • 服务器:tomcat7
  • 数据库:mysql 5.7
  • 数据库工具:Navicat12
  • 开发软件:eclipse/myeclipse/idea
  • Maven包:Maven3.3.9
  • 浏览器:谷歌浏览器

源码下载地址:

https://download.csdn.net/download/2301_76953549/89227754

论文目录

【如需全文请按文末获取联系】
在这里插入图片描述
在这里插入图片描述

一、项目简介

英语互助小程序使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理英语互助小程序信息,查看英语互助小程序信息,管理英语互助小程序。

二、系统设计

2.1软件功能模块设计

在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的结构图(见下图)。
在这里插入图片描述

2.2数据库设计

(1)下图是用户实体和其具备的属性。
在这里插入图片描述
(2)下图是考试记录表实体和其具备的属性。
在这里插入图片描述
(3)下图是兴趣小组实体和其具备的属性。
在这里插入图片描述
(5)下图是答题详情表实体和其具备的属性。
在这里插入图片描述

(9)下图是错题表实体和其具备的属性。
在这里插入图片描述
(10)下图是学习讨论实体和其具备的属性。
在这里插入图片描述

三、系统项目部分截图

3.1用户信息管理

如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,
还进行了对用户名称的模糊查询的条件
在这里插入图片描述
在这里插入图片描述

3.2兴趣小组管理

如图5.2显示的就是兴趣小组管理页面,此页面提供给管理员的功能有:查看已发布的兴趣小组数据,修改兴趣小组,兴趣小组作废,即可删除,还进行了对兴趣小组名称的模糊查询 兴趣小组信息的类型查询等等一些条件。
在这里插入图片描述
在这里插入图片描述

3.3小组打卡管理

如图5.3显示的就是小组打卡管理页面,此页面提供给管理员的功能有:根据小组打卡进行条件查询,还可以对小组打卡进行新增、修改、查询操作等等。
在这里插入图片描述

在这里插入图片描述

四、部分核心代码


package com.controller;import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;/*** 小组打卡* 后端接口* @author* @email
*/
@RestController
@Controller
@RequestMapping("/xingquxiaozuLiuyan")
public class XingquxiaozuLiuyanController {private static final Logger logger = LoggerFactory.getLogger(XingquxiaozuLiuyanController.class);@Autowiredprivate XingquxiaozuLiuyanService xingquxiaozuLiuyanService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DictionaryService dictionaryService;//级联表service@Autowiredprivate XingquxiaozuService xingquxiaozuService;@Autowiredprivate YonghuService yonghuService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永不会进入");else if("用户".equals(role))params.put("yonghuId",request.getSession().getAttribute("userId"));if(params.get("orderBy")==null || params.get("orderBy")==""){params.put("orderBy","id");}PageUtils page = xingquxiaozuLiuyanService.queryPage(params);//字典表数据转换List<XingquxiaozuLiuyanView> list =(List<XingquxiaozuLiuyanView>)page.getList();for(XingquxiaozuLiuyanView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);XingquxiaozuLiuyanEntity xingquxiaozuLiuyan = xingquxiaozuLiuyanService.selectById(id);if(xingquxiaozuLiuyan !=null){//entity转viewXingquxiaozuLiuyanView view = new XingquxiaozuLiuyanView();BeanUtils.copyProperties( xingquxiaozuLiuyan , view );//把实体数据重构到view中//级联表XingquxiaozuEntity xingquxiaozu = xingquxiaozuService.selectById(xingquxiaozuLiuyan.getXingquxiaozuId());if(xingquxiaozu != null){BeanUtils.copyProperties( xingquxiaozu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段view.setXingquxiaozuId(xingquxiaozu.getId());view.setXingquxiaozuYonghuId(xingquxiaozu.getYonghuId());}//级联表YonghuEntity yonghu = yonghuService.selectById(xingquxiaozuLiuyan.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody XingquxiaozuLiuyanEntity xingquxiaozuLiuyan, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,xingquxiaozuLiuyan:{}",this.getClass().getName(),xingquxiaozuLiuyan.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("用户".equals(role))xingquxiaozuLiuyan.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));xingquxiaozuLiuyan.setInsertTime(new Date());xingquxiaozuLiuyan.setCreateTime(new Date());xingquxiaozuLiuyanService.insert(xingquxiaozuLiuyan);return R.ok();}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody XingquxiaozuLiuyanEntity xingquxiaozuLiuyan, HttpServletRequest request){logger.debug("update方法:,,Controller:{},,xingquxiaozuLiuyan:{}",this.getClass().getName(),xingquxiaozuLiuyan.toString());String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("用户".equals(role))
//            xingquxiaozuLiuyan.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));//根据字段查询是否有相同数据Wrapper<XingquxiaozuLiuyanEntity> queryWrapper = new EntityWrapper<XingquxiaozuLiuyanEntity>().eq("id",0);logger.info("sql语句:"+queryWrapper.getSqlSegment());XingquxiaozuLiuyanEntity xingquxiaozuLiuyanEntity = xingquxiaozuLiuyanService.selectOne(queryWrapper);if(xingquxiaozuLiuyanEntity==null){xingquxiaozuLiuyanService.updateById(xingquxiaozuLiuyan);//根据id更新return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());xingquxiaozuLiuyanService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save( String fileName, HttpServletRequest request){logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {List<XingquxiaozuLiuyanEntity> xingquxiaozuLiuyanList = new ArrayList<>();//上传的东西Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段Date date = new Date();int lastIndexOf = fileName.lastIndexOf(".");if(lastIndexOf == -1){return R.error(511,"该文件没有后缀");}else{String suffix = fileName.substring(lastIndexOf);if(!".xls".equals(suffix)){return R.error(511,"只支持后缀为xls的excel文件");}else{URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径File file = new File(resource.getFile());if(!file.exists()){return R.error(511,"找不到上传文件,请联系管理员");}else{List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行,因为第一行是提示for(List<String> data:dataList){//循环XingquxiaozuLiuyanEntity xingquxiaozuLiuyanEntity = new XingquxiaozuLiuyanEntity();
//                            xingquxiaozuLiuyanEntity.setXingquxiaozuId(Integer.valueOf(data.get(0)));   //兴趣小组 要改的
//                            xingquxiaozuLiuyanEntity.setYonghuId(Integer.valueOf(data.get(0)));   //用户 要改的
//                            xingquxiaozuLiuyanEntity.setXingquxiaozuLiuyanText(data.get(0));                    //小组打卡内容 要改的
//                            xingquxiaozuLiuyanEntity.setInsertTime(date);//时间
//                            xingquxiaozuLiuyanEntity.setCreateTime(date);//时间xingquxiaozuLiuyanList.add(xingquxiaozuLiuyanEntity);//把要查询是否重复的字段放入map中}//查询是否重复xingquxiaozuLiuyanService.insertBatch(xingquxiaozuLiuyanList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,"批量插入数据异常,请联系管理员");}}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));// 没有指定排序字段就默认id倒序if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){params.put("orderBy","id");}PageUtils page = xingquxiaozuLiuyanService.queryPage(params);//字典表数据转换List<XingquxiaozuLiuyanView> list =(List<XingquxiaozuLiuyanView>)page.getList();for(XingquxiaozuLiuyanView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put("data", page);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);XingquxiaozuLiuyanEntity xingquxiaozuLiuyan = xingquxiaozuLiuyanService.selectById(id);if(xingquxiaozuLiuyan !=null){//entity转viewXingquxiaozuLiuyanView view = new XingquxiaozuLiuyanView();BeanUtils.copyProperties( xingquxiaozuLiuyan , view );//把实体数据重构到view中//级联表XingquxiaozuEntity xingquxiaozu = xingquxiaozuService.selectById(xingquxiaozuLiuyan.getXingquxiaozuId());if(xingquxiaozu != null){BeanUtils.copyProperties( xingquxiaozu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setXingquxiaozuId(xingquxiaozu.getId());}//级联表YonghuEntity yonghu = yonghuService.selectById(xingquxiaozuLiuyan.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody XingquxiaozuLiuyanEntity xingquxiaozuLiuyan, HttpServletRequest request){logger.debug("add方法:,,Controller:{},,xingquxiaozuLiuyan:{}",this.getClass().getName(),xingquxiaozuLiuyan.toString());xingquxiaozuLiuyan.setInsertTime(new Date());xingquxiaozuLiuyan.setCreateTime(new Date());xingquxiaozuLiuyanService.insert(xingquxiaozuLiuyan);return R.ok();}}

五、获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微❤联系。

相关文章:

微信小程序毕业设计-英语互助系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…...

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第49课-机器人自动跳舞

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第49课-机器人自动跳舞 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…...

【LLM教程-llama】如何Fine Tuning大语言模型?

今天给大家带来了一篇超级详细的教程,手把手教你如何对大语言模型进行微调(Fine Tuning)&#xff01;&#xff08;代码和详细解释放在后文&#xff09; 目录 大语言模型进行微调(Fine Tuning)需要哪些步骤&#xff1f; 大语言模型进行微调(Fine Tuning)训练过程及代码 大语言…...

PHP 比 Java 的开发效率高在哪?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「JAVA的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;做了几年PHP&#xff0c;最近…...

高德定位获取详细位置失败的处理方法

在使用高德地图定位功能获取位置信息有时候会获取详细位置失败,但是经纬度是有的,这种情况下怎么处理呢,可以使用逆地理编码通过返回的经纬度来再次获取位置信息,如果再次失败那么获取详细位置信息就失败了。 具体工具类如下: package com.demo.map.utils;import androi…...

PX2平台Pytorch源码编译

写在前面&#xff1a;以下内容完成于2019年底&#xff0c;只是把笔记放到了CSDN上。 需要注释掉NCLL及分布式相关的配置 libcudart.patch diff --git a/torch/cuda/__init__.py b/torch/cuda/__init__.py index 4591702..07e1268 100644 --- a/torch/cuda/__init__.pyb/torc…...

昇思25天学习打卡营第6天|简单的深度学习模型实战 - 函数式自动微分

自动微分(Automatic Differentiation)是什么&#xff1f;微分是函数在某一处的导数值&#xff0c;自动微分就是使用计算机程序自动求解函数在某一处的导数值。自动微分可用于计算神经网络反向传播的梯度大小&#xff0c;是机器学习训练中不可或缺的一步。 这些公式难免让人头大…...

基于Linux的云端垃圾分类助手

项目简介 本项目旨在开发一个基于嵌入式系统的智能垃圾分类装置。该装置能够通过串口通信、语音播报、网络通信等多种方式&#xff0c;实现垃圾的自动识别和分类投放。系统采用多线程设计&#xff0c;确保各功能模块高效并行工作。 项目功能 垃圾分类识别 系统使用摄像头拍摄…...

【PYG】Planetoid中边存储的格式,为什么打印前十条边用edge_index[:, :10]

edge_index 是 PyTorch Geometric 中常用的表示图边的张量。它通常是一个形状为 [2, num_edges] 的二维张量&#xff0c;其中 num_edges 表示图中边的数量。每一列表示一条边&#xff0c;包含两个节点的索引。 实际上这是COO存储格式&#xff0c;官方文档里也有写&#xff0c;…...

【知识图谱系列】(实例)python操作neo4j构建企业间的业务往来的知识图谱

本章节通过聚焦于"金额"这一核心属性&#xff0c;构建了一幅知识图谱&#xff0c;旨在揭示"销售方"与"购买方"间的商业互动网。在这张图谱中&#xff0c;绿色节点象征着购买方&#xff0c;而红色节点则代表了销售方。这两类节点间的紧密连线&…...

解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题

解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题 确保清空/var/lib/mysql初始化启动mysql参考 确保清空/var/lib/mysql rm-rf /var/lib/mysql/* 初始化 mysql_install_db --usermysql --basedir/usr --datadir/var/lib/mysql 其中的mysql用户不要改成root。否则会…...

探索WebKit的Flexbox奇境:CSS Flexbox支持全解析

探索WebKit的Flexbox奇境&#xff1a;CSS Flexbox支持全解析 在现代网页设计中&#xff0c;响应式布局的需求日益增长&#xff0c;CSS Flexbox作为布局模式的一个突破性进展&#xff0c;提供了一种更加高效和灵活的方式来设计复杂的用户界面。WebKit&#xff0c;作为众多流行浏…...

Unity--协程--Coroutine

Unity–协程–Coroutine 1. 协程的基本概念 基本概念:不是线程,将代码按照划分的时间来执行,这个时间可以是具体的多少秒,也可以是物理帧的时间,也可以是一帧的绘制结束的时间。 协程的写法&#xff1a;通过返回IEnumerator的函数实现&#xff0c;使用yield return语句暂停执…...

详解COB显示屏的技术特点

COB&#xff08;Chip on Board&#xff09;显示屏作为一种采用倒装COB封装技术的LED显示屏&#xff0c;在显示效果以及使用稳定性跟防护性方面&#xff0c;拥有更大优势&#xff0c;今天跟随COB显示屏厂家中品瑞科技一起来看看&#xff0c;COB显示屏的技术特点&#xff1a; 1、…...

富唯智能推出的AMR复合机器人铝板CNC上下料方案

随着科技的不断进步&#xff0c;CNC加工行业正面临着前所未有的变革。传统的CNC上下料方式已无法满足现代生产对效率、精度和安全性的高要求。在这样的背景下&#xff0c;富唯智能推出的AMR复合机器人铝板CNC上下料方案&#xff0c;以其智能化、自动化的特点&#xff0c;引领了…...

springcloud-config服务器,同样的配置在linux环境下不生效

原本在windows下能争取的获取远程配置但是部署到linux上死活都没有内容&#xff0c;然后开始了远程调试&#xff0c;这里顺带讲解下获取配置文件如果使用的是Git源&#xff0c;config service是如何响应接口并返回配置信息的。先说问题&#xff0c;我的服务名原本是abc-abc-abc…...

写代码,为什么还需要作图?

引言 古人云 &#xff1a;一图胜千言&#xff0c;闲人说&#xff1a;无图无真相。 在日常的聊天工具当中&#xff0c;无论是使用微信&#xff0c;还是钉钉。使用图片或表情包的频次越来越高&#xff0c;那是为什么呢&#xff1f;其实在互联网没有那么发达的时候&#xff0c;我…...

一句话介绍什么是AI智能体?

什么是AI智能体&#xff1f; 一句话说就是利用各种AI的功能的api组合&#xff0c;完成你想要的结果。 例如你希望完成一个关于主题为啤酒主题的小红书文案图片&#xff0c;那么它就可以完成 前面几个步骤类似automa的组件&#xff0c;最后生成一个结果。...

32.哀家要长脑子了!

1.299. 猜数字游戏 - 力扣&#xff08;LeetCode&#xff09; 公牛还是挺好数的&#xff0c;奶牛。。。妈呀&#xff0c;一朝打回解放前 抓本质抓本质&#xff0c;有多少位非公牛数可以通过重新排列转换公牛数字&#xff0c;意思就是&#xff0c;当这个数不是公牛数字时&#x…...

Vue2 - 项目上线后生产环境中去除console.log的输出以及断点的解决方案

前言 当你准备将Vue.js应用程序部署到生产环境时,一个关键的优化步骤是移除代码中的所有 console.log 语句以及断点。在开发阶段,console.log 是一个非常有用的调试工具,但在生产环境中保留它们可能会影响性能和安全性。在本文中,我将向你展示如何通过使用Vue CLI 2来自动…...

保姆级拆解:用代码和图示彻底搞懂YOLOv7的Backbone与Head(附ELAN模块详解)

保姆级拆解&#xff1a;用代码和图示彻底搞懂YOLOv7的Backbone与Head&#xff08;附ELAN模块详解&#xff09; 在计算机视觉领域&#xff0c;目标检测一直是热门研究方向。YOLO系列作为其中的佼佼者&#xff0c;以其高效和准确著称。YOLOv7作为该系列的最新成员&#xff0c;在速…...

(二)进程的状态优先级

1进程的状态(兼容所有操作系统)1.1并行和并发CPU执行进程代码&#xff0c;不是把进程代码执行完毕&#xff0c;才开始执行下一个 而是给每一个进程预分配一个 时间片&#xff0c;基于时间片&#xff0c;进行调度轮转(单CPU下)&#xff0c;并发。并发&#xff1a;多个进程在一个…...

科研绘图避坑指南:手把手教你用Cytoscape处理String PPI数据(TSV文件导入、节点筛选与双环图制作)

科研绘图避坑指南&#xff1a;Cytoscape实战PPI网络分析与双环图设计 在生物医学研究中&#xff0c;蛋白互作网络(PPI)可视化是揭示分子机制的重要工具。许多研究者在使用String数据库和Cytoscape软件时会遇到数据导入失败、节点筛选困难、图形美化耗时等问题。本文将针对这些痛…...

Prometheus数据采集扩展:claw-prometheus项目详解与实战

1. 项目概述&#xff1a;一个为Prometheus量身定制的“数据抓取器”在云原生和微服务架构大行其道的今天&#xff0c;监控系统的地位不言而喻。Prometheus&#xff0c;作为这个领域的“事实标准”&#xff0c;以其强大的多维数据模型和灵活的查询语言&#xff08;PromQL&#x…...

开源HR智能体openhr-agent:本地部署、模块化设计与核心应用场景解析

1. 项目概述&#xff1a;一个开源的HR智能体最近在GitHub上看到一个挺有意思的项目&#xff0c;叫openhr-agent。光看名字&#xff0c;你可能会觉得这又是一个“AI要取代HR”的噱头工具。但实际深入了解一下&#xff0c;我发现它的定位和设计思路&#xff0c;比想象中要务实和清…...

智慧航运主题汇总(2026-05-13更新)

智慧航运主要包括利用区块链、大数据、5G、卫星通讯等技术手段&#xff0c;以“数字化、智能化”的理念&#xff0c;实现航运各个业务“提升效率、提升安全、降低风险、提高收益、提升客户体验”等目标。比如利用人工智能手段&#xff0c;实现船舶更加安全运行&#xff08;防海…...

Django 模板(Template):告别硬编码,实现动态 HTML页面

IT策士 10余年一线大厂经验&#xff0c;专注 IT 思维、架构、职场进阶。 当你开始构建一个真正的 Web 应用时&#xff0c;很快就会厌倦这种方式&#xff1a; def home(request):return HttpResponse("<h1>欢迎&#xff0c;张三&#xff01;</h1><p>今天…...

终极CLIP-as-service指南:如何高效处理批量文本与图像嵌入任务

终极CLIP-as-service指南&#xff1a;如何高效处理批量文本与图像嵌入任务 【免费下载链接】clip-as-service &#x1f3c4; Scalable embedding, reasoning, ranking for images and sentences with CLIP 项目地址: https://gitcode.com/gh_mirrors/cl/clip-as-service …...

Barlow字体完全指南:如何用这款开源字体提升设计质感

Barlow字体完全指南&#xff1a;如何用这款开源字体提升设计质感 【免费下载链接】barlow Barlow: a straight-sided sans-serif superfamily 项目地址: https://gitcode.com/gh_mirrors/ba/barlow 想要为你的设计项目寻找一款既现代又实用的免费字体吗&#xff1f;Barl…...

四通道32孔生物源性检测仪 肉源性检测仪器

四通道32孔生物源性检测仪搭载四通道48孔高通量检测架构&#xff0c;本少、效率低的短板&#xff0c;大幅提升肉类质检筛查效率。多通道独立运行互不干扰&#xff0c;可一次性完成大批量肉类样本同步检测设备检测精度优异&#xff0c;可精准识别各类常见动物源性成分&#xff0…...