自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序新视界

每一步成长都与你分享。公众号:程序新视界

  • 博客(935)
  • 资源 (11)
  • 问答 (4)
  • 收藏
  • 关注

原创 《Drools 规则引擎视频教程》相关事宜

非常感谢大家能够有时间来看这篇博客,本篇博客主要介绍一下最近本人正在致力于的Drools 7 规则引擎文档和视频教程相关事项。Drools 本身在国内的技术网站上的资料就比较少,最近的视频教程更是几乎没有。本人最近一段时间正在致力于文档编写(已经完成过半)和视频的录制。同时,博客的编写发表也在同步进行。后期会根据项目中的时间录制实战教程。欢迎大家多多支持。文档、博客、Github代码完全免费开放,视

2017-08-12 10:38:45 13533 15

原创 RocketMQ中,Topic(主题)和Queue(队列)有什么区别

总的来说,Topic和Queue的主要区别在于,Topic是消息的分类,用于区分不同类型的消息,而Queue是消息的存储结构,用于提高消息的并发处理能力。如果你的应用场景中,消息的处理时间可能会有较大的差异,或者某些消息的处理时间可能会较长,那么你可能需要创建多个Queue,以便能够并行处理消息,提高系统的吞吐量。例如,你可以为不同类型的消息创建不同的Topic,然后根据消息的处理需求,为每个Topic创建适当数量的Queue。如果某个消息的处理时间较长,那么后续的消息将会被阻塞,直到这个消息被消费完毕。

2024-02-23 15:13:11 777

原创 Docker Linux快速安装及Nginx部署

最近正在部署一套新的Linux服务器环境,基于Docker来部署所有的应用,顺便整理了一套经过验证的操作手册,以便大家遇到类似需求时,可以直接拿来用。本文会涉及以下知识点:Docker的Linux安装和卸载、Docker用户组的创建、基于Docker的Nginx部署及简单配置。

2024-01-05 07:38:33 951

原创 为什么ChatGPT采用SSE协议而不是Websocket?

SSE(Server-Sent Events)是一种Web技术,它允许服务器实时向客户端推送数据。相比于传统的轮询和长轮询机制,SSE提供了一种更高效且实时的数据推送方式。这种技术主要应用于构建实时应用,例如实时消息推送、股票行情更新等。SSE是HTML5规范中的一个通信相关API,它主要包含两个部分:服务端与浏览器端的通信协议(基于HTTP协议),以及浏览器端JavaScript可使用的EventSource对象。

2023-12-29 08:03:12 1741

原创 构建强大REST API的10个最佳实践

在项目开发中,我们经常会使用REST风格进行API的定义,这篇文章为大家提供10条在使用REST API时的最佳实践。希望能够为你带来灵感和帮助。

2023-12-10 20:00:33 234

原创 Serverless单体架构的崛起

在过去的几十年里,我们见证了应用架构以快速的速度演变。当我还是一个年轻的程序员时,开始编写一个简单的代码库,我们可以称之为单体应用。我记得为前端编写了一些HTML/CSS,后端用了一些Java。但后来,随着时代发展和需求改变,分布式架构(我们现在称之为“微服务”)应运而生。

2023-12-10 09:49:15 316

原创 Java 21 的虚拟线程:高性能并发应用的福音

Java 21 最重要的特性之一就是虚拟线程 (JEP 444)。这些轻量级的线程降低了编写、维护和观察高吞吐量并行应用所需的努力。在讨论新特性之前,让我们先看一下当前的状态,以便更好地理解它试图解决什么问题以及带来了哪些好处。

2023-12-09 10:56:24 141

原创 2024年值得关注的8个未来数据库

分支数据库允许你从主数据库创建不同的分支,用于不同的目的。你可以将这个工作流程想象成类似于Git这样的版本控制系统,可以在项目中进行更改而不会破坏整个代码库。你可以将你的主数据库或生产数据库复制到一个单独的数据库分支中。然后,可以在该数据库分支中进行实验、进行更改,当你对它们完全满意时,将其合并回主数据库。因此,通过保持生产数据库的完整性,你可以高效而直观地对数据库进行尝试和实验。

2023-12-08 07:49:54 8304 1

原创 2024年,Rust和Go学哪个更好?

这两种语言,GoLang和Rust,由于它们非常相近的起源时间,被认为是彼此的竞争对手。Go的发展速度比Rust快。这两种语言有很多相似之处。GoLang和Rust之间的区别在于Go是简单的,而Rust是复杂的。然而,它们的功能和优先级在各种有意义的方面有所不同。Go与Rust并驾齐驱。这意味着这完全取决于你拥有的项目类型,主要取决于对你的业务来说什么是最好的。

2023-12-03 11:00:40 11472 31

