果味八月(2023)

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

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

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

Good Luck For US!


热气七月(2023)

无它,唯有热。


梅雨六月(2023)

六月的雨

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

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


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


五穷六绝七翻身。


Kong 自定义插件编写详解

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

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

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

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

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

  • luarocks install kong-skywalking --local 用 luarocks 安装 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.response 和kong.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.lua 和 schema.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

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


忙碌五月(2023)

这个五月忙忙碌碌,天气也时晴时雨。

为什么这个月会是忙碌的呢,因为这个月我们又搬家了!沪漂的日子往往在搬家的时候最为狼狈。

本来我们房子是六月初才到期,但是我们那不讲道理的二房东急急找了下家,想要我们提前搬走。本来确实我们可以不搬的,但一想到我们刚好也想早点搬走,就也去匆匆找了房子。找房子还算顺利,两趟就敲定了下来,这次是一房东,我是真不想再遇上个二房东了,有些二房东是真的难扯,就好比我们遇到的这个。搬的那天叫了一辆依维柯,本来以为是妥妥的了,毕竟我们上次搬家叫的车还没这个大,可谁想到,完全塞不下。后来又叫了一辆依维柯,满满塞下,这才全部搬了过来。两个人的东西也不少,真是不想再这么折腾搬家了,累不说,收拾还麻烦。

最近几天做了一个小程序:计分小能手,为什么会想到做这个小程序也是因为前段时间跟朋友一起打牌,才知道有这种计分的小程序,而且广告多到离谱。我就觉得这个可能以后会经常用到,不如自己做一个,于是就有了这。现在只是实现了简单的功能,因为我毕竟是做后端的,样式啊这种就完全是只是能用。做的过程也是遇到了很多问题,对小程序的开发也更加清楚了。

上面说了搬家,现在我每天上下班变成了坐地铁,以前是骑个电瓶车就到了。也还好,地铁半个多小时,加上两边的步行,从出门到公司差不多五十分钟,还可以接受,每天也是变相可以多走走路。

现在天气真开始越来越热了,我们这次租了个一楼,不知道大夏天会怎么样,因为原先的小院子跟房间改在了一起,所以空间还蛮大的,唯一不足就是通风了,夏天可能会有点闷,估计空调要不少开了。


破局四月(2023)

首先说下这次北遇的婚纱照拍摄,总体来讲还是蛮不错的。

我们是前一天在那附近找了个宾馆住了一晚,然后当天一大早骑了个自行车过去,早上八点到那,晚上全部弄完已经是十一点多了。三个内景一个外景,全程服务态度是蛮好的,摄影师也很有耐心,最后出来的片我们也是比较满意的,总之是安全下车了。

四月份的天气已经开始回暖,后面几天已经是可以穿短袖短裤出门了。这个五一天气也是蛮好的,我们去了一趟启东吃龙虾,顺便学会了启东麻将打法,假期过得还是闪电那般快。假期结束回来周六还得上班,真是无心上班啊现在。

前几天服务器又提示要续费了,一年大几百的费用我也基本就挂个博客,实在是划不来啊。不打算续了,直接白嫖 GitHub 的好了,不浪费钱了,现在钱不好赚啊。

又重新买了塞尔达玩,都说是 YYDS,我这次好好玩玩,认真玩,深度体验体验。说真的,switch 确实一般,买来大多数时间就是放着落灰,躺着有时间就刷剧,没多少会去玩会游戏消遣,更别说是没有人一起玩了。

过了四月已经是五月了,之后就是六月,日子过得快得哟!


温暖三月(2023)

这刚连续下了几天雨,终于迎来了温暖的好天气。

春暖花开,经过连续几天的雨水冲刷,终于迎来了几天的好天气。
各地桃花樱花盛开,朋友圈纷纷出现了春游打卡景象,正是一年春来到。

由于种种原因,这次没去成苏州马拉松。今年怕是也没有机会了,养精蓄锐,明年再战!前段时间周末一直在各地跑,也终于搞定了一些事情,下个月也开始要拍婚纱照了,减肥减肥说了大半年了,体重还是在这水平上下浮动,难矣!事情一大堆,就在等着慢慢处理解决,希望随着时间一个个都迎刃而解,船到桥头自然直。

刚说完问题,最近这就出现了问题。事情一多,问题也就越多。处理不好就很容易上升为矛盾,情绪再那么一差,总是闹得不可开交。生活,也确实,一路平坦的那就不叫生活。

