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

前端实习第二个月小结

时间飞快,第一次实习已经过去两个多月,作一些简单的总结和分享。

注:文章整体会比较轻松,提及的经历、经验仅作参考。

一、关于实习/工作内容

1、工作内容

近期做的是管理后台方面的业务,技术栈:前端react+antdesign,后端:ava。

日常开发:根据已有的功能进行修修补补:写写页面,封装接口等等。

2、参与发版

近期幸运地参与了一次发版,管理后台要上新页面(这两个页面刚好就是我写的)。发版前的流程:完成(前端/后端)任务、打包、推代码、上测试环境、测试、前后端修改bug、上生产环境、发版。如此反复,这套流程早已熟记于心,已成了“家常便饭”。

在开发过程中要注意很多细节问题,否则稍不留神就出错,而且后续还要继续改,可能会影响整体节奏。

这里分享几个我平时记录的易错点。

对于常用组件:

1.输入框:注意校验规则(字符串/数字/数字大小/手机号/是否必选等等)

2.下拉框:注意单选或者多选,拿到手的原型图要格外注意。

如果有多个下拉框,数据之间是否关联?比如A下拉框的选中数据作为获取B下拉框接口数据的入参?A和B又作为C的入参?这个要特别注意,不清楚及时问相关开发人员,避免后期的繁琐修改。近期我就踩过这个坑。

3、协同前行

对于前端实习生来说,前期有人带,是非常重要的,可以让我们少走很多弯路。

这里要特别感谢我的领导和组长,确实帮助我很多事情。

领导更多的是从思维、从宏观的角度,告诉我怎么去做好当下的业务需求;还有在业务对接时,如果出了问题,会帮我联系和跟进。

组长更多的是从实用的解决问题的角度,给我很多帮助,像一些业务通用组件的封装以及使用,撰写代码的一些注意点,比如一个很小的注意点(就体现了“逻辑清晰度”和“代码简洁性”)。

