一、引言上一篇.NETORM框架HiSql实战-第二章-使用Hisql实现菜单管理(增删改查)中菜单编号采用的是雪花ID,生成的编号无法自定义。比如本系统的一个申请业务,需要按前缀+日期+流水号的规则生成【申请编号】,这样就可以用到hisql的自定义编号。hisql自定义编号不但可以生成雪花ID,很重要的是支持类似以下规则的编号:规则1:20220001、202200001....到202299999或到2022ZZZZZ。规则2:BH20220708000001、BH20220708000001....到BH20220708999999或到BH20220708zZZZZZ。规则...您也可以
第三回万文疑谋生思绪璃月港口见清玉=====================================================================云溪愣了下,在他的认知中,神之眼正常而言不会有黑色的存在,就像在实数的体系内不会有i一样,他摇了摇头。而纪存初的眼中有闪过一次迷茫和失望,很快恢复过来,笑道:“算了,反正也只是个坊间传说而已,对了,小子,有兴趣入我万文集舍么?”话题跳转的如此之快,让云溪有点猝不及防,万文集舍到确实是个大宗级别的存在,进入其中谋个职位倒也算是光宗耀祖的美事,可最重要的事情在于,万文集舍太过于神秘了,以至于云溪都不知道自己如果进去可以干嘛,难道
第三回万文疑谋生思绪璃月港口见清玉=====================================================================云溪愣了下,在他的认知中,神之眼正常而言不会有黑色的存在,就像在实数的体系内不会有i一样,他摇了摇头。而纪存初的眼中有闪过一次迷茫和失望,很快恢复过来,笑道:“算了,反正也只是个坊间传说而已,对了,小子,有兴趣入我万文集舍么?”话题跳转的如此之快,让云溪有点猝不及防,万文集舍到确实是个大宗级别的存在,进入其中谋个职位倒也算是光宗耀祖的美事,可最重要的事情在于,万文集舍太过于神秘了,以至于云溪都不知道自己如果进去可以干嘛,难道
定义对于一个处理无界数据流的pipeline而言,非常需要一个衡量数据完整度的指标,用于标识什么时候属于某个窗口的数据都已到齐,窗口可以执行聚合运算并放心清理,我们暂且就给它起名叫watermark吧。可以把系统当前处理时间当做watermark吗?显然不可以。第一章已经讨论过,处理时间和事件时间的偏差是不确定的,根据处理时间无法对事件时间的进度进行准确衡量。pipeline的数据处理速率可以当做watermark吗?也不可以。pipeline的数据处理速率不是一成不变的,会受到诸多因素的影响,也不能辅助判别数据的完整性。那选择什么作为watermark合适呢,从头捋捋吧。我们假设每个事件都携
定义对于一个处理无界数据流的pipeline而言,非常需要一个衡量数据完整度的指标,用于标识什么时候属于某个窗口的数据都已到齐,窗口可以执行聚合运算并放心清理,我们暂且就给它起名叫watermark吧。可以把系统当前处理时间当做watermark吗?显然不可以。第一章已经讨论过,处理时间和事件时间的偏差是不确定的,根据处理时间无法对事件时间的进度进行准确衡量。pipeline的数据处理速率可以当做watermark吗?也不可以。pipeline的数据处理速率不是一成不变的,会受到诸多因素的影响,也不能辅助判别数据的完整性。那选择什么作为watermark合适呢,从头捋捋吧。我们假设每个事件都携
一、前言 消息队列(MessageQueue)是分布式系统必不可少的中间件,大部分消息队列产品(如RocketMQ/RabbitMQ/Kafka等)要求团队有比较强的技术实力,不适用于中小团队,并且对.NET技术的支持力度不够。而Redis实现的轻量级消息队列很简单,仅有Redis常规操作,几乎不需要开发团队掌握额外的知识! 写这篇文档的目的,是因为在最近开发过程中,需要用到多端订阅的功能,之前设计的时候用的是rockemq,最近又重新整理了一遍项目架构,把orm替换成了二次封装的shinysqlsugar,redis也替换成了shiny.redis,正好看到newlife.redis已经实现
一、前言 消息队列(MessageQueue)是分布式系统必不可少的中间件,大部分消息队列产品(如RocketMQ/RabbitMQ/Kafka等)要求团队有比较强的技术实力,不适用于中小团队,并且对.NET技术的支持力度不够。而Redis实现的轻量级消息队列很简单,仅有Redis常规操作,几乎不需要开发团队掌握额外的知识! 写这篇文档的目的,是因为在最近开发过程中,需要用到多端订阅的功能,之前设计的时候用的是rockemq,最近又重新整理了一遍项目架构,把orm替换成了二次封装的shinysqlsugar,redis也替换成了shiny.redis,正好看到newlife.redis已经实现
在第三章我找到了计算机运算出错的原因:“有一些十进制的小数无法转换成二进制”。小数点后面4位二进制数表示时的数值范围为0.0000~0.1111.因此,这里只能表示0.5、0.25、0.125、0.0625这四个二进制数小数电后面的位权组合而成(相加总和)的小数。因为无法正确表示的数值,最后都变成了近似值。 那么计算机遇到循环小数时该怎么办?计算机就会根据变量数据类所对应的长度将数值从中间截断或者四舍五入。例如:0.3333…这样的循环小数从中间截断会变成0.333333,这是它的3倍是无法得出1的(结果是0.999999),计算机运算出错的原因也是同样道理。 两种表示编程
在第三章我找到了计算机运算出错的原因:“有一些十进制的小数无法转换成二进制”。小数点后面4位二进制数表示时的数值范围为0.0000~0.1111.因此,这里只能表示0.5、0.25、0.125、0.0625这四个二进制数小数电后面的位权组合而成(相加总和)的小数。因为无法正确表示的数值,最后都变成了近似值。 那么计算机遇到循环小数时该怎么办?计算机就会根据变量数据类所对应的长度将数值从中间截断或者四舍五入。例如:0.3333…这样的循环小数从中间截断会变成0.333333,这是它的3倍是无法得出1的(结果是0.999999),计算机运算出错的原因也是同样道理。 两种表示编程
UnityShader入门精要读书笔记第三章UnityShader基础前言UnityShader的出现就是为了提供一个地方能够让开发者更轻松的管理着色器代码以及渲染设置,而不需要同各种shader文件一样管理多个文件、函数等。3.1UnityShader概述3.1.1材质和UnityShader 在Unity中,我们需要配合使用材质(Material)和UnityShader才能达到需要的效果。UnityShader定义渲染所需的代码、属性和指令,而材质允许我们自己调节这些属性,并赋给相应的模型。3.1.2Unity中的材质 Unity中的材质需要结合一个GameObject的mesh或者