win 10 部署 langchain-chatchat gpu 版

基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。

阅读更多

聊一聊 Spring Data JPA 中的那些日常实践

一直以来,团队在使用 ORM 框架上都是比较随意的,一开始是鼓励大家使用 mybatis,主要是期望团队同学可以自
己写写 SQL,不至于写 SQL 手生;但是从实际工作中来看,我们并不会涉及到很多非常复杂的 SQL 语句,这就导致
了大家会消耗相当部分的精力在写一些重复性并且没有什么技术难度的 SQL,对于基于数据库驱动的业务来说,当业务
涉及到的表结构越多时,这种问题就越突出。于是我在项目的脚手架中就提供了 mybatis 和 jpa 两种访问数据库的
方式,但是在随后的一段时间中发现,团队在使用 jpa 来操作数据库上的代码提交几乎为0,而有相当部分的同学则
是引入了 mybatis-plus。

阅读更多

Linux 服务器端口不可访问问题排查

问题描述

项目中使用的服务器是物理机,使用 centos 7.6 版本的操作系统, 4 个千兆网口,上架时间 23 年 8 月份。部署在内网机房,并且在内网机房分配的固定IP 是 172.87.7.249,并在机器上部署了 docker,

阅读更多

Nginx 转发 404 问题的排查和思考

本篇文章原自当前业务遇到的一个实际问题,因为受到所在网络环境的因素影响,所以整体排查下来耗费了很大精力,记录一下。

项目背景

项目是 toG 项目,部署的网络环境是一个大的内网环境(又具体分为内网和内网互联网区),项目涉及到小程序、前端、后端(又包括 JAVA 和 GO 两个项目)的部署。整体的部署拓扑图大致如下:

阅读更多

如何编写测试用例

代码质量管理是软件开发过程中的关键组成部分,比如我们常说的代码规范、代码可读性、单元测试和测试覆盖率等,对于研发人员来说单元测试和测试覆盖率是保障自己所编写代码的质量的重要手段;好的用例可以帮助研发人员确保代码质量和稳定性减少维护成本提高开发效率以及促进团队合作。之前看过一篇关于 OceanBase 质量之道的文章,文章中提到的工程理念就把测试作为非常重要的组成部分,是和研发同样重要的组成部分;也听过内部的同学说过,OB 最核心的是用例。

阅读更多

Linux nohup 命令

nohup 表示不挂断地运行命令,是 no hangup 的缩写,语法格式如下:

1
nohup Command [ Arg ... ] [ & ]
  • nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。
  • nohup放在命令的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进程也继续保持运行状态,一般配合&符号一起使用。如 nohup command &。
阅读更多

基于 CentOS 7.6 + Samba 搭建文件服务器

出于产品、解决方案同事的诉求,需要搭建一个用于共享文件的平台,因此基于 Samba 搭建了一个共享文件服务器,这里记录一下,以便用于后续维护参阅。

Samba 是 SMB/CIFS 网络文件共享协议的免费开放源重新实现,该协议允许最终用户访问文件,打印机和其他共享资源。

阅读更多

使用 ngrok 解决测试时外部系统无法访问本地网络问题

问题

日常开发中有一些场景会有这样的诉求,就是外部系统 callback 回调本系统,但是本系统没有提供外部访问的 IP 或者域名;比如微信公众号测试号开发,就需要填写一个 URL,这个 URL 是开发者用来接收微信消息和事件的接口 URL,那如果这个 URL 是本地的,微信服务器肯定是无法访问的。

对于这种情况,如果你本地机器可以提供公网访问的能力,那自然是没有问题的;如果不行,可能就需要考虑买一些云服务器来测试,但是这种测试肯定是没有直接本地测试(包括 debug)来的直接。

阅读更多

聊一聊 Linux 的起源和发展

最近在系统性重新整理下关于 linux 的一些知识。linux 对于所有的开发工程师来说都不算是陌生的东西,但往往在面对它时,却又显得那么生疏。关于生疏,对于出入门的同学来说,其过多发行版和指令已经够吃一壶的了。这篇文章主要是看看 linux 自身的一些故事。

计算机主机实际上就是一堆硬件,为了更好的、有效率的控制这些硬件资源,于是乎就有了操作系统。操作系统除了负责控制这些硬件资源的分配,还具备提供计算机运行所需的一些基本功能,比如网络功能。当然,如果仅有这些是不够的,对于用户来说,直接面向的并不是硬件或者操作系统,而是软件。因此,操作系统也会为了让工程师更容易开发软件,也提供了一整组系统调用接口;这也是 Unix 或者 Linux 最原始的初心和核心。

阅读更多