//就比如,在函数中,如果data有值,则赋值给params,否则params取undefined。
//一开始,我会这么写
const getParams=(data)=>{let params =data;if(!data){params=undefined;        }// ...其他语句}// 但后来,我组长说一行语句直接解决了
const getParams=(data)=>{let params =data || undefined;//...其他语句
}

第二种方式更符合常见的编程习惯,因为它在声明时就处理了 data 的假值情况,使得代码更加简洁和直观。

虽然我们可能知道第二种方式,但有些时候惯性思维,导致我们宁愿写“简单但多”的代码,也不愿意写一些“较少用但高效”的代码。

所以有人愿意提醒和纠正我们开发/编程习惯,我们要多加注意、修正、总结,也要懂得感恩。

知识点的联系以及综合使用,会极大地简化代码,提升我们的开发效率。

就好比ES6标准的出现,解决JavaScript在ES5时代存在的一些限制,比如缺乏对类、模块、箭头函数等的支持,以及对异步编程的改进等。

  1. 更简洁的语法:ES6引入了箭头函数、模板字符串、解构赋值等,这些都使得代码更加简洁易读。

  2. 增强的数据结构:新增的MapSet对象提供了更高效的数据存储和操作方式。

  3. 模块化:ES6的模块系统使得代码组织更加模块化,便于代码的维护和复用。

  4. 类和面向对象编程:ES6的class语法糖使得面向对象编程更加直观和方便。

  5. 异步编程改进:Promises和async/await关键字使得异步编程更加直观和易于管理。

我们得向标准和趋势看齐和学习。 


二、个人学习

前言:近期学校在推毕业设计的进度,我之前做了一个景点小程序,但管理后台系统还没做。因此我近期也在推动毕业设计的进度,学习和练习了做管理后台方面的知识。


1、核心内容:node+express

一些学习和练习已发在博客,有兴趣请自学阅读。

【NODE】01-fs和path常用知识点


express专栏

2、分享一些练习结果

前端(vue2)

防止信息泄露,就展示部分前端内容。

服务端(node+express+mysql)

这套知识的确好用,搭建服务器非常容易。可以看我的express专栏,相信你会有所收货。

展示的是模拟数据。

测试工具apipost(postman也可以,看个人使用习惯)

目前待解决的问题

1 景点数据新增/编辑,关于图片上传的问题,重点在于后端的文件存储(写入/保存),如果涉及多张图片上传呢?可能又是另外的问题。

2 小程序内容数据的收集和数据表数据迁移。

3 小程序的登录验证、日志记录等。

4 留言评论的校验和审核问题。

.....


三、小结 

感谢看到这里的朋友。

生活和工作,且行且珍惜。

快过年了,这篇文章可能是年前最后一更了吧哈哈(可能也会再更新一篇)。

提前祝大家新年开心,身体健康。

相关文章:

前端实习第二个月小结

时间飞快,第一次实习已经过去两个多月,作一些简单的总结和分享。 注:文章整体会比较轻松,提及的经历、经验仅作参考。 一、关于实习/工作内容 1、工作内容 近期做的是管理后台方面的业务,技术栈:前端re…...

C# 并发和并行的区别--16

目录 并发和并行 一.并发 定义 特点 代码示例 代码解释 二.并行 定义 特点 在C#中的体现 代码示例 代码解释 三.并发和并行的区别 四 .如何在C#中选择并发还是并行 1.考虑任务类型 2.代码示例 3.注意事项 五.总结 并发和并行 在编程领域,并发和并行是两个密切…...

Python编程与在线医疗平台数据挖掘与数据应用交互性研究

一、引言 1.1 研究背景与意义 在互联网技术飞速发展的当下,在线医疗平台如雨后春笋般涌现,为人们的就医方式带来了重大变革。这些平台打破了传统医疗服务在时间和空间上的限制,使患者能够更加便捷地获取医疗资源。据相关报告显示,中国基于互联网的医疗保健行业已进入新的…...

HBase实训:纸币冠字号查询任务

一、实验目的 1. 理解分布式数据存储系统HBase的架构和工作原理。 2. 掌握HBase表的设计原则,能够根据实际业务需求设计合理的表结构。 3. 学习使用HBase Java API进行数据的插入、查询和管理。 4. 实践分布式数据存储系统在大数据环境下的应用,…...

Java 读取 Windows 设备的唯一性标识及定位

在 Windows 系统中,获取设备唯一性标识及定位信息对设备管理、安全监控等场景意义重大。本文介绍 Java 中几种实现方法,如 JNA 库、WMI4Java 库及通过 JNI 结合 Windows API。 1. 使用 JNA 库读取 DEVPKEY_Device_ContainerId 在 Windows 系统中&…...

UE控件学习

ListView: item设置:使能在list设置为Entry类 Grid Panel: 常用作背包,每个格子大小可不相同 WidgetSwitcher: 用于切换页签 Wrap_Box: 自动横向排版子节点,超过一定范围则自动换行…...

1.Spring AI 从入门到实践

​Spring AI 从入门到实践 1.什么是Spring AI 2.使用Spring Boot&Spring AI快速构建AI应用程序 3.ChatClient&Chat Model简化与AI模型的交互 4.Spring AI Prompt:与大模型进行有效沟通 5.结构化输出大模型响应 6.实战:AI聊天机器人 Ben技术站关注Java技术&#x…...

2025年01月蓝桥杯Scratch1月stema选拔赛真题—美丽的图形

美丽的图形 编程实现美丽的图形具体要求: 1)点击绿旗,角色在舞台中心,如图所示; 2)1秒后,绘制一个边长为 140的红色大正方形,线条粗细为 3,正方形的中心为舞台中心,如图所示; 完整题目可点击下…...

FLASK创建下载

html用a标签 <!-- Button to download the image --> <a href"{{ url_for(download_file, filenameimage.png) }}"><button>Download Image</button> </a> 后端&#xff1a;url_for双大括号即是用来插入变量到模板中的语法。也就是绑…...

LDD3学习7--硬件接口I/O端口(以short为例)

