1.分布式链路追踪 SkyWalking 源码分析 —— DataCarrier 异步处理库
2.bpmn-js 交流群附属资料(文档及开源库)
3.基于FastGPT和芋道源码挑战一句话生成代码
4.用了这么久 IDEA,芋道源码源你竟然不知道有个功能叫自动补全!源道源
分布式链路追踪 SkyWalking 源码分析 —— DataCarrier 异步处理库
本文基于 SkyWalking 3.2.6 正式版,主要分享 SkyWalking Collector Remote 远程通信服务,析下用于 Collector 集群内部通信。载芋Remote Module 应用于 SkyWalking 架构中,芋道源码源android 系统app 源码实现跨节点的源道源流式处理。
本文从接口到实现顺序解析 SkyWalking Collector Remote 的码解码资项目结构和组件,包括 RemoteModule、析下RemoteSenderService、载芋RemoteClientService、芋道源码源RemoteClient、源道源CommonRemoteDataRegisterService、码解码资RemoteDataRegisterService、析下RemoteDataIDGetter、载芋RemoteDataInstanceCreatorGetter、RemoteSerializeService、RemoteDeserializeService。快手批量登录源码RemoteModule 实现 Module 抽象类,定义服务如 RemoteSenderService、RemoteDataRegisterService,创建 RemoteClient 实现远程通信。CommonRemoteDataRegisterService 用于注册数据类型对应的远程数据创建器和获取数据协议编号。
接着,本文深入探讨基于 Google gRPC 的远程通信实现,包括 RemoteModuleGRPCProvider、GRPCRemoteSenderService、GRPCRemoteClientService、GRPCRemoteClient、RemoteCommonServiceHandler、GRPCRemoteSerializeService、GRPCRemoteDeserializeService。RemoteModuleGRPCProvider 提供基于 gRPC 的组件服务实现类,实现远程发送服务、客户端选择器和远程客户端服务。宠物官网源码GRPCRemoteClient 实现基于 gRPC 的远程客户端,支持异步发送消息。
最后,本文提及 SkyWalking Collector Remote 也支持基于 Kafka 的远程通信实现,但目前暂未完成。为了进一步学习 SkyWalking 的分布式链路追踪和远程通信机制,读者可以关注公众号芋道源码,获取 Java 源码解析、原理讲解、面试题、学习指南,回复「书籍」领取 Java 从入门到架构的 本书籍,加入技术群讨论 Java、后端、架构相关技术。
bpmn-js 交流群附属资料(文档及开源库)
目前成都的"小学生"大佬和作者共同开发了 Flowable 流程引擎组件,其中包含了前端设计器和后端流程引擎。cocoscreater捕鱼游戏源码
该组件与 Flowable 流程引擎深度结合,针对实际业务场景和使用方式,对属性编辑面板进行了重新设计,提升了用户体验。新增了符合业务场景的流程校验与进度预览功能,引入了富文本编辑器和代码编辑器。结合后端引擎,可以直接嵌入系统中使用。
详情请访问:bpmport.com/products。
设计器预览:
1. 编辑器:[designer](designer.bpmport.com/de...)
2. 预览与模拟:[viewer](designer.bpmport.com/vi...)
3. DMN决策设计器:[dmn](designer.bpmport.com/dm...)
一、bpmn-js 中文文档
以下是社区开发者提供和编写的文档,暂无官方中、英文文档。
1. 霖呆呆 - 全网最详bpmn.js中文教材/文档
bpmn-js 中国区启蒙导师~ 多种自定义组件讲解
github.com/LinDaiDai/bp...
juejin.cn/post/...
2. MiyueFE - bpmn.js 中文进阶专栏
需要了解部分源码,文章稍微枯燥,内容丰富
juejin.cn/column/...
3. 选型建议(logicflow,bpmn-js)
具有少量个人倾向
juejin.cn/post/...
4. 运维咖啡吧
稍微基础,tv影视app源码有部分API说明
blog.ops-coffee.cn/bpmn
5. YuJianghao(GitHub)
刚刚开始的源码解析
yujianghao.github.io/bp...
6. 官方论坛(英文,支持 GitHub 登录和订阅)
forum.bpmn.io/
二、bpmn-js 改造开源案例
仅编辑器部分
1. 官方案例
github.com/bpmn-io/bpmn...
demo.bpmn.io/s/start
2. MiyueFE
两个开源版本,有细节不够完美,但已经有多个团队和公司基于此项目进行二次开发,例如若依、橙单等
(Vue2 + js):github.com/miyuesc/bpmn...
(Vue3 + ts):github.com/moon-studio/...
三、仿钉钉风格流程编辑器开源案例
1. 蔡晓峰(Vue3 完整版):支持侧边栏配置与流程编辑
钉钉风格,配置较丰富,可结合后端项目进行 json 通信与 xml 转换
gitee.com/cai_xiao_feng...
2. 蔡晓峰(仿钉钉JSON转XML,Java端)
gitee.com/cai_xiao_feng...
3. MiyueFE(Vue3 基础示例):最基础的流程配置
没有实现侧边栏,需要自己实现;通过链表结构实现顺序固定
miyuesc.github.io/usefu...
四、admin system 系统开源案例
包含完整的后台管理系统模板
1. 蒜蓉辣椒酱(Vue3 + ts + flowable)
gitee.com/L1yp/van
2. cto-kevin(Vue3 + ts + camunda)
gitee.com/ctokevin/vue-...
3. 芋道源码(若依Pro)(Vue3/2 + ts/js + flowable)
gitee.com/zhijiantianya...
五、bpmn-js 开源工具仓库
1. 自动布局(官方,不支持泳道等)
github.com/bpmn-io/bpmn...
2. 自动布局(开发者修复案例,不支持泳道等)
github.com/marstamm/bpm...
3. 适配缩放的自定义配置网格背景(MiyueFE)
github.com/miyuesc/diag...
4. 支持官方 camunda 与 zeebe 引擎的属性面板汉化(MiyueFE)
GitHub - miyuesc/bpmn-js-in-zh: Chinese internationalization resources for bpmn-js
5. 更美观的上下文菜单(MiyueFE)
github.com/miyuesc/diag...
六、闭源项目
1. MiyueFE (Vue3 + ts) 多个自定义功能实现
实现了垂直泳道、多种自定义、activiti、flowable、camunda 三种流程引擎的属性配置;好东西,就是没开源。。。
vue-bpmn-process-designer.vercel.app
七、其他相关项目
1. didi/logic-flow - 专注于业务自定义的流程图编辑框架
github.com/didi/LogicFl...
2. didi/epage - 一款基于schema的可视化页面配置工具
github.com/didi/epage
3. FormMaking - 基于Vue的可视化表单设计器
github.com/GavinZhulei/...
基于FastGPT和芋道源码挑战一句话生成代码
芋道源码在编程社区中广为人知,为了解决代码生成问题,我们尝试通过FastGPT实现芋道框架的自动化代码生成。芋道的代码生成功能依赖于数据库表字段,因此,我们的目标在于借助GPT技术自动生成数据库表结构。一旦数据库表结构确定,相应的代码便能随之生成。实现这一需求的关键在于利用FastGPT的高级编排功能。编排的核心逻辑如下:
首先,通过FastGPT的高级编排,我们设计了一个流程,用于解析数据库表字段。这个流程可以接收数据库表字段信息作为输入,然后利用GPT模型生成相应的代码模板。这样的设计使得生成的代码高度符合数据库表的结构,从而保证了代码的准确性和可用性。
接下来,我们构建了一个示例,展示了如何使用FastGPT与芋道源码结合生成自定义接口。在示例中,我们首先定义了数据库表结构,然后利用FastGPT的解析功能将其转化为代码生成的输入数据。通过GPT模型,我们生成了符合数据库表结构的自定义接口代码。这个过程不仅简化了代码开发流程,也极大地提高了代码生成的效率。
通过将FastGPT与芋道源码相结合,我们不仅实现了数据库表结构到代码的自动化生成,还为开发者提供了一种高效、便捷的编程方式。这种方法不仅能够显著提升开发效率,还能够确保生成的代码质量,为开发者节省了大量时间和精力。在未来,随着FastGPT功能的进一步优化,我们期待它在代码生成领域的应用能取得更大的突破。
用了这么久 IDEA,你竟然不知道有个功能叫自动补全!
IDEA 隐藏着一个强大功能,即后缀补全,许多开发者竟不知其妙用,仍手动敲代码。此功能通过代码补全实现模板式补全,如遍历循环(for、foreach)、String.format()字符串包裹、类型转化表达式包裹、根据条件生成 if 语句、使用 instanceOf 生成分支判断语句等。 使用方法简单,只需在表达式后输入点号 .,接着输入提示或选择候选,常见候选配有 GIF 动画示例。操作如下:var 声明
null 判空
notnull 判非空
nn 判非空
for 遍历
fori 带索引的遍历
not 取反
if 条件判断
cast 强转
return 返回值
通过这一功能,开发者可大大提升编码效率,减少错误,实现更高效编程。了解更多知识,欢迎关注微信号(ID:芋道源码),获取Java源码解析、原理讲解、面试题、学习指南。回复书籍可获取本Java从入门到架构推荐书籍,技术群则可加入Java、后端、架构专业讨论群。快来提升技能,加入编程大家庭吧!