logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

代理模式实战运用(动态代理)

在开发中使用代理模式,可以在不修改原始对象代码的情况下,为其增加新的操作或功能,符合软件设计的开闭原则。代理模式可分为静态代理和动态代理。

文章图片
#代理模式#java
Spring Boot 基于 Mockito 单元测试

在网上刷到过“水货程序员”相关的帖子,列举了一些水货程序员的特征,其中一条就是不写单元测试,或者不知道单元测试是啥。看得瑟瑟发抖,完全不敢说话。在小公司里当开发,对单元测试根本没有要求,测试也就是本地启动服务,自己调下接口看看是否调通,以及和前端本地联调。毕业后入行以来都没写过,想写也不知道该怎么做。自己想摆脱“水货程序员”标签去写单元测试,也只是照着网上博客,本地写一写,不知道写得是否规范,所以

文章图片
#spring boot#单元测试#后端
Windows 安装 PostgreSQL 并安装 vector 扩展

调研大模型时,了解到一些大模型的应用,其中一个就是知识库,用户可以上传文档到知识库中,系统解析文档并将内容向量化保存起来,以便在和模型交互时使用。在和大模型对话时,可以先向量化检索自己的知识库,如果命中,则返回文档内容,然后将文档内容作为大模型的输入,以便让大模型回答得更加符合我们的预期。这里就涉及到了向量化数据的存储,可以为 PostgreSQL 安装 vector 扩展来存储向量化数据。记录

文章图片
#postgresql#数据库
基于 Redis 的分布式锁 Spring Boot 集成 Redisson 使用分布式锁确保对共享资源的互斥访问

工作中开发过一个上传文件的接口,每个区县都有自己的资源压缩包需要上传到系统,系统接收到压缩包后,需要解压,提取出里面的文件保存到文件服务器中,解析里面的SQLITE文件得到数据保存到数据库中。由于处理的过程会比较耗时,所以使用了异步处理的方式来优化用户体验,接口接收到文件后快速响应,返回上传成功,异步线程在后台继续执行解析压缩包业务逻辑。为了防止在异步线程处理期间,用户再次上传压缩包,从而导致上传

文章图片
#redis#分布式#spring boot
基于本地消息表实现分布式事务(最终一致性)

传统单体架构下,所有的功能模块都在一个应用下,所有的代码和业务逻辑都在同一个应用下实现,所以保证数据的一致性就很简单,保证相关操作都在同一个本地事务下就可以了。但是在微服务架构下,将一个应用拆分成了多个独立的服务,每个服务都能有自己的数据库,服务间通信都是通过远程调用实现,实现一个功能可能需要由几个不同的服务来共同实现。这就会带来一个问题,不同的服务之间无法做到使用同一个事务,这就无法保证数据的一

文章图片
#分布式#经验分享
PDManer 自定义 mybatis 的代码模板

平时一直使用PDManer对业务进行数据库表建模,建完模后可以自动生成基础的业务代码,以 mybatis 为例,生成 Entity,Mapper,Mapper.xml 代码。PDManer里有默认的代码模板,不过在实际开发中需要根据实际情况做调整,便需要自定义代码模板。记录下实际项目中用过的 mybatis 代码模板,以便以后复用。

文章图片
#mybatis#数据库
Ollama 部署本地大模型

工作需要,被指派对大模型做技术调研,又不想花钱买各大产商的key,所以就考虑部署本地的大模型,了解到 Ollama 开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。便在自己电脑上安装了,记录下安装以及使用过程。

文章图片
#AIGC
Spring Boot 多数据源配置(JPA)

一般一个系统至少有一个数据源,用来持久化业务数据以及查询。单个数据源的系统很常见,在 Spring Boot 框架下配置也很简单。在约定大于配置这个思想下,只需要在配置文件中简单配置下数据库连接信息就行了。除了单数据源系统,在实际工作中,还会遇到多数据源系统。

文章图片
#spring boot#后端#java
Java 解决 Process 执行命令行命令报【CreateProcess error=2, 系统找不到指定的文件。】错误问题

使用 Process 执行命令行命令时,报CreateProcess error=2, 系统找不到指定的文件。但明明指定的文件是存在的。

文章图片
#java#开发语言
使用 FinalShell 进行远程连接(ssh 远程连接 Linux 服务器)

可以自定义命令,将一些常用的命令组合保存起来,这里以启动 nginx 为例子,进入 nginx sbin 目录,指定配置文件启动。实际应用中可以用来很好地管理服务器的各种服务启动脚本。

文章图片
#服务器#ssh#linux
    共 13 条
  • 1
  • 2
  • 请选择