2023年终总结:重新审视自己

体检完坐在高铁上准备回家看看,顺便空下来好好思考下未来的规划。打开天气预报显示本周末北京或将迎来初雪,时至年末,这不由得让我想起了一句"瑞雪兆丰年",希望到时一切都好。也希望看到这篇文章的小伙伴们明年都能有好运相伴。回想起来,自己总是疏于总结,尤其是这种时间跨度较长的回顾,更是一次都没有。趁着这次机会,回望2023,写下自己的第一篇年度总结,记录一下这一年发生的事情。展望2024,为日后的自己留下一些属于过去的参照物。

有什么有意义的事

做一些应对特殊情况的准备

虽然上一次大规模新冠发烧也只是五月份的事情,现在看来,似乎已然过了很久。更有谁能想到去年好多地方还在封锁当中。好多人戏称说起三年前应该是2018,但是实际上三年前已经是2020了。一个恍惚,好像是一场梦一样。人类其实还是很渺小的,在这种大型事件面前,谁也无法独善其身,都会被影响。我们能做的就是在能力范围内,照顾好自己,照顾好家人,在这到处都动荡不安的时期希望大家都能一切平安。

最近媒体上有些提示人们储备物资的消息,虽然有可能是夸大其词搞噱头,给自己提升提升流量。但是对于健康、饮食、资产这三方面,确实应该在平时就做一些应急的储备,以备不时之需。毕竟真到了着急的时候,也许喊破嗓子都没什么好办法,还得靠自己。

健康方面

  1. 抽出时间锻炼身体:,不需要有多么高的运动水平,但是紧急时刻保持适当的行动能力,是很重要的,而且保持运动能够提高身体的抵抗力,并且提高整个人的精神状态,一举多得。运动多了,对于很多动作模式会积累很多肌肉反射。可以在紧急时刻提升反应能力,减轻甚至避免一些伤害的发生。
  2. 家中常备一些应急药物:包括但不限于消毒药品、伤口敷料类、抗生素、退烧药、抗过敏类药物、以及针对自己常用的一些药物的储备
  3. 掌握一些常见的医学常识及急救知识:包括但不限于伤口消毒手法、包扎方法、各类中毒、烧伤、外伤等的处理方式(如果不懂,切记不要擅自采取措施,寻求帮助,找专业的人来处理,避免二次伤害)、海姆利克急救法、胸外按压等等

饮食

  1. 家中储备一些食品和瓶装水:食品的储备可以分为三类(高能量类、速食自热类、米面肉类),水就不用多说了,存点水应付停水的情况也很常见。
  • a. 高能量类指高糖类食品:,包括糖、士力架、蛋白棒等等,紧急时刻便于携带,能够提供大量能量的食品。
  • b. 速食自热类:包括方便面、自热食品、真空包装食品、各类罐头,这类物资不仅在紧急时刻可以方便快速补充能量,还能应付停水停电等突发事件,当然了,懒的是很简单对付一口,也是个不错的选择。
  • c. 米面肉类: 利用密封罐或真空包装保存米面类,利用保鲜袋分装保存肉类,或存储一些肉罐头。不仅平时可以食用,紧急时刻,也不至于马上断粮。这类物资可以动态补充。

资产:对于个人的大量资产这类就见仁见智了,最基本的就是不要把所有鸡蛋都放在一个篮子里。平时留一些现金在身上,除了现金最好也能储备一些硬通货,毕竟货币符号毕竟不如硬通货,真到了危急时刻,可能还没有白纸价贵。


由一次数据看板的数据过滤引发的思考:力扣刷题+设计模式实践+落成方案文档

背景

还记得今年在工作中遇到了很多次这个问题,先来简单说下背景:首先我们维护的是一个基于QianKun微前端实现库构建的中后台项目,该项目内包含了许多子应用微应用,业务囊括了很多管理系统。而这么多的管理系统就注定了导航不会单调,该平台的目录导航的层级有四级。本平台的前端埋点方案是在主应用监听url变化加定时进行曝光,然后拼接相应的层级参数以及用户、行为信息进行上报。

