年味一月(2024)

平平淡淡又一年

今年初九开始上班,多放假一天,美滋滋。

在上海不知不觉也已经七个年头了,跟着这几年大环境的变化人也变得愈加疲惫,真的有种想要去个三四线城市过舒服日子的念头。

现在也没有一个明确的规划,眼看着时间就这么过去,我也已经而立之年了,瞅着上海压力太大那就去苏州吧,可是工作又在上海,总不能苏州住上海上班吧,所以一个好的办法就是在苏州找个相对稳定的工作。但这就意味着要放弃在上海这么多年的打拼,其实能在苏州定居我也是蛮满意的,苏州城市环境我还是很喜欢的。

苏州自然是比不上上海,工作机会以及未来的发展,但是我们的日子可以过得舒服一些,房子可以住的大一些,可支配的资金也会多一些。

如今的房地产已经失去了划分区域的意义,只要手头资金够,不存在买不了的房子。所以,限不限购,已经是不大有意义了。

能住大平层谁愿意住老破小,辛苦工作多年不就是为了老婆孩子能住个大房子,生活品质杠杠往上,不可忘记初心。财富一代代的积累,也不能指望一下子跨几个阶层,不实际。

啥时候能实现时间自由啊。


你好,貳肆

镜中花 水中月 抛却一切虚幻 现实为真

23 年干了一些大事。

23 年拍完了结婚照,也办了酒席,身份上有了变化。

23 年没买房,没买车,现金攒了一些,还没安定下来。

23 年还好没买房,没买车,不然这一年白干都怕是不够。

23 年也被干了。

23 年公司因为大环境不好,降本增效,把我们组给干没了。

找工作也确实明显感觉到不如前几年,可能也有年底的因素,不过这行业是真的没以前吃香了。


23 年投资目前还行,不亏不赚吧,主要是中了一个新股挽回了一些损失。好在前几个月听了老婆的话把大部分资金撤了出来,这才避免了又一次的大亏损。

前几天一纸 A4 纸就把游戏行业给干懵了,腾讯直接下去十几个点,中概啊,啥时候才能重新昂起头来啊,大量的资金在里面已经困了很久了,估计就等着来一波大的了。

23 年好像也没买什么大件,消费欲望变得低了,拼多多用得多了起来。

23 年“冲动”买了台 Mac,算是唯一的大件了。

23 年还是没有回几趟浙江,南通倒是去得不少,争取 24 年多回去陪陪他们。

23 年总的来说还是做了不少事情。

23 年技术沉淀不多,接触的新技术倒是不少,但都不深入。


24 年希望能搞起来副业,不说多少钱,只要路能走通就行。

24 年希望能多搞点钱,现在还是现金为王,虽然钱也越来不值钱。

24 年争取就安定下来,一直漂着也终不是个事,城市选择犯了头疼了。

24 年最重要的还是要健康幸福,快快乐乐。


满怀热情迎接 24 的到来!


新工作十二月(2023)

这个月属实有点刺激,入职新公司当天公司就发生了一次系统崩溃。这还不算完,猛烈的是接下来的一周崩了三次。结果老板就直接宣布了成立攻坚小组,实施 997 来尽快保障系统的稳定。确实站在老板的角度,这已经是生死攸关的事情了,客户一旦流失再要往回捞可就没那么容易了,用他的话来讲就是“我们可能是一家因为生意太好而倒闭的公司”。也确实是踩到了风口,公司稳定赚钱,而且客户还一直在往上增,最近规模扩大也看出来了。

就这样 997 干了两周,最后加了服务器,增加了几个 service 服务节点,系统算是稳定运行了,应该是瞬间流量太大导致的连接数不够然后一系列堆积造成。不过由于客户经常会反馈一些问题,比如视频卡啊、课件不同步啊、消息延迟啊等等等等,有些技术支持能解决的就解决了,解决不了的就会反馈给研发让研发帮忙定位解决,所以日常还需要值班支持。

现在大环境不好,工作难找啊,也是年底了,稳一点为好。