1 理论 1.1 基本概念 目前对外设的操作&#xff0c;都是通过寄存器。寄存器的概念&#xff0c;其实就是接口&#xff0c;访问硬件接口&#xff0c;有I/O端口通信和内存映射I/O (Memory-Mapped I/O)&#xff0c;I/O端口通信是比较老的那种&#xff0c;都是老的串口并口设备&am…...

MySQL(高级特性篇) 06 章——索引的数据结构

一、为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教科书的目录部分&#xff0c;通过目录找到对应文章的页码&#xff0c;便可快速定位到需要的文章。MySQL中也是一样的道理&#xff0c;进行数据查找时&#xff0c;首先查看查询条件…...

【FlutterDart】MVVM(Model-View-ViewModel)架构模式例子-http版本(30 /100)

动图更精彩 MVVM&#xff08;Model-View-ViewModel&#xff09; 特点 Model&#xff1a;负责数据管理和业务逻辑。 View&#xff1a;负责显示数据&#xff0c;通常是一个UI组件。 ViewModel&#xff1a;负责处理用户交互&#xff0c;更新Model&#xff0c;并将数据转换为View可…...

光谱相机的光谱分辨率可以达到多少?

多光谱相机 多光谱相机的光谱分辨率相对较低&#xff0c;波段数一般在 10 到 20 个左右&#xff0c;光谱分辨率通常在几十纳米到几百纳米之间&#xff0c;如常见的多光谱相机光谱分辨率为 100nm 左右。 高光谱相机 一般的高光谱相机光谱分辨率可达 2.5nm 到 10nm 左右&#x…...

.Net8 Avalonia跨平台UI框架——<vlc:VideoView>控件播放海康监控、摄像机视频(Windows / Linux)

一、UI效果 二、新建用户控件&#xff1a;VideoViewControl.axaml 需引用&#xff1a;VideoLAN.LibVLC.Windows包 Linux平台需安装&#xff1a;VLC 和 LibVLC &#xff08;sudo apt-get update、sudo apt-get install vlc libvlccore-dev libvlc-dev&#xff09; .axaml 代码 注…...

【论文阅读】基于空间相关性与Stacking集成学习的风电功率预测方法

文章目录 摘要0. 引言1. 空间相关性分析2. 风电功率预测模型2.1 Stacking 集成策略2.2 基学习器2.2.1 基于机器学习算法的基学习器2.2.2 基于神经网络的基学习器2.2.3 基于粒子群优化算法的超参数优化 2.3 元学习器2.4 基于空间相关性与Stacking集成学习的风电功率预测方法 3 算…...

什么是Spring Boot 应用开发?

一、引言 在当今的软件开发领域&#xff0c;Java 依然占据着重要的地位&#xff0c;而 Spring Boot 作为 Java 生态系统中极具影响力的框架&#xff0c;极大地简化了企业级应用的开发流程&#xff0c;提升了开发效率和应用的可维护性。它基于 Spring 框架构建&#xff0c;通过…...

选择saas 还是源码主要考虑

公司业务规模&#xff1a;小型企业可能会发现SaaS提供的即用型解决方案更符合其需求&#xff0c;而大型企业可能需要源码以实现更高的定制性和控制权。 公司技术专长&#xff1a;缺乏技术团队的企业可能会倾向于使用SaaS&#xff0c;而那些拥有强大IT部门的企业可能更适合管理…...

【JAVA 基础 第(19)课】Hashtable 类用法和注意细节,是Map接口的实现类

Map接口&#xff1a;存放的是具有映射关系的键值对&#xff0c;键映射到值&#xff0c;键必须是唯一的 Hashtable 类&#xff0c;Map接口的实现类,键和值都不能为nullHashtable 是同步的&#xff0c;是线程安全的 public class MapTest {public static void main(String[] arg…...

AI时代下 | 通义灵码冲刺备战求职季

AI时代下 | 通义灵码冲刺备战求职季 什么是通义灵码使用智能编程助手备战求职靠谱吗体验心得 AI时代下&#xff0c;备战求职季有了不一样的方法&#xff0c;使用通义灵码冲刺备战求职季&#xff0c;会有什么样的体验&#xff1f; 什么是通义灵码 在开始话题之前&#xff0c;首…...