这个用户行为分析的数据看板最初的定位并不是对某部分权限人群可见,只是某几位产品想要优化体验而落成的需求,所以对于数据的过滤只做到了按照目录层级划分,可多选,甚至整个页面多语言和可选项的文案配置都没有做,只是一个可使用的状态,基本覆盖了几位产品的诉求。

后来经过了几次产品导航的结构调整,以及业务上的项目划分调整。基于原本产品结构所创建的项目们,出现了虽然项目code在一起,但是实际在业务分类上已经各自分家了。于是就出现了hash中一级参数已经无法细分正确的项目,当时为了保证功能能够正常使用,在服务端拿到打点数据后,我们在前端根据新的产品划分,使用拼接一二级的方式进行了一些判断额逻辑,来保证看板的数据能够正确的展示在正确的业务下。

过了一段时间,出现了更深一层的业务被划分到了错误的地方的情况,于是乎,又修改了判断的逻辑,用一二三层综合进行区分,暂时解决了问题。

又后来,产品提出了更为抽象的概念,想要自由组合想要查看的页面数据,将自己选择的来自不同业务的不同页面作为一个"抽象的产品"来到看板上查看。这其中就可能包含某一级A、某一级B、某一级A下的某二级C、某一级B下的某二级D下的某三级E....等等以此类推。要能够在选择了所有叶子节点后过滤掉所有复选的父级、祖先级。也要能够在选择了某叶子节点和任意父级后,过滤掉该叶子节点。总之是要排除所有可能造成重复统计的情况。

先前的处理方案

由于需要分别判断四级信息,那么我们先根据目前项目树结构构建映射,然后将用户选择好的筛选项数据格式化并分组,然后各组进行多次交叉对比过滤,最终得到需要查询的项目数据,然后传给服务端进行查询,得到我们需要的数据。

抗拒

对于这种非正式的支持,需要我们插空来做的功能点来说。我其实内心是有些抗拒的,因为手上已经有其他需求在按进度进行。虽然再删删改改之前的那套判断逻辑可以支持,但是这样的堆叠逻辑,不仅从稳定性、可维护性、和可扩展性上面来讲都不太行,而且每次codeing的时候,都需要把之前的逻辑捋通顺。并且每一次的复杂性都在增加,考虑到可能会有意想不到的问题的出现,所以时间方面也很难预估准确。

后续的优化方案

出于该看板的频繁迭代,以及以上这些想法,在和leader与产品沟通后,决定单独开一个需求出来排期处理,并且重构这部分逻辑。并且包括了一些其他能力的扩展以及UI的升级。

本次因为有了充裕的时间,那我就先进行了调研,再查看了前端埋点方案后,发现其实服务端是打平进行存储的,而且存储的数据量会越来越多,这样的话将过滤逻辑后置显然是个不明智且更耗时的选择。接着我又查看了服务端返回的数据形式,发现最多的四级数据是由三种符号进行拼接的。而且前端筛选在格式化的时候,也会将数据处理成这种形式。那么我当即就想到如果先根据用户的选择,通过符号进行判断,只处理会出现重复情况的数据。这样就能排除掉大多数不会重复的数据,然后再根据映射,进行分组然后交叉判断。最后将过滤后的数据发到服务端进行查询。

由于减少了遍历的次数,排除了很多多余的判断,逻辑运行的速度明显快了很多,但仍然不够优雅。

策略模式的应用

本段关于策略模式的讲解引用自 作者:WujieLi

链接:juejin.cn/post/725672...

很优秀的一篇文章,有兴趣的可以自行前往查阅

策略模式:定义了一系列的算法,并将每个算法封装起来,使它们可以互相替换

策略模式的优点在于 :代码逻辑更清晰,每个策略对对应一个实现方法;同时遵循开闭原则,新的策略方法无需改变已有代码,所以非常适合处理或重构复杂逻辑的 if-else

所以策略模式最好的应用场景,就是拆解 if-else,把每个 if 模块封装为独立算法

在面向对象的语言中,策略模式通常有三个部分

  • 策略(Strategy):实现不同算法的接口
  • 具体策略(Concrete Strategy):实现了策略定义的接口,提供具体的算法实现
  • 上下文(Context):持有一个策略对象的引用,用一个ConcreteStrategy 对象来配置,维护一个对 Strategy 对象的引用

