5年前端仔的2023年终总结

        突然发现已经有好几个月没有写过博客总结过什么,小小辩解一下,其实并不是笔者停止的学习和总结,随着在前端这个行业的逐年深入,渐渐的很多收获不再是像之前简单的技术点的确定性描述讲解了,而是某个领域的知识体系的串联和完善,这就导致想要总结一些东西并发出来耗费的精力越来越大,再加上随着在业务上的深入,有些东西发表出来并不是那么的方便(大公司的所谓安全风控还是有些限制的)。今天是年前的最后一个工作日了,简单梳理一下这一年的经历与收获~

个人简介

    我呢,万千搬砖人之一,目前就职福报厂某团队,最近一年负责小团队内大概十几个系统的中后台技术体系的设计及业务研发,偶尔团队人手不足客串支撑一下c端的业务,作为老油条“带一带”团队的新同学和实习生,偶尔客串一下横向大团队的问题排查工,最近深耕可视化搭建平台的建设。

技术体系的拓展

        入行至此,主要的业务方向还是B端的中后台领域,虽然也会有C端业务的工作,个人而言兴趣反而不大。中后台的业务其复杂点更多的在于业务的复杂繁琐,而对于服务于C端的中后台系统其开发的效率和稳定同样是比较重视的。

工程架构升级

        近一年多的时间,笔者从底层开始,将团队的中后台应用由传统机器部署推动迁移到了serverless环境,由于集团serverless环境内部资源成本的优惠,一年节约下来的资源费用够给我发好几个月的工资了(虽然省下来了也不会给我!!!),同时基于serverless的环境沉淀了相对应的项目脚手架模版,并在初始化项目时打通了远端代码平台git仓库的初始化以及应用管理平台的应用创建,做到1min内完成真正意义上的开箱即用的项目初始化,初始化完即可部署日常环境并正常访问。目前团队约30+应用已完成升级。

技术体系统一

        随着业务的逐渐深入了解,逐渐沉淀出了团队的标准项目目录规范;lint规范并集成husky自动化校验;业务通用工具库,包含了业务的通用组件、Utils、React Hooks;针对业务场景第一次做了基于module federation跨系统的技术架构设计;沉淀了基于React hooks的全局状态共享方案;基于umi的中后台权限管理方案;开发了基于后端接口文档自动化生产node controller层代码的小工具;曾经思考过后台低代码的建设,但是考量的团队业务的复杂度(产品设计的难以统一和友好迭代)遂放弃;简单跑了下微前端的demo做一下技术储备。

未知领域的拓展

    由于团队业务中后台技术及产品迭代趋于稳定,再加上我“后继有人”。所以又被安排到了搬砖的更前线,去拓展搭建领域。索性是基于基于集团的天马方案做拓展,可以减少一些堆人力的工作,可是文档是真的抽象完全是靠看源码来摸索,从项目脚手架看到构建产物,从后端Java串到前端页面。基于搭建服务、渲染服务、数据投放服务三足鼎立的技术架构和小伙伴们做上层建设。

    笔者负责的搭建服务因为node服务的低频改动,基于umi + midway 做了前后端分离设计,基于familyjs封装了schema渲染表单,并内置通用业务表单项类型的渲染及基于远端umd模块的业务自定义表单,为了提前数据请求的时机满足ssr要求,设计了基于schema的rpc接口调用协议,于投放服务发起数据调用。为了优化页面性能我们又通过手动埋点分析+performance结合分帧跑数一次次的调整,从dns解析到页面模块首屏懒加载,从cdn缓存到端容器的预加载做了一条龙的服务。。。

软实力的提升

       虽然我们都是技术人员,是码农。。但是很难值纯粹的敲代码的,所以除了技术能力的提高以外还要有个人综合软实力的提升需要的。比如表达沟通、总结汇报、传道受业解惑。。