如何将 session 共享存储到 redis 中

文章目录 一. 分布式 session 登录1.1 什么是分布式&#xff1f;1.2 Session 共享1.3 为什么服务器 A 登录后&#xff0c;请求发到服务器 B&#xff0c;不认识该用户&#xff1f;1.4 共享存储 二. Session 共享实现Redis三. 测试session共享四. cookie设置4.1 前端4.2 后端 一.…...

智能科技与共情能力加持,哈曼重新定义驾乘体验

2025年1月6日&#xff0c;拉斯维加斯&#xff0c;2025年国际消费电子展——想象一下&#xff0c;当您步入一辆汽车&#xff0c;它不仅能响应您的指令&#xff0c;更能理解您的需求、适应您的偏好&#xff0c;并为您创造一个独特且专属的交互环境。作为汽车科技领域的知名企业和…...

第4章 Kafka核心API——Kafka客户端操作

Kafka客户端操作 一. 客户端操作1. AdminClient API 一. 客户端操作 1. AdminClient API...

Debian 设定 tomcat 定时重启

目录 背景 过程记录 1、编辑sh文件&#xff0c;完成重启功能 2、设置sh的可执行权限 ​编辑 3、设置定时任务 背景 在Debian 12系统中&#xff0c;原本部署了两个tomcat&#xff0c;结果总是遇到CPU飙升到影响应用正常使用的程度&#xff0c;找了很久原因还是没有找到。 …...

mysql8.0 重要指标参数介绍

MySQL 8.0 引入了许多新的功能和优化&#xff0c;针对性能、可扩展性、可靠性以及安全性方面做出了显著改进。为了确保 MySQL 的高效运行&#xff0c;了解和配置 MySQL 的一些关键指标参数非常重要。以下是 MySQL 8.0 中的一些重要参数和指标&#xff0c;帮助你优化数据库性能。…...

SpringMVC (2)

目录 1. RequestMapping 注解介绍 2. RequestMapping 使用 3. RequestMapping与请求方式 3.1 RequestMapping 支持Get和Post类型的请求 3.2 RequestMapping 指定接收某种请求 3.3 GetMapping和PostMapping 4. 传参 4.1 通过查询字符串传参 4.2 在 Body 中传参 4.2.1 …...

【全面解析】深入解析 TCP/IP 协议:网络通信的基石

深入解析 TCP/IP 协议&#xff1a;网络通信的基石 导语 你是否曾好奇&#xff0c;现代互联网是如何实现全球设备之间的高速、稳定和可靠通信的&#xff1f;无论是浏览网页、发送电子邮件&#xff0c;还是进行视频通话&#xff0c;背后都离不开 TCP/IP 协议 的支撑。作为互联网…...

图数据库 | 19、高可用分布式设计(下)

相信大家对分布式系统设计与实现的复杂性已经有了一定的了解&#xff0c;本篇文章对分布式图数据库系统中最复杂的一类系统架构设计进行探索&#xff0c;即水平分布式图数据库系统&#xff08;这个挑战也可以泛化为水平分布式图数据仓库、图湖泊、图中台或任何其他依赖图存储、…...

【2024年华为OD机试】 (C卷,200分)- 反射计数(Java JS PythonC/C++)

一、问题描述 题目解析 题目描述 给定一个包含 0 和 1 的二维矩阵&#xff0c;一个物体从给定的初始位置出发&#xff0c;在给定的速度下进行移动。遇到矩阵的边缘时会发生镜面反射。无论物体经过 0 还是 1&#xff0c;都不影响其速度。请计算并给出经过 t 时间单位后&#…...

【微服务】SpringCloud 1-9章

1从Boot和Cloud版本选型开始说起 1.1Springboot版本选择 1.1.1git源码地址 https://github.com/spring-projects/spring-boot/releases/ 1.1.2官网看Boot版本 1.1.3SpringBoot3.0崛起 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes …...

Jmeter进行http接口并发测试