原创 4款非常牛的Linux终端应用,thefuck尤其突出

这篇文章向大家介绍了4款非常棒且非常有用的Linux终端应用程序,可以使我们的日常命令操作更加高效。这些工具不仅可以让你在同事面前炫耀一番,而且它们还提供了实用且美观的功能。

2023-12-02 08:47:57 159

原创 12种常见的软件架构风格,架构师必备

软件架构是定义软件系统的高级结构和组织的过程。它涉及识别和选择正确的组件,决定它们之间如何交互,以及确定它们应该如何组织以实现特定的目标。软件架构的目标是创建一个可维护、可扩展和安全的系统,能够满足用户和组织的需求。软件组件是一种模块化、自包含的软件单元,可以在不同的系统中重复使用。组件通常具有明确定义的接口,指定其他组件如何与其交互。该接口包括有关组件的输入、输出和行为的信息。组件可以根据其功能进行分类,例如用户界面组件、数据访问组件和业务逻辑组件。

2023-12-01 07:20:35 259

原创 揭秘Git高手的10个秘密武器:让你的工作效率飙升!

想象一下,你刚刚在Git仓库中做了一个提交,但随后你意识到你忘记在那次提交中包含一个更改,或者你可能想要修正提交信息本身。当你想要撤销最后的提交并从头开始进行更改,同时在重新提交之前保持更改在工作目录中时,这很有帮助。暂存让你能够仔细策划你的提交,使其易于审查、组织和完善你的修改。Git将会创建一个新的提交,我们称之为提交E,它将抵消提交B引入的更改。当你在分支A上做更改时,你的团队要求你在分支B中修复一个bug。临时保存你还没准备好提交的更改,允许你切换分支或者在不提交未完成工作的情况下进行其他任务。

2023-11-29 08:23:43 160

原创 GitHub 2023排名前十的最佳开源项目

开源软件(OSS)彻底改变了当今软件开发的方式。在数百万个开源GitHub项目中,要找到最适合需求的开源项目可能会让人不知所措。今天给大家列出2023年增长最快的前10个开源GitHub仓库。通过这些增长最快的开源项目,也可以从整体上了解一下目前技术的整体动向。

2023-11-28 07:56:09 6160 6

原创 如何减少40%的Docker构建时间

随着Docker的普及,许多公司的产品会将组件构建为Docker镜像。但随着时间的推移,一些镜像变得越来越大,对应的CI构建也变得越来越慢。如果能在喝完一杯咖啡的时间(不超过5分钟)内完成构建,将是一个理想状态。否则,则会减慢开发人员的生产力。本篇文章带大家通过两个小的改变,来提升Docker的构建时间。

2023-11-25 17:21:54 455

原创 API与Endpoint的区别,你知道多少?

API是一个众所周知的概念,当涉及到应用程序监控时,通常还会提到另一个概念——端点(Endpoint)。有时候这两个术语会被结合在一起使用,比如API端点。虽然它们有一定的关联,但也存在一些区别。那么,在概念和使用上,API和端点有什么区别呢?在本文中,我们将探讨这个话题。

2023-11-16 08:33:03 358

原创 Java的类与Golang的结构体的区别

Java作为一门面向对象(OOP)的编程语言,它有类(class)的存在,而对于Golang,它不完全遵从OOP编程语言的设计思想,但它也有类似Java类的结构存在,那就是结构体(struct)。这篇文章就带大家通过对比的形式来了解一下Java中的类与Golang中的结构体。通过对比讲解的好处是,能够更加透彻、深入的理解一个事物。在此,无论你的主语言是Java还是Golang,在对比的过程中都会有意外的收获的。

2023-11-12 10:39:44 380

原创 老外总结的14条Go接口最佳实践

但是,与Java中的受检异常(Checked Exception)不同,Golang中的panic是一种不可恢复的异常,它会导致程序崩溃并触发执行堆栈的展开。今天这篇文章是关于Go语言中接口设计的一些最佳实践,与Java等语言不尽相似,但又带着Go语言的特色,可以对照学习,拓展编程思想层面的认知面。PS:在Go中,组合的使用非常普遍,通过组合可以实现结构体(对照Java类)的继承关系,而接口的组合同样可对照Java接口的继承关系。:在实现接口时,请确保实现接口中定义的所有方法,否则实现将无法编译。

2023-11-03 08:40:48 175

原创 因为缩进风格不同,两个程序员分手了~

在HBO的喜剧片《硅谷》第三季中,不同的缩进风格导致了两位程序员分手。在现实编程中,缩进时使用空格键还是Tab键,也不是一个小问题。

2023-10-27 07:24:38 128

原创 两周面试,遇到的那些奇事

