自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 python之pydantic使用小结

本文介绍了Python数据校验库Pydantic的核心使用技巧,重点讲解了类型注解工具Annotated的应用。主要内容包括:1)Python类型注解的作用及静态类型检查配置;2)Annotated的语法结构及其在Pydantic中的校验功能实现;3)三个关键类型工具方法(get_origin、get_args、get_type_hints)的使用示例。通过代码实例展示了如何利用Annotated结合Pydantic对字符串长度、数值范围等约束条件进行校验,并演示了类型检查错误的处理方式。文章强调这些工具方

2025-10-26 17:34:08 1088 1

原创 多个docker compose启动的容器之间通信实现

这里就可以看出group1中的g1容器可以正常访问到group2中的g2容器,表明两个docker-compose.yml编排的容器就能够实现相互访问.,一般情况下编排容器组的时候确实是每一组容器应该做网络隔离,但是某些场景还是会遇到需要夸容器组的网络访问,实现跨容器组(docker-compose)的容器访问最佳实现还是将需要跨组访问的容器组。再重启两个容器组,这个时候进入到容器g1去尝试ping通容器g2.启动这两组容器,可以看到相应的网络同时创建。来编排一组容器,同时会给这一组容器分配。

2025-09-04 09:59:40 326

原创 普通图片转手办图片实现

当前google推出新模型被称为google-2.5-flash-image-preview模型即是大家熟知的nano banana,其中一个目前最火的玩儿法就是普通图片转桌面手办图片.下面讲解一个具体的实现方法.,底部聊天窗口切换为生成模型,此时LMArena会自动使用最新的google-2.5-flash-image-preview。访问LMArena网站: https://lmarena.ai/,然后配合如下的prompt。点击发送即可完成转换.此时准备好需要转换的。

2025-09-03 06:58:23 479

原创 全排列问题回溯解法

经典全排列问题:给定一个序列,输出其所有的全排列结果.

2025-08-16 14:48:09 250

原创 python之OOP

本文总结了Python面向对象编程(OOP)的核心特性,包括基础和高阶部分。基础部分涵盖OOP三要素:封装(通过约定实现访问控制,使用@property装饰器)、继承(支持多继承和方法解析顺序MRO)以及多态(基于"鸭子类型"实现灵活调用)。高阶部分重点介绍了元类(metaclass)的概念,它是类的类,用于控制类的创建行为,体现了Python"一切皆为对象"的特性。文章通过代码示例展示了Python OOP与Java等编译型语言的区别,特别是访问控制、多态实现方式等

2025-08-16 11:07:36 883

原创 python之浅拷贝深拷贝

总结一下python的浅拷贝和深拷贝.

2025-08-11 22:20:36 308

原创 python之uv使用

是一个更现代的python项目管理器.笔者在使用uv前,笔者都是使用anaconda指令(比如) 为每个项目创建隔离的虚拟环境,然后使用激活此环境,最后使用这种方式来安装或者更新项目依赖.而有了uv之后可以让python项目管理变得更加的规范.本文着重讲解笔者最近切换到使用uv进行python项目管理过程中uv的一些常规用法和技巧,后续有用到新的feature会同步更新本文.

2025-08-11 14:09:45 2153

原创 凑零钱问题

经典动态规划凑零钱问题,给定面值的硬币如10块,5块,2块等,每一种面值的币数量上不设限制,要求在这些可选的面值用最少数量的硬币去凑齐指定金额的零钱,如果能凑齐则返回对应总数和每一种面值的硬币具体数量,如果不能凑齐则返-1.

2025-08-09 10:49:58 361

原创 python之asyncio协程和异步编程

本文介绍了Python中的协程(coroutine)和异步编程相关知识。首先解释了协程的概念,指出它是用户态的轻量级线程,通过async/await语法实现,适合I/O密集型任务。文章通过一个简单示例演示了协程的基本用法。接着回顾了迭代器(iterator)和可迭代对象(iterable)等前置知识,包括它们的定义、实现方式以及相关内置函数iter()和next()的使用。最后简要提及了异步迭代器的概念。这些知识为后续深入理解Python异步编程和MCP协议开发奠定了基础。

2025-07-30 23:19:11 677 1

原创 python之faker包使用小结

大量python编码测试场景需要产生一写fake数据,python中可以完成这个任务,本文全面总结一下此包的用法.

2025-07-29 11:13:14 295

原创 fibonacci的4种实现

