2022年终总结:凡事过往,皆为序章

3,163 阅读10分钟

「回顾2022,展望2023,我正在参与2022年终总结征文大赛活动

序言

金虎摆尾逍遥去,银兔昂首吉庆来!2022虎年是特别的一年,疫情放开,不少人成为“杨过”、“杨康”,甚至“王重阳”,过的并不容易。但正因为疾病与磨难让大家都意识到身体健康的重要性~

2022年对于个人而言也是特别的一年,种种过往让我收获颇多成长,今天就从思想、生活习惯、技术成长3个方面来给大家分享下~~

过往

思想觉醒篇

心理学家马斯洛曾说过:“心若改变,你的态度跟着改变;态度改变,你的习惯跟着改变;习惯改变,你的性格跟着改变;性格改变,你的人生跟着改变。”

所有改变都是从思想觉醒开始的,22年里我先后读了5本提升思想认知的哲学书,其中《与内心的冲突和解》还不错,书中主要表达了以下3个向内求的核心观点,愿与君共勉~

阅己——停止玻璃心

自我改变,首先需要全面地认识读懂自己,停止玻璃心,别过分在意他人的目光和评价,因为只有你最了解你自己,只有你才能定义你自己,天赋是什么,擅长是什么,短板是什么...

悦己——停止责怪自己

自我实现,始于悦纳“真实的自己”,人无完人,金无足赤。接受现实的自己,没有做好或是做错的事情不要责怪自己,情绪化,而是需要跳出来,像旁观者冷静地分析做的不足/问题之处,采取什么方式方法去改进,避免再踩坑。

自立——学会相信自己

我们最能成事的时候,是对自己充满信心的时候,专注于当下,不惧怕任何艰难险阻。要想真正自立,就需要有自己坚定的信念和决心,坚持走自己选择的路,即使路上乌云密布、盘陀大雨依旧勇敢前行,因为雨过会放晴,运气不错的话还能看到美丽的彩虹!

自强——学会量力而行

“自强的人”,指的是拥有内在力的人,没有蔑视自己的4个心理现象:

  • 强迫性地拿自己和他人做比较
  • 自己伤害自己
  • 允许虐待
  • 强迫性地追求名声/金钱/功绩...

自强之人,会拥有源源不断的内在自驱力,懂得量力而行,一步一个台阶地实现着”垫一垫脚“能够到的目标。

习惯养成篇

很多事情都是需要时间堆积出来的,比如提升生存技能、学习新的技术、更换新的工作岗位等等。当“想做出改变,走出舒适圈”的思想觉醒后,还需要有好的习惯,周而复始地持续积累,量积累到一定程度才能发生质的飞跃。

22年里读了2本习惯养成的书,其中对我影响最大的是《高效能人士的七个习惯》,今天推荐给大家,这本书中的7个习惯,其实涵盖了工作、生活方方面面需要的思想素养和智慧。我阅读完该书后,工作/生活中践行后觉得如下3个习惯让人终身受益,在此分享给大家,愿与君共勉~~

要事第一

我们做事情,常常会采取时间管理任务,要事优先处理,但做事前更重要的是确认自己的角色(学生/职场人/导师/朋友...),明确角色后,再采取四象限时间管理方法管理落实事情/任务,才能更高效地朝着正确方向推进目标。

双赢思维

借《高效能人士的七个习惯》书中的少女/老妇的经典案例来做智力和情感小测验,请大家花 10 秒观察下图1-1、1-3,并描述下所看到的形象: image.png

image.png 大家观察后,也许有人觉得是年轻少女,有人觉得是年迈的老妇。这个测试实验恰好验证了不同的人看待事物角度/观点不同,我们是否可以跳出个人的感知,在公共关系中求同存异、共同合作、实现共赢。 image.png

不断更新

随着时代不断更新进步,我们的身体精神智力社会/情感4个方面也需要不断更新。

老人常说:“身体是革命的本钱”,可好多年轻人未能真正明白,熬夜、饮食作息不规律、运动少等恶习,让身体长期处于亚健康状态。大疫三年,22年11月突然政府选择放开防疫,不少人“阳了”,导致身体受损、元气大伤,这时才恍然大悟,在身体健康面前,金钱、功名、利禄通通都是虚的。要想拥有健康的体魄,获得强大的抵抗力,就要打败惰性,规律作息保证充足的睡眠;健康饮食,五谷杂粮、肉类、蔬菜、水果、水等食物科学搭配,保证蛋白质、脂肪、糖类、维生素、矿物质、水、纤维素7大人体所需营养素的均衡摄取;定期运动锻炼,选择1-2项自己爱好的运动每天坚持30分钟左右锻炼,比如跑步、快走、散步、骑车、跳舞......

精神层面是人的本质和对价值体系的坚持,是生活中非常私人而又至关重要的领域,它能调动人的内驱力和调整心态。要想更新提升精神层面,平时可以多阅读学习符合自己价值观的书籍,参加相关的线上/线下活动。

智力,20%来源于父母的先天智力,80%后天智力仍可以开发更新,这主要靠教育,借此不断学习知识,磨砺心智,开阔视野。阅读文学巨著、名人自传、《国家地理》等作品,不同的文化、领域知识可以帮助我们拓展思维和提高智力。还有另一种有效方式是写作,能有助于我们提高思考、推理和获得他人理解的能力。

生活中,社会层面和情感层面紧密相连,假设你是我工作/生活中必不可少的人,我们需要交流、共事、完成一项任务或是解决一个问题,但却存在意见分歧和不同视角,这时候就需要有双赢思维知彼解己综合综效来解决。这几方面属于情感方面,与我们个人的安全感密切相关。
如何增进内在安全感?

  1. 坚守原则,肯定自我
  2. 与人为善,相信可以寻找到“双赢”的第三种可能
  3. 乐于奉献,服务人群
  4. 燃烧自己,照亮别人

