Squirrel状态机-从原理探究到最佳实践
Squirrel状态机是一种用来进行对象行为建模的工具,主要描述对象在它的生命周期内所经历的状态,以及如何响应来自外界的各种事件。比如订单的创建、已支付、发货、收获、取消等等状态、状态之间的控制、触发事件的监听,可以用该框架进行清晰的管理实现。使用状态机来管理对象生命流的好处更多体现在代码的可维护性、可测试性上,明确的状态条件、原子的响应动作、事件驱动迁移目标状态,对于流程复杂易变的业务场景能大大减轻维护和测试的难度。
Easter79 Easter79
3年前
springcloud使用之断路器hystrix
上一篇文章提到我们最近开了个新项目,目的是将新的业务放到新项目中,老项目单独维护,再逐步迁移老项目到新项目里。但就在前端时间生产环境发生了一个事故,事故开始的异常是我们的业务发现前端h5页面办理很慢,这台服务器跑了三个省的办理业务,同事在寻找问题的时候一口老血差点吐出来,所有的项目日志打在一个文件里,里面乱的程度无法用语言形容,因为太忙了的原因,这个事情被
BichonCode BichonCode
4年前
大数据排序
一、如何给100亿个数字进行排序? 1.1解答:1.把这个37GB的大文件,用哈希分成1000个小文件,每个小文件平均38MB左右(理想情况),把100亿个数字对1000取模,模出来的结果在0到999之间,每个结果对应一个文件,所以我这里取的哈希函数是hx%1000,哈希函数取得"好",能使冲突减小,结果分布均匀。2.拆分完了之后
Stella981 Stella981
3年前
GeoJson数据合并
本文主要是基于geojsonmerge,实现多个geojson文件合并为一个geojson文件,以便实现基于该文件进行数据分析展示geojson合并概述当前在datav的geoatlas中,可以下载单个地市或区县的数据,例如福建省下面每个地市都可以单独下载一个geojson文件,现在需要将所有地市的geojson合并为
Stella981 Stella981
3年前
Gson 数据解析
gson和其他现有javajson类库最大的不同时gson需要序列化的实体类不需要使用annotation来标识需要序列化的字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。下面是一个简单的例子:1.public class Person {3.private String name;
Wesley13 Wesley13
3年前
mysql数据过滤
1、AND操作符:select表的字段名from对应的表名where表的字段名AND表的字段名运算符值;例子:selectprod\_id,prod\_price,prod\_namefromproductswhereven\_id1003ANDprod\_price<10;2、OR操作符:sele
Wesley13 Wesley13
3年前
mysql 插入数据
简单用法:insertintotb\_name(字段1,字段2,.........)values(值1,值2,.....)注意,字段个数必须和值的个数一致。字符用引号引起来,数字不用,插入空值使用null批量插入:insertintotb\_name(字段1,字段2,.........)values(值1,值2,.....
传统数据存储
通常情况下,业务系统产生的大量日志都是集中存储处理的。集中存储是指有一个由大型主机或多台主机组成的中心节点,数据集中存储在这个中心节点上,整个系统的所有业务单元都集中部署在这个中心节点上。数据计算几乎完全依赖于一台中大型中央计算机的处理能力。系统的所有功能
陈杨 陈杨
5个月前
McCharts 2.0来了,完美适配HarmonyOS NEXT最新版本,可轻松迁移Echarts图表项目
大家好,我是陈杨。终于有时间来分享一些技术文章了,自从McCharts组件上线第一期之后,就开始忙碌鸿蒙创新赛与极客马拉松比赛。在比赛的过程一直收到很多Issues,但是由于腾不出时间来维护,导致大家以为我们不维护了。在这里给大家说一声对不起。现在两个比赛
陈杨 陈杨
4个月前
McCharts 2.0来了,完美适配HarmonyOS NEXT最新版本,可轻松迁移Echarts图表项目
大家好,我是陈杨。终于有时间来分享一些技术文章了,自从McCharts组件上线第一期之后,就开始忙碌鸿蒙创新赛与极客马拉松比赛。在比赛的过程一直收到很多Issues,但是由于腾不出时间来维护,导致大家以为我们不维护了。在这里给大家说一声对不起。现在两个比赛