考虑到base解法有不少重复计算的数值,可以用一个数组存放已经计算好的数值,递归计算时可以查看数组里面是否有之前已经计算好的值,使用空间换时间的方法,算法时间复杂度O(N) 空间复杂度O(N)自底向上的解决办法,使用循环替代递归,时间复杂度O(N) 空间复杂度O(N) 循环实现消耗资源更少,所以时间更快.最简单的递归实现,此种实现分线下来会有非常多重复子问题计算,导致时间复杂度为O(2^n)指数级别.fibonacci的4种实现.把n=0也考虑在内。进一步将时间复杂度降低到O(1)

2025-07-21 23:21:59 401

原创 python十进制正整数和任意进制互转

开发过程中遇到这个功能,由于输入比较简单,不要求要考更复杂的场景,于是把对应简单的实现记录一下.

2025-07-18 23:05:15 103

原创 删除docker镜像后如何正确清理残余

摘要 在Jenkins pipeline构建镜像过程中,常规的docker rmi命令无法彻底解决磁盘空间不足问题。本文推荐使用docker builder prune --all -f作为最佳清理方案,该命令专门针对构建过程产生的残余文件进行清理。相比之下,docker system prune -f虽然能清理空间,但会无差别删除所有未使用的容器和镜像,可能影响系统运行,故不推荐使用。合理的构建后清理策略应选择针对性的builder prune命令,既能有效释放空间,又不会误删重要镜像。

2025-07-03 23:46:51 385

原创 pandas 优雅处理值类型为list的列的csv读写问题

本文探讨了将Python列表数据优雅写入CSV文件的三种方法,并分析了各自的优缺点

2025-06-28 20:35:12 370

原创 ubuntu 下cursor的安装

摘要 本文介绍了在Ubuntu系统上将Cursor编辑器配置为类似vscode的便捷启动方式。整个流程无需安装,通过简单的文件配置即可实现。

2025-06-26 17:08:32 1003

原创 聊聊python中的显式声明类型参数

类型参数还可以是自定义类,或者自定义类的集合类型class A:a.test()test_a(a)自定义类型作为集合中元素类型。

2025-01-26 09:16:52 1114

原创 java多线程分发处理,线程聚合场景解决方案解析

设定一个可接受等待的最大值N,当N个线程都在CyclicBarrier上面阻塞等待的时候,触发tripped,线程继续执行,cyclicbarrier关联任务开始执行.cyclicbarrier跟它名字一样,它可以循环使用,当发生tripped后,相当于状态重制,又可以接受N个线程在它上面等待.cyclicbarrier适合固定数量线程循环进行并行处理然后聚合的场景,当每一个线程把当前批次处理,然后cyclicbarrier聚合处理,之后又可以循环执行.获取"许可",操作完资源之后调用。

2025-01-19 10:25:52 1103

原创 正则表达式,看完这一篇博客即可

做了一段时间的genai相关应用.遇到如下的一种场景:一次大模型调用输出多个模块代码,从输出内容里面提取这些模块代码然后保存成多个文件,组合成一个可运行的项目或者完整的功能模块.这里就涉及到对大模型返回的原始文本结果用正则表达式进行处理的场景了.本文详细回顾一下python和java里面正则表达式的用法以及技巧,并探究了正则表达式在大模型场景下的应用.以python语言中的re模块为例,回顾python中正则表达式中的特殊符号.默认情况下匹配任意非换行符单个字符串,pythonre中可以使用re

2025-01-19 09:58:59 877

原创 python拓扑排序算法实现

按照wiki拓扑排序的说法,拓扑排序是对有向无环图的顶点的线性排序,要求对于顶点u到v的每一个有向边uv顶点u都在v前面.拓扑排序其中一个重要的场景就是对互相有依赖的任务的执行顺序排序本文总结了python如何实现拓扑排序,包括卡恩算法以及深度优先搜索算法这两种排序算法.两种算法都可以帮我们解决涉及到互有依赖的task的执行顺序编排问题.

2025-01-09 08:20:34 894

原创 docker容器内怎么正确使用宿主机的GPU资源

重新运行官方的milvusgpudocker-compose.yml则可以正常启动,附带笔者在官方的docker-compose.yml文件上添加的attu的完整版本docker-compose文件,通过。其实只需要正确安装配置好nvidia-smi以及nvidia-container-toolkit参考docker关于正确使用宿主机器GPU的文档。输出内容为容器内运行nvidia-smi指令的结果,不包错则nvidia-container-toolkit正常安装且正常配置.

