- 博客(47)
- 收藏
- 关注
原创 思源配置阿里云 OSS 踩坑记
按照正常的配置IAM,赋予OSS权限,思源笔记还是无法使用,缺少ListBuckets权限。正常配置权限,又无法覆盖,因此需要手动配置权限。配置完成后,在用户界面,赋予权限即可。
2025-03-22 23:10:36
489
原创 Python Pdm如何设置私有库
看python pdm的文档,发现还是有点乱,如何全局设置pypi以及私有的repository,看了好几遍资料发现还是有各种各样的问题。这里需要注意的是,nexus需要配置hosted类型的库,才能部署上。如果需要单个项目设置的话可以参考下面的链接。以下提供一个解决思路,通过修改。windows下面的存储路径为。来实现pypi的全局修改。
2025-02-17 18:39:37
157
原创 解决Spring3.4版本中使用QueryDSL中出现MongoAnnotationProcessor使用问题
spring boot更新到3.4版本后,Spring官方也是提供了AnnotationProcessor工具,可以不用使用maven-apt这个老旧的不行的依赖了。但是按照会出现两个问题。
2025-01-02 16:41:51
1070
原创 记录一次Minio的低版本到高版本的迁移
在测试时,发现minio发生out of memory,自动退出了,便想将趁这次机会,升级下Minio的版本。旧minio是2021年版本,而新下载的版本是2024年版本。由于测试版的minio是安装在windows版本上的,于是将二进制文件直接替换为新版本启用,发现无法启动,遂着手开始解决。直接运行会存在以下问题无法通过二进制替换升级,旧版本能够直接使用。启动两个minio实例,同过使用mc mirror命令,将旧的文件复制到新的minio中
2024-12-06 14:38:12
618
原创 为什么我用举措Initiative而不是项目(译)
举措”这个词在团队中涵盖的工作范围更加广泛。而“项目”这个词表示的过于狭窄。在牛津词典中,对“项目”这个词的定义是一个项目是“一个个人或协作的企业,经过精心计划以实现特定目标”。根据项目管理协会(PMI)的定义,项目是“为了创造一个独特的产品、服务或结果而进行的暂时性努力”。这两种定义都很好,尽管我必须承认,作为一个前PMI高管,我对PMI的定义有所偏好。项目的一个有趣之处在于它们是暂时性的,有开始和结束,而问题就在这里。
2024-08-15 21:05:45
1047
原创 一个好用mybatis-flex生成器配置
这里使用的mysql数据库,生成表,而且约定了entity和TableDef必须为自动生成,且不应该手动修改。mapper和mapperxml可以进行手动修改。
2024-08-09 17:10:53
395
原创 使用Rust编写一个web todolist应用
这里要求返回的结果必须实现IntoResponse,否则无法在axum的Route中注册,可以使用axum提供的Json Struct包括数据和结果,这样就能将数据正常转换为Respone。这样,整体一个简单的todolist webserver就已完成,这里面还有一个update部分没有编写,不过仿照上面的handler也可以编写出来。State则在axum中进行注册,可以直接在参数列表中传入,这里bb8提供的Pool,不用考虑所有权,不使用clone,直接进行get使用。本次开发的服务使用的依赖有。
2024-08-04 15:01:38
683
原创 一种docker start放回Error response from daemon: task xxx错误的解决方式
执行重启命令后,发现docker中有的应用无法启动,并显示出Exit(255)的错误提示。重新执行后发现返回错误。
2024-07-25 18:10:53
417
原创 Next中的App Router
在next的13版本中,推出了一个新的App路由,由React Server Components构建,它支持共享布局、内部路由、加载状态、错误处理等。next中也包含一些特殊的文件,这些文件均为一种特殊的component,可以在react中直接使用。和Pages router类似,App router同样使用文件系统的目录结构。nextjs中的目录,可以创建特殊的文件夹,来实现特殊的功能。目录,保持原先的行为,而一些使用新的App Router。每一个文件夹在路径中都表示为路由中的一个片段。
2024-04-10 21:32:16
600
原创 babyAGI(6)-babyCoder源码阅读4_Embbeding代码实现
在进入到主程序前,我们还需要看一个Embedding的实现代码,这里的功能主要是为了计算代码之间的相关性。embedding可以文本中的词语转化为低维实数向量的表示,来计算两段文字间的几何距离来判断词语的含义是否相近。
2024-04-05 19:45:22
800
原创 babyAGI(7)-babyCoder源码阅读3(任务执行相关agent)
该agent会根据,objective和task的内容自动分配要执行的agent整个任务分配的agent分成了两部分,一部分是任务推荐建议的agent,给出推荐的agent的建议第二部分,是结合推荐的建议,给出一个确定的agent推荐。
2024-04-03 22:58:08
436
原创 babyAGI(6)-babyCoder源码阅读2任务描述部分
废话不多说,我们直接看task的prompt这里需要注意的是,每个openai_call的temperature都不相同,这也是开发程序时需要调整和关注的一点。
2024-04-02 22:04:06
649
原创 BabyAGI(4)-babycoder第一部分,配置项和agent tools函数
babyCoder是一个工作在AI系统的上的工具,它可以根据一些简单的目标写一些短的代码。作为babyagi的一部分,babycoder的目标是为越来越厉害的人工智能agent打下基础,能够生成更大、更复杂的项目。babycoder主要的目的是为编写代码和修改的代码的AI agent提供一个简单的框架,随着时间的推移,变成一个更通用的系统。下面是整个babycoder的流程,同样从一个目标开始,然后进行任务创建、任务分解、调用相应的agents,编程代码。
2024-04-01 21:24:45
720
原创 babyAGI(3)-COOPERATIVE_MODE
babyAGI中有cooperative模式,其核心是调用ray库,实现分布式多进程执行任务。从BabyAGI的源码中,我们可以学习ray core的使用。
2024-03-31 13:05:56
727
原创 在DeepLn环境中安装VLLM与ChatGLM3
总体而言,vllm的优势有- vLLM通过PagedAttention机制,可以高效地管理大语言模型的keys和values,显著提高吞吐量。- memory sharing机制可以实现不同样本间的显存共享,进一步提升吞吐量。- 使用pip安装vLLM后,可以通过几行代码进行离线推理。- 也可以启动在线服务,然后通过API调用vLLM。- vLLM兼容主流的预训练模型,可以不修改模型结构就获得显著的加速效果。
2024-03-10 20:44:42
1426
2
原创 设置RabbitMQ超时时间
RabbitMQ默认的超时时间是30分钟,在消息消费超过30分钟后,rabbitMQ会发生错误,导致整个channel被销毁,无法继续消费。值得注意的是,这个事临时更改,永久更改需要进入rabbit.conf文件里修改。在RabbitMQ安装的终端执行。命令,将超时时间延长。可以查看设置的超时值。
2023-10-17 15:04:01
4233
原创 谈谈TIME_WAIT
当主机1要关闭TCP连接时,会先发送FIN报文给主机2。主机2进入CLOSE_WAIT状态,并发送一个ACK应答。同时,主机2通过read调用获得EOF,并将此结果通知应用程序进行主动关闭操作,发送FIN报文。主机1在接收到FIN报文后发送ACK应答,此时进入TIME_WAIT状态。主动发起关闭行为的客户端会进入到TIME_WAIT状态。主机1在TIME_WAIT停留时间是固定的,是MSL(maximum segment lifetime)的两倍,一般称为2MSL。
2023-09-15 11:24:23
198
原创 Java中无符号数的处理
核心思想使用位数更长的数字覆盖之前的无符号位,如果我们使用short计算,那么我们就要转换到int类型去计算,int的无符号类型就需要使用long以此类推。在使用java编写虚拟机类型的程序时,经常会使用无符号数来作为地址或者操作数。java原生语言中并不支持无符号数,因此需要我们将有符号数转为无符号数。使用&计算符号,将有符号的参数提升到无符号参数。对于short而言使用&0xffff,来获取无符号数的真实值。获得结果可以使用&0xff,来获取无符号数的真实值。在编写8bit计算时十分有用。
2023-08-17 15:13:55
396
原创 使用zap日志替代xorm日志
xorm提供了日志接口,也就是说我们可以自己实现这些接口,用自己的日志框架啊替代原生的日志框架。直接在engine出调用SetLogger即可。这段代码实现了xorm.logger接口。下面是我用zap实现该接口的代码。
2023-08-11 11:05:53
235
原创 Clojure中面向对象的编程方式,Multimethods和hierarchy
multimethod这时尝试寻找关联dispatching值或者从dispatching值派生的方法,如果一个函数被defmethod定义,这个函数将被调用。clojure倾向于创建一个大的方法库,方法库中只有一个小的类型集合。clojure通过Multimethods来实现复杂的运行时多态,该系统支持调度一个或多个参数的类型、值、属性和元数据以及它们之间的关系。这段代码需要注意的是:Shape也是一个函数,返回一个Map中的键为:Shape的值。最后来一段clojure实现的面向对象的数据结构。
2023-07-04 16:11:14
226
原创 gradio离线化使用
js文件可以直接从gradio安装目录下,分别打开gradio\templates\cdn\index.html、gradio\templates\frontend\index.html、gradio\templates\frontend\share.html,找到这个文件中script中的js地址。进入到gradio\themes中,将所有的文件中出现的fonts.GoogleFont("Quicksand")这段代码注释掉。gradio离线的资源主要分两种,一个js文件,一个css中使用的字体。
2023-05-26 15:16:28
2781
1
原创 FL Studio 中菜单无效项的处理
FL Studio 中菜单无效项的处理在fl菜单中,有时候已经卸载的插件不会自动删除,这时候就需要手动删除。用户\Documents\Image-Line\FL Studio\Presets\Plugin database\Generators删除该目录下子目录的无效插件即可。...
2021-02-02 22:11:27
832
原创 golang os.walk 使用
golang os.walk 使用go 中提供的 os.walk函数可以方便的遍历指定目录下的所有子文件夹,其采用的回调的方式处理遍历到的文件夹,回调函数格式为func (path string, info os.FileInfo, err error) error;下面是一个获取临时文件夹下所有文件夹的例子:package mainimport( "fmt" "os" "path...
2019-08-24 18:33:01
1143
原创 theano在windows下的安装
安装步骤:Python的安装及一系列的包Microsoft Visual Studio CUDApycudatheano1. Python的安装一及一系列的包 Python建议安装Anaconda,这个打包集成科学计算的包,像什么numpy、scipy等等。 地址:https://www.continuum.io/downloads/ 不过国内的下载速度感人,建议上ss。这里我用的是最新的版本2.
2017-03-17 17:20:20
622
原创 JavaScript对象的常用函数
/**** 把p中可枚举的的属性复制到o中,并返回o* 如果o和p中含有同名属性,则覆盖o中的属性。* 这个函数并不处理getter和setter以及复制属性**/function extend(o, p) { for (prop in p) { o[prop] = p[prop]; } return 0;}/
2016-05-04 21:48:08
701
原创 JavaScript的属性访问
属性访问并不总是返回或设置一个值。查询一个不存在的属性并不会报错,只会返回undefined的。但是,如果对象不存在,那么试图查询这个不存在的对象的属性就会报错。null和undefined都没有属性值,因此查询这些值的属性会报错。这个方法可以解决这个问题:var len = undefined;if (book) { if (book.subtitle) len = boo
2016-05-01 20:11:58
599
原创 JavaScript的对象属性的两种访问方式
JavaScript中的对象可以通过点(.)方式和方括号([])运算符来获得属性的值。运算符的左侧应当是一个表达式它返回一个对象。对于点(.)来说右侧必须是一个以属性命名的简单标识符。对于方括号来说([]),右侧必须是一个以计算结果为字符串的表达式,而这个表达式必须是一个结果为字符串,这个字符串就是属性名。在ECMAscript 3中,点运算符后的标识符不能是保留字。如
2016-05-01 15:10:28
3527
原创 JavaScript 对象(1)
JavaScript 对象(1)JavaScript中的对象是基本数据类型。对象是一种复合值:它将很多值(原始值或其他对象)聚合在一起,可通过名字访问这些值。対像也可看做属性的无序集合,每个属性都是一个名/值对。属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。对象除了可以保持自有的属性,JavaScript对象还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。JavaScr
2016-04-26 20:39:51
529
原创 JavaScript的strict模式
use strict;strict模式是ECMAScript 5语言的一个受限子集,它修正了语言的重要缺陷,并提供健壮的查错功能和增强的安全机制。严格模式与非严格模式之间的区别如下:在严格模式中禁止使用with语句。在严格模式中,所有变量都要先声明,如果给一个未声明的变量、函数、函数参数、catch从句参数或全局对象属性赋值,将会抛出一个异常。而在非严格模式中(这种隐式
2016-04-25 20:38:18
1303
原创 JavaScript中的for in (1)
for (variable in object) statement;在执行for/in语句过程中,JavaScript解释器会首先计算object表达式。如果表达式为null或undefined,JavaScript解释器将会跳过循环并执行后续代码。如果表达式等于一个原始值,这个原始值将会转换为之对应的的包装对象(wrapper object)。否则,expression已经
2016-04-23 21:33:19
704
原创 JavaScript的===和==
==和===都是判断两个值是否相等,当然它们对相等的定义不尽相同。===称为严格相等运算符(strict equality),它检测两个操作数是否严格相等,比较过程没有任何类型转换:如果两个值类型不相同,则它们不相等。如果两个值都是null或者都是undefined,则它们不相等。如果两个值都是true或者都是false,则它们相等。如果其中一个值是NaN,或者两个值都是NaN,则
2016-04-20 18:57:46
532
原创 JavaScript的类型转换(2)
“+”运算符二元运算符“+”可以对两个数字做加法,也可以做字符串的连接操作。加法运算符的转换规则优先于考虑字符串的连接,如果其中一个操作数是字符串或转换为字符串的对象,另外一个操作数将会转为字符串,加法将进行字符串的连接操作。如果两个操作数都不是类字符串(string-like)的,那么将进行算术加法运算。如果其中一个操作数是对象,则对象会遵循对象到原始值的转换规则转换为原始类值。
2016-04-20 18:21:34
442
原创 JavaScript中的运算符(1)
从书上摘的表JavaScript运算符通常会根据需要对操作数进行类型转换。左值(lvalue)指的是“表达式只能出现在赋值运算符的左侧”。在JavaScript中,变量、对象属性和数组元素均是左值。赋值运算符是有副作用的:如果给一个变量或属性赋值,那么那些使用这个变量或属性的表达式的值都会发生改变。“++”和“--”递增和递减运算与此类似,因为它们都包含隐性的赋值。delete运算符同
2016-04-19 19:36:19
475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人