最近老婆去武汉出差了,我也是经常十点十一点才回去,回去后自己还炒两个菜给第二天带饭,所以通常弄完都得到凌晨了,早上八点起床。这几天都瘦了,网上买了点零食也没时间吃。

今天是平安夜,我还在公司加班,十点下班回去再炒个菜,这一个夜晚也算是这样过了,早早给老婆买了礼物,谁想到居然还回不来,年底公司都在搞事啊。


月初一冲动买了台 Mac,M3 芯片 16+1T 的,花了 15k。京东买用了白条分期,本来白条都注销了因为这又给重新开了。买之前想着上班就用自己的电脑了,结果入职后公司买了台新的,自己电脑每天还要带来带去也麻烦,就用公司的电脑了,而且主要用自己的也没有补贴。所以,这样其实 Mac 的使用频率并不太高,导致现在都有点后悔买了……不过有笔记本也确实会方便很多,其实是没有方便多少的,公司的也能带走……也心心念念好久想买一台了,这次买了也算是圆了自己的心愿,争取能用个几十年!

昨天台式机硬盘出问题了开机启动直接进 BIOS,硬盘能识别但是启动引导出问题了,尝试了一些方法还是搞不定,没办法只能重装系统。这下好在买了台 Mac,不然系统盘我都没法弄!重装之后我又把所有硬盘都格式化了,之前的那些结婚照啊视频啊原本存在系统盘里的,系统重装后我只能重新从网盘下载保存,下了一晚上了才下载百分之二十六,百度网盘太坑了就是想让你买会员加速,不然这一百多 KB 的速度我怕是要不停下个两三天。今天从网盘游戏那搞了两张 5 分钟的加速券,晚上回去试试好不好用,官方直充的会员太亏了,那种共享的我还是不想用虽然便宜,反正也没事就让电脑跑着吧,多转转也省得生锈。


动荡十一月(2023)

这个月真是起起伏伏,事情颇多。

锡山宛马

时隔两年的锡山宛马终于跑上了!这是我第一次跑全马,虽然只是在关门兔前一点到达,但好歹也是完赛了啊!42.195 公里,算是我跑的距离最长的一次了,跑完后大腿酸疼走路只能撅屁股迈小步,过了两三天才算是恢复了回来。

跑步当天天气算不得很好,早上起来下着小雨又遇降温,风吹打脸上那种湿冷令得人不禁打起了寒颤。不知是人多火气旺还是赛道选得好,当大家聚集在跑道上时体感好像都变得不那么冷了,活动脚腕开始跑前热身准备享受跑步的自由。

一路上的补给还是比较充足的,快到最后了也还是有香蕉、黄瓜、葡萄干、饮料这些,但是牛肉等我到的时候也确实是没了……

虽然成绩不怎么样,但是能正常完赛我还是比较满意的了,加强锻炼,每次努力提升一点!

裁员

果然不出意外,做的产品线没有新业务需求了,公司降本增效,全力投入到工厂 SAAS,就这样我也就“毕业”了!不过也拿到了赔偿,虽然少了几千块,现在这个大环境也可以理解吧。

“毕业”之后就是整简历啊,投简历啊,可能是年底的缘故再加上如今的市场环境,简历一开始几乎是石沉大海。好在过了几天后慢慢有了面试,到后面也顺利拿到了 offer(还是降薪的,这节骨眼压薪资厉害!)。虽然公司规模不大,但与老板交流下来公司的发展还是蛮不错的,资金流也很稳定,业务也是发展了好多年了,还是值得期待一起成长的。

有件事不吐不快,建设银行办理业务慢就不说了,办张卡还是二类卡,各种限额,提额还得另外提供材料去走审批,我自己卡里的钱我还不能自己自由使用了?

大厂还是小厂

说到这我有一个问题,大厂(知名大企业)到底值不值得进,并且值不值得为了刷简历而选择大厂?

