今天这篇博文的主要目的是分享一下我设计Saga的实现思路来抛砖引玉,其实Saga本身非常的类似于一个简单的工作流体系,相比工作流不一样的部分在于它没有工作流的复杂逻辑处理机制(比如会签),没有条件分支机制,相对工作流不同的部分在于工作流流程阻塞结束后它多了一个反向补偿的流程.同时相对于工作流通过灵活的配置来实现运行时来讲他的逻辑流转比较固化基本在代码编写阶段就已经完成了流程的配置,编译后运行时一般是不会更改的.下面就从配置.流转.传递模型和异常处理几个方面来讲一下我的实现思路是什么权当抛砖引玉,…
HyperLedger Fabric 学习思路分享 HyperLedger Fabric最初是由Digital Asset和IBM公司贡献的.由Linux基金会主办的一个超级账本项目,它是一个目前非常流行并广为人知的区块链网络框架的实现方案.作为一种基于模块化架构开发应用程序或解决方案的基础,HyperLedger Fabric支持如共识和会员服务等即插即用的组件,它的设计初衷是支持不同组件的可插拔实现,并适应整个经济生态系统的复杂性和高精度性.HyperLedger Fabric利用容器技术运…
借用UAC完成的提权思路分享 背景 UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员‌密码. 也就是说一旦用户允许启动的应用程序通过UAC验证,那么这个程序也就有了管理员权限.如果我们通过某种方式劫持了通过用户UAC验证的程序,那么相应的我们的程序也就实现了提权的过程. 提权过程概述 首先我们找到目标程序,查找其动态加…
在上一篇博客中,讲了一下使用GDAL从文件流中构造一个GDAL可以识别的数据来进行处理.原以为这个接口在C#中没有,仔细看了下GDAL库中源码,发现C#版本也有类似的函数,下面是GDAL库中的一个C#使用示例代码. using System; using System.IO; using System.Runtime.InteropServices; using OSGeo.GDAL; /// <summary> /// 一个基于C#语言的简单示例,使用内存文件 /// </summar…
Hibernate的主要功能及用法: Ⅰ.Hibernate封装了JDBC,使Java程序员能够以面向对象的思想对数据库进行操作 Ⅱ.Hibernate可以应用于EJB的J2EE架构,完成数据的持久化 Ⅲ.Hibernate的核心接口有5个(Session.SessionFactory.Transaction.Query.Configuration) Ⅲ.1.Session:负责保存.更新.删除.加载.查询对象. Ⅲ.2.SessionFactory:负责Hibernate的初始化 Ⅲ.3.Tr…
哈哈好久没冒泡了,最进看见点选验证码有点意思,所以想自己写一个. 先上效果图 如果你被这个效果吸引了就请继续看下去. 贴代码前先说点思路: 1.要有一个汉字库,并按字形分类.(我在数据库里是安部首分类的) 2.获取验证码(也就是取几个文字做验证码) 3.根据取出来的文字去找形近字 4.排列验证码文字和形近字 5.绘制图片 6.显示 6.写个博客分享一下(分享代码改变世界) 一.获取字库 我国文化博大精深,辣么多的字从哪儿来?当然我不可能手动加进去,于是我就在网上随便找了一个能查汉字的网站,去抓别…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/986933 缘起:成百上千台服务器,上千人的公司,对于账户统一认证的需求非常强烈,一个人入职开账号太繁琐了,走了删除也费劲,最近给一个公司做了AD+LDAP账户统一认证解决方案,两个公司内部网络和几个机房的IDC网络做统一账户认证,其中包括SVN,POSFIX,VPN,FTP,SAMBA, LINUX登录等等.实际部署…
前言 本文意在记录,在爬虫过程中,我首次遇到Protobuf时的一系列问题和解决问题的思路. 文章编写遵循当时工作的思路,优点:非常详细,缺点:文字冗长,描述不准确 protobuf用在前后端传输,在一定程度节约了带宽,也为爬虫工程师增加了工作量. 遇见Protobuf 一拿到网站,F12查看是否有相关数据的请求接口 ok! 接口找到了,看下请求参数吧! emmm~~ 为啥请求参数是乱码? 平时见着的都是这个样子滴?可以直接看到参数! 哎,咱们这初出茅庐的菜鸟,乖乖搜搜,看看有没有前辈们写过相关…
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 一.简介 在开始排错之前我们需要知道 Update 在 MySQL 中的生命周期是什么,MySQL 如何执行一个事务的. 理解了如何执行,我们才知道如何去排查故障. 二.Update 生命周期 Server 层阶段 2.1 连接器 客户端发起一个 TCP 请求后,MySQL Server 端会负责通信协议处理.线程处理.账号认证.安全检查. 2.2 分析器 MySQL Serv…
本文首发于 NebulaGraph 公众号 NebulaGraph VEditor 是一个拥有高性能.高可定制的所见即所得图可视化编辑器前端库. NebulaGraph VEditor 底层基于 SVG 绘图,它通过合理抽象代码结构以易于二次开发和自定义绘制,极适用于审批流,工作流,血缘关系,ETL 处理,图查询等图(Graph)和网络(Network)型拓扑信息的所见即所得编辑和预览场景.在 NebulaGraph 项目中,VEditor 轻松支持了图查询,图编辑,图建模,图结构,图路径展示等…