最近两周在帮别的部门面试,期间遇到了许多典型案例。有的真正做到了学习一年,重复十年;有的一手好牌,打的稀碎;有的连基本的社交礼仪都不懂的……这里将这些案例和思考拿来分享,也是想让目前还从事软件行业的朋友们思考一下,避免类似的事情发生在自己身上。

2023-10-21 11:06:44 340 1

原创 docker容器添加对外映射端口

不同的容器Id不同,然后在/var/lib/docker/containers目录下找到与上述Id相同的目录,修改该目录下的 hostconfig.json 和 config.v2.json文件。如果容器正在运行,则提交操作将失败。此外,提交的容器必须是基于一个基础镜像构建的,否则提交操作也将失败。如果正在运行的容器已经修改了很多配置,重新创建镜像,修改配置比较麻烦时,可在现有的容器基础上打包一个镜像。当容器已经运行之后,且容器中已经有配置改动,不方便重新创建逐一修改配置时,则可通过两种方式新增端口映射。

2023-09-07 09:49:03 2051 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 1954 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 886

原创 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 608

原创 为什么建议同时学多门编程语言

在学习的过程中,最大的收获不是学会了Golang这门编程语言,而是对Java的编程有了更深入的理解。当学习多种语言时,你会发现不同的语言有不同的实现形式,但万变不离其宗,都是基于HTTP协议来实现。最根本的是,当你学习了多门语言时,每一个实现都有一个或多个对照,这样对实现的底层就更加理解,而不会过多关注语言本身的语法。不仅拓宽了思路,当有了对照,也能更好理解各自实现的优缺点,以及为什么如此实现。比如注册中心,在Java中有Nacos、Eureka等实现,而在Golang中,有Consul、Etcd等实现。

2023-08-31 08:07:34 1510

原创 Firewalld防火墙新增端口、开启、查看等

【代码】Firewalld防火墙新增端口、开启、查看等。

2023-08-28 10:04:31 1086

原创 职场坐冷板凳的那些日子

一般手段就是让你无所事事或安排一些边缘性的事务,不怎么搭理你,从团队层面排挤你,甚至否定你或PUA你,别人也不敢跟你沟通,以至于让你在团队中形成孤立的的状态。三方服务商安排了对接人,好歹自己作为甲方,于是天天就跟服务商的技术沟通,询问他们系统的设计实现,技术栈什么的。跟着一个领导到一家新公司,本来领导带领技术部门的,但由于内部斗争的失利,去带产品团队了,而我也归属到他对手的手下了。比如有同学曾有这样的经历:领导已经拍板的决定,他很刚的去跟领导据理力争,导致起了冲突,大吵一架,领导也下不来台。

2023-08-15 06:46:33 371 2

原创 不知什么原因,背调没过?

另外一个就是劳动诉讼,这个也是可以调查出来的,除了有专门的机构可以做这些事之外,某些诉讼可以在企业的“法律诉讼”中查到诉讼的另一方的。在稍微大一些的公司中,背调是非常重要的环节。还有就是,HR也有考核指标,HR在实际招聘的过程中会踩一些坑,为了避免类似的事情发生,会在既有的经验上进行迭代筛查条件。:除了个人表现的评分确认之外,如果同一个公司的背调,还会交叉确认一下你留的其他人员是否也是这家公司的,是否是对应岗位的。另外,在工作中,平时与同事和上下级相处时,保持融洽的关系,留一个联系方式等也有一定的必要性。

2023-08-12 11:47:15 343

原创 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 835

原创 2500份工作申请,46次面试,只拿到了一份offer

焦虑是存在的,部分企业对年龄有限制也是存在的,但事实并没有媒体宣传的那么严重。看到一位被Meta解雇的PM对找工作的分享,才发现,不仅仅国内如此,国外也是如此。同时,招聘的主管,一般不太会招聘比自己年龄大的人,因为不好管。第二,想找一个能力强的人,多面手,把所有的事都扛起来。一个简单的例子:本来开发一个功能需要三人日,但开发者使用了AI的帮助,一人日便可完成,而且质量还更好。总之,市场不乐观,但也没那么悲观,35岁焦虑是客观存在的,也在慢慢缓解,而焦虑也能够带来一部分动力,提早寻求改变。

2023-08-03 08:27:06 181

原创 如何快速找到合适的工作?

不同的行业,不同的公司,不同的岗位,不同的市场行情下是有不同的薪资的。如果你的预期过高,高于公司能够提供的上限,即便面试成功了,很可能因为这么一个高预期,对方懒得讨价还价而失去机会。同时,你还要在面试之前,把之前做过的三方支付逻辑彻底搞明白,甚至再学习更多这方面的知识。这一条是紧接上一条的,不仅是现在,甚至是过往及未来,如果你能够根据招聘公司的需要去挖掘自己的匹配点,准备自己的简历。当然,预演预判的不仅仅是技术层面的,还可能是你做成的事,值得”炫耀“的成果,对软件、工作(职业规划)、职场等的一些思考。

