注册

一个专科程序员的2023年中总结

前言



本篇是笔者对自己的这一年来的年中总结,之前也是陆陆续续看过一些总结,在6月17日的时候,爬了一下青城山,突然思绪从脑子当中炸出,写下了这篇文章



说在前面的话


在今年的二月份,我入职了我现在的这家公司,相比于去年的情况整体来说是好了一些的。去年笔者的情况是蛮糟糕的,大概是半年是没有收入的,不是说我没有在工作辣,而是你们知道。


不过,这段经历让我心态有了一定的提升,在联盟中,有一句台词是这样的,天下万般兵刃,唯有过往最伤人。当人处于这种情况下,真的很难熬住。回到当时的爬山场景,我也在想,就是我爬的很累很累了,但是我还是要迈出下一步,究竟是为了什么才一路向上的。


我在爬山的时候,累了,我就休息一下,然后又继续前进,路虽不是那么平坦,心却平坦了一些,就像之前我也是这么过来的,让自己休息好了,再继续前进。


所以,我发现我后来对这些事情无关紧要了,就如莎士比亚说过的,凡是过往,皆为序章。一旦发生了的事情就已经成为了过去。不要沉溺于过去,把握当下,面对未来。


路途中,我看见很多人步伐各不相同,那是因为他们有着不一样的心之所向。


回顾


先说一下,这半年中,我自己做了什么




  • 面试,找工作,不过这一部分,我没有背八股文,几乎是知道的能说就说




  • 参与了华为 DevUI 组件库开源 顺利提了一个 PR ,后续也会持续关注继续做




  • 工作中,实现了一些个人觉得比较好的组件,签到日历,级联选择器,数字滚动,上下漂浮动画组件等等




  • 对外的话,做了我自己的一个小工具,JsonToTypescript ,可以把 JSON 格式转为对应的 Typescript 接口声明




  • 搭建了自己的 个人博客 使用了 hexo 框架




  • 准备了我自己的长期专栏 手摸手带你学习Javascript 、后期会写一些面试题相关




  • 更了几篇文章,后续也会一直更新




  • 持续学习自己定的方向,前端工程化




这些内容的话,我觉得在做组件那一块我的进步相对于之前来说是有提升的,写作的话,看了诗词相关的视频,也会用到我的内容中,整体还不错。


这里我们谈一谈组件吧,简单谈一谈我的一些浅薄理解。


Vue 组件设计


1. 如何设计一个组件?



  • 定义 Props (核心)
  • 确定组件的职责是做什么?展示、数据录入、布局等等
  • 根据主题设计组件样式

假如,我们现在设计一个抽奖组件


如下图所示:


抽奖转存失败,建议直接上传图片文件

有一个这样的抽奖实现,当我点击下这个开始按钮,那么需要,沿着按钮顺时针跑。对咯,我们更多的时候,其实会看见一个 UI 设计图之类的,你需要转变为这种更直观一些的


通常我第一步简单分析以后,我不会考虑很多其他场景,大部分还是业务中,够用就行


第二步,我们开始设计当前组件的 Props ,命名的话大家自己语义化一些,需要注意下


我们简单定义四个



  1. source 数据来源,为了让他有更好的复用性,数据是传递来的,在其他开发者使用的时候,需要遵循你的组件规则,这要从使用者的角度转变。你就想,怎么让别人好用
  2. speed 速率,用于控制顺时针跑的快慢,也就是抽奖速度
  3. change emit 事件,当点击的时候考虑是否对外发送什么通知之类的,非必要
  4. finish emit 事件,当组件完成之后触发的事件

第三步分析实现原理


如上图,我给大家标记出来了数据占位是 [0,1,2,3,4,5,6,7,8] 除了4以后,其他也就是奖品所在位置了


实现动画效果,顺时针抽奖,我们可以直观看见运动轨迹是 0-1-2-5-8-7-6-3 ,此为一个周期,要配合 speed 控制速率实现


展示高亮效果,就是拟定一个 active 变量,然后依次设置不同的值,也就是 排他思想


最后就是完成我们的代码逻辑


React 业务组件相关设计


1. 如何设计一个 React 组件?


我平时开发主要还是以 Vue 为主,所以,有些理念是学习来的,大家随意抽出对自己有用的为自己使用就好辣



  1. 单一职责:每个业务组件应该专注于解决特定的功能或问题,这会使得我们组件简洁,并且好维护
  2. 组件拆分:将复杂的业务需求拆分为小组件,每个组件负责特定的页面或者是功能
  3. PropsState 的设计:React 是单向数据流,合理的定义 PropsState ,确保值能够传递和保存到对应的组件。Props 的用于接受父组件传递的数据,State 用于管理数据状态

假如我需要设计点击一个新增\修改按钮设计出 Drawer 既可以新增又可以修改


我这里列出一个图,大家具体看这个图就好


image-20230625192757624.png
以上是对于组件的一些个人理解,后续学到实用的东西,也会进行相关内容的输出。


说一些面试相关的吧


我觉得在面试这件事,虽然现在投简历很多不会回复或者多看一眼。在这样做,我很担心,就是很多朋友,有些空余时间,没有去思考过,自己要走的一条路是什么。


面试的时候,你可能需要准备的知识,是要超过你目前的期望薪资的知识储备量的,这本身就是自身要具备的硬技能。


我个人在今年面试的时候,没准备,会有答不上,答不好的情况,但是基础的还行,这一块不需要背,自己知道的,没什么深度。不过写专栏就是在审视自己这个问题。我不建议大家学习我不去准备,我只是当时纯纯偷懒罢了...


笔者,是一个普通平凡的人,没有什么高质量的输出,还在不断学习中,后续会继续更新我的创作。


什么是平凡


说实话,写这个命题的时候,我是有点纠结的。曾看过这样一句话,一个人怎样看待自己,决定了此人的命运,指向了他的归宿。


我觉得自己会有一些不同的思想和见解,每个人亦是如此。也立过鸿鹄之志,我思考,我是想去拥有过一个不错的生活,为之而奋斗。不知道什么时候开始,我觉得这已然成为我的一种束缚,为什么呢?因为不快乐。


所以,我,是一个普通平凡的人,我自人间浪漫,平生事、南北西东。(我在人间放纵而活,不受世俗约束,平生事,无所谓南北西东)


虽然,并不会太洒脱,人生,总有十有八九不如人意。顺其自然就好啦,做自己喜欢的事,坚持下去就好了。总有一天可以在一寸冰封的土地,绽放出绚丽的春华,那是属于你个人。


这车水马龙的人间,读者们可以试着慢慢来,不问结果反而一身轻松,路的尽头是什么也许从来不重要。生活,有所为,有所爱,清醒、自律、知进退。


我认清自我,找到自我,从今以后,不在过我应该过的生活,而是去过我想过的人生,平凡挺好的,放下了一些,能变得更富有。


自己的方向


今年后半年大致是以下几点



  1. 更新进阶的 JavaScript 知识,这一部分大纲已经整理好了,在空余的时间,我会慢慢更新
  2. 学习 Nest ,做一下个人小应用
  3. 如果可以有时间更新自己的面试题专栏
  4. 持续更文

都是很简单的,没有太难的任务了,目前个人产出还是自我满足就够了。


结语


多花时间研究自己

作者:sakana
来源:juejin.cn/post/7248606482027675706

0 个评论

要回复文章请先登录注册