[免費]微信小程序寵物醫院管理系統(uni-app+SpringBoot后端+Vue管理端)【論文+源碼+SQL腳本】

大家好,我是java1234_小鋒老師,看到一個不錯的微信小程序寵物醫院管理系統(uni-app+SpringBoot后端+Vue管理端),分享下哈。

項目視頻演示

【免費】微信小程序寵物醫院管理系統(uni-app+SpringBoot后端+Vue管理端) Java畢業設計_嗶哩嗶哩_bilibili
?

項目介紹

近年來,科技飛速發展,在經濟全球化的背景之下,互聯網技術將進一步提高社會綜合發展的效率和速度,互聯網技術也會涉及到各個領域,而寵物醫院微信小程序網絡背景下有著無法忽視的作用。信息管理系統的開發是一個不斷優化的過程,隨著網絡數據時代的到來,信息管理系統與計算機的集成成為必然。

本次將以寵物醫院管理方面為切入點,論述了寵物醫院管理的意義和內容,以此展開對寵物醫院的開發與建設的詳細分析。從數據挖掘的角度出發,了解信息管理系統的作用,對寵物醫院的過程以及用處進行更深一步的研究,數據的處理效率,以及具體的應用方向。對于寵物醫院微信小程序所帶來的影響,將從傳統管理方式進行對比分析,從硬件優化、軟件開發,這幾個方面來論述寵物醫院微信小程序的優勢所在,分析寵物醫院管理計算機時代發展的變化趨勢。

系統展示

部分代碼