培养校招生&实习生

        慢慢随着团队人员的变迁,不知不觉中我成了北京团队混的最久的咸鱼前端了。。。除了个人的战斗之外,开始有新人的加入需要我来分享我的经验,帮助他们融入团队,和技术成长了。

        笔者个人认为,自己的眼光和要求还是比较高的,自从入行以后我的期望的就是:我希望我是所在团队的地板线,我希望团队内所有的人都比我要厉害,我就是团队内最菜的那一个是加入团队的基本线,这样我就可以看得更高走的更远,嘿嘿~。所有对于团队内的新人我的期望还是比较高的,期望他们至少要超过同期的自己。说实话曾经是跟在别人身后赶路,到自己独自赶路,再到需要带着别人赶路,这个变化还是比较大的。

        对于新人尤其是新入行的人,最重要的是帮助他们构建属于自己的技术体系,由点到线,由线到面,再到体,是一个循序渐进的过程。同时还要自己日常工作中做出表率,让他们能够看到“活的”标准。同时还要兼顾一下心里建设工作,适当的鼓励激发其信心,适当的压力以激发潜力。曾经有人为我撑伞赶路,现在我有些许能力的话,我希望也可以帮别人少淋一些雨。还好我也还是年轻人。。比零零后也大不了几岁啊哈哈哈,还可以做朋友。

Owner

        作为一个小超级兵,当负责的内容变多时,尤其是还要带着人往前走时,便需要有意识的做规划和总结了,一方面及时给予上司团队动向的反馈,一方面基于新人方向的指引,同时还要兼顾个人的成长,这方面只能自己去有意识的发展。

人缘

        有人的地方便有江湖,笔者并不是一个善于经营人际关系的人,但得益于笔者三观比较正,心地比较善良,还是有着不错的人缘。因为经常帮兄弟团队的人排查“疑难杂症”,所以结下了不少善缘,经常在一些老大哥口中的一句句大佬中迷失自己。同时因为自己的善缘也为自己的工作带来了不少遍历,比如在最近的搭建系统建设是,找服务端的同学帮我讲解集团内源的java代码,找客户端的同学教我排查端内页面数据的技巧,找测试的同学帮忙提供联调环境。。。还是很幸运的能得到很多人的认可。

最后

        如果您看到了这里,那非常抱歉浪费了您好几分钟,看到了一些流水账的记录,哈哈哈哈。。。放假了,脑子实在是不想动了。。。辛苦了一年还是不要费劲脑汁的写一些官方文档了,平常写的够多了。

868f55c37af141e88a1f913d42164271.png

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

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

相关文章

【新书推荐】6.3节 指令指针寄存器

8086 CPU内部的指令指针寄存器IP是计算机自动运行程序的关键。指令指针寄存器IP自动指向下一条将要执行的指令。 本节内容:使用指令指针寄存器读取和执行指令的工作原理和段寄存器的引用。 ■指令指针: 8086CPU中的指令指针寄存器IP是16位寄存器。指令指…

Swin-UMamba:结合基于ImageNet的预训练和基于Mamba的UNet模型

摘要 https://arxiv.org/pdf/2402.03302v1.pdf 准确的医学图像分割需要整合从局部特征到全局依赖的多尺度信息。然而,现有方法在建模长距离全局信息方面面临挑战,其中卷积神经网络(CNNs)受限于其局部感受野,而视觉转换…

Golang 学习(二)进阶使用

二、进阶使用 性能提升——协程 GoRoutine go f();一个 Go 线程上,可以起多个协程(有独立的栈空间、共享程序堆空间、调度由用户控制)主线程是一个物理线程,直接作用在 cpu 上的。是重量级的,非常耗费 cpu 资源。协…

osg模型的平移、缩放、旋转

加载2个模型,其中一个向上移动28个单位; 加载2个模型,其中一个缩放0.5倍,向下移动22个单位; 加载2个模型,其中一个缩放0.5倍、旋转45度、向右向下移动几个单位; 都是用矩阵实现的; …

Python算法题集_环形链表II

Python算法题集_环形链表II 题142:环形链表II1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【集合检索】2) 改进版一【字典检测】3) 改进版二【双指针】 4. 最优算法 本文为Python算法题集之一的代码示例 题142:环形链…

计算机设计大赛 深度学习+python+opencv实现动物识别 - 图像识别

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 inception_v3网络5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 *…

AJ-Report 【开源的一个BI平台】

AJ-Report是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。     多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持30…

【安卓跨程序共享数据,探究ContentProvider】

ContentProvider主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性。 目前,使用ContentProvider是Android实现跨程序共享数据的标准方…