技术成长篇

前面挺多篇幅讲了思想觉醒、习惯养成,是不是和技术人的成长不太相关,是不是跑偏脱轨了?其实不然,只有提升了思想认知,培养了好的习惯,后面才能持续高效地学习新技术。就像盖高楼大厦前,需要先打好地基一般。好了,我们言归正传,最后来聊聊22年收获的技术成长,看到这里的掘友们相当有毅力和耐心😜,在此表示感谢🌹~~

由0-1搭建项目架构

22年年中,本司筹备企业数字化转型,领导委以重任,让我带领3个前端小伙伴一起搭建人事服务的移动端项目,从0-1,项目交付后我们每个人都成长了不少,下面给大家分享我当时主要做的事情:

1. 技术栈选型

接到任务后,我首先和领导沟通,明确了项目的背景和业务定位,需要开发新的移动端H5项目,接下来我的主要精力便聚焦在技术调研工作。

框架调研:

根据团队里前端开发人员的具体情况来看,大多数vue技术栈熟练些,我便在vue2、vue3做了调研对比:

vue2vue3
API风格选项 options-api组合式 composition-api
响应式Object.definePropertyProxy
打包优化tree-shaking需要依赖打包工具webpack/rollup更优的tree-shaking

综合考虑:最终选择vue3 理由
1.vue3 的 composition-api组合式编程,将同一逻辑的代码写到一块,增强了代码的可读性、内聚性 2.vue2响应式 Object.defineProperty 无法监听数组的变化,需要Vue.set监听其变化,vue3 proxy代理消除了该局限性 3.vue3有更好tree-shaking支持,符合ES Module规范,vue程序中未使用的api也能消除,打包获得最佳文件大小

UI框架调研:

mint-uivant-uiframeworkvux
官方文档文档齐全(中文/EN)文档齐全(中文/EN)文档齐全(EN)文档不是特别细致
全局引入后打包体积70k120k-只能局部引入
功能组件28个71个55个95个组件+8个工具函数+1个指令+2个CSS解决方案
最后维护时间2018.1维护中维护中2021.10
issues24131105374
Github start16.5k20k16.8k17.6k

综合考虑:最终选择vant-ui框架
理由:

  1. vant-ui中英文档齐全,组件较多
  2. 开源库代码维护中
  3. issues问题较少,证明ui框架bug较少

2. 项目结构设计

“vue3 + ts + vant-ui + node.js”技术栈选定后,接下来就是需要设计初始化项目结构,我当时使用了 vue-cli 脚手架初始化vue3基本项目结构,并拓展新增了node端,形成了如下的项目结构:

├─.deploy        # 部署文件
│  └─ deploy.yml
├─.husky         # 代码检查
├─bin            # node启动入口
├─config         # 配置文件
├─controllers    # 服务端控制器(proxy、安全检测、日志收集)
├─dist           # 打包后的资源
│  ├─css
│  ├─img
│  └─js
├─Logs           # node日志文件
├─node_modules   # 依赖包
├─routers        # node路由
└─src
    ├─api        # 接口api
    ├─assets
    │  └─app
    ├─components # 组件
    ├─constant   # 常量定义
    ├─directives # vue自定义指令
    │  └─permission
    ├─hooks      # 自定义hook函数
    ├─Layout
    ├─plugins    # 扩展插件
    ├─router     # vue-router路由
    │  └─routes
    ├─store      # 状态管理 store
    │  └─modules
    ├─styles     # 公共样式
    ├─typings    # ts类型定义
    ├─utils
    └─views      # 前端页面
        ├─home-index # 首页
        └─...

首屏加载性能优化

v1.0项目交付后,后面迭代便需要考虑项目性能优化,提升用户体验了。当时我主要从2个方面来做的首屏优化,方案如下:

问题优化的方案
首页网络请求过程中会出现白屏添加loading,告知用户页面正在加载中,改善用户体验
首页应用数据基本不变,但每次访问页面都会发起接口请求将第1次接口请求数据放状态管理器store缓存,后面再进入首页直接回显store的数据
/** 已获取应用信息和人事公告 */
if (homeStore.quickApplicationInfo.length && homeStore.newListInfo.data.length) {
    loading.value = false
    return
}
loading.value = true
/** 首次获取应用信息 */
if (!homeStore.quickApplicationInfo.length) {
    homeStore.updateApplication()
}
/** 首次获取人事公告 */
if (!homeStore.newListInfo.data.length) {
    homeStore
      .updateNewList({
        pageIndex: 1,
        pageSize: 15
      })
      .then(() => {
        loading.value = false
      })
      .catch((err) => {
        loading.value = false
        console.log(err.message ?? '接口异常')
      })
}

通过上述复盘,我发现首屏加载的性能优化,除了利用缓存策略,其实还能通过更多层面去做,比如网络请求优化、编译打包优化、代码优化等。后续有时间再补充更多的优化方案,到时候再与掘友们分享!!

未来

我是一个不完美的人,但想通过不断学习提升成为一个完整的人,展望2023,希望能平衡好工作、学习、生活,齐头并进:

  • 工作:
    • 保质保量地完成日常工作,积极主动探索不同解决方案
    • 积极主动地做技术沉淀,并分享交流
  • 学习:
    • 坚持阅读,注重内容吸收
    • 坚持输出,阅读笔记/技术总结/项目复盘...
  • 生活:
    • 坚持运动锻炼,规律作息
    • 择善而处,择邻而交,接触更多志同道合的人