目录&#xff1a; 1、Jmeter设置&#xff08;1&#xff09;设置请求并发数&#xff08;2&#xff09;设置请求地址以及参数&#xff08;3&#xff09;添加结果数 2、启动看结果 1、Jmeter设置 &#xff08;1&#xff09;设置请求并发数 &#xff08;2&#xff09;设置请求地址…...

JavaScript语言的数据结构

JavaScript中的数据结构 引言 在编程的世界里&#xff0c;数据结构是处理和组织数据的重要方式。数据结构的选择往往直接影响到程序的性能和可维护性。JavaScript作为一门广泛使用的编程语言&#xff0c;在数据结构的设计和使用上也有其独特的特点。本文将深入探讨JavaScript…...

【数据分享】1929-2024年全球站点的逐日平均气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01;本次我们为大家带来的就是具体到气象监…...

DETRs with Collaborative Hybrid Assignments Training论文阅读与代码

关键词:协作混合分配训练 【目标检测】Co-DETR:ATSS+Faster RCNN+DETR协作的先进检测器(ICCV 2023)-CSDN博客 摘要: 在这篇论文中,作者观察到在DETR中将过少的 Query 分配为正样本,采用一对一的集合匹配,会导致对编码器输出的监督稀疏,严重损害编码器的区分特征学习…...

某国际大型超市电商销售数据分析和可视化

完整源码项目包获取→点击文章末尾名片&#xff01; 本作品将从人、货、场三个维度&#xff0c;即客户维度、产品维度、区域维度&#xff08;补充时间维度与其他维度&#xff09;对某国际大型超市的销售情况进行数据分析和可视化报告展示&#xff0c;从而为该超市在弄清用户消费…...

码云gitee 新建仓库 添加公钥

码云gitee 新建仓库 添加公钥 文章目录 码云gitee 新建仓库 添加公钥新建仓库生成公钥管理个人公钥安全验证 码云这个网站是一个代码托管平台&#xff0c;在国内可以无限制的使用&#xff0c;在这个网站上&#xff0c;也可以搜索到一些github上面的内容。进入这个网站&#xff…...

SQL 基础教程 - SQL SELECT INTO 语句

通过 SQL&#xff0c;您可以从一个表复制信息到另一个表。 SELECT INTO 语句从一个表复制数据&#xff0c;然后把数据插入到另一个新表中。 SQL SELECT INTO 语句 SELECT INTO 语句从一个表复制数据&#xff0c;然后把数据插入到另一个新表中。 注意&#xff1a; MySQL 数据…...

《leetcode-runner》如何手搓一个debug调试器——指令系统

前文&#xff1a; 《leetcode-runner》如何手搓一个debug调试器——引言 《leetcode-runner》如何手搓一个debug调试器——架构 文章目录 什么是指令系统指令的组成部分leetcode-runner支持哪些指令如何解析用户输入的命令行指令识别流程 仓库地址&#xff1a;leetcode-runner …...

基于预共享密钥的IPsec实验

一、实验目的 &#xff08;1&#xff09;了解IPsec的原理和协议运行机制&#xff1b; &#xff08;2&#xff09;掌握IPsec身份认证的预共享密钥的配置&#xff1b; &#xff08;3&#xff09;掌握用Wireshark工具抓包分析IPsec数据包格式和协议流程。 二、实验设备与环境 &…...

Golang Gin系列-2:搭建Gin 框架环境

开始网络开发之旅通常是从选择合适的工具开始的。在这个全面的指南中&#xff0c;我们将引导你完成安装Go编程语言和Gin框架的过程&#xff0c;Gin框架是Go的轻量级和灵活的web框架。从设置Go工作空间到将Gin整合到项目中&#xff0c;本指南是高效而强大的web开发路线图。 安装…...

R语言绘图

多组火山图 数据准备&#xff1a; 将CSV文件同一在一个路径下&#xff0c;用代码合并 确保文件列名正确 library(fs) library(dplyr) library(tidyr) library(stringr) library(ggplot2) library(ggfun) library(ggrepel)# 获取文件列表 file_paths <- dir_ls(path &quo…...

