搭建后台系统的一些总结教训

学习搭建后台管理系统中遇到的问题和处理方法 学习梳理 前言 这两天在做毕业设计,需要自己写页面,由于之前只是简单的了解了一下html、css、js的标签和样式什么的,要拿来用的时候也忘得差不多了,而且只有这些也写不了一个好看点的页面,所以就去随便翻了一下,然后就去学vue,4h的视频教学,由于我要做的是管理员和商家后台部分内容,所以我找了vue-element-admin并下载了集成方案和基础模板。然后以下就是这段时间学习的梳理。 遇见的问... 阅读详情

来的新公司接手一个新的项目,自己从0开始搭建了后台系统,由于之前都是用的老项目,底层都是前辈们搭建好的,自己在新系统中将老项目的思路借鉴了过来,以为可以高枕无忧,事实证明确实不行。项目在整个使用过程中,还是暴露出来了很多问题,这些问题在最初搭建项目时都没有很好的考虑到,导致后期要更改的话代价太大成本太高。所以自己将自己在搭建系统的工程中踩的坑吃的亏都记录下来。给后续自己搭建系统时做个参考。

1:系统将数据返给前端时,没有对 日期 类型做统一的格式化处理
系统返给前端的数据中少不了包含时间格式的数据,而前端也免不了要对时间格式的数据显示在界面。这时候,需要对时间格式在系统中做全局的统一格式化处理,设置成用户友好型的格式内容。

2:系统返回数据给前端时,对变量命名没有做统一规定
系统中,数据库设计中字段名是下划线命名方式,而在实体类中是驼峰命名方式。这就导致了,将整个对象返给前端时,前端拿到的是驼峰命名的变量,如果是用sql直接查出来数据返给前端时,前端拿到的是下划线形式的变量。 这导致前端相似模块不能复用同一个组件。成本极大提高。

3:前端拿到的列表页数据每条包含多个id
在list接口中展示列表页信息时,后台可能对应多表联查的情况,在多表联查时,不能写select * 这样的sql , 要保证每条记录前端只能拿到一个id。

4:设计数据库时,有主外键关系的字段,数据类型一定要统一
这在我设计数据库时体会颇深。不同表之间有字段映射关系时,字段类型一定要统一,字段名尽量要一致。选择字段时,也要充分考虑数据库字段对应到java的数据类型。 如果数据库字段选择的是INT , 而相关表映射字段确选择了NUMBER, 这将给自己的编码带来很大的麻烦。 比如INT在java中要对应Integer , 而NUMBER在java中要对应double ,这么在写相关查询时,每次都需要将double转为Integer或者将Integer转为double。

5:设计数据库时,如果id 和 某字段都能唯一标识一条记录, 做主外键关联映射到其他表时,选择没有业务含义的字段(id)映射到其他表
在 工程表中, id和施工许可证编号都能唯一确定某个工程, 将工程表关联到 摄像头表,车辆表等相关表时,推荐将id作为关联字段,使用施工许可证编码做关联绝对是我设计系统时一个重大的失误!因为一旦用施工许可证编号关联了其他表,因为施工许可证编号是工程的业务属性字段,后期工程要修改施工许可证编号, 与他相关联的表的施工许可证编号都需要修改!牵一发而动全身,很麻烦!

6:系统缓存中存放通用数据,提供获取该数据的接口前,一定要做深拷贝。不能让调用方的接口直接操作缓存数据,尤其是这些数据是通用公用数据的情况下。
我在设计系统时,设计了系统通用编码数据,这些数据一旦启动就会放在缓存中,并且对外提供获取缓存数据的方法。但是在返回系统数据前,没有对数据做深拷贝,导致直接将系统中的数据返回给调用方,调用方可以直接操作缓存中的通用数据!这时如果一旦调用方删除了缓存中的某个数据,其他调用方刚好用到了这个数据,那么就会出问题! 所以在返回给调用方系统缓存数据前,一定要将缓存数据拷贝一份一模一样的返回给调用方。不能让调用方直接操作缓存数据。

TDesign中后台系统快速搭建与实战指南 本文详细介绍了如何使用TDesign快速搭建中后台系统,包括环境配置、项目初始化、核心功能实现及优化技巧。TDesign作为腾讯开源的企业级设计体系,以其高配置化和风格统一性显著提升开发效率,特别适合管理后台和数据看板等B端应用开发。 阅读详情

相关推荐

BUUCTF--[OGeek2019]babyrop

才学习了基本的ROP流程,到处找题练,不过也没做出来几道题,以这道32位的题作为例题吧。 这道题是BUUCTF上pwn练习题里的[OGeek2019]babyrop。 代码审计 老规矩先checksec一下: 没有canary保护,nx保护开启排除shellcode可能性,FULL RELEO为地址随机化。 观察主函数,先设定了一个闹铃,到时间就会强制退出程序,解除闹铃的方法在上一篇博客中提到过了, 这道题中闹铃函数依然对我们解题起不到什么干扰作用。 主函数的思路大概是:生成一个随机数,把这个随机数作为