首先,有一说一,前期几年工作能选择大厂我还是会愿意进大厂,即使工资并不让我满意。大厂里更多的是规范,当你初入社会做事还没有既定的章法的时候,这些规范会影响到你之后的职业习惯,往往利大于弊。其次,进入大厂还是有一定的门槛,而跟优秀的人共事不仅做事效率高而且感觉会很舒服(当然肯定也有个别那种),重要的是潜移默化,慢慢学习别人的优点、好习惯。

同样大厂由于规范比较全比较细,往往一个人只会负责某个领域,所以就有了所谓的“螺丝钉”。这时候可能自己不去主动汲取,长时间就会变得不那么全面甚至变得只会单项技能(因为一旦业务熟悉了,便就会停滞,温水煮青蛙)。所以要么一直钻研单项变成技术专家,要么就是一直大头兵慢慢没有那么有竞争力。

不过大厂光环还是真蛮有用的,至少一看履历上有过大厂经验就会默认这个人有两把刷子,便会有更多的机会。

其实现在的互联网环境对大厂的压力是很大的,就稳定性来说可能还真不如一些小公司,而这些大厂经历也会变得像一种负担(预期高了,现实可能就很骨感)。想要综合提升自己的能力,而不甘于一味只是追求技术(有一句话说道:技术是最不值钱的),那就应该在自己做事有所章法之后去寻找那种能多方面提升的环境,历练实战成长最快。

当互联网红利慢慢消失,脚步慢下来,大家都是一样的。


秋游十月(2023)

十月过得好快,可能是假期占了四分之一的缘故吧。

南京周末游

我们找了一个周末去南京秋了个游,由于时间紧凑没去很多景点,但我觉得周末已然足够,逛得再久只会更加疲惫。

我们第一站是红山森林动物园,我们到的时候已经是周六中午了,于是在园外找了一家鸭血粉丝店,意外的是价格还可以,味道也还真不错呢!我们是从北门进的,没有使用园内自费的小车(也没看到)纯靠双腿闲逛,逛了三四个小时才给逛完了。虽然没有之前我们去过的上海野生动物园那么大(主要还有野兽区),动物种类数量那么多,但逛个一下午也是没有问题的。天气也正好没那么热,很适合出门溜达,时常亲近大自然,也让自己心情舒缓,放慢一些脚步。

晚上去了新街口那边觅食,走走逛逛了一大片,路边吃了点小吃,后来在网上找了一家本地菜馆,令我惊讶的是,价格还挺划算量还真的多啊!就看到路边的「茶颜悦色」总是排着个大长队,营销果然可以,转头去了「马伍旺」。商场路边人真的好多啊,而且还都是年轻人,不知道刚好那周南京有音乐节的缘故还是本就如此,真是大街上全是年轻人,密密麻麻,而且路边全是吃的店,各色各样,看来南京的消费水平也是相当可以的。而且发现南京打车也不贵,可能是我去的地方都在那一块吧。

周日我们去了侵华日军南京大屠杀遇难同胞纪念馆,几年前我来的时候还不需要预约,现在如果不提前预约的话是不让你进的。馆内种种资料,历史涌现眼前,中国人民永远忘不了那段可怕的历史,愿再无战争,世界和平!

我们没去夫子庙、海底世界这些景点,第一是时间确实有点紧,第二是人也确实有点逛累了,南京,下次再去!

公司动荡

说是公司动荡,其实也是因为整个大环境的动荡。这几年大家有个共识:互联网已经开始走下坡了。

所在公司最近整了一系列骚操作,变动薪资结构、让改签合同、不签走人直接辞退书不给赔偿……操作真是骚啊!已经有同事申请仲裁,没想到很快就受理了(可能是人多受理快),赔偿 2n 是没跑了。大环境不好,公司经营情况不好大家也都理解,大家有缘共事一场,既然这样为何不能“和平分手”呢,非得整这些,唉。

看这情况,我也离这不远了,想着做个啥副业的也没什么好点子,进一个好公司难,遇到个好领导更难哦。现在距离过年还有三个月,在这时候失业的话还真不太好找工作,可能就真得休息个几个月,年后再寻新岗位了。


