「回顾2022,展望2023,我正在参与2022年终总结征文大赛活动」
序言
金虎摆尾逍遥去,银兔昂首吉庆来!2022虎年是特别的一年,疫情放开,不少人成为“杨过”、“杨康”,甚至“王重阳”,过的并不容易。但正因为疾病与磨难让大家都意识到身体健康的重要性~
2022年对于个人而言也是特别的一年,种种过往让我收获颇多成长,今天就从思想、生活习惯、技术成长3个方面来给大家分享下~~
过往
思想觉醒篇
心理学家马斯洛曾说过:“心若改变,你的态度跟着改变;态度改变,你的习惯跟着改变;习惯改变,你的性格跟着改变;性格改变,你的人生跟着改变。”
所有改变都是从思想觉醒开始的,22年里我先后读了5本提升思想认知的哲学书,其中《与内心的冲突和解》还不错,书中主要表达了以下3个向内求的核心观点,愿与君共勉~
阅己——停止玻璃心
自我改变,首先需要全面地认识读懂自己,停止玻璃心,别过分在意他人的目光和评价,因为只有你最了解你自己,只有你才能定义你自己,天赋是什么,擅长是什么,短板是什么...
悦己——停止责怪自己
自我实现,始于悦纳“真实的自己”,人无完人,金无足赤。接受现实的自己,没有做好或是做错的事情不要责怪自己,情绪化,而是需要跳出来,像旁观者冷静地分析做的不足/问题之处,采取什么方式方法去改进,避免再踩坑。
自立——学会相信自己
我们最能成事的时候,是对自己充满信心的时候,专注于当下,不惧怕任何艰难险阻。要想真正自立,就需要有自己坚定的信念和决心,坚持走自己选择的路,即使路上乌云密布、盘陀大雨依旧勇敢前行,因为雨过会放晴,运气不错的话还能看到美丽的彩虹!
自强——学会量力而行
“自强的人”,指的是拥有内在力的人,没有蔑视自己的4个心理现象:
- 强迫性地拿自己和他人做比较
- 自己伤害自己
- 允许虐待
- 强迫性地追求名声/金钱/功绩...
自强之人,会拥有源源不断的内在自驱力,懂得量力而行,一步一个台阶地实现着”垫一垫脚“能够到的目标。
习惯养成篇
很多事情都是需要时间堆积出来的,比如提升生存技能、学习新的技术、更换新的工作岗位等等。当“想做出改变,走出舒适圈”的思想觉醒后,还需要有好的习惯,周而复始地持续积累,量积累到一定程度才能发生质的飞跃。
22年里读了2本习惯养成的书,其中对我影响最大的是《高效能人士的七个习惯》,今天推荐给大家,这本书中的7个习惯,其实涵盖了工作、生活方方面面需要的思想素养和智慧。我阅读完该书后,工作/生活中践行后觉得如下3个习惯让人终身受益,在此分享给大家,愿与君共勉~~
要事第一
我们做事情,常常会采取时间管理任务,要事优先处理,但做事前更重要的是确认自己的角色(学生/职场人/导师/朋友...),明确角色后,再采取四象限时间管理方法管理落实事情/任务,才能更高效地朝着正确方向推进目标。
双赢思维
借《高效能人士的七个习惯》书中的少女/老妇的经典案例来做智力和情感小测验,请大家花 10 秒观察下图1-1、1-3,并描述下所看到的形象:
大家观察后,也许有人觉得是年轻少女,有人觉得是年迈的老妇。这个测试实验恰好验证了不同的人看待事物角度/观点不同,我们是否可以跳出个人的感知,在公共关系中求同存异、共同合作、实现共赢。
不断更新
随着时代不断更新进步,我们的身体
、精神
、智力
、社会/情感
4个方面也需要不断更新。
老人常说:“身体是革命的本钱”,可好多年轻人未能真正明白,熬夜、饮食作息不规律、运动少等恶习,让身体长期处于亚健康状态。大疫三年,22年11月突然政府选择放开防疫,不少人“阳了”,导致身体受损、元气大伤,这时才恍然大悟,在身体健康面前,金钱、功名、利禄通通都是虚的。要想拥有健康的体魄,获得强大的抵抗力,就要打败惰性,规律作息保证充足的睡眠;健康饮食,五谷杂粮、肉类、蔬菜、水果、水等食物科学搭配,保证蛋白质、脂肪、糖类、维生素、矿物质、水、纤维素7大人体所需营养素的均衡摄取;定期运动锻炼,选择1-2项自己爱好的运动每天坚持30分钟左右锻炼,比如跑步、快走、散步、骑车、跳舞......
精神层面是人的本质和对价值体系的坚持,是生活中非常私人而又至关重要的领域,它能调动人的内驱力和调整心态。要想更新提升精神层面,平时可以多阅读学习符合自己价值观的书籍,参加相关的线上/线下活动。
智力,20%来源于父母的先天智力,80%后天智力仍可以开发更新,这主要靠教育,借此不断学习知识,磨砺心智,开阔视野。阅读文学巨著、名人自传、《国家地理》等作品,不同的文化、领域知识可以帮助我们拓展思维和提高智力。还有另一种有效方式是写作,能有助于我们提高思考、推理和获得他人理解的能力。
生活中,社会层面和情感层面紧密相连,假设你是我工作/生活中必不可少的人,我们需要交流、共事、完成一项任务或是解决一个问题,但却存在意见分歧和不同视角,这时候就需要有双赢思维
、知彼解己
、综合综效
来解决。这几方面属于情感方面,与我们个人的安全感密切相关。
如何增进内在安全感?
- 坚守原则,肯定自我
- 与人为善,相信可以寻找到“双赢”的第三种可能
- 乐于奉献,服务人群
- 燃烧自己,照亮别人
技术成长篇
前面挺多篇幅讲了思想觉醒、习惯养成,是不是和技术人的成长不太相关,是不是跑偏脱轨了?其实不然,只有提升了思想认知,培养了好的习惯,后面才能持续高效地学习新技术。就像盖高楼大厦前,需要先打好地基一般。好了,我们言归正传,最后来聊聊22年收获的技术成长,看到这里的掘友们相当有毅力和耐心😜,在此表示感谢🌹~~
由0-1搭建项目架构
22年年中,本司筹备企业数字化转型,领导委以重任,让我带领3个前端小伙伴一起搭建人事服务的移动端项目,从0-1,项目交付后我们每个人都成长了不少,下面给大家分享我当时主要做的事情:
1. 技术栈选型
接到任务后,我首先和领导沟通,明确了项目的背景和业务定位,需要开发新的移动端H5项目,接下来我的主要精力便聚焦在技术调研工作。
框架调研:
根据团队里前端开发人员的具体情况来看,大多数vue技术栈熟练些,我便在vue2、vue3做了调研对比:
vue2 | vue3 | |
---|---|---|
API风格 | 选项 options-api | 组合式 composition-api |
响应式 | Object.defineProperty | Proxy |
打包优化 | 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-ui | vant-ui | framework | vux | |
---|---|---|---|---|
官方文档 | 文档齐全(中文/EN) | 文档齐全(中文/EN) | 文档齐全(EN) | 文档不是特别细致 |
全局引入后打包体积 | 70k | 120k | - | 只能局部引入 |
功能组件 | 28个 | 71个 | 55个 | 95个组件+8个工具函数+1个指令+2个CSS解决方案 |
最后维护时间 | 2018.1 | 维护中 | 维护中 | 2021.10 |
issues | 241 | 31 | 105 | 374 |
Github start | 16.5k | 20k | 16.8k | 17.6k |
综合考虑:最终选择vant-ui框架
理由:
- vant-ui中英文档齐全,组件较多
- 开源库代码维护中
- 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,希望能平衡好工作、学习、生活,齐头并进:
- 工作:
- 保质保量地完成日常工作,积极主动探索不同解决方案
- 积极主动地做技术沉淀,并分享交流
- 学习:
- 坚持阅读,注重内容吸收
- 坚持输出,阅读笔记/技术总结/项目复盘...
- 生活:
- 坚持运动锻炼,规律作息
- 择善而处,择邻而交,接触更多志同道合的人