- 博客(945)
- 资源 (11)
- 问答 (4)
- 收藏
- 关注
原创 《Drools 规则引擎视频教程》相关事宜
非常感谢大家能够有时间来看这篇博客,本篇博客主要介绍一下最近本人正在致力于的Drools 7 规则引擎文档和视频教程相关事项。Drools 本身在国内的技术网站上的资料就比较少,最近的视频教程更是几乎没有。本人最近一段时间正在致力于文档编写(已经完成过半)和视频的录制。同时,博客的编写发表也在同步进行。后期会根据项目中的时间录制实战教程。欢迎大家多多支持。文档、博客、Github代码完全免费开放,视
2017-08-12 10:38:45 13639 15
原创 Pytorch库中torch.normal()详解
以上是 torch.normal() 函数的基本用法。可以根据具体需求调整 mean 和 std 的值来生成不同形状、不同均值和标准差的正态分布随机数。torch.normal()函数,用于生成符合正态分布(高斯分布)的随机数。在 PyTorch 中,这个函数通常用于生成 Tensor。返回一个张量,其形状与 mean 和 std 相同,其中的元素服从均值为 mean,标准差为 std 的正态分布。
2024-10-03 21:04:20 662
原创 如何理解线性回归中的w和b
在线性回归算法中,权重(weights)和偏置(bias)通常会用w和b这两个字母来表示。这些符号的使用有一定的历史和数学背景,但也可以说是约定俗成。总体来说,使用 w 表示权重和 b 表示偏置是约定俗成的,但它们背后的逻辑也符合数学公式表示的简洁和统一性的需求。
2024-10-02 09:36:57 250
原创 AI火爆,传统的规则引擎是否无用武之地?
随着ChatGPT的问世,AI的火爆程度再一次被点燃,但看目前市场上对于GPT的应用依旧处于探索阶段,除了基座大模型之外,并没有真正意义上的AI原生成功产品。也就是说,目前大多数产品都还处于探索阶段。ChatGPT如此火爆,那么,我们现有的产品,特别是充斥着大量规则的逻辑与变数的产品,是否适合通过大模型来进行改造和演进呢?基于这个话题,这篇文章我们就来聊聊“基于传统规则引擎”和“基于AI”实现规则化产品的不同视角与实现。
2024-09-21 09:04:07 3697
原创 接口(Interface)和端点(Endpoint)的区别
接口是一个更宽泛的术语,它描述了系统、组件或服务之间相互交互的一个明确界面或约定。这不仅限于Web服务,也适用于软件库、框架、硬件设备等之间的交互。
2024-09-09 10:39:49 254
原创 机器学习之标量和向量的定义
在编程中,标量通常对应于基本数据类型(如整数、浮点数)、向量则可以通过数组、列表或特定的向量类型来实现,特别是在进行科学计算、数据分析或机器学习等领域时,向量的概念非常重要。在二维或三维空间中,向量可以用箭头来表示,箭头的长度代表了向量的大小(有时也称为向量的“模”),箭头的方向则表明了向量的方向。数学上,向量通常表示为有序的数值对或数值组,如二维向量(x, y)或三维向量(x, y, z)。比如,在处理图像数据、物理模拟、机器学习等领域中,对这些基本概念的理解将直接影响到程序的效率和效果。
2024-08-27 10:04:30 686 1
原创 Pandas的append函数不可用,报错no attribute
当然,根据错误提示,可以使用’_append’来达到替换append函数的目的。但这样并不友好,因为访问了受保护的函数,而且在某些场景下并不一定会生效。出现上述错误的原因:Pandas在版本的更迭中,逐渐废弃了append函数的使用,转而推荐使用concat()来代替。Pandas版本为2.2.2版本,算是目前的最新版本了。
2024-08-26 16:09:33 922
原创 Docker创建enrollment token错误异常
这个设置是必须的,因为它启用了Elasticsearch的安全特性,允许通过enrollment token的方式来简化节点和Kibana实例的加入过程。如果是通过Docker启动的Elasticsearch,需要先进入容器内部,或者在启动容器时通过挂载卷的方式来修改或替换这个配置文件。部署完kibana,需要通过enrollment token方式来连接elasticsearch,此时需要在elasticsearch中创建enrollment token。
2024-04-24 13:51:27 1226
原创 elasticsearch Docker启动Device or resource busy异常
改为上述配置便可正常启动。同时需要注意的是,在该版本中,上述配置是默认的配置,所以可以不用进行指定配置。对应的elasticsearch版本为elasticsearch:8.13.0。上述配置中,冒号后面缺少空格,标准的格式是应该有空格的。常见错误二:参数配置错误。
2024-04-24 10:03:36 769
原创 35岁+技术人的困境与选择
最近一些大厂的持续裁员事件,让职场年龄焦虑的话题又火热起来了。职场的年龄焦虑是客观存在的事实,这是市场与资本相互作用的必然结果。资本在运作的过程中,肯定是要逐利的,最终也是要趋向于利润最大化的。因此,这样的环境和状况是一个客观存在,个人大概率是无法改变的。基于这样的客观事实,身在职场的我们需要做些什么呢?首先要做的就是在心态上不盲从,不夸大焦虑。与此同时,也要正视它,想办法适应它。今天这篇文章就聊聊最近看到的一些现象和想法。
2024-04-18 14:02:49 674
原创 RocketMQ中,Topic(主题)和Queue(队列)有什么区别
总的来说,Topic和Queue的主要区别在于,Topic是消息的分类,用于区分不同类型的消息,而Queue是消息的存储结构,用于提高消息的并发处理能力。如果你的应用场景中,消息的处理时间可能会有较大的差异,或者某些消息的处理时间可能会较长,那么你可能需要创建多个Queue,以便能够并行处理消息,提高系统的吞吐量。例如,你可以为不同类型的消息创建不同的Topic,然后根据消息的处理需求,为每个Topic创建适当数量的Queue。如果某个消息的处理时间较长,那么后续的消息将会被阻塞,直到这个消息被消费完毕。
2024-02-23 15:13:11 2592
原创 Docker Linux快速安装及Nginx部署
最近正在部署一套新的Linux服务器环境,基于Docker来部署所有的应用,顺便整理了一套经过验证的操作手册,以便大家遇到类似需求时,可以直接拿来用。本文会涉及以下知识点:Docker的Linux安装和卸载、Docker用户组的创建、基于Docker的Nginx部署及简单配置。
2024-01-05 07:38:33 1170
原创 为什么ChatGPT采用SSE协议而不是Websocket?
SSE(Server-Sent Events)是一种Web技术,它允许服务器实时向客户端推送数据。相比于传统的轮询和长轮询机制,SSE提供了一种更高效且实时的数据推送方式。这种技术主要应用于构建实时应用,例如实时消息推送、股票行情更新等。SSE是HTML5规范中的一个通信相关API,它主要包含两个部分:服务端与浏览器端的通信协议(基于HTTP协议),以及浏览器端JavaScript可使用的EventSource对象。
2023-12-29 08:03:12 3180
原创 构建强大REST API的10个最佳实践
在项目开发中,我们经常会使用REST风格进行API的定义,这篇文章为大家提供10条在使用REST API时的最佳实践。希望能够为你带来灵感和帮助。
2023-12-10 20:00:33 347
原创 Serverless单体架构的崛起
在过去的几十年里,我们见证了应用架构以快速的速度演变。当我还是一个年轻的程序员时,开始编写一个简单的代码库,我们可以称之为单体应用。我记得为前端编写了一些HTML/CSS,后端用了一些Java。但后来,随着时代发展和需求改变,分布式架构(我们现在称之为“微服务”)应运而生。
2023-12-10 09:49:15 419
原创 Java 21 的虚拟线程:高性能并发应用的福音
Java 21 最重要的特性之一就是虚拟线程 (JEP 444)。这些轻量级的线程降低了编写、维护和观察高吞吐量并行应用所需的努力。在讨论新特性之前,让我们先看一下当前的状态,以便更好地理解它试图解决什么问题以及带来了哪些好处。
2023-12-09 10:56:24 409
原创 2024年值得关注的8个未来数据库
分支数据库允许你从主数据库创建不同的分支,用于不同的目的。你可以将这个工作流程想象成类似于Git这样的版本控制系统,可以在项目中进行更改而不会破坏整个代码库。你可以将你的主数据库或生产数据库复制到一个单独的数据库分支中。然后,可以在该数据库分支中进行实验、进行更改,当你对它们完全满意时,将其合并回主数据库。因此,通过保持生产数据库的完整性,你可以高效而直观地对数据库进行尝试和实验。
2023-12-08 07:49:54 10783 1
原创 2024年,Rust和Go学哪个更好?
这两种语言,GoLang和Rust,由于它们非常相近的起源时间,被认为是彼此的竞争对手。Go的发展速度比Rust快。这两种语言有很多相似之处。GoLang和Rust之间的区别在于Go是简单的,而Rust是复杂的。然而,它们的功能和优先级在各种有意义的方面有所不同。Go与Rust并驾齐驱。这意味着这完全取决于你拥有的项目类型,主要取决于对你的业务来说什么是最好的。
2023-12-03 11:00:40 16171 33
原创 4款非常牛的Linux终端应用,thefuck尤其突出
这篇文章向大家介绍了4款非常棒且非常有用的Linux终端应用程序,可以使我们的日常命令操作更加高效。这些工具不仅可以让你在同事面前炫耀一番,而且它们还提供了实用且美观的功能。
2023-12-02 08:47:57 506
原创 12种常见的软件架构风格,架构师必备
软件架构是定义软件系统的高级结构和组织的过程。它涉及识别和选择正确的组件,决定它们之间如何交互,以及确定它们应该如何组织以实现特定的目标。软件架构的目标是创建一个可维护、可扩展和安全的系统,能够满足用户和组织的需求。软件组件是一种模块化、自包含的软件单元,可以在不同的系统中重复使用。组件通常具有明确定义的接口,指定其他组件如何与其交互。该接口包括有关组件的输入、输出和行为的信息。组件可以根据其功能进行分类,例如用户界面组件、数据访问组件和业务逻辑组件。
2023-12-01 07:20:35 675
原创 揭秘Git高手的10个秘密武器:让你的工作效率飙升!
想象一下,你刚刚在Git仓库中做了一个提交,但随后你意识到你忘记在那次提交中包含一个更改,或者你可能想要修正提交信息本身。当你想要撤销最后的提交并从头开始进行更改,同时在重新提交之前保持更改在工作目录中时,这很有帮助。暂存让你能够仔细策划你的提交,使其易于审查、组织和完善你的修改。Git将会创建一个新的提交,我们称之为提交E,它将抵消提交B引入的更改。当你在分支A上做更改时,你的团队要求你在分支B中修复一个bug。临时保存你还没准备好提交的更改,允许你切换分支或者在不提交未完成工作的情况下进行其他任务。
2023-11-29 08:23:43 260
原创 GitHub 2023排名前十的最佳开源项目
开源软件(OSS)彻底改变了当今软件开发的方式。在数百万个开源GitHub项目中,要找到最适合需求的开源项目可能会让人不知所措。今天给大家列出2023年增长最快的前10个开源GitHub仓库。通过这些增长最快的开源项目,也可以从整体上了解一下目前技术的整体动向。
2023-11-28 07:56:09 7629 6
原创 如何减少40%的Docker构建时间
随着Docker的普及,许多公司的产品会将组件构建为Docker镜像。但随着时间的推移,一些镜像变得越来越大,对应的CI构建也变得越来越慢。如果能在喝完一杯咖啡的时间(不超过5分钟)内完成构建,将是一个理想状态。否则,则会减慢开发人员的生产力。本篇文章带大家通过两个小的改变,来提升Docker的构建时间。
2023-11-25 17:21:54 554
原创 API与Endpoint的区别,你知道多少?
API是一个众所周知的概念,当涉及到应用程序监控时,通常还会提到另一个概念——端点(Endpoint)。有时候这两个术语会被结合在一起使用,比如API端点。虽然它们有一定的关联,但也存在一些区别。那么,在概念和使用上,API和端点有什么区别呢?在本文中,我们将探讨这个话题。
2023-11-16 08:33:03 1778
原创 Java的类与Golang的结构体的区别
Java作为一门面向对象(OOP)的编程语言,它有类(class)的存在,而对于Golang,它不完全遵从OOP编程语言的设计思想,但它也有类似Java类的结构存在,那就是结构体(struct)。这篇文章就带大家通过对比的形式来了解一下Java中的类与Golang中的结构体。通过对比讲解的好处是,能够更加透彻、深入的理解一个事物。在此,无论你的主语言是Java还是Golang,在对比的过程中都会有意外的收获的。
2023-11-12 10:39:44 520
原创 老外总结的14条Go接口最佳实践
但是,与Java中的受检异常(Checked Exception)不同,Golang中的panic是一种不可恢复的异常,它会导致程序崩溃并触发执行堆栈的展开。今天这篇文章是关于Go语言中接口设计的一些最佳实践,与Java等语言不尽相似,但又带着Go语言的特色,可以对照学习,拓展编程思想层面的认知面。PS:在Go中,组合的使用非常普遍,通过组合可以实现结构体(对照Java类)的继承关系,而接口的组合同样可对照Java接口的继承关系。:在实现接口时,请确保实现接口中定义的所有方法,否则实现将无法编译。
2023-11-03 08:40:48 240
原创 因为缩进风格不同,两个程序员分手了~
在HBO的喜剧片《硅谷》第三季中,不同的缩进风格导致了两位程序员分手。在现实编程中,缩进时使用空格键还是Tab键,也不是一个小问题。
2023-10-27 07:24:38 188
原创 两周面试,遇到的那些奇事
最近两周在帮别的部门面试,期间遇到了许多典型案例。有的真正做到了学习一年,重复十年;有的一手好牌,打的稀碎;有的连基本的社交礼仪都不懂的……这里将这些案例和思考拿来分享,也是想让目前还从事软件行业的朋友们思考一下,避免类似的事情发生在自己身上。
2023-10-21 11:06:44 405 1
原创 docker容器添加对外映射端口
不同的容器Id不同,然后在/var/lib/docker/containers目录下找到与上述Id相同的目录,修改该目录下的 hostconfig.json 和 config.v2.json文件。如果容器正在运行,则提交操作将失败。此外,提交的容器必须是基于一个基础镜像构建的,否则提交操作也将失败。如果正在运行的容器已经修改了很多配置,重新创建镜像,修改配置比较麻烦时,可在现有的容器基础上打包一个镜像。当容器已经运行之后,且容器中已经有配置改动,不方便重新创建逐一修改配置时,则可通过两种方式新增端口映射。
2023-09-07 09:49:03 3033 1
原创 Nginx1.25.1起弃用 Listen 指令的 Http2 参数,异常:the “listen ... http2“ directive is deprecated
Nginx在1.25.0版本中实验性的支持HTTP/3后,在1.25.1版本中弃用了listen指令的http2参数,单独加入了http2指令。
2023-09-06 20:05:45 4010 1
原创 复制文件到Docker容器内
假设一个运行的容器ID为9a28f199688e,想要将本地文件/path/to/local-file 复制到容器中的 /path/to/destination 目录中。这将把本地目录 /path/to/local-directory 中的所有文件和子目录复制到容器的 /path/to/destination 目录中。请注意,容器必须已经启动并且必须在运行中才能使用docker cp 命令。docker cp 命令用于在Docker容器之间复制文件或目录。
2023-09-06 19:47:26 1565
原创 go get命令不再具有安装功能
在golang 1.18版本中删掉了go get安装二进制的功能,也意味着go get的行为就等同于现在执行go get -d命令了,仅需下载源码,并将依赖添加至 go.mod 即可。随着go install的出现,在golang 1.18版本中,go get将二进制安装相关的功能都转移到了go install,仅作为用于编辑go.mod文件的命令存在。如果你使用的是Golang 1.18及以上版本,那么之前很多文章中go get命令可能并不适合依赖二进制了,而需要改用go install命令来进行操作。
2023-09-06 14:05:07 963
原创 为什么建议同时学多门编程语言
在学习的过程中,最大的收获不是学会了Golang这门编程语言,而是对Java的编程有了更深入的理解。当学习多种语言时,你会发现不同的语言有不同的实现形式,但万变不离其宗,都是基于HTTP协议来实现。最根本的是,当你学习了多门语言时,每一个实现都有一个或多个对照,这样对实现的底层就更加理解,而不会过多关注语言本身的语法。不仅拓宽了思路,当有了对照,也能更好理解各自实现的优缺点,以及为什么如此实现。比如注册中心,在Java中有Nacos、Eureka等实现,而在Golang中,有Consul、Etcd等实现。
2023-08-31 08:07:34 1574
原创 职场坐冷板凳的那些日子
一般手段就是让你无所事事或安排一些边缘性的事务,不怎么搭理你,从团队层面排挤你,甚至否定你或PUA你,别人也不敢跟你沟通,以至于让你在团队中形成孤立的的状态。三方服务商安排了对接人,好歹自己作为甲方,于是天天就跟服务商的技术沟通,询问他们系统的设计实现,技术栈什么的。跟着一个领导到一家新公司,本来领导带领技术部门的,但由于内部斗争的失利,去带产品团队了,而我也归属到他对手的手下了。比如有同学曾有这样的经历:领导已经拍板的决定,他很刚的去跟领导据理力争,导致起了冲突,大吵一架,领导也下不来台。
2023-08-15 06:46:33 468 2
原创 不知什么原因,背调没过?
另外一个就是劳动诉讼,这个也是可以调查出来的,除了有专门的机构可以做这些事之外,某些诉讼可以在企业的“法律诉讼”中查到诉讼的另一方的。在稍微大一些的公司中,背调是非常重要的环节。还有就是,HR也有考核指标,HR在实际招聘的过程中会踩一些坑,为了避免类似的事情发生,会在既有的经验上进行迭代筛查条件。:除了个人表现的评分确认之外,如果同一个公司的背调,还会交叉确认一下你留的其他人员是否也是这家公司的,是否是对应岗位的。另外,在工作中,平时与同事和上下级相处时,保持融洽的关系,留一个联系方式等也有一定的必要性。
2023-08-12 11:47:15 661
原创 Go strings.Title方法被废弃(Deprecated)
strings.Title的文档中提到了,可以通过golang.org/x/text/cases 来替代strings.Title的功能,也就是cases.Title。cases.Title的返回类型是Caser结构体,调用它的String方法,该方法接收一个字符串,并返回一个经过Caser处理过后的字符串。在荷兰语的单词中,“ijsland”应大写为“IJsland”,但结果转换为“Ijsland”。变量a转换处理的结果是“Go.Go․go”,但按照实际的诉求应当为“Go.Go․Go”。
2023-08-03 13:59:39 1122
原创 2500份工作申请,46次面试,只拿到了一份offer
焦虑是存在的,部分企业对年龄有限制也是存在的,但事实并没有媒体宣传的那么严重。看到一位被Meta解雇的PM对找工作的分享,才发现,不仅仅国内如此,国外也是如此。同时,招聘的主管,一般不太会招聘比自己年龄大的人,因为不好管。第二,想找一个能力强的人,多面手,把所有的事都扛起来。一个简单的例子:本来开发一个功能需要三人日,但开发者使用了AI的帮助,一人日便可完成,而且质量还更好。总之,市场不乐观,但也没那么悲观,35岁焦虑是客观存在的,也在慢慢缓解,而焦虑也能够带来一部分动力,提早寻求改变。
2023-08-03 08:27:06 232
原创 如何快速找到合适的工作?
不同的行业,不同的公司,不同的岗位,不同的市场行情下是有不同的薪资的。如果你的预期过高,高于公司能够提供的上限,即便面试成功了,很可能因为这么一个高预期,对方懒得讨价还价而失去机会。同时,你还要在面试之前,把之前做过的三方支付逻辑彻底搞明白,甚至再学习更多这方面的知识。这一条是紧接上一条的,不仅是现在,甚至是过往及未来,如果你能够根据招聘公司的需要去挖掘自己的匹配点,准备自己的简历。当然,预演预判的不仅仅是技术层面的,还可能是你做成的事,值得”炫耀“的成果,对软件、工作(职业规划)、职场等的一些思考。
2023-08-01 08:14:23 511
Maven打包替换类变量问题
2015-11-26
dubbo因服务器关闭导致本地启动抛异常
2015-01-08
两个Long类型相乘溢出怎么解决
2013-08-07
tomcat 配置 编码方式后,重新启动 配置还原
2012-12-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人