2024-12-11 09:54:20 2280

原创 D3.js 初探

D3js 使用小结D3.js 使用小结最近在做一个Data Visualization 的项目,由于对最终呈现的效果的交互性要求比较高,再加上自己做过前端的项目,对javascript还是比较熟悉的,所以最终采用D3.js 来完成数据的可视化;开发过程中有一些小的心得以及对D3.js 的一些认识,于是在此总结一下。

2024-12-04 20:51:30 893 1

原创 基于snowflake id 的 N 位唯一数字id 生成算法总结

分布式场景下选择snowflake id 生成算法来生成id是常见的技术选型,然而默认情况下snowflake id 生成器生成的id长度为19位数字,有些场景下我们需要的是8位,9位等长度小于19的唯一数字id,这个时候就需要将原有的snowflake id 进行一定的处理才能得到满足要求的指定为数的唯一数字id.本文详细总结一下常用的处理方法以及其优缺点.优点:1. 更加随机且均匀分布的映射,减少碰撞. 2. 保持了 Snowflake ID 的唯一性和分布特性。缺点:高并发场景下id容器碰撞。

2024-11-29 22:42:59 766

原创 docker 容器访问宿主机器服务的最简单方法

经常遇到一个服务是容器方式启动,另一个服在开发机器上启动,涉及到容器内发请求到宿主机器上面的问题,这里把最简单的解决办法记录以下。容器内将此ip作为宿主机ip即可实现容器内服务访问宿主机服务,简单高效的方法.查看docker网桥ip, 一般都是。

2024-11-10 07:38:06 1813 1

原创 浅谈一下关系型数据库中json类型字段的处理

mysql以及postgresql针对json类型字段提供的处理方法会有差异,因此使用的时候需要注意这个点.其次实际开发过程中我们也可以不用使用如下这个表结构存储推荐job的结果file_nametypeidintstatusvarcharresultjson我们完全可以在定义推荐结果表的时候将book_id, user_id和score 也定义为字段,这样也不必做比较复杂的json字段解析.field_nametypeidintstatusvarcharbook_idint。

2024-06-06 01:33:12 1268

原创 java集合类型一行代码实现创建且添加初始元素的实现汇总

common collections 提供了一些集合工具类(xxxUtils 命名规则: {集合类型}Utils) 来扩展jdk集合相关的api.当然它的关注点也不是创建集合对象的时候就添加初始化元素.后面我也会专门讲解一下apache commons相关的模块,此处也不再赘述.guava collection 是jdk collection的扩展, 它提供了丰富的集合相关的api看来帮助开发.真对每一种集合类型都提供了相应的工具类(比如Sets,Lists,Queues等,命名规则: {集合类型}s).

2024-05-07 16:33:32 912

原创 springboot模块以及非springboot模块构成的多模块maven项目最佳构建方式

这个结构看起来不是那么舒服,比如这里买的spark-job模块,跟spring完全没关, 不应该让spring-boot-started-parent作为其parent.那么有没有什么方法能够。的spring boot 相关的起步依赖包. 而不需要使用spring的模块可以完全不用管这个parent pom.spark-job的pom.xml(大致的pom不讨论细节)如下。spark-job的pom如下(大致的pom不讨论细节)core 模块 pom.xml 如下。web-service的pom如下。

2024-05-05 18:21:16 1499 1

原创 hive metastore使用mysql作为backend db遇到的问题

hms使用mysql作为Backend metadata database, 但是启动爆如下错误.原生的hive不带pg以及mysql的驱动包,所以这里要自己构建镜像添加这两个包到。docker-compose 文件。.所以要预先在mysql上面创建好。这个数据库,hms才能启动成功.

2024-04-14 08:27:04 566 1

原创 jenv实现mac下多版本jdk管理以及切换

多个java项目使用jdk版本不一样,mac机器下需要实现多版本的jdk管理. 使用工具。

2024-04-08 23:10:01 1173

原创 Fernet加密解密技术详解

参考关于fernet的定义结合cryptography package中关于fernet的说明: https://cryptography.io/en/latest/fernet/可以将fernet定义为一种对称加密算法, 它可以将用户信息(字节序列)32字节(256 bits)的密钥以及unix时间戳(单位秒)加密成密文.同理可以使用32字节密钥过期时间(单位秒)和给定的unix时间戳进行解密.