大家共勉!


备婚九月(2023)

日子一天天流逝,终于即将迎来这个重大的时刻。

意味着身份的叠加,责任的变化,人生步入下一个阶段。


今年的车票是真难买啊,尤其是节假日,真的,以前买票从没感觉这么难买。刚我边上的同事说连景区国庆的票都买不到了,疫情三年,大家人心思玩吗?

由于买不到回去的票,再加上本来这次带回去的东西就多,还是把丈母娘的车开来了,上周南通到上海开了二个多小时,没走苏通走的崇启,路上的车还好不多,希望明天去浙江的路上也不要堵车!

回去的事情还多着呢,屋子还没有装扮,酒店也要弄,衣服得去拿,日子快要到了,还是有点兴奋的!


由于一直在忙着备婚,现在已经是国庆回来了,我来一起记录下这期间的事吧。

我们早上七点左右从上海出发,下午一点多才到家,开了有六个多小时……主要是高速上一出车祸,路就变得非常堵,我们还是中途下的高速走的一段国道。而且浙江那边本来就山多,很多隧道从山穿过,很多二车道的高速路,所以车一多也自然就慢了。不过还好一路安全,目睹了前车的前车追尾,五车连撞,后备箱盖子直接弹开,还好速度开得慢。


买了好多装饰的东西,结果一大部分都没弄上,要么感觉太复杂没时间弄,要么就不知道弄哪。虽然这样,结婚前一天我也是弄到了凌晨二点……光光粘那几个气球就得花了有个把小时,然后楼梯的装饰,着实是费精力。好在一切都顺利,完美ending!在这里感谢爸妈的无私辛苦付出,有时候我着急脾气会不太好,感谢你们的包容!


之后去南通的回门宴上也全场没冷,不枉我们准备了那么多礼物,有玩偶,有啪啪圈,有盲盒礼盒,有零食大礼包,还有数十个小红包。也感谢岳父岳母的包容和付出,一直在忙活这忙活那,那几天都没怎么好好睡觉。准备了这么久,终于完美结束,接下来就是要准备好好生活了,选择一个城市定居,开启下一段人生。


果味八月(2023)

今年高温好像没怎么持续,来了好几次台风

如题。今年虽说高温不持续,但是夏季水果倒是吃了不少。西瓜、葡萄、香瓜……特别是西瓜,一个接着一个根本没得停。

日子来到了九月份,最近要忙的事情不得少,眼瞅着就要到年底了。

Good Luck For US!


热气七月(2023)

无它,唯有热。


梅雨六月(2023)

六月的雨

六月梅雨季,天又闷又热,下了几场大雨后最近又是高温闷热天。

今年是老妈六十生日,本来准备是给买条大金链子的,可是看着这个金价实在是下不了手,黄金是一年比一年贵啊,涨幅还不小。然后就换成了手机,刚好现在的手机也用了三四年了。这几年眼看着父母白发越来越多,背也越来越驼,感叹时间过得太快,真希望岁月能够放缓脚步,驻足停留,多欣赏沿途风景。


已过年半,但似乎并没有多大变化。如今大环境也不好,公司内部也不像之前那般激情,更是为之后的职业道路新增了些许担忧。


五穷六绝七翻身。


Kong 自定义插件编写详解

最近在研究 Kong,如果你跟我一样之前对 Kong 不了解可以看他们的官网,我就不在这多说废话了。

调研了几天,Kong 的功能蛮多的,对我们也有很大的帮助,引入也很有意义,能减少我们很多操作。Kong 也比较成熟,只是网上的资料都比较零散,很多也已经随着改版而变得过时。

官网的 quickstart 也算是详细了,跟着走一遍基本就能知道个大概,有哪些功能。

我想要尝试通过自定义编写插件来更好得对数据做一些处理,就各种找资料。终于经过一段时间的冲浪后,我开始掌握了一些门道。

