时间如流水,悄无声息地从指尖划过,似乎没有留下任何痕迹,但却又刻画了不可逆的回忆,又到了一年的年终,尤记得去年我给自己的关键词是"阴天更应该打开窗帘",今年更是艰难的前行。
2023年对于我们国家来说都是特别的一年,这是我们国家放开疫情后的第一个完整年,尤记得被疫情折磨的人们生活工作如此不便,上半年大家都在加大马力去把逝去的补回来,旅游业开始复苏,紧接着娱乐业像电影、演唱会话剧、音乐会等线下会场开始火爆。对于身处娱乐业的我来说也是深有体会,公司的业务量在上升,加班也在变多。
但于此形成鲜明对比的是房地产的见顶和股市的低迷。对于房地产来讲,人口首次减少,国家对于房地产行业债务的控制,随着行业专家的负面解读,导致大家出现情绪持续下行。虽然我们没有买,但是租房也会感觉到,价格同样出现下滑,我们正在面临从浦东航头搬到周浦,往市中心差了5公里的路程,但是房价却几乎没有涨。另外股市更是被股民们吐槽,大A已经自2015年的5千点后持续了7、8年在3千点左右徘徊。这估计是绝大多数股民和基民都没有想到的。这和内部因素,国内疫情防控、人口红利退去、房地产行业极速萎缩有着很大关系,其次对于外部因素来讲,受中美贸易制裁影响颇深。
上面分析了一下大环境,下面开始进入正题哈,说说我这一年做了什么吧
工作和成长
技术分享
今年在公司做了3个技术分享
1、关于票价年龄限购的算法分享
问题是要根据用户选择的票价规则(会有年龄限制,如10-20岁限购一张),等用户选择观演人的时候会在代码里判断是否可以匹配,其中用到了比较复杂的匹配方法,最终抽象出通过回溯算法来解决是否可以匹配,输入输出大致如下,有兴趣的可以研究一下,也可以在评论区里和我探讨:
php
// Input:
canMatch(
[
{
min: 10,
max: 20,
maximum: 1,
},
{
min: 15,
max: 25,
maximum: 2,
},
{
min: 20,
max: 30,
maximum: 2,
},
],
[16, 17, 22, 23, 12]
){
return matchAll;
}
// Output:
true/false
回溯算法参考
ini
/**
* limitRule 为不重复的规则集合
* ages 为待匹配人的年龄
* return 是否可以匹配
*/
interface LimitRule {
min?: number;
max?: number;
maximum: number;
}
export default function canMatch(
limitRules: LimitRule[],
ages: number[]
): boolean {
let matchedCount = 0;
const ruleMap: Record<
string,
{ minAge: number; maxAge: number; maximum: number; matched: number }
> = {};
limitRules.forEach((limitRule) => {
const { min, max, maximum } = limitRule;
const minAge = !min ? 0 : min;
const maxAge = !max ? Infinity : max;
const ruleKey = `${minAge}-${maxAge}`;
ruleMap[ruleKey] = {
minAge,
maxAge,
maximum,
matched: 0,
};
});
const total = ages.length;
function backtracking(index: number) {
if (matchedCount === total) {
return;
}
const currentAge = ages[index];
for (const ruleKey in ruleMap) {
const rule = ruleMap[ruleKey];
const { minAge, maxAge, maximum, matched } = rule;
if (currentAge >= minAge && currentAge <= maxAge && maximum > matched) {
rule.matched++;
matchedCount++;
backtracking(index + 1);
if(matchedCount === total) return;
rule.matched--;
matchedCount--;
}
}
}
backtracking(0);
return matchedCount === total;
}
关于浏览器原理的分享,文章篇幅有点长,我贴个链接
关于前端监控告警的技术分享
因为node后端用了集群来做,所以用到了很多前端不会接触到的技术,如通过zookeeper来做任务调度,通过数据库乐观锁来同步数据。整个实现下来还是很有趣的
软考中级
当时因为公司在申请高新技术企业,正统计员工谁有软考证书。正式因为这个我想着,可能对未来落户也有帮助,最重要的也可以温习下很多软件相关基础知识,确实可以考一个了,于是我便买书查资料,在B站上找视频(B站上确实有很多好的视频,对软考有很大帮助,他们会分析考试重点,出一些历年真题),准备了大概2个月,最终成功上岸。
生活和身体
儿子
生活上最关注的还是宝宝,现在每天回家会不自觉的在路上跑起来,可能就是为了能早点看到宝宝,听到那一声"爸爸",那真是清脆悦耳。宝宝到了15个月的时候还没有独立走路,我们也从原来的不着急变得有些慌乱,查资料问别人,不由自主变得焦虑,以为孩子是不是哪里发育不健全。好在宝宝在没到16个月的时候先是在床上自主迈出了人生的第一步。慢慢的开始熟练,我们也放下了悬着的心。可能每个家长都会有类似的焦虑吧!
放几张陪小家伙去上海动物园的照片,虽然他比较小,但是能发现他对于一些花花草草和小动物都是比较感兴趣的。
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
身体
今年公司组织了体检,我和几个同事也是积极的参加了,比想象中的情况更糟些,除了查出之前的已知的尿酸高外,又查出了脂肪肝。这些现代职业病非常常见,但仍应引起我们重视,我也痛改前非,开始从自身改变,首先是饮食,在家人的支持下,我不再中午在公司旁边吃些油性很大的午餐,而是吃父母早晨做好的饭,带到公司中午热下后吃,这样就没有那么油了。另外晚饭我也会有意地避开油炸食物,而选择一些清淡的饭菜。
对于运动,虽然现在大部分时间在陪孩子,我也会在上下班地铁上从走电梯改为走楼梯,到家后会引导孩子一起做些有氧运动。积少成多,相信会有一些改观。
对于作息,也规律了许多,坚持不熬太晚的夜
理财
今年的股市和基金基本是以亏损为主基调,但我任然坚定的认为现在是绝对的低谷,做过股市,学过巴菲特和彼得林奇价值投资的都知道当下的A股市盈率处于历史底位。正因如此,我买入了几只市盈率还不错的新能源股宁德时代和特变电力。另外一个加仓的是小米,也是因为我对小米价值观和雷军的认可。相信后面有资金我会持续投入。
总结
因为去年也用到了关键词,总结下来我觉得今年的关键词应该是"花苞应沉淀,静待绽放"
同时希望大家和我一起坚持乐观心态,时机不成熟时就沉淀积累,静待花儿绽放的那一天。锻炼身体,健康饮食,规律作息。