2024-02-28 13:37:33 3280

原创 kubernetes技巧(一):关于选择器

如果是基于资源的label筛选使用label-selector,如果是资源label之外的字段筛选使用field-selector.

2024-02-25 10:43:23 1914

原创 多podman machine设置连接问题

已经存在一个资源配置较小的的podman machine(named as A)前提,启动了一个资源设置较大的podman machine(named as B). 关闭A单独启动B,使用。早些启动的podman machine A 是默认的连接, 启动B之后默认连接还在A,不会自动切换到active的machine B所以导致。check可以确定当前连接上了machine B.发现不能连接到podman machine B.

2024-02-05 20:21:30 840

原创 python装饰器详解

自定义装饰器主要分三种,不带参数的函数装饰器带参数函数装饰器,以及类装饰器. 下面一一进行讲解不带参数的函数装饰器// 装饰器函数,接受一个参数,参数代表被装饰的函数// 内层函数,入参是被装饰函数的全部参数,内部可以在被装饰函数调用前后实现一些逻辑# before// 是否有返回值取决于被装饰的函数# afterreturn res运行结果before 1 2 after总结一下就是两层函数,外层为装饰器名称,只接收一个参数表示被装饰的函数,内层函数参数为被装饰函数的所有入参.

2024-01-27 07:38:06 1013

原创 python 中的 random

如果产生单个随机数使用built-inrandom包,如果需要产生随机的向量使用np.random。

2024-01-24 21:49:00 1155 1

原创 jupyterlab开发环境最佳构建方式

创建虚拟环境安装jupyterlab包.创建其他虚拟环境安装项目中python框架,包等等,进行环境隔离.需要映射成kernel的虚拟环境安装ipykernel, 使用指令将虚拟环境全局映射成jupyter kernel, 实现环境可进行访问.

2023-09-22 20:42:10 897 1

原创 ssh 免密码登录远程服务器最佳实践

工作中遇到需要使用多个云平台多个k8s集群的情况. 某些云平台不能使用desktop访问, 所以只能远程登录到指定访问权限的虚拟机. 在这个前提下一般是指知道这些虚拟的ip, user 以及 password. 使用ssh登录每一次都需要输入密码, 使用scp拷贝的时候也涉及到输入密码. 一旦涉及到较多的虚拟机需要登录,那么这回让工作效率变低. 这里总结一下免密码登录多个远程服务器的最佳实践.. 这里因为有多个服务器所以这里创建的时候使用特定的密钥文件名替换默认的密钥文件名字. 比如以。

2023-09-16 18:09:41 339

原创 k8s 中快速启动curl pod 做api test

k8s上运行的pod需要进行api测试,由于开发使用的镜像都是最小化构建,不能保证现有的pod中一定有curl工具,于是需要启动一个带有curl工具的测试pod专门进行api测试。上述指令实现在指定namespace下创建一个带有curl tool的pod, 可以用于进行api测试.

2023-08-17 10:23:11 1382

原创 MAC google cloud cli 安装问题

应该是安装包本身存在lib版本问题.

2023-06-16 16:03:01 943

原创 helm cli push 本地chart package 到 harbor

helm

2023-05-13 23:52:32 776 1

原创 配置podman ssl连接私有harbor仓库

当前私有仓库使用harbor且enable了ssl. 本地容器工具由docker切换到了podman. podman对比docker的各种优势此处不再赘述,这里主要讲一下podman本地配置问题.猜想可能是podman对自签名证书不支持, 因为如果使用的是podman desktop 可以在 registry中。私有仓库,笔者有试验过这种方式添加私有仓库,尝试连接的时候报如下错误。配置完毕重启一下podman 然后测试, 注意此此处的证书是。下面看详细的配置,笔者是mac, 所以配置文件路径是。

2023-04-29 21:23:25 2424 1

原创 快速生成tls证书相关文件enable https

平常开发过程中需要服务enable https, 涉及到CA证书和服务端证书秘钥, 但是由于openssl命令平时使用不多,每一次都要去搜索一下怎么用,于是在此处记录一下快速生成tls证书相关文件的openssl命令,使用时方便查询。这里生成证书带san, 适合生成。,假设需要证书的网站二级域名是。的以https协议访问服务器., 使用如下指令生成ca证书。作为域名的服务, 将。配置给浏览器且设置为。的证书即可实现浏览器。

2023-04-27 23:50:41 354

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除