首先,Apache 的 skywalking-kong 帮我理清了绝大部分道路,只是不知道是因为 Kong 版本的更迭还是因为我本地环境的原因,跟 README 上描述的步骤还是有一点点的差别:

  • luarocks install kong-skywalking --localluarocks 安装 kong-plugin-skywalking,你也可以用 --tree 指定目录位置
  • 然后是 kong.conf,一般在 /etc/kong下,如果没有就 cp kong.conf.default kong.conf 然后对应配置加上,lua_package_path 注意一下写上你实际的位置,可能与 README 上的会有偏差,我的就是
  • 关键的还有一步没有写上,/usr/local/share/lua/5.1/kong/constants.lua 里记录了所有插件的名字,如果不加上的话你新加的插件也不会显示出来,需要特别注意。最后最好 kong restart

这一个走通后,就会对自定义的插件有个概念了。下面我们来自己手写一个试试,很简单的一个 Demo,主要是对 Response 的修改(只要走通了一个 其他的也就差不多了 看看官方 API)。

其实别看这里我只是轻描淡写,实际却是踩了很多坑,网上太多都是不负责任的文章,也不清楚是纯粹的 copy 还是因为版本更迭导致的失效。

我先说下网上找资料然后最终发现的几个问题:

  • local BasePlugin = require "kong.plugins.base_plugin" 这个 BasePlugin 在 2.7.x 已经废弃了,害得我还在那抓头,ChatGPT 资料库不够新,问了半天跟个傻子一样
  • kong.service.responsekong.response ,网上找到的资料都是用 kong.service.response 来改变响应体的内容,也害得我只抓头,纳闷了怎么也不行,直到我在官网 kong.response 找到了这么一句 Unlike kong.service.response, this module allows mutating the response before sending it back to the client. 我丢

然后其他的就是 Lua 脚本的编写了。

  1. 先在之前 skywalking 同级新建一个 response-handler 目录(当然也可以在 Kong 自己的插件目录中添加自定义的插件)
  2. 再进入 response-handler 目录,新建两个 Lua 脚本,插件主要也就是这两个文件 handler.luaschema.lua。至于你说这两个是什么作用,我只能说业务逻辑在 handler 中,所用到的一些可变参数在 schema 中,具体的可以自行去冲浪哈,在这我就不赘述了。下面是我写的 Demo 脚本内容:

官网资料:Plugin Configuration

handler.lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
local cjson = require("cjson")

local MyPluginHandler = {
VERSION = "0.1.0", -- 版本
PRIORITY = 10 -- 脚本执行优先值
}

function MyPluginHandler:header_filter(config)
-- 修改响应头
kong.response.set_header("Handle-Response-Header", "Response-Handler")
end

function MyPluginHandler:access(conf)
end

function MyPluginHandler:body_filter(config)
-- 修改响应体
local response_body = kong.response.get_raw_body()
if response_body then
local response_json = cjson.decode(response_body)
response_json.data.num = config.num -- 我这里修改了 response.data.num 的值 (config.num 对应 schema.lua 中的 config.num)
local modified_body = cjson.encode(response_json)
kong.response.set_raw_body(modified_body)
end
end

return MyPluginHandler

schema.lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
local typedefs = require "kong.db.schema.typedefs"

local PLUGIN_NAME = "myplugin"

local schema = {
name = PLUGIN_NAME,
fields = {
{ consumer = typedefs.no_consumer }, -- 该插件不能设置为 consumer
{ protocols = typedefs.protocols_http },
{ config = {
type = "record",
fields = { -- 可配置参数
{ num = {
type = "integer",
default = 10,
required = false,
gt = 0, }},
},
entity_checks = {
-- 可以写一些校验 at_least_one_of distinct
},
},
},
},
}

return schema
  1. 脚本写好后在 kong.conf 中的 plugins = bundled, skywalking, response-handler 加上
  2. /usr/local/share/lua/5.1/kong/constants.lua 中的 local plugins = {....} 加上新写的 response-handler
  3. kong restart

到这里,自定义的插件算是可以了。要还不行,那就可能是版本更迭了哈哈