项目实战典型案例13——学情页面逻辑问题

news2024/12/23 22:16:53

学情页面逻辑问题

  • 一:背景介绍
  • 二:学情页面逻辑问题分析
    • 逻辑问题
    • 缓存滥用的问题
  • 三:LocalStorage基础知识
  • 四:总结

一:背景介绍

本篇博客是对项目开发中出现的学情页面逻辑问题进行的总结和改进。目的是将经历转变为自己的经验。通过博客的方式分享给大家,大家一起共同进步和提高。

前端Vue2,项目代码在这里插入图片描述

代码的主要逻辑:
1.查询某个课程班级下该学生的评论、获赞、回复次数
2.如果返回的数据中评论次数、获赞次数、和回复次数都为0,则从缓存中获取相应数据。
3.如果评论次数为空,则将获赞次数、评论次数、回复次数置为0
4.如果该学生的评论次数、获赞次数、回复次数都不为0,将学生的评论,获赞、回复次数都存入缓存中。

二:学情页面逻辑问题分析

逻辑问题

1.学生的评论数为0的话,该学生的获赞数一定为0,但是回复数不一定为0。
这是存在严重的逻辑问题。

缓存滥用的问题

1.这里使用localStorage缓存来保存了接口返回的数据。
但是localStorage缓存适合长期保存在本地的数据,缓存常用于存储一些不经常改变的数据。对目前了解到的直接通过调用后端接口进行查询数据。没有必要存储在缓存中。

三:LocalStorage基础知识

数据结构

localstorage为标准的键值对(Key-Value,简称KV)数据类型,简单但也易扩展,只要以某种编码方式把想要存储进localstorage的对象给转化成字符串,就能轻松支持。另外对于键值对数据类型来说,"键是唯一的"这个特性也是相当重要的,重复以同一个键来赋值的话,会覆盖上次的值。

特性

1.除非被清楚,否则永久保存
2.存放数据大小一般为5MB
3.与服务器通信,仅在客户端(浏览器)中保存,不参与和服务器的通信
4.易用性,原生接口可以接受,也可以再次封装对对象和数组有更好的支持。(如用一个域名下,两个命名空间)
5. 由于浏览器的安全策略,localStorage无法跨域
6. localstorage原生不支持设置过期时间,想要设置需要自己来封装一层逻辑来实现

应用场景

localStoragese:适合长期保存在本地的数据,判断用户是否登陆,用于长期登陆的数据。用在多窗口(页面)共享数据,同一浏览器可以共享数据。

localStorage常用方法

localStorage.setItem(key,value) //存储数据
localStorage.getItem(key) //获取数据
localStorage.removeItem(key) //删除数据
localStorage.clear() //删除所有数据

可以在浏览器的console中进行使用localhost存取数据。
在这里插入图片描述
在Application中查看localStorage数据
在这里插入图片描述

四:总结

1.再项目开发过程中,使用一项技术必须要明确他的优势利弊,使用场景再进行运用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

buu [INSHack2017]rsa16m 1

题目描述: 打开的 rsa_16m 文件 : (在此我只想说神人才找得到 c 的位置) ,这位置是真的难找啊 题目分析: 首先打开 description.md 文件,得到: 翻译下来: 当您需要真正…

青岛诺凯达机械盛装亮相2023济南生物发酵展,3月与您相约