N1rvana的博客 6004

记录一下我在做公司后台管理系统的难点与心得

公司的项目大致就长这个样子 刚进入页面的时候是两个请求,左侧的内容跟右侧的内容分别是两个不同的请求,这里我使用的是aioxs的并发请求,axios.all() axios提供了两个并发请求 axios.all(iterable) axios.spread(callback) 两个辅助函数用于处理同时发送多个请求,可以实现在多个请求都完成后再执行一些逻辑。 因为我的想法是在两个请求都结束以后再关闭loading,显示出来,否在会出现白屏的情况, 我这里是这样使用的 async getOperator

Kepler_明的博客 9881

ZYQN7000系列VxWorks驱动开发:VxWorks系统移植

文章目录ZYQN7000驱动开发:VxWorks系统移植1.硬件环境2.编译vsb和vip工程2.1修改设备树文件2.2添加调试打印组件3.选择uboot来启动VxWorks内核4.尝试在开发板上启动内核4.1 拷贝镜像和设备树至SD卡4.2开发板上电4.2.1 uboot成功启动4.2.2 启动VxWorks5.添加shell和cmd组件 ZYQN7000驱动开发:VxWorks系统移植 1.硬件环境 正点原子领航者开发板 2.编译vsb和vip工程 vsb和vip工程的编译过程可以参考之前的文章,htt

明故宫的记忆 5504

从零搭建自己的SpringBoot后台框架(一)

一:通过idea工具构建基础框架 1. 打开idea,左上角File→New→Project,看到如下图的页面 2. 点击Next,配置如下图 3. 点击Next,配置如下图,这里我们选择数据库MySQL和持久层框架MyBatis 4. 点击Next,选择工作目录,点击Finish,开始构建 5. 创建完成后,项目目录结构如下 DemoApplicttion.java为项目的启动类 application.properties为项目配置文件 pom...

duanna0824的专栏 724

让 AI 学会“慢思考”:MCP Sequential Thinking 深度部署与使用指南

摘要: MCP Sequential Thinking 是一种让AI具备"慢思考"能力的技术,通过动态调整思维路径解决复杂问题。本文详细介绍了在Windows、macOS和Linux系统下的部署方法,包括环境准备、配置文件修改等步骤。该技术通过"产生想法-评估需求-修正路径"的循环机制,显著提升AI在代码设计、数学证明等复杂任务中的表现。文章还提供了验证安装方法、使用示例和常见问题解答,帮助开发者解锁AI的深层思考能力。(149字)

weixin_43236925的博客 1907

H3C-V7防火墙配置SSL VPN IP资源典型案例(华三)

H3C-V7防火墙配置SSL VPN IP资源典型案例(华三)

m0_68265458的博客 5161

软件开发中的经验教训

Lessons Learned in Software Development Posted on April 16, 2015 | 77 Comments Here is my list of heuristics and rules of thumb for software development that I have found useful over the y

xuxingfan000的专栏 1605

运算放大器电路中的T型网络:如何用更小电阻实现高增益并降低噪声?

本文深入解析了运算放大器电路中T型反馈网络的设计与应用。该网络通过三个较小阻值电阻的组合,等效实现高增益,有效规避了传统大反馈电阻带来的显著热噪声问题。文章从数学原理、噪声定量分析到实际设计技巧,系统阐述了如何利用T型网络在实现高增益的同时,显著降低电路噪声并改善整体性能。

banana的博客 318

【8-数据库表结构的创建&后台管理系统的搭建】

【8-数据库表结构的创建&后台管理系统的搭建】下载的renren-fast-master解压后拷贝到项目的父工程的根目录下。修改人人-fast相关的数据库配置信息,查看数据库的连接信息,并修改。然后跟进renren-fast中提供的sql脚本,创建对应的表结构。养成一个好的习惯,然后将renren-fast的代码提交到码云中。然后创建对应的数据库,名称为 renren_fast。根据数据库脚本文件来创建对应的表结构。

Coder_ljw的博客 1890

【AIGC】大模型面试高频考点07-注意力(Attention)篇

AIGC面试高频考点

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 3361

【Arduino 动手做】六舵机自平衡 Rotary Stewart 平台

《Arduino六舵机自平衡Rotary Stewart平台项目》 该项目展示了一个基于Arduino的六自由度Rotary Stewart平台,通过六个舵机实现动态平衡控制。设计采用激光切割框架和TAMIYA 70171套件,提供详细组装指南和开源固件(GitHub可获取)。开发者丹·罗耶分享了3D打印文件、视频演示及运动学优化需求,强调该平台可扩展应用于游戏控制(如Kerbal Space Program)或教育领域。项目链接包含完整资源包,鼓励用户参与改进并分享创作成果。该案例体现了Arduino在机

雕爷学编程 1087

node.js毕设高校宿舍管理后台系统 论文+程序