package com.controller;import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
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 com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
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.YonghuEntity;
import com.entity.view.YonghuView;import com.service.YonghuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;/*** 用戶* 后端接口* @author * @email * @date 2023-04-07 10:56:52*/
@RestController
@RequestMapping("/yonghu")
public class YonghuController {@Autowiredprivate YonghuService yonghuService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", username));if(u==null || !u.getMima().equals(password)) {return R.error("賬號或密碼不正確");}String token = tokenService.generateToken(u.getId(), username,"yonghu",  "用戶" );return R.ok().put("token", token);}/*** 注冊*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody YonghuEntity yonghu){//ValidatorUtils.validateEntity(yonghu);YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));if(u!=null) {return R.error("注冊用戶已存在");}Long uId = new Date().getTime();yonghu.setId(uId);yonghuService.insert(yonghu);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");YonghuEntity u = yonghuService.selectById(id);return R.ok().put("data", u);}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", username));if(u==null) {return R.error("賬號不存在");}u.setMima("123456");yonghuService.updateById(u);return R.ok("密碼已重置為:123456");}/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,HttpServletRequest request){EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu, HttpServletRequest request){EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( YonghuEntity yonghu){EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu")); return R.ok().put("data", yonghuService.selectListView(ew));}/*** 查詢*/@RequestMapping("/query")public R query(YonghuEntity yonghu){EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu")); YonghuView yonghuView =  yonghuService.selectView(ew);return R.ok("查詢用戶成功").put("data", yonghuView);}/*** 后端詳情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){YonghuEntity yonghu = yonghuService.selectById(id);return R.ok().put("data", yonghu);}/*** 前端詳情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){YonghuEntity yonghu = yonghuService.selectById(id);return R.ok().put("data", yonghu);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(yonghu);YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));if(u!=null) {return R.error("用戶已存在");}yonghu.setId(new Date().getTime());yonghuService.insert(yonghu);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(yonghu);YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));if(u!=null) {return R.error("用戶已存在");}yonghu.setId(new Date().getTime());yonghuService.insert(yonghu);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){//ValidatorUtils.validateEntity(yonghu);yonghuService.updateById(yonghu);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){yonghuService.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<YonghuEntity> wrapper = new EntityWrapper<YonghuEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = yonghuService.selectCount(wrapper);return R.ok().put("count", count);}}
<template><div><div class="container" :style='{"minHeight":"100vh","backgroundAttachment":"fixed","alignItems":"center","background":"url(http://codegen.caihongy.cn/20220730/2be727de991f410c97c83c9a65acacc8.png)","display":"flex","width":"100%","backgroundSize":"cover","backgroundPosition":"center center","backgroundRepeat":"no-repeat","justifyContent":"center"}'><el-form :style='{"padding":"40px 20px 80px","boxShadow":"0px 4px 10px 0px #78ABC3","margin":"0","outline":"4px solid #78ABC3","borderRadius":"0","outlineOffset":"30px","background":"#fff","width":"500px","height":"auto"}'><div v-if="true" :style='{"margin":"0 0 10px 0","color":"#000","textAlign":"center","width":"100%","lineHeight":"60px","fontSize":"26px","textShadow":"4px 4px 2px rgba(120, 171, 195, 0.3)","fontWeight":"bold"}' class="title-container">寵物醫院微信小程序的設計與實現登錄</div><div v-if="loginType==1" class="list-item" :style='{"width":"80%","margin":"0 auto 20px","alignItems":"center","flexWrap":"wrap","display":"flex"}'><div v-if="false" class="lable" :style='{"width":"64px","lineHeight":"44px","fontSize":"14px","color":"rgba(64, 158, 255, 1)"}'>用戶名</div><input :style='{"border":"0px solid rgba(64, 158, 255, 1)","padding":"0 10px","boxShadow":"0px 4px 10px 0px rgba(0,0,0,0.3020)","color":"#758659","width":"100%","fontSize":"14px","height":"44px"}' placeholder="請輸入用戶名" name="username" type="text" v-model="rulesForm.username"></div><div v-if="loginType==1" class="list-item" :style='{"width":"80%","margin":"0 auto 20px","alignItems":"center","flexWrap":"wrap","display":"flex"}'><div v-if="false" class="lable" :style='{"width":"64px","lineHeight":"44px","fontSize":"14px","color":"rgba(64, 158, 255, 1)"}'>密碼:</div><input :style='{"border":"0px solid rgba(64, 158, 255, 1)","padding":"0 10px","boxShadow":"0px 4px 10px 0px rgba(0,0,0,0.3020)","color":"#758659","width":"100%","fontSize":"14px","height":"44px"}' placeholder="請輸入密碼" name="password" type="password" v-model="rulesForm.password"></div><div :style='{"width":"80%","margin":"20px auto"}' v-if="roles.length>1" prop="loginInRole" class="list-type"><el-radio v-for="item in roles" v-bind:key="item.roleName" v-model="rulesForm.role" :label="item.roleName">{{item.roleName}}</el-radio></div><div :style='{"width":"80%","margin":"20px auto","alignItems":"center","flexWrap":"wrap","justifyContent":"center","display":"flex"}'><el-button v-if="loginType==1" :style='{"border":"0","cursor":"pointer","padding":"0 24px","margin":"0","outline":"none","color":"#fff","borderRadius":"0","background":"#78ABC3","width":"100%","fontSize":"18px","height":"60px"}' type="primary" @click="login()" class="loginInBt">登錄</el-button></div></el-form></div></div>
</template>
<script>import menu from "@/utils/menu";
export default {data() {return {baseUrl:this.$base.url,loginType: 1,rulesForm: {username: "",password: "",role: "",code: '',},menus: [],roles: [],tableName: "",codes: [{num: 1,color: '#000',rotate: '10deg',size: '16px'},{num: 2,color: '#000',rotate: '10deg',size: '16px'},{num: 3,color: '#000',rotate: '10deg',size: '16px'},{num: 4,color: '#000',rotate: '10deg',size: '16px'}],};},mounted() {let menus = menu.list();this.menus = menus;for (let i = 0; i < this.menus.length; i++) {if (this.menus[i].hasBackLogin=='是') {this.roles.push(this.menus[i])}}},created() {this.getRandCode()},destroyed() {},components: {},methods: {//注冊register(tableName){this.$storage.set("loginTable", tableName);this.$storage.set("pageFlag", "register");this.$router.push({path:'/register'})},// 登陸login() {if (!this.rulesForm.username) {this.$message.error("請輸入用戶名");return;}if (!this.rulesForm.password) {this.$message.error("請輸入密碼");return;}if(this.roles.length>1) {if (!this.rulesForm.role) {this.$message.error("請選擇角色");return;}let menus = this.menus;for (let i = 0; i < menus.length; i++) {if (menus[i].roleName == this.rulesForm.role) {this.tableName = menus[i].tableName;}}} else {this.tableName = this.roles[0].tableName;this.rulesForm.role = this.roles[0].roleName;}this.$http({url: `${this.tableName}/login?username=${this.rulesForm.username}&password=${this.rulesForm.password}`,method: "post"}).then(({ data }) => {if (data && data.code === 0) {this.$storage.set("Token", data.token);this.$storage.set("role", this.rulesForm.role);this.$storage.set("sessionTable", this.tableName);this.$storage.set("adminName", this.rulesForm.username);this.$router.replace({ path: "/index/" });} else {this.$message.error(data.msg);}});},getRandCode(len = 4){this.randomString(len)},randomString(len = 4) {let chars = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k","l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v","w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G","H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R","S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2","3", "4", "5", "6", "7", "8", "9"]let colors = ["0", "1", "2","3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]let sizes = ['14', '15', '16', '17', '18']let output = [];for (let i = 0; i < len; i++) {// 隨機驗證碼let key = Math.floor(Math.random()*chars.length)this.codes[i].num = chars[key]// 隨機驗證碼顏色let code = '#'for (let j = 0; j < 6; j++) {let key = Math.floor(Math.random()*colors.length)code += colors[key]}this.codes[i].color = code// 隨機驗證碼方向let rotate = Math.floor(Math.random()*60)let plus = Math.floor(Math.random()*2)if(plus == 1) rotate = '-'+rotatethis.codes[i].rotate = 'rotate('+rotate+'deg)'// 隨機驗證碼字體大小let size = Math.floor(Math.random()*sizes.length)this.codes[i].size = sizes[size]+'px'}},}
};
</script><style lang="scss" scoped>
.container {min-height: 100vh;position: relative;background-repeat: no-repeat;background-position: center center;background-size: cover;background: url(http://codegen.caihongy.cn/20220730/2be727de991f410c97c83c9a65acacc8.png);.list-item /deep/ .el-input .el-input__inner {border: 0px solid rgba(64, 158, 255, 1);padding: 0 10px;box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.3020);color: #758659;width: 100%;font-size: 14px;height: 44px;}.list-code /deep/ .el-input .el-input__inner {border: 0px solid rgba(64, 158, 255, 1);padding: 0 10px;box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.3020);outline: none;color: #758659;width: calc(100% - 20px);font-size: 14px;height: 44px;}.list-type /deep/ .el-radio__input .el-radio__inner {background: rgba(53, 53, 53, 0);border-color: #666666;}.list-type /deep/ .el-radio__input.is-checked .el-radio__inner {background: #758659;border-color: #758659;}.list-type /deep/ .el-radio__label {color: #666666;font-size: 14px;}.list-type /deep/ .el-radio__input.is-checked+.el-radio__label {color: #758659;font-size: 14px;}
}
</style>

源碼下載

鏈接:https://pan.baidu.com/s/1r0XTQjDbmTam_cDbX0n68Q
提取碼:1234

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906826.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906826.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906826.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

測試總結(一)

一、測試流程 參與需求評審-制定測試計劃-編寫測試用例-用例評審-冒煙測試-測試執行-缺陷管理-預發驗收測試-發布線上-線上回歸-線上觀察-項目總結 二、測試用例設計方法 等價類劃分&#xff08;處理有效/無效輸入&#xff09; 邊界值分析&#xff08;臨界值測試&#xff09…

SAP-ABAP:ABAP異常處理與SAP現代技術融合—— 面向云原生、微服務與低代碼場景的創新實踐

專題三&#xff1a;ABAP異常處理與SAP現代技術融合 —— 面向云原生、微服務與低代碼場景的創新實踐 一、SAP技術演進與異常處理的挑戰 隨著SAP技術棧向云端、微服務化和低代碼方向演進&#xff0c;異常處理面臨新場景&#xff1a; Fiori UX敏感度&#xff1a;用戶期望前端友…

DC-DC電路的自舉電容電路原理

在以往的電子產品設計中&#xff0c;我們經常會選型 DCDC 芯片&#xff0c;在選型過程中經常遇到有些DC-DC電路中需要用到自舉電容&#xff0c;本文主要分析自舉電容在DC-DC電路中的原理。 無論同步或者異步整流&#xff0c;經常會看到一個自舉電容&#xff0c;常并聯在DC-DC的…

android studio 開啟無線調試

1、在工具的模擬器點擊下后&#xff0c;會出現下面菜單&#xff1a; 選擇Pair Devices Using Wi-Fi 發現一直在轉圈&#xff0c;并不會連接上&#xff0c;之前在android12的時候&#xff0c;發現一連就上了&#xff0c;現在換成了android14&#xff0c;連不上了。 2、選擇用命令…

Go基礎語法與控制結構

Go基礎語法與控制結構 1. 環境配置與Hello World&#xff08;擴展&#xff09; 安裝指南 # 驗證安裝成功 $ go version # 設置模塊代理&#xff08;中國用戶推薦&#xff09; $ go env -w GOPROXYhttps://goproxy.cn,direct程序解剖 package main // 程序入口包聲明import…

QGIS新手教程:兩種方法創建點圖層(手動添加 + 表格導入),支持經緯度定位與查找

&#x1f30d;QGIS新手教程&#xff1a;兩種方法創建點圖層&#xff08;手動添加 表格導入&#xff09;&#xff0c;支持經緯度定位與查找 本文將手把手教你在 QGIS 中通過兩種方法創建點圖層&#xff0c;并結合經緯度定位、拾取坐標、查找屬性等功能&#xff0c;快速掌握從地…

Doris ClickHouse Greenplum 對比

1. 核心架構對比 Doris &#xff08;https://doris.apache.org/&#xff09; MPP架構 列式存儲支持實時更新&#xff08;Unique Key模型&#xff09;向量化執行引擎兼容MySQL協議 ClickHouse &#xff08;https://clickhouse.com/&#xff09; 分布式列式存儲MergeTree存儲引…

基于python,html,echart,php,mysql,在線實時監控入侵檢測系統

詳細視頻:【基于python,html,echart,php,mysql,在線實時監控入侵檢測系統&#xff0c;需要的可聯系介紹都在所有圖片中。包遠程部署安裝。-嗶哩嗶哩】 https://b23.tv/KHxmE8k

基于51單片機智能垃圾桶—紅外感應自動開關

基于51單片機智能垃圾桶 &#xff08;仿真&#xff0b;程序&#xff0b;原理圖&#xff0b;PCB&#xff0b;設計報告&#xff09; 功能介紹 具體功能&#xff1a; 1.ULN2003驅動步進電機控制打開關閉垃圾桶&#xff1b; 2.一個紅外對管檢測有沒有人&#xff0c;一個紅外對管…

自動涂膠機設計及其在工業生產中的應用研究

摘要 本文詳細探討了自動涂膠機的設計原理、關鍵技術和應用前景。隨著工業自動化水平的不斷提高&#xff0c;自動涂膠機在制造業中的應用日益廣泛。文章首先分析了自動涂膠機的基本工作原理&#xff0c;然后深入研究了其機械結構設計、控制系統設計和視覺定位系統等關鍵技術。…

SQL 語言

SQL概述與數據庫定義 SQL的基本組成 1、數據定義語言。SQL DDL提供定義關系模式和視圖、刪除關系和視圖、修改關系模式的命令。 2、交互式數據操縱語言。SQL DML提供查詢、插入、刪除和修改的命令。 3、事務控制。SQL提供定義事務開始和結束的命令。 4、嵌入式SQL和動態SQL。用…

深度剖析ZooKeeper

1. ZooKeeper架構總覽 ZooKeeper 是一個分布式協調服務&#xff0c;廣泛用于分布式系統中的配置管理、命名服務、分布式鎖和領導選舉等場景。以下是對 ZooKeeper 架構、通信機制、容錯處理、數據一致性與可靠性等方面的詳細剖析。 一、ZooKeeper 主從集群 ZooKeeper 采用 主從…

K8S-statefulset-mysql-ha

需求 實現一個HA mysql&#xff0c;包括1個master&#xff0c;2個slave。在K8S上已statefulset部署。 mysql HA原理 略 K8S環境需要解決的問題 1、由于使用同一個statefulset配置&#xff0c;因此需要考慮master和slave使用不同的cnf文件。 2、不同pod之間文件的傳輸 3、…

人臉美顏磨皮祛痘1:數據集說明(含下載鏈接)

一. 前言 本篇博客是《人臉美顏磨皮祛痘》系列文章之《數據集說明(含下載鏈接)》&#xff0c;像這種深度學習圖像修復的數據一般是需要成對&#xff0c;網上很難找到&#xff0c;公司或者個人都是花錢找人做。為了方便你我他&#xff0c;本博客將分享一個由我自己整理的人臉美…

redis功能清單

文章目錄 Redis高級功能使用說明功能清單1. 分布式鎖1.1 功能描述1.2 使用方法1.3 測試接口 2. 消息發布訂閱2.1 功能描述2.2 使用方法發布消息訂閱消息 2.3 測試接口 3. 接口限流3.1 功能描述3.2 使用方法方式一&#xff1a;直接使用工具類方式二&#xff1a;使用注解&#xf…

從代碼學習深度學習 - 預訓練word2vec PyTorch版

文章目錄 前言輔助工具1. 繪圖工具 (`utils_for_huitu.py`)2. 數據處理工具 (`utils_for_data.py`)3. 訓練輔助工具 (`utils_for_train.py`)預訓練 Word2Vec - 主流程1. 環境設置與數據加載2. 跳元模型 (Skip-gram Model)2.1. 嵌入層 (Embedding Layer)2.2. 定義前向傳播3. 訓練…

Python實現對大批量Word文檔進行自動添加頁碼(16)

前言 本文是該專欄的第16篇,后面會持續分享Python辦公自動化干貨知識,記得關注。 在處理word文檔的時候,相信或多或少都遇到過這樣的需求——需要對“目標word文檔,自動添加頁碼”。 換言之,如果有大批量的word文檔文件需要你添加頁碼,這個時候最聰明的辦法就是使用“程…

云原生安全:Linux命令行操作全解析

&#x1f525;「炎碼工坊」技術彈藥已裝填&#xff01; 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 ——從基礎概念到安全實踐的完整指南 一、基礎概念 1. Shell與終端交互 Shell是Linux命令行的解釋器&#xff08;如Bash、Zsh&#xff09;&#xff0c;負…

Day 34

GPU訓練 要讓模型在 GPU 上訓練&#xff0c;主要是將模型和數據遷移到 GPU 設備上。 在 PyTorch 里&#xff0c;.to(device) 方法的作用是把張量或者模型轉移到指定的計算設備&#xff08;像 CPU 或者 GPU&#xff09;上。 對于張量&#xff08;Tensor&#xff09;&#xff1…

C++筆試題(金山科技新未來訓練營):

題目分布&#xff1a; 17道單選&#xff08;每題3分&#xff09;3道多選題&#xff08;全對3分&#xff0c;部分對1分&#xff09;2道編程題&#xff08;每一道20分&#xff09;。 不過題目太多&#xff0c;就記得一部分了&#xff1a; 單選題&#xff1a; static變量的初始…