4.5算是我们周年纪念,今年刚好就是清明,好巧不巧。吃一顿日料自助满足下期待已久的味蕾。

周末好天气,躺在阳台的椅子上晒太阳,躺在客厅的沙发上晒太阳,真是舒服啊!


入春二月(2023)

到了二月,眼瞅着温度慢慢回升,大家的旅游热情也是十分高涨。

前段时间趁着周末去了趟苏州,景点那个人啊,在路上真的是被推着走。西园寺的素面排了半小时左右吃上了,还好去的早不然排得更久。

很明显能感觉到,不止景点,各大商场的人也多了很多。一到饭点,只要是稍大点的商场,没有一个吃饭的店是不用排队的,这消费能力真是杠杠的。

前几天我们大学寝室的几个终于又聚到了一起,不容易啊,上次聚一起还是五年前。这次刚好其中一个室友结婚,于是找了个周末大家一起聚了一下,隔得也都不是很远,路程还可以。包吃住还带洗脚搓澡,这一趟没白走。下次再聚就不知道是什么时候了,也可能是下半年等我结婚吧。


当然也有伤心的事,我17年开始养的小鳄龟苗,这次给他找了个新主人。养了这么多年了,突然离去,说不伤感肯定是不可能的,不过还是介于自己现在的居住环境,也是迫不得已,希望他能更加愉快得生长吧。

入春了,温度上升,疫情褪去。美好的事情一定会接踵而至,期待未来!


年味一月(2023)

风风火火又一年

今年过年我们那都可以放烟花了,说是庆祝疫情过去(也有说是因为禁烟才来的疫情),反正随你放不抓就是。但街上还是不给卖,还得去隔壁县镇买,这钱都给别人赚去了!

有了烟花就会显得有些动静,不像往常过年跟平时过周末一样。

有件让人生气的事不吐不快。年前想买个冰柜的,然后看了下淘宝上有春节不打烊也保证了发货时效,就在淘宝上下单了。很好,确实是及时发货了,但是中途运输运了七天,眼看就要配送了,结果说配送人员还没上班,想要的话可以自己来取(离我家还有个五公里的样子),不然还得等个三四天。一个冰柜啊,说好的送货上门的,而且本来也是急着用才买的。顺便提下,这是德邦发的。这服务太差了,我马上就拒签又在京东上买了一款,结果第二天就给我送到家了。以后买大件的还是找京东靠谱!!

这次去南通通州搓了一回澡,实惠还舒服,根本不输之前去扬州的,扬州找的百年老店还死贵。

每次去通州都得吃吃那边的炸串,蘸着酱,实在是太香了!

短暂的快乐结束了,又要回归打工人生活了。


你好,贰叁

人生不过三两事,如意一天,不如意也是一天。

二二年已然成了过往,美好展望新一年。疫情影响生活三年,各种习性成了习惯,思维也发生了变化。现在随着政策放开,终给这黑天鹅落下了笔。

随着大家逐渐阳康后,新年第一天,同事也差不多都回来了,只是伴随的咳嗽还是不断。我也在元旦前两天中了招,发了两天烧之后身体也开始了快速恢复。这样也好,过年回家就不用再担心感染上躺着过年了。


二二年,因为疫情,居家办公过一段不少的日子,也在公司度过了一个三天两晚。由于期间疫情的疯狂介入,导致感觉这一年过得有点迷幻,抗疫抗疫着,半年过去了,再过着过着,就一年了。

这一年,在不确定因素下,我也终于算完成了一件大事。

接下来二三年,会是我的一个大年,这一年要计划完成的事很多,且都不小,希望我能完美完成这些,给自己一个顺意的二三年。

二三年需要做很多抉择,这些抉择很大可能直接或间接得影响到我之后的一个发展道路。工作是为了更好的生活,生活还是要放在第一位,基于现实。


总结一年一年写,年纪也随之一年一年长。终到了一个快要突破自我,踏入新身份的节点。当然,伴随着新身份来的同时也定会加大肩上的责任。

人生匆匆无处寻,仰望星空无人问;

水天一线镜中月,飞鸟过 或圆或缺?


未来会逐渐变好的预期已经出来,各行各业饱受疫情折磨的时候就要过去。对于美好生活的向往是大家的共性,步调一致,方向一致,未来就会一致!二三年,希望是自己的一个大年,拥抱二三!

你好,贰叁!