回顾2024编程之旅

95 阅读5分钟
@ApiOperation(value = "保存卡账户主账户", notes = "保存卡账户主账户")
@PostMapping("save")
public ResponseData<String> save(@RequestBody AcctCard acctCard) {
	boolean res = acctCardService.save(acctCard);
	if(res) {
    	return ResponseData.success(AcctCardConstant.SAVE_SUCCESS);
	}else {
		log.error(AcctCardConstant.SAVE_FAILED);
		return ResponseData.error(AcctCardConstant.SAVE_FAILED);
	}
}

/**
 * 删除卡账户主账户
 * @param acctCard
 * @return
 */
@ApiOperation(value = "删除卡账户主账户", notes = "删除卡账户主账户")
@PostMapping("delete")
public ResponseData<String> delete(@RequestBody AcctCard acctCard) {
	boolean res = acctCardService.removeById(acctCard);
	if(res) {
    	return ResponseData.success(AcctCardConstant.DELETE_SUCCESS);
	}else {
		log.error(AcctCardConstant.DELETE_FAILED);
		return ResponseData.error(AcctCardConstant.DELETE_FAILED);
	}
}

/**
 * 根据主键ID更新卡账户主账户
 * @param acctCard
 * @return
 */
@ApiOperation(value = "根据主键ID更新卡账户主账户", notes = "根据主键ID更新卡账户主账户")
@PostMapping("update")
public ResponseData<Boolean> update(@RequestBody AcctCard acctCard) {
	boolean res = acctCardService.updateById(acctCard);
	if(res) {
    	return  ResponseData.success(true);
	}else {
		log.error(AcctCardConstant.UPDATE_FAILED);
		return  ResponseData.error(AcctCardConstant.UPDATE_FAILED);
	}
}

/**
 * 批量删除卡账户主账户
 * @param acctCardList
 * @return
 */
@ApiOperation(value = "批量删除卡账户主账户", notes = "批量删除卡账户主账户")
@PostMapping("deleteList")
public ResponseData<String> deleteList(@RequestBody List<AcctCard> acctCardList) {
	boolean res = acctCardService.removeByIds(acctCardList);
	if(res) {
    	return ResponseData.success(AcctCardConstant.DELETE_SUCCESS);
	}else {
		log.error(AcctCardConstant.DELETE_FAILED);
		return ResponseData.error(AcctCardConstant.DELETE_FAILED);
	}
}

/**
* 根据主键ID查找卡账户主账户
*/
@ApiOperation(value = "根据主键ID查找卡账户主账户", notes = "根据主键ID查找卡账户主账户")
@PostMapping("searchById")
public ResponseData<AcctCard> searchById (@RequestBody AcctCard acctCard) {
	AcctCard acctCardRes = acctCardService.getById(acctCard.getId());
	if (ObjectUtil.isNotEmpty(acctCardRes)) {
		return ResponseData.success(acctCardRes);
	}else {
		log.error(AcctCardConstant.QUERY_FAILED);
		return ResponseData.error(AcctCardConstant.QUERY_FAILED);
	}
}

}


**2.接口的开发**


除了开发应用,在2023年中很多时间都在开发接口,主要就是我们的小程序商城需要和外部企业进行合作,进行流量互到,所以有很多接口需要开发。


对于外部接口我们还是使用http的方式


接口对接主要是几个步骤


1、提供一个获取token的接口、


2、接口参数的加解密


3、提供业务接口


接口传输标准:


调用方式(url)


POST,视具体接口定义,POST请求头(headers)需要携带 source参数,值为1


请求类型(ContentType)


application/json


响应类型(ContentType)


application/json



部分接口参数示例:



{ "code": 200, "message": "成功", "data": { "openId": null, "sessionKey": null, "userId": "6636b27895f80e3b23159", "oneId": null, "state": 1, "token": null, "isAuthorPhone": "0", "isRegUser": null, "userInfo": null }, "encrypt": false }


有的接口数据量和并发量比较大,对于实时性要求不高的我们才有走mq的形式,一方将数据发送到mq,另一方从mq进行消费。



**3.应用维护**


我们的小程序上线以后,就需要经常维护,比如服务器告警的处理,系统日志的归档,web安全漏洞等等,这些东西就占用了比较多的时间。有时候由于需要搞活动,还需要给应用进行扩容。对于扩容还比较简单,我们的系统支持横向无限扩容,但是最好规模是在100个服务以内,超过100个服务,那维护起来也是很麻烦的。


我们服务器的告警主要有带宽使用的告警,至于CPU,内存,磁盘这些告警,一年下来几乎没有,磁盘的告警也只是由于日志文件较多,占满了磁盘,日志一般保留半年就行。时间长的可以删除或者归档存储到其他地方去,这是主要的解决方案。至于web安全漏洞,就出现的比较多,一般有高危的和中低危的,高危的我们基本都修复了 ,有些低危的没有修复。下面列一下今年出现的部分系统漏洞


Apache Commons Text StringLookup 远程代码执行漏洞(   
 Spring Cloud Gateway spel 远程代码执行   
 Apache Spark 管理员后台未授权访问  
 Spring Data MongoDB SpEL表达式注入漏洞   
 fastjson <= 1.2.68 反序列化远程代码执行漏洞  
 Apache Spark RPC协议反序列化漏洞   
 Spring Cloud Gateway spel 远程代码执行   
 Apache POI <= 4.1.0 XSSFExportToXml XXE漏洞  
 Jackson 最新反序列化漏洞(CVE-2019-14361和CVE-2019-14439)【版本检测】


上面的很多漏洞都是通过升级组件版本解决的 有些是通过网关 进行处理,也有些通过防火墙进行设置。



#### 三、2023在csdn的创作之旅


今年在csdn上写了200多篇博文吧,主要还是记录工作中遇到的一些问题,很多都没按照优秀博文的形式进行编写,我觉得这并不重要,主要还是加深对编程的理解和保持新鲜度,因为还是要靠这个技能活下去,混口饭吃。博客写的好,精力和回报也成不了正比,今年在csdn收入的100多块钱都拿来发红包了。谢谢各位大佬的关注和抬爱。 



#### 四、展望2024


        有回顾就要有展望,要不然这怎么进步呀。编程10年,真是10年生死两茫茫,2014年毕业的我,今年正好在这个行业混迹了10年,可以说我刚毕业的时候是互联网行业发展的鼎盛时期,然后一路走下坡路,可谓见证了国内互联网由盛转衰的过程,可以说如今互联网已死,犹如一潭死水,再也荡不起什么涟漪。脸书公司名都变成了meta,百度这样的公司也不知道整天再搞些什么东西,腾讯在家长眼中只会搞点小游戏祸害青少年,阿里也不是以前的阿里,华为也只是会吹牛逼的华为。现在就只有抖音整天在发布些垃圾视频,勾引原本不富裕的国人买货,能赚一点是一点。 2023年到2024年唯一有点进步的是搞了点大模型,但这已经不属于互联网的范围。可以说现在的阶段是混沌期,没有一个可以明确的未来发展场景,各个以前的IT公司都在搞新能源汽车,然后感觉没什么卵用,无非就是为了减排,但是以后的新能源汽车可能也是最大的污染源,辐射源,个人觉得机器人可能会才能下一次革命吧。最好是所有的人都不用上班,让机器人来养活我们。