Linux《Linux简介与环境的搭建》

在学习了C或者是C语言的基础知识之后就可以开始Linux的学习了&#xff0c;现在Linux无论是在服务器领域还是在桌面领域都被广泛的使用&#xff0c;所以Linxu也是我们学习编程的重要环节&#xff0c;在此接下来我们将会花大量的时间在Linxu的学习上。在学习Linux初期你可以会像初…...

.Net Core webapi 实现JWT认证

文章目录 需求准备创建JWT配置创建JWTService注册JWT创建中间件读取jwt的token在需要的接口上添加属性启动认证启动swagger的授权认证使用 需求 实现一个记录某个用户所有操作的功能 准备 创建你的webapi项目从nuget下载安装JWT资源包根据你的项目使用.net版本下载对应的jwt…...

SDL2:Android APP编译使用 -- SDL2多媒体库使用音频实例

SDL2&#xff1a;Android APP编译使用 3. SDL2&#xff1a;Android APP编译使用3.1 Android Studio环境准备&#xff1a;3.2 构建Android APP&#xff08;1&#xff09;方式一&#xff1a;快速构建APK工程&#xff08;2&#xff09;方式二&#xff1a;自定义APK工程&#xff08…...

gitignore忽略已经提交过的

已经在.gitignore文件中添加了过滤规则来忽略bin和obj等文件夹&#xff0c;但这些文件夹仍然出现在提交中&#xff0c;可能是因为这些文件夹在添加.gitignore规则之前已经被提交到Git仓库中了。要解决这个问题&#xff0c;您需要从Git的索引中移除这些文件夹&#xff0c;并确保…...

Visual Studio2019调试DLL

1、编写好DLL代码之后&#xff0c;对DLL项目的属性进行设置&#xff0c;选择待注入的DLL&#xff0c;如下图所示 2、生成DLL文件 3、将DLL设置为启动项目之后&#xff0c;按F5启动调试。弹出选择注入的exe的界面之后&#xff0c;使用代码注入器注入步骤2中生成的dll&#xff…...

电力场景红外测温图像绝缘套管分割数据集labelme格式2436张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;2436 标注数量(json文件个数)&#xff1a;2436 标注类别数&#xff1a;1 标注类别名称:["arrester"] 每个类别标注的框数&am…...

RV1126+FFMPEG推流项目(7)AI音频模块编码流程

一、AI 模块和外设麦克风的关系 AI 模块是 RV1126 芯片的一个重要组成部分。它的主要功能是将外部接入的麦克风采集到的模拟信号通过内置的驱动程序转换为数字信号。这意味着麦克风作为外设&#xff0c;提供音频输入信号&#xff0c;AI 模块通过其硬件和软件的结合&#xff0c…...

从零开始启动一个Vue项目

目录 一、首先下载Node.js 二、安装vue脚手架vue-cli 三、使用vue-ui创建一个vue项目 四、vue项目目录结构 五、启动vue项目 方法一&#xff1a;cmd窗口启动 方法二&#xff1a;软件中启动 一、首先下载Node.js 可以去看我的上一篇博客&#xff1a; NodeJs的安装及环境…...

存储过程和触发器

目录 1、存储过程 1.1 存储过程的概述 1.2 存储过程的类型 1. 系统存储过程 2. 本地存储过程 3. 临时存储过程 4. 扩展存储过程 1.3 T-SQL创建存储过程 1.4 T-SQL执行存储过程 1.5 T-SQL查看存储过程 1.6 T-SQL修改存储过程 1.7 T-SQL删除存储过程 2、触发器 2.1 …...

改进果蝇优化算法之一:自适应缩小步长的果蝇优化算法(ASFOA)

自适应缩小步长的果蝇优化算法(ASFOA)是对传统果蝇优化算法的一种重要改进,旨在克服其后期种群多样性不足、容易过早收敛和陷入局部最优等问题。有关果蝇优化算法的详情可以看我的文章:路径规划之启发式算法之二十七:果蝇优化算法(Fruit Fly Optimization Algorithm,FOA…...