BIO CHINA生物发酵展,作为生物发酵产业一年一度行业盛会,由中国生物发酵产业协会主办,上海信世展览服务有限公司承办,2023第10届国际生物发酵展(济南)于2023年3月30-4月1日在山东国际会展中心(济…

王道C语言督学营OJ练习全解【24考研最新版】

前言 本篇博客是在博主参加王道408专业课前置课程-----C语言督学营的学习笔记,包含了从第一节课到最后一节课的所有OJ习题题解,文章中每一题都给出了详尽的代码,并在每一题的关键部位加上了注释,记录下来的目的是方便自己以后进行…

ElasticSearch从0到1——基础知识

1.ES是什么? 是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能&…

【ElasticSearch8.X】学习笔记(二)

【ElasticSearch8.X】学习笔记四、基础操作4.1、索引操作4.1.1、创建索引4.1.2、查询指定索引4.1.3、查询所有索引4.1.4、 删除索引4.2、文档操作4.2.1、创建文档4.2.2、查询文档4.2.3、修改文档4.2.4、删除文档4.2.5、查询所有文档4.3、数据搜索4.3.1、匹配查询文档4.3.2、匹配…

LeetCode题目笔记——1487. 保证文件名唯一

文章目录题目描述题目链接题目难度——中等方法一:哈希表代码/Python代码/C总结题目描述 给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹:在第 i 分钟,新建名为 names[i] 的文件夹。 由于两个文件 不能 共享相同…

JUC并发编程之JMM_synchronized_volatile

目录 JUC并发编程之JMM_synchronized_volatile 什么是JMM模型? JMM和JVM的区别 JMM不同于JVM内存区域模型 主内存 工作内存 Java内存模型与硬件内存架构的关系 JMM存在的必要性 数据同步八大原子操作 同步规则分析 并发编程的可见性,原子性与有序…

【代码编辑器记录一】vue项目中如何实现代码高亮效果+输入

文章目录1-1 代码高亮显示但不可以实现编辑输入vue-highlightjs1-1-1 vue31-1-2 vue21-2 编辑输入高亮代码,进行格式规范code-mirror1-2-1 展示1-2-2 基本配置1-2-3 使用1-1 代码高亮显示但不可以实现编辑输入vue-highlightjs 1-1-1 vue3 安装依赖 npm install -…

企业电子招投标采购系统之系统的首页设计

​​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为…

【知识点】OkHttp 原理 8 连问

前言OkHttp可以说是Android开发中最常见的网络请求框架,OkHttp使用方便,扩展性强,功能强大,OKHttp源码与原理也是面试中的常客但是OKHttp的源码内容比较多,想要学习它的源码往往千头万绪,一时抓不住重点.本文从几个问题…

ThreadLocal 理解及面试

一、ThreadLocal 引用关系 图解关系说明: 每个线程拥有自己的 ThreadLocalMap 属性;ThreadLocalMap 的存储结构为 Entry[] 数组;Entry的Key是ThreadLocal类型且弱引用指向ThreadLocal对象,Value是我们自己定义的泛型值对象&#…

链表的替代品--Vector组件

概述 在之前的一篇文章中,作者写了一个事件组件-- 超精简的订阅发布事件组件–SPEvent,这个组件是采用链表建立所有事件节点的关系的。链表的优缺点: 优点:①链表上的元素在空间存储上内存地址不连续;②在插入和删除操…

注解开发定义bean

注解开发定义bean 使用Component定义bean在核心配置文件中通过组件扫描加载bean,需要指定扫描包的范围 当然也可以使用Component的衍生注解,可以更加形象的表示 纯注解的开发模式 使用java类来代替了以前的 配置文件,在java类中&#xff…

渗透测试之巧用工具搞定sharepoint

背景 在一次实战演练中 goby扫描到一个sharepoint的getshell漏洞 ,漏洞cve编号为CVE-2019-0604,本想着一把梭,直接渗透内网,没想到有waf之类的防护,最后还是想办法解决了。 现在网络上各类漏洞利用工具很多&#xff…

项目中用到的知识点回顾---JWT(JSON Web Token)

1.JWT原理: JWT 的原理是,服务器认证以后,生成一个 JSON 对象,发回给用户,如下; {"姓名": "张三","角色": "管理员","到期时间": "2018年7月1日…

【调试】ftrace(一)基本使用方法

简介 Ftrace是Linux Kernel的官方tracing系统,支持Function trace、静态tracepoint、动态Tracepoint的跟踪,还提供各种Tracer,用于统计最大irq延迟、最大函数调用栈大小、调度事件等。 Ftrace还提供了强大的过滤、快照snapshot、实例&#…

数据结构的一些基础概念

一 基本术语 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处…

【Docker】docker | 迁移docker目录

一、场景说明1、物理机磁盘空间不够用了2、docker的镜像、容器、卷等资料的默认路径为: /var/lib/docker3、增加了数据盘挂在,需要将docker的全部资料更换个目录二、操作确认是否满足切换条件1)服务是否能够暂停,如果可以就OK2&am…

新一代骨传导机皇重磅发布:南卡Neo骨传导运动耳机,性能全面提升

近日,中国最强骨传导品牌NANK南卡发布了最新一代骨传导耳机——南卡Neo骨传导耳机!该款耳机与运动专业性更强的南卡runner Pro4略微不同,其主要定位于轻运动风格,所以这款耳机的音质和佩戴舒适度达到了令人咂舌的地步!…

KDZD地埋电缆故障测试仪

一、产品特性 ★电缆故障测试仪(闪测仪) (1)使用范围广:用于测量各种不同截面、不同介质的各种电力电缆、高频同轴电缆,市话电缆及两根以上均匀铺设的地埋电线等电缆高低阻、短路、开路、断线以及高阻泄漏…