1.如何评价芋道源码?芋道源码
2.分布式链路追踪 SkyWalking 源码分析 —— DataCarrier 异步处理库
3.bpmn-js 交流群附属资料(文档及开源库)
4.用了这么久 IDEA,你竟然不知道有个功能叫自动补全!真恶
如何评价芋道源码?心芋
芋道源码评价:总体评价不高。在使用过程中,道源得样会发现以下问题:
首先,码讲芋道源码基于ruoyi框架进行修改,芋道源码cms app 源码代码经过了大量改动,真恶并过度封装,心芋导致魔法绑定现象频繁出现,道源得样使用起来十分不便。码讲
其次,芋道源码查看官方文档需要关注gitee/git账号,真恶并且还要付费加入知识星球。心芋这种中国式开源思维在一定程度上限制了文档的道源得样开放性,不如直接在gitee上标明文档链接更为合理。码讲
第三,芋道源码充斥着广告营销信息,与微信公众号捆绑,扫码后需要关注多个公众号,joystick c 源码且需付费才能完成关注过程。这种操作方式显得过于复杂,不符合用户的使用习惯。
第四,芋道源码添加了大量功能,偏离了开源的基本原则。对于不同的后台业务场景,封装其他功能可以理解,但将商城功能融入其中,则显得不伦不类。开发者是否真正经历过实际企业业务场景的开发,值得质疑。
最后,修改包后,无法获得最新支持。代码虽然在格式上有所优化,但在过度封装业务的同时,拆分业务代码模块的光流源码方式让人难以理解,导致复杂度增高。
综上所述,芋道源码在使用过程中存在多方面的问题,对于简单的场景,可以直接使用ruoyi框架,而对于复杂场景,建议自研,以避免踩坑。
分布式链路追踪 SkyWalking 源码分析 —— DataCarrier 异步处理库
本文基于 SkyWalking 3.2.6 正式版,主要分享 SkyWalking Collector Remote 远程通信服务,用于 Collector 集群内部通信。Remote Module 应用于 SkyWalking 架构中,实现跨节点的流式处理。
本文从接口到实现顺序解析 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、dijkstra ros源码GRPCRemoteSerializeService、GRPCRemoteDeserializeService。RemoteModuleGRPCProvider 提供基于 gRPC 的组件服务实现类,实现远程发送服务、客户端选择器和远程客户端服务。GRPCRemoteClient 实现基于 gRPC 的远程客户端,支持异步发送消息。
最后,本文提及 SkyWalking Collector Remote 也支持基于 Kafka 的远程通信实现,但目前暂未完成。为了进一步学习 SkyWalking 的分布式链路追踪和远程通信机制,读者可以关注公众号芋道源码,获取 Java 源码解析、原理讲解、面试题、学习指南,回复「书籍」领取 Java 从入门到架构的 本书籍,加入技术群讨论 Java、后端、架构相关技术。
bpmn-js 交流群附属资料(文档及开源库)
目前成都的"小学生"大佬和作者共同开发了 Flowable 流程引擎组件,其中包含了前端设计器和后端流程引擎。
该组件与 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. 运维咖啡吧
稍微基础,有部分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/...
用了这么久 IDEA,你竟然不知道有个功能叫自动补全!
IDEA 隐藏着一个强大功能,即后缀补全,许多开发者竟不知其妙用,仍手动敲代码。此功能通过代码补全实现模板式补全,如遍历循环(for、foreach)、String.format()字符串包裹、类型转化表达式包裹、根据条件生成 if 语句、使用 instanceOf 生成分支判断语句等。 使用方法简单,只需在表达式后输入点号 .,接着输入提示或选择候选,常见候选配有 GIF 动画示例。操作如下:var 声明
null 判空
notnull 判非空
nn 判非空
for 遍历
fori 带索引的遍历
not 取反
if 条件判断
cast 强转
return 返回值
通过这一功能,开发者可大大提升编码效率,减少错误,实现更高效编程。了解更多知识,欢迎关注微信号(ID:芋道源码),获取Java源码解析、原理讲解、面试题、学习指南。回复书籍可获取本Java从入门到架构推荐书籍,技术群则可加入Java、后端、架构专业讨论群。快来提升技能,加入编程大家庭吧!