而在前端实践当中,通常不会使用到面向对象的模式,故在前端中应用策略模式,完全可以简化为两个部分

  • 对象:存储策略算法,并通过 key 匹配对应算法
  • 策略方法:实现 key 对应的具体策略算法

解决

所以当我看到逻辑中依然存在着大量的if判断,而且代码的可读性依然不高。故我想起了前些日子学习到的策略模式,然后试着重构了一些这部分判断。最终整体看下来,后续代码的可读性、可扩展性都得到了提高,瞬间清爽了不少,以下是示例代码

jsx 复制代码
// 定义策略对象
const urlMatchStrategies = {
[urlType['XXCenter1']]:function( /* 参数 */){}
[urlType['XXChildCenter2']]:function( /* 参数 */){}
[urlType['XXGrandChildCenter3']]:function( /* 参数 */){}
....
}
// 定义上下文对象
const urlMatchContext = {
    executeStrategy:function(...params){
        // 根据情况判断需要使用的策略
        const strategy = urlMatchStrategies(...params)
        if(typeof strategy === 'function'){
            strategy()
        }else{
            throw error
        }
    }
}

 // 遍历执行联动策略
  types.forEach((type) => {
    const { ...params } = type
    urlMatchContext.executeStrategy( ...params)
}

力扣刷题

对于这些需要在前端进行计算的逻辑,有时候一些简单普通的思路就难以迅速落成,对于算法和数据结构的方面,还是需要进一步加强,不然稍微复杂的算法逻辑,就要思考很久。还是得多去力扣刷刷题

落成方案文档

由于之前搭建和迭代用户行为分析的时候,前人并没有留下一些可供参考的文档和注释,于是后续的每次逻辑升级,都需要额为进行代码逻辑的梳理,和前后端的对齐。这样不仅耗费时间,重复的询问也会给他人造成不小的负担。至此,我顺便将此次升级的前因后果以及升级方案、扩展用法落成了文档。这样不仅是其他人,就算是隔一段时间自己在进行迭代时,也能从埋点方案到过滤查询迅速的从整体了解该项目,避免浪费太多时间和精力。

不管是项目经验还是个人知识库,都需要定时积累,落成文档,好记性不如烂笔头,就算记不住,也能积攒下经验以备后续参考。


一次组内codeReview+分享

今年由于工作繁忙,加上各种变动十分频繁,前半年的需求也是多如牛毛,时间排期紧紧张张。于是仅仅在一次对某资料内容库项目的重构后,主动提出要在组内进行一次经验分享+codeReview。准备了三天,写了写ppt,画了画Xmind。但是直到两周后,组里的成员们才都有时间来进行本次分享+codeReview。

其实分享也是一种好习惯,平时自己的技术实现再好,落成文档再细致。后续如果不及时总结,不多次复用。那么就会逐渐淡忘。将他们总结总结,说出来分享给大家听,一个是能够更加精炼的总结此次思路,二是能够锻炼自己的演讲能力。自己懂和讲给别人让别人懂是两种不一样的概念。三是能够分享经验,增强团队的战斗力。(其实我分享只会让团队中的大佬们昏昏欲睡)

主要分享了本次重构中遇到的一些点:

  • 基于fusion的可扩展、锁列新方案
  • 页面埋点和视频打点方案:视频播放暂停、窗口切换缩小关闭的监听
  • 用户行为分析的数据展示
  • 封装上传附件定制化的可编辑可拖拽排序列表:包括错误处理、自定义文件上传生命周期函数、自定义进度条、失败文件过滤
  • 定制化动态目录封装:切换"内容导航"和"页面导航"两种目录,不同路径指向相同页面时,面包屑回退和目录高亮的处理方案
  • 高级搜索组件的封装和复用:可定制化结果页及分页支持无极分页

AIGC

上半年GPT可以说是引爆了整个互联网生态,我们都预见了未来存在的多种可能性。很幸运,公司内部很快就基于这些大数据语义模型,构建了一些平台,让我们能够在短时间内体验到其带来的可能性。个人认为,AIGC的存在可以帮助人们高效入门一些知识体系,并快速深入和掌握其核心。人们学习新知识的门槛降低了许多。甚至有些时候,它可以帮助我们完成一些重复的简单工作,让我们能够专注在真正需要思考的事情上面。不过其也不是全知全能,只是一种大数据语义模型,会根据固定的信息分析我们的语言并给出我们问题的答案,有些时候会出现一些"瞎话说的义正言辞"的情况,需要我们加以辨别和判断。

如果能够利用其进行学习和成长,那毋庸置疑的会比传统的学习途径成长更快。不过重点还是要放在我们自身上,独立思考,辩证看待,获取一手信息,发挥自身主观能动性才是成长的根本思路。


关注行业新动态,保持对新技术的敏感性

虽然前端重复造轮子的情况多到数不胜数,三月一实现库,五月一大框架的。但是我们不能抱着这种心态就安于现状。对于一些真正有用的技术革新以及行业动态,一定要积极关注,保持一定的敏感性。这样不仅对于个人的技术方向有帮助,对于职业的发展规划,也能有一个前瞻。


被裁员

从去年年底开始,管理层变动的消息就不绝于耳。其中最突然的一个就是我团队的Leader决定转岗到另一个城市,当他召开组会跟我们讲这件事情的时候,他说了很多,关于转岗的原因、自己的规划、预计交接的时间,目前在总结的交接事项等等。冲击之余,面对大的变化,我突然发现自己是多么的安于现状

接下来上半年和年中陆续有很多人被裁以及相继离职,心头的那个不好的想法也逐渐被印证,七八月份许多需求停止甚至直接被砍掉。直到九月份,不出所料的被约谈,然后沟通了几轮没有什么实质性的成果了,选择了协商离职

回想这次短短的两年的工作经历,是到目前为止令我收获了最多成长的一次。这个团队中的每个人都很有特点,都给予了我很大的帮助,而在整个工作经历中面对的许多事故和挑战也都让我获益匪浅。

接下来就是两个多月的停滞时光,虽然早已预想到结果是怎样的,但是面对突如其来的变化,显然我还是没有能做好准备,于是我决定给自己放个"长假",好好总结一下之前的经历,再思考下未来该怎么走。


虾米音乐节:Suede

离职后,第一次去了海边看了音乐节,等到夜幕降临听到了Suede,虽然上了年纪,但是状态一点都不差,现场发挥绝对超一流水准,上蹿下跳活力满满。当然了,很幸运的是托朋友的福,带去的几张专辑也都蹭到了面签。这种感觉真的还挺奇妙的。也算是一次难忘的旅程了。


骑行

之前也爬过戒台寺,去过怀柔水库,爬过雁栖湖、红螺寺。但是我感觉这是第一次真正意义上的爬坡+放坡,从望京到十三陵,走了整个黑分解,最后原路返回望京。当时怕夜骑,早上早早地就出发了,黑分解走到一半,都是爬30米休息五分钟的样子。天还时不时的下着小雨,心里生怕再下大雨困在山上回不去了。幸好又坚持了两个弯,开启了放坡之路。人生中头一次自行车骑到70km/h,头一次感受到了自行车刹车还有热衰减,头一次感受到自行车这么飘的感觉,仿佛一不注意就准备摇摆了。不过好在接下来的路都控制在了50之内,身上的护具也一应俱全,有惊无险,挑战成功。下次有机会还会再去的。

总之就是爬坡好累,放坡好爽。


锻炼身体

最初

还记得两年前,自己还是个跑个半马01:37:33,五公里19分,月跑量超过80km的跑步人。偶尔还会去去健身房,

当时的PR是:

  1. 卧推80kg极限、60kg 3x5做组。
  2. 深蹲100kg极限,70kg 做递增递减组。
  3. 硬拉70kg极限,60kg 3x2做组

后来因为工作地点周边没有什么合适位置与营业时间的健身房,慢慢也就停掉运动了,后来就是喜闻乐见的久坐+胡吃海塞越来越胖,也就周末会去骑骑车,公路和林道都有,不过基本上还是往十三陵那边骑骑长途。这种运动对于过程中的补给以及结束后的补给都很重视,所以也并没有指望他来减减肥。只能说保持了一些运动能力,不至于让身体太僵硬。

开始计划恢复

于是趁着这个空档期,又办了两张月卡,开始了为期两个月的恢复训练。这次采用了更为科学的训练方式,以增肌塑形为主,完全不进行有氧训练,设计了一些基于5x5的训练方案,在饮食上,也开始调整为高蛋白+低碳水+少许蔬菜的模式。

成果

值得欣慰的是,经过了为期七周的训练+饮食,不仅力量恢复到了之前的水准,还突破了PR,体重降低了5kg。精神状态饱满了很多,皮肤也变好了,整个人都清爽了起来。

最新的PR是:

  1. 卧推82kg极限/ 65kg 5x5做组 / 69-80kg 4~2递减组。
  2. 深蹲120kg极限 2x2做组/ 100kg 5x5做组 / 110 4x3做组。
  3. 硬拉80kg极限,70kg 3x2做组

找工作

时间到了11月底,在经历了8、9、10月市场情况整体下行,很多地方都在裁员的风头后。经过了解招聘的形势有些许缓和,有些被裁的朋友最近面试的情况感觉还可以。于是按照流程准备了八股、代码、项目经验后,打开了简历,开始看一些面试机会。这段时间,我很明显的感受到了"市场不行"到底是怎么个不行。相比于2021年打开简历后,三天之内几百条的招呼,今年可谓是冷冷清清,三天不到八十条招呼,聊了几家在我选择范围内的。最终约定了七八家面试,推了简历,可是最终也只有三家真正联系我确定面试时间进行面试。可能运气也比较照顾我,其中一家三轮很快面完,而且体感不错,聊的很愉快,于是决定不再抉择,定下来了。相较于这段时间听到很多的平薪降薪,很幸运我能够给自己涨了涨薪,也算是给了自己一个不错的交代。


个人成长

职业成长

1. 学会沟通

2. 要具有Owner精神

3. 要做好"向上管理"

上述三点其实可以放在一起说,首先积极主动的沟通 是提升项目效率最快的途径,当项目开发在不同的环节blocked,不能只关注眼前我的工作是否完成,而是要具有owner精神 ,主动了解出现了什么问题,卡点是什么、由谁解决、多久解决、需要何种帮助。对应去拉通各方面的卡点、寻求需要的资源。这样才能使项目顺利的进行下去。其次做好"向上管理"也很重要,所以除了自己去疏通各环节问题,还要保证不让信息停滞在自己这一环,要积极主动地汇总上报工作进展、是否阻塞、是否需要帮助等信息。才能帮助项目从整体视野上更好的把控风险、调整策略、输入资源、协调帮助等等。从而规避项目可能出现的风险。并且做事情不要只顾着自己埋头做,也不要做错顺序。要根据整体项目、需求功能的优先级,来处理自己要做的事情,要把自己的期望和团队的期望对齐。避免从方向上就走错了路,做了无用功不说,该做的事情也没有做好,还白白耗费了精力。

4. 在有限的资源内优先处理高优事项

这里的资源所指很广泛,比如时间、精力、预算、人力等

5. 放弃低优先级的微决策

每个人的一天当中,精力是有限的,要把精力放在真正重要的事情上面。快速进行低优先级事项的决策、放弃一些不重要事项的决策。这样能够非常有效的专注起来,降低自己的内耗程度。 当然了有些时候的选择可能不尽如人意,但是其实它并不重要,所以也不会对整体有太大的影响。

比如说我们准备去购物平台选购一件商品,正常情况下,我们可能会去多个平台比价,对比到货时间,纠结颜色,判断全款还是分期,如果是礼物的话,还要思考对方喜不喜欢,到底合不合适,送出去会不会得到自己期望的反馈。又或者晚上点外卖,翻出去十几页,点进来点进去,满脑子都在想,吃什么,想不想吃。

生活中类似的微决策会非常多,为了下决策往往我们会思考很多,而且是重复的思考很多次。这样会极大的提高我们内心的消耗,从而使我们变得疲惫、消沉。所以对一些低优先级的事务进行快速决策,放弃对于一些非重要事项的决策,减轻自己的内耗,我们会变得更有精力。


读书

《不要让猴子回到背上》

这原本是一本面向管理者的来介绍一种最简单的时间事件管理法则的书籍,但是在拜读过后,我认为其实他对于任何人的工作,都会起到积极的作用,帮助我们更加有效的管理时间。

先来说一下猴子是什么:猴子其实就是双方或者多方沟通过后,当前事项的下一个行动步骤。谁负责解决,谁就拥有这只猴子,就需要负责喂养这只猴子。不要让太多的猴子在自己的背上,而是应该让猴子留在它应该停留的地方。管理不当的猴子意味着时间的消耗,甚至是与上级、与同级、与下级的关系破裂,个人时间分配的极度不合理和过分的压力,下级的无成就感和对上级拖延的不满。

我们该如何对待猴子

  • 1. 认真喂养猴子
    • 了解猴子的生活环境,了解猴子的脾性,找到合适的食物喂养这只猴子,相信我,如果猴子高兴,它就会自己离开,在它回到森林之前,它会报答你一个桃子的。而你不仅收获了一颗桃子,还会积累成为专业训猴师的经验
    • 如果找不到一个合适的食物来喂养猴子,那么就列出你能找到的所有食物,然后按照猴子可能的喜欢程度排序,然后带着带着这些食物去和领导一起喂养这只猴子。
    • 如果时间紧迫,那么领导会将猴子转移到一位资深训猴师身上,并由他来喂养。
    • 如果时间充裕,领导会给你一颗种子,你只需要负责将种子培育成果实,然后喂给猴子,并且记录下来这个猴子喜欢这种食物即可。
  • 2. 不要企图转移猴子
    • 不想了解更不想要这只猴子,就只想着怎样才能把它转移出去。那是一件不负责任的事情,如果资源卡在了别人手里,导致你无法喂养猴子,那就可以找到领导进行沟通,让其他人先来喂养这只猴子。
  • 3. 不要妄图饿死猴子
    • 整个团队承担的工作可能非常多且复杂,领导可能会非常容易遗忘一些不是很重要的事项,被员工发现这点之后,很多员工就会想到,即使我"偷偷"地饿死这只猴子,领导也不会想起来有这只猴子呢。如果你这么做,火迟早会烧穿这张纸,到那个时候后果会非常严重。
  • 4. 不要擅自延期喂养猴子
    • 请不要未经同意擅自延期喂养猴子,喂养猴子只能提前,禁止延期。如果你没有找到合适的食物来喂养这只猴子,你还是要在约定时间之前给领导一个解释,并跟领导一起拿点零食给猴子填填肚子,并跟领导约定下一次喂养猴子的时间。

喂养猴子的规则

  • 1. 确保猴子不会被活活饿死:前面提到过不要企图饿死猴子
  • 2. 不要拥有太多猴子 :如果猴子过量,就会忙不过来,这是很正常的事情。
    • 适当拒绝接收猴子,有些猴子是可以被拒绝的
    • 可以选择射杀猴子,但是,你必须要找领导解释并得到确认才能按下扳机
    • 找领导商量,让他协助转移猴子
    • 先把猴子关进笼子里,但一定要确保,他们不会被活活饿死!
  • 3. 毫无进展不能作为重新安排喂食时间的借口:在喂食猴子的时候,告知领导毫无进展 ------ 千万不要做这种蠢事。
  • 4. 不要擅自延期喂养猴子:如果需要延期喂养猴子,一定要给领导一个合理的解释,并且一起拿一点零食喂养一下猴子,并且约定好下次喂猴子的时间。等到领导亲自来问事情进展的怎么样了的时候,说明领导已经好久没有听到过猴子的消息了。

《金字塔原则》

刚进入项目的时候,其实对于一些事情的表达,我更侧重于对于过程的解说,而不是先表明结果,并不懂得当需要需要阐述过程时再来阐述过程。多余的内容只会增添聆听者的思考负担,并且难以快速理解叙述者所表达的意思并得出准确的结论。于是我就找到leader向他请教有没有什么方法论,能够让我掌握一些沟通的技巧,提高我的沟通能力,于是他推荐给我这本《金字塔原则》。

"想清楚,说明白,知道说什么,怎么说",这是我们每个人希望达到的境界,毕竟在这如此忙碌的生活中,没有人有心情听你啰里吧嗦一大堆,最后又云里雾里,不知道你到底想表达什么。

"逻辑不清晰,条理不分明"在现如今这个内容观点爆炸的时代,是最容易引起他人厌烦,难以引起他人兴趣的原因。不仅浪费了自己和别人宝贵的时间,也难以获得理想的反馈。

可怎么才能做到逻辑清晰,条理分明呢?------使用逻辑清晰的金字塔结构!

金字塔原则是一项层次性、结构化的思考、沟通技术,可以用于结构化的写作过程。 Minto的金字塔原则假设,你已经知道如何写出漂亮的句子和段落, 它所关注的是,你落笔之前的思考过程。

金字塔原理的四个基本原则

  • 结论先行 :每篇文章只有一个中心思想,并放在文章的最前面。
  • 以下统上 :每一层次上的思想必须是对下一层次思想的总结概括。
  • 归类分组 :每一组中的思想必须属于同一逻辑范畴。
  • 逻辑递进 :每一组中的思想必须按照逻辑顺序排列。

期望

希望自己可以避免的

  1. 避免将精力分散在低优先级的微决策中,降低内耗。
  2. 避免将过多的注意力放在他人身上,专注于自身成长,避免陷入情绪陷阱。
  3. 避免无效社交
  4. 避免无所事事,每天一定要抽出一定的时间去实现自己的目标,不要浪费时间。
  5. 避免失去耐心,尝试更多的沟通,而不是逃避并冷处理。
  6. 避免挥霍,拒绝冲动消费。

为2024年设定的目标

  1. 保持做总结的习惯,至少双月总结。
  2. 按计划表学习前端技术,并至少落成15篇相应的学习文章。
  3. 保持力扣刷题的习惯,全年至少新完成100道。
  4. 建设一个GitHub全栈项目。
  5. 读完三本书并且落成三篇读书笔记。
  6. 保持运动,保持健康饮食,自己做饭,尽量不点外卖。
  7. 卧推突破95kg,深蹲突破140kg,杠铃推举突破80kg,硬拉突破100kg。
  8. 体脂率降到20%以内。
  9. 保持跑步的习惯,月跑量50km+。
  10. 保持专注,提高执行力,制定计划表,确定优先级事项,并逐一完成。
  11. 有计划的进行储蓄和理财。
  12. 常回家看看。

总结

第一次做这种年度总结,整体看下来可能也就讲明白了一两件事,其他都趋于流水账,不过万事开头难,既然开了头,就为后面积攒下了经验,之后一定要继续做好双月总结和学习文档。

趁着这次昂扬的心态,再次踏上前进的路途,希望能够保持专注,放手做自己想做的事情,积少成多,也希望能够在明年的这个时候,能够看到一个崭新的自己。

感谢阅读,我们下次总结再见!

相关推荐
Jiaberrr1 小时前
前端实战:使用JS和Canvas实现运算图形验证码(uniapp、微信小程序同样可用)
前端·javascript·vue.js·微信小程序·uni-app
everyStudy2 小时前
JS中判断字符串中是否包含指定字符
开发语言·前端·javascript
城南云小白2 小时前
web基础+http协议+httpd详细配置
前端·网络协议·http
前端小趴菜、2 小时前
Web Worker 简单使用
前端
web_learning_3212 小时前
信息收集常用指令
前端·搜索引擎
tabzzz2 小时前
Webpack 概念速通:从入门到掌握构建工具的精髓
前端·webpack
200不是二百2 小时前
Vuex详解
前端·javascript·vue.js
滔滔不绝tao2 小时前
自动化测试常用函数
前端·css·html5
码爸3 小时前
flink doris批量sink
java·前端·flink
深情废杨杨3 小时前
前端vue-父传子
前端·javascript·vue.js