- 博客(42)
- 收藏
- 关注
原创 为什么我用举措Initiative而不是项目(译)
举措”这个词在团队中涵盖的工作范围更加广泛。而“项目”这个词表示的过于狭窄。在牛津词典中,对“项目”这个词的定义是一个项目是“一个个人或协作的企业,经过精心计划以实现特定目标”。根据项目管理协会(PMI)的定义,项目是“为了创造一个独特的产品、服务或结果而进行的暂时性努力”。这两种定义都很好,尽管我必须承认,作为一个前PMI高管,我对PMI的定义有所偏好。项目的一个有趣之处在于它们是暂时性的,有开始和结束,而问题就在这里。
2024-08-15 21:05:45 916
原创 一个好用mybatis-flex生成器配置
这里使用的mysql数据库,生成表,而且约定了entity和TableDef必须为自动生成,且不应该手动修改。mapper和mapperxml可以进行手动修改。
2024-08-09 17:10:53 242
原创 使用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 601
原创 一种docker start放回Error response from daemon: task xxx错误的解决方式
执行重启命令后,发现docker中有的应用无法启动,并显示出Exit(255)的错误提示。重新执行后发现返回错误。
2024-07-25 18:10:53 313
原创 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 523
原创 babyAGI(6)-babyCoder源码阅读4_Embbeding代码实现
在进入到主程序前,我们还需要看一个Embedding的实现代码,这里的功能主要是为了计算代码之间的相关性。embedding可以文本中的词语转化为低维实数向量的表示,来计算两段文字间的几何距离来判断词语的含义是否相近。
2024-04-05 19:45:22 745
原创 babyAGI(7)-babyCoder源码阅读3(任务执行相关agent)
该agent会根据,objective和task的内容自动分配要执行的agent整个任务分配的agent分成了两部分,一部分是任务推荐建议的agent,给出推荐的agent的建议第二部分,是结合推荐的建议,给出一个确定的agent推荐。
2024-04-03 22:58:08 407
原创 babyAGI(6)-babyCoder源码阅读2任务描述部分
废话不多说,我们直接看task的prompt这里需要注意的是,每个openai_call的temperature都不相同,这也是开发程序时需要调整和关注的一点。
2024-04-02 22:04:06 618
原创 BabyAGI(4)-babycoder第一部分,配置项和agent tools函数
babyCoder是一个工作在AI系统的上的工具,它可以根据一些简单的目标写一些短的代码。作为babyagi的一部分,babycoder的目标是为越来越厉害的人工智能agent打下基础,能够生成更大、更复杂的项目。babycoder主要的目的是为编写代码和修改的代码的AI agent提供一个简单的框架,随着时间的推移,变成一个更通用的系统。下面是整个babycoder的流程,同样从一个目标开始,然后进行任务创建、任务分解、调用相应的agents,编程代码。
2024-04-01 21:24:45 653
原创 babyAGI(3)-COOPERATIVE_MODE
babyAGI中有cooperative模式,其核心是调用ray库,实现分布式多进程执行任务。从BabyAGI的源码中,我们可以学习ray core的使用。
2024-03-31 13:05:56 679
原创 在DeepLn环境中安装VLLM与ChatGLM3
总体而言,vllm的优势有- vLLM通过PagedAttention机制,可以高效地管理大语言模型的keys和values,显著提高吞吐量。- memory sharing机制可以实现不同样本间的显存共享,进一步提升吞吐量。- 使用pip安装vLLM后,可以通过几行代码进行离线推理。- 也可以启动在线服务,然后通过API调用vLLM。- vLLM兼容主流的预训练模型,可以不修改模型结构就获得显著的加速效果。
2024-03-10 20:44:42 1028 1
原创 设置RabbitMQ超时时间
RabbitMQ默认的超时时间是30分钟,在消息消费超过30分钟后,rabbitMQ会发生错误,导致整个channel被销毁,无法继续消费。值得注意的是,这个事临时更改,永久更改需要进入rabbit.conf文件里修改。在RabbitMQ安装的终端执行。命令,将超时时间延长。可以查看设置的超时值。
2023-10-17 15:04:01 3689
原创 谈谈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 176
原创 Java中无符号数的处理
核心思想使用位数更长的数字覆盖之前的无符号位,如果我们使用short计算,那么我们就要转换到int类型去计算,int的无符号类型就需要使用long以此类推。在使用java编写虚拟机类型的程序时,经常会使用无符号数来作为地址或者操作数。java原生语言中并不支持无符号数,因此需要我们将有符号数转为无符号数。使用&计算符号,将有符号的参数提升到无符号参数。对于short而言使用&0xffff,来获取无符号数的真实值。获得结果可以使用&0xff,来获取无符号数的真实值。在编写8bit计算时十分有用。
2023-08-17 15:13:55 350
原创 使用zap日志替代xorm日志
xorm提供了日志接口,也就是说我们可以自己实现这些接口,用自己的日志框架啊替代原生的日志框架。直接在engine出调用SetLogger即可。这段代码实现了xorm.logger接口。下面是我用zap实现该接口的代码。
2023-08-11 11:05:53 198
原创 Clojure中面向对象的编程方式,Multimethods和hierarchy
multimethod这时尝试寻找关联dispatching值或者从dispatching值派生的方法,如果一个函数被defmethod定义,这个函数将被调用。clojure倾向于创建一个大的方法库,方法库中只有一个小的类型集合。clojure通过Multimethods来实现复杂的运行时多态,该系统支持调度一个或多个参数的类型、值、属性和元数据以及它们之间的关系。这段代码需要注意的是:Shape也是一个函数,返回一个Map中的键为:Shape的值。最后来一段clojure实现的面向对象的数据结构。
2023-07-04 16:11:14 175
原创 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 2188 1
原创 FL Studio 中菜单无效项的处理
FL Studio 中菜单无效项的处理在fl菜单中,有时候已经卸载的插件不会自动删除,这时候就需要手动删除。用户\Documents\Image-Line\FL Studio\Presets\Plugin database\Generators删除该目录下子目录的无效插件即可。...
2021-02-02 22:11:27 737
原创 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 1098
原创 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 600
原创 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 677
原创 JavaScript的属性访问
属性访问并不总是返回或设置一个值。查询一个不存在的属性并不会报错,只会返回undefined的。但是,如果对象不存在,那么试图查询这个不存在的对象的属性就会报错。null和undefined都没有属性值,因此查询这些值的属性会报错。这个方法可以解决这个问题:var len = undefined;if (book) { if (book.subtitle) len = boo
2016-05-01 20:11:58 574
原创 JavaScript的对象属性的两种访问方式
JavaScript中的对象可以通过点(.)方式和方括号([])运算符来获得属性的值。运算符的左侧应当是一个表达式它返回一个对象。对于点(.)来说右侧必须是一个以属性命名的简单标识符。对于方括号来说([]),右侧必须是一个以计算结果为字符串的表达式,而这个表达式必须是一个结果为字符串,这个字符串就是属性名。在ECMAscript 3中,点运算符后的标识符不能是保留字。如
2016-05-01 15:10:28 3475
原创 JavaScript 对象(1)
JavaScript 对象(1)JavaScript中的对象是基本数据类型。对象是一种复合值:它将很多值(原始值或其他对象)聚合在一起,可通过名字访问这些值。対像也可看做属性的无序集合,每个属性都是一个名/值对。属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。对象除了可以保持自有的属性,JavaScript对象还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。JavaScr
2016-04-26 20:39:51 509
原创 JavaScript的strict模式
use strict;strict模式是ECMAScript 5语言的一个受限子集,它修正了语言的重要缺陷,并提供健壮的查错功能和增强的安全机制。严格模式与非严格模式之间的区别如下:在严格模式中禁止使用with语句。在严格模式中,所有变量都要先声明,如果给一个未声明的变量、函数、函数参数、catch从句参数或全局对象属性赋值,将会抛出一个异常。而在非严格模式中(这种隐式
2016-04-25 20:38:18 1262
原创 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 679
原创 JavaScript的===和==
==和===都是判断两个值是否相等,当然它们对相等的定义不尽相同。===称为严格相等运算符(strict equality),它检测两个操作数是否严格相等,比较过程没有任何类型转换:如果两个值类型不相同,则它们不相等。如果两个值都是null或者都是undefined,则它们不相等。如果两个值都是true或者都是false,则它们相等。如果其中一个值是NaN,或者两个值都是NaN,则
2016-04-20 18:57:46 511
原创 JavaScript的类型转换(2)
“+”运算符二元运算符“+”可以对两个数字做加法,也可以做字符串的连接操作。加法运算符的转换规则优先于考虑字符串的连接,如果其中一个操作数是字符串或转换为字符串的对象,另外一个操作数将会转为字符串,加法将进行字符串的连接操作。如果两个操作数都不是类字符串(string-like)的,那么将进行算术加法运算。如果其中一个操作数是对象,则对象会遵循对象到原始值的转换规则转换为原始类值。
2016-04-20 18:21:34 417
原创 JavaScript中的运算符(1)
从书上摘的表JavaScript运算符通常会根据需要对操作数进行类型转换。左值(lvalue)指的是“表达式只能出现在赋值运算符的左侧”。在JavaScript中,变量、对象属性和数组元素均是左值。赋值运算符是有副作用的:如果给一个变量或属性赋值,那么那些使用这个变量或属性的表达式的值都会发生改变。“++”和“--”递增和递减运算与此类似,因为它们都包含隐性的赋值。delete运算符同
2016-04-19 19:36:19 459
原创 JavaScript数组与对象(1)
this并不是一个常量,它在程序的不同地方返回的值也不相同。JavaScript对数组初始化表达式进行求值的时候,数组初始化表达式中的元素表达式也都会各自计算一次。数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充undefined。JavaScript求对象初始化表达式值的时候,对象表达式也都会各自计算一次并且它们不必包含数值:它们可以是任意的JavaScript表达式。
2016-04-19 19:09:00 491
原创 CSS继承多个同样属性时的行为
p.red { color:red;}p.green { color: green;}p.yellow { color: yellow;}这是样式及html文件:这样以后p.red { color:red;}p.yellow { color: yellow;}p.green { color: green;}更改之后:可
2016-04-18 20:54:37 650
原创 JavaScript的变量作用域
全局变量拥有全局作用域,在JavaScript代码中任何地方都是有定义的。然而在函数内声明的变量只在函数体内有定义。函数参数也是局部变量,他们只在函数体内有定义。在函数体内,局部变量的优先级高于同名的全局变量。如果在函数内声明的一个局部变量或者函数参数中带有的变量与全局变量重名,那么全局变量就会被局部变量所遮盖。在声明全局作用域编写代码时可以不写var语句,但声明局部变量时则必须使
2016-04-18 17:06:52 496
原创 JavaScript的对象转为原始值
对象到字符串(object-to-string)和对象到数字(object-to-number)的转换是通过调用待转换对象的一个方法来完成的。所有的对象都继承了两个转换的方法。第一个是toString(),它的作用是返回一个反映该对象的字符串。许多类都定义了toString()的方法,都有其各自的实现。另一个转换对象的函数式valueOf()。这个方法并未详细定义:如果存在任意
2016-04-18 15:57:28 1299 1
原创 Linux 下Pillow的安装
Pillow的安装需要libjpeg、libpng、freetype。jpeg安装时需要:libtool在安装freetype时会出现_imagingft.c:73:31: fatal error: freetype/fterrors.h: No such file or directory #include 这时需要:ln -s /usr/lo
2016-04-04 13:07:32 5819
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人