宠物空气净化器哪个牌子好?养猫家庭如何挑选宠物空气净化器?

养猫的朋友都知道,猫咪掉毛是一个令人头痛的问题。猫毛和皮屑会漂浮在空气中,不仅遍布全屋的各个角落,而且清理起来也非常麻烦,特别是那些难以清除的猫毛。更糟糕的是,这些猫毛还可能引发人们的过敏反应,如…

1896_Linux中free命令小结

1896_Linux中free命令小结 全部学习汇总: little_bits_of_linux: 一星半点的Linux经验 (gitee.com) 查看Linux中存储的使用情况,我经常使用htop,毕竟这个命令提供的信息是十分直观的。我现在常用的一个小主机其实是我的树莓派3B,虽…

怎么用postman调用webservice(反推SoapUI)

<soapenv:Envelope xmlns:soapenv“http://schemas.xmlsoap.org/soap/envelope/” xmlns:lis“LisDataTrasen”> soapenv:Header/ soapenv:Body lis:Test lis:test111111111</lis:test> </lis:Test> </soapenv:Body> </soapenv:Envelope> Conten…

部署VMwareWorkstation和ESXi

文章目录 一、VMware Workstation Pro下载和部署二、安装ESXi三、登录到ESXi四、使用ESXi安装虚拟机 一、VMware Workstation Pro下载和部署 在官网下载VMware Workstation Pro&#xff1a;https://vmware.com/cn.html 找到以下位置 选择试用 然后等待下载完成 正常下载完成…

牛客网SQL:查询每个日期新用户的次日留存率

官网链接&#xff1a; 牛客每个人最近的登录日期(五)_牛客题霸_牛客网牛客每天有很多人登录&#xff0c;请你统计一下牛客每个日期新用户的次日留存率。 有一个登录(login。题目来自【牛客题霸】https://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8?tpId82 …

SQL,HQL刷题,尚硅谷

目录 相关表数据&#xff1a; 题目及思路解析&#xff1a; 汇总分析 1、查询编号为“02”的课程的总成绩 2、查询参加考试的学生个数 分组 1、查询各科成绩最高和最低的分&#xff0c;以如下的形式显示&#xff1a;课程号&#xff0c;最高分&#xff0c;最低分 2、查询每门课程…

板块一 Servlet编程:第一节 HTTP协议理论与服务器请求响应原理 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程&#xff1a;第一节 HTTP协议理论与服务器请求响应原理 一、HTTP特点二、HTTP中的 URL三、两种 HTTP 请求方法&#xff1a;GET 和 POST四、请求响应的底层请求头在服务器中表现响应头在服务器中表现 在上一个板块中我们完成了所有IDEA的基础配置工作&#xf…

挑战杯 python+大数据校园卡数据分析

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于yolov5的深度学习车牌识别系统实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&am…

【PTA选择题/基础夯实/期末复习】链表文件操作

2-1 对于一个头指针为head的带头结点的单链表&#xff0c;判定该表为空表的条件是&#xff08;&#xff09;。 A.headNULL B.head→nextNULL C.head→nexthead D.head!NULL 2-2 链表不具有的特点是&#xff08;&#xff09;。 A.可随机访问任一元素 B.插入、删除不需要移…

第 383 场 LeetCode 周赛题解

A 边界上的蚂蚁 模拟 class Solution { public:int returnToBoundaryCount(vector<int> &nums) {int s 0;int res 0;for (auto x: nums) {s x;if (s 0)res;}return res;} };B 将单词恢复初始状态所需的最短时间 I 枚举&#xff1a;若经过 i i i 秒后 w o r d w…

CTF-show WEB入门--web19

今晚web19也就顺便解决了 老样子我们先打开题目看看题目提示&#xff1a; 可以看到题目提示为&#xff1a; 密钥什么的&#xff0c;就不要放在前端了 然后我们打开题目链接&#xff1a; 然后我们查看网页源代码&#xff1a; 可以发现有用的内容全在网页源代码里。 前端验证…

spring boot(2.4.x之前版本)和spring cloud项目中配置文件的作用

为了防止理解问题&#xff0c;pom.xml 版本依赖如下 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!--…