国内的研究多集中在宿舍管理的某个功能模块的优化,如缴费管理或者维修管理等方面。本选题将以高校宿舍管理为研究情景,重点分析和研究高校宿舍管理后台系统的整体构建与优化问题,以期探寻高校宿舍管理效率低下、信息流通不畅的问题原因,提出一套完善的高校宿舍管理后台系统构建方案,为后续更加深入的研究提供基础。通过本选题的研究,可以构建一个高效的宿舍管理后台系统,实现宿舍信息的实时更新、宿舍申请的快速处理、维修申请与记录的及时跟进以及缴费信息的准确管理等功能,从而提高高校宿舍管理的服务水平和学生的满意度。

zhiwen203的博客 914

OpenClaw实战系列02:企业微信接入完全指南

本文详细介绍了如何将OpenClaw与企业微信对接,实现智能机器人功能。主要内容包括:企业微信侧创建智能机器人或自建应用,获取必要凭证和权限;OpenClaw侧安装配置企业微信插件,设置通信通道;完成双向验证并进行功能测试。文章提供了详细的配置步骤、常见问题排查方法和进阶玩法,帮助用户在30分钟内完成对接。关键点包括:确保URL可访问、Token一致、网关正常运行,以及针对不同部署环境(云服务器/内网)的配置差异。

PeterPan的博客 3811

从0到1:微信后台系统的演进之路

转自:http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=402340325&idx=1&sn=5b7bf6025b1a83a0e529e630fc95ae28&scene=21#wechat_redirect “ 2个月的开发时间,微信后台系统经历了从0到1的过程。从小步慢跑到快速成长,经历了平台化到走出国门,微信交出的这份优异答卷,

Adam040606的博客 829

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

从无到有:微信后台系统的演进之路

声明:本文首发于微信官方公众号WeChat TechPower(wechattechpower),优快云获首家授权转载,如需转载请联系微信官方。 文/张文瑞 从无到有2011.1.21 微信正式发布。这一天距离微信项目启动日约为2个月。就在这2个月里,微信从无到有,大家可能会好奇这期间微信后台做的最重要的事情是什么?我想应该是以下三件事:1. 确定了微信的消息模型微信起初定位是一个通...

博客 2431

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

从 0 到 1:微信后台系统的演进之路

编者按:2 个月的开发时间,微信后台系统经历了从 0 到 1 的过程。从小步慢跑到快速成长,经历了平台化到走出国门,微信交出的这份优异答卷,解题思路是怎样的?本文由张文瑞,微信后台团队出品。本文由 36 氪转载自微信公众号infoQ(微信号:infoqchina)。 从无到有 2011.1.21 微信正式发布。这一天距离微信项目启动日约为 2 个月。就在这 2 个月里,微信从无到有,大

lb520999的专栏 821

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

架构周报:微信后台系统的演进之路

经典案例\\《阿里无线11.11 : Weex——关于移动端动态性的思考、实现和未来》——今天在移动端,尤其是像手机淘宝这样的 app 中,动态性问题逐渐成为一个比较棘手的问题。所谓动态性,就是把移动应用本身的灵活性、迭代更新的周期和成本优化到极致。比如手机淘宝的店铺首页,它允许 商家实时装修自己的店铺,更新自家的商品、活动等信息;再比如淘宝、天猫每次大促的会场页面,要求我们非常灵活的及时调整界面...

weixin_34209406的博客 96

服务器后台系统编写摘要

前言:昨天惊闻优快云密码泄漏,今天上来修改了密码,然后觉得好久没在这上面写过文章了,所以决定花30分钟过过瘾, 就最近开发的服务器后台系统简单写些心得,以供参考: 一, 编写服务器系统前,先不要急于编码,请用纸笔画好整个架购框架,能愿多花几天的时间,也要尽量清晰画出尽可能详细的框架图,并 且多加思考,缺少那些东东,要立即补上。 二,开始编码了,针对你前段时间的框架图,分门别类,把所有需要

小辉的专栏 1190

选择容器的原因以及一路走来的经验教训

过去十多年间,我的主要工作是负责搭建、部署和运行后台系统。刚开始是搭建PHP web服务,紧接着,谢天谢地,有了Ruby on Rails。几年后,我投入到用Ember.js创建单页web应用,但不久,又做回后端及服务相关的工作。由于之前所在公司在Docker 1.0版之后不久就全部使用Docker,所以团队和我本人经历了Docker的整个发展过程。我在那家公司做的最后一个项目是,用Kuberne

Docker的专栏 641

我用Java开发一个后台系统的完整记录

凌晨一点,服务器日志里突然滚出一连串红色堆栈,MySQL连接池报错,接口响应时间飙到八秒。我盯着屏幕上的异常信息,忽然想起三个月前那个拍脑袋决定用SimpleDateFormat写日期工具类的下午。这就是我开发这个后台系统的完整记录,一个从“能跑就行”到“差点跑不动”的真实故事。

searchboy2025的博客 9
上一篇: 在火车站的想法
下一篇: 多表逗号隔开联查, inner join , left join 的理解--如何优化慢查询
libingbojava
博客等级 码龄9年 64粉丝 111原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值