2023-08-01 08:14:23 442

原创 聊聊大厂光环与面试落差

无论什么市场行情,真正需要的都是与市场所匹配的能力。

2023-07-30 10:35:35 181

原创 Golang中iota使用案例详解

在Go语言社区中,iota通常被发音为 “eye-oh-tuh”。这是一种简单而常见的发音方式。请注意,这种发音并不是官方或标准的,而是一种通用的约定。在不同的语言环境中,可能存在稍微不同的发音方式。在Go语言中,iota是一个预定义的标识符,用于在常量声明中生成连续的递增值。iota的值从0开始,每次在常量声明中使用时递增1。通过理解和使用iota,你可以在常量声明中方便地生成连续的递增值。

2023-07-23 10:35:09 362

原创 Golang中函数和方法的区别

Go中函数与方法的区别是什么

2023-07-22 10:05:30 423

原创 学习能力必然是职场的核心能力

学习能力必然是最具竞争力的能力之一。

2023-07-19 07:27:08 204

原创 Python中Matplotlib在IDE绘图时报MatplotlibDeprecationWarning错误信息

在IDEA或Pycharm中执行Matplotlib报MatplotlibDeprecationWarning错误

2023-06-15 10:54:46 928

原创 import matplotlib.pyplot as plt报错

在使用intellij idea时,当通过如下方式使用时,matplotlib.pyplot导入报错

2023-06-12 10:14:23 2597

原创 linux 系统通过unzip命令解压Mac下压缩的zip文件,报错“Segmentation fault”

"Segmentation fault"错误通常是由于程序访问无效的内存地址或发生了内存越界等问题引起的。尝试重新下载或获取其他可靠的压缩文件进行解压。你可以通过验证压缩文件的完整性或尝试在其他系统上进行解压缩来排除这个问题。确保你的系统具有足够的内存和磁盘空间来执行解压操作。你可以检查系统的可用资源并释放一些空间来排除这个问题。如果以上解决方法都不起作用,建议尝试在其他系统或虚拟机中进行解压操作,或者尝试使用其他解压工具进行解压缩。尝试使用其他解压工具(如7-Zip)或不同版本的解压工具来解压缩文件。

2023-05-19 15:21:52 1023

原创 Matplotlib show方法警告原因

属性的Figure Canvases的支持。这意味着如果你的代码中使用了没有设置该属性的Figure Canvases,未来的版本中可能会导致错误或不可预测的行为。属性的Figure Canvases(绘图画布),发出了警告。这个属性是为了标识在交互式环境下所需的绘图框架。需要注意的是,确保在进行任何修改之前备份你的代码,并测试修改后的代码以确保一切正常运行。出现该警告信息的原因为:从Matplotlib 3.6版本开始,对于没有。警告的意思是在未来的两个次要版本中,即将移除对于没有。

2023-05-17 10:21:12 1586

原创 Python3中for循环多个变量详解

for循环用于迭代任何序列,从列表到元组再到字典。它甚至可以遍历一个字符串。在同一行代码中同时对变量进行多次赋值,称为。Python的for循环中,使用多个变量可以应用于列表或字典,但它不适用于一般错误。

2023-05-02 11:06:39 3974

原创 Python3中zip函数使用详解

在 Python 2.x中,zip() 函数返回的是一个列表。在Python3中,zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组(Tuple),然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号( ),列表使用方括号[ ]。

2023-05-02 10:35:42 524

技术顾问协议模板,word版本

技术顾问协议模板,word版本

2022-08-01

从Drools规则引擎到风控反洗钱系统v0.3.2.pdf

从Drools规则引擎到风控反洗钱系统v0.3.2.pdf ,此版本文档在不断刚更新升级中。

2017-08-22

从Drools规则引擎到风控反洗钱系统V0.2.3

从Drools规则引擎到风控反洗钱系统V0.2.3

2017-08-03

springboot集成drools实现重新加载规则

springboot集成drools实现重新加载规则

2017-08-02

drools calendar 使用demo

drools calendar 使用demo

2017-07-28

drools集成springboot demo

drools集成springboot demo

2017-07-18

建模工具StarUML的使用手册

StarUML的使用手册

2017-05-19

node-v4.5.0-linux-x64.tar.xz

官网下载是在太慢,好不容易下载下来了,索性分享在这里。

2016-11-08

kie-drools 6.4.0 依赖jar包

kie-drools 6.4.0 依赖jar包

2016-09-09

pdf格式文件阅读器

pdf格式文件阅读器pdf格式文件阅读器

2011-06-22

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

TA关注的人

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