草庐IT

基于Feature Flag的下一代开发模式

渐进式发布(ProgressiveDelivery)被认为是持续发布(ContinousDelivery)的下一代形态,其专注于增强发布过程控制与降低发布风险,最终提高整体收益。国际科技巨头比如Amazon、Google和Netflix等公司每天通过渐进式发布的方式将数千次的功能更新、bug修复等更新到用户环境。快速迭代的同时,避免不了引入一些预期之外的bug。因此需要如何采用合适的工具,在风险与收益之间找到一个很好的平衡点就显得尤为重要。目前持续发布(CD)能够通过一些用户数据、系统监控或者一些核心指标对部署的功能进行监控,当发现问题及时回滚,以此形成一个持续迭代闭环。但是当用户体量非常大的

基于Feature Flag的下一代开发模式

渐进式发布(ProgressiveDelivery)被认为是持续发布(ContinousDelivery)的下一代形态,其专注于增强发布过程控制与降低发布风险,最终提高整体收益。国际科技巨头比如Amazon、Google和Netflix等公司每天通过渐进式发布的方式将数千次的功能更新、bug修复等更新到用户环境。快速迭代的同时,避免不了引入一些预期之外的bug。因此需要如何采用合适的工具,在风险与收益之间找到一个很好的平衡点就显得尤为重要。目前持续发布(CD)能够通过一些用户数据、系统监控或者一些核心指标对部署的功能进行监控,当发现问题及时回滚,以此形成一个持续迭代闭环。但是当用户体量非常大的

MySQL5.7 迁移到 KingBase V8 (人大金仓数据库)

记录项目中MySQL数据库迁移到Kingbase的所遇到的问题和解决办法LAST_INSERT_ID()  kingbase没有last_insert_id(),可以在插入语句末尾加入returning[字段名]关键字获取insertintosigner_info(user_id,user_name)values(123,'wang')returningid;  但是在Mybatis上使用标签进行上面sql的插入的话,会发现并不能得到我们想要的结果,数据会正常的插入到数据库中,但是我们期望的返回值并不是当前插入对象的id值,而是-1。selectLAST_INSERT_ID()INSERTIN

MySQL5.7 迁移到 KingBase V8 (人大金仓数据库)

记录项目中MySQL数据库迁移到Kingbase的所遇到的问题和解决办法LAST_INSERT_ID()  kingbase没有last_insert_id(),可以在插入语句末尾加入returning[字段名]关键字获取insertintosigner_info(user_id,user_name)values(123,'wang')returningid;  但是在Mybatis上使用标签进行上面sql的插入的话,会发现并不能得到我们想要的结果,数据会正常的插入到数据库中,但是我们期望的返回值并不是当前插入对象的id值,而是-1。selectLAST_INSERT_ID()INSERTIN

ARM v8处理器概述、架构及技术介绍

ARMv8架构的概述ARMv8架构包含32位和64位执行状态,其引入了使用64位宽寄存器执行执行的功能,并且提供了向后兼容性机制,使现有的ARMv7软件能够执行。•AArch64:ARMv8中64位的执行状态。•AArch32:ARMv8中32位的执行状态,与ARMv7几乎相同。在GNU和Linux的文档中(除了Redhat和Fedora外),有时会将AArch64称为ARM64。Cortex-A系列处理器现在包括在ARMv8-A和ARMv7-A中实现:•Cortex-A5,Cortex-A7,Cortex-A8,Cortex-A9,Cortex-A15以及Cortex-A17处理器全部由AR

ARM v8处理器概述、架构及技术介绍

ARMv8架构的概述ARMv8架构包含32位和64位执行状态,其引入了使用64位宽寄存器执行执行的功能,并且提供了向后兼容性机制,使现有的ARMv7软件能够执行。•AArch64:ARMv8中64位的执行状态。•AArch32:ARMv8中32位的执行状态,与ARMv7几乎相同。在GNU和Linux的文档中(除了Redhat和Fedora外),有时会将AArch64称为ARM64。Cortex-A系列处理器现在包括在ARMv8-A和ARMv7-A中实现:•Cortex-A5,Cortex-A7,Cortex-A8,Cortex-A9,Cortex-A15以及Cortex-A17处理器全部由AR

View 中 flag标记,掩码位运算

一:前言在Android源码中,发现了大量使用使用位运算&|publicvoidsetClickable(booleanclickable){setFlags(clickable?CLICKABLE:0,CLICKABLE);}二.使用掩码位运算保存数据的本质本质:利用二进制位,去保存一些值.例如:boolean值在jvm中占了4个字节,也就是32位,如下图:如果使用二进制位,每位用0/1去保存一个布尔值,那4个字节就可以保存32个布尔值,从而节省内存.1658559590(1).png三.View中flag标记如何保存:例如:初始值如下flags=0//初始值inta=0x10001--->

View 中 flag标记,掩码位运算

一:前言在Android源码中,发现了大量使用使用位运算&|publicvoidsetClickable(booleanclickable){setFlags(clickable?CLICKABLE:0,CLICKABLE);}二.使用掩码位运算保存数据的本质本质:利用二进制位,去保存一些值.例如:boolean值在jvm中占了4个字节,也就是32位,如下图:如果使用二进制位,每位用0/1去保存一个布尔值,那4个字节就可以保存32个布尔值,从而节省内存.1658559590(1).png三.View中flag标记如何保存:例如:初始值如下flags=0//初始值inta=0x10001--->

全能代码生成器,自动生成前后端代码、生成项目框架、生成JavaBean、生成数据库文档、自动化部署项目(TableGo v8.0.0)

TableGo_20220801v8.0.0正式版发布,此次版本累计更新如下:1、生成项目功能新增支持若依框架,可同时生成若依框架代码和所有业务表的前后端基础CRUD代码,一键搞定所有2、新增服务器连接终端,并能配置Profiles运行环境参数,实现dev、test、sit环境服务器一键自动化部署前后端项目工程3、新增TableGo服务器终端自动化部署项目示例,从代码更新、打包、上传到自动化部署前后端项目工程的脚本和配置全套都写好了4、新增自定义模板:dbMarkdown[md].ftl和ApiMarkdown[md].ftl,用于生成MD格式的数据库文档和API文档5、新增33款FlatLa

全能代码生成器,自动生成前后端代码、生成项目框架、生成JavaBean、生成数据库文档、自动化部署项目(TableGo v8.0.0)

TableGo_20220801v8.0.0正式版发布,此次版本累计更新如下:1、生成项目功能新增支持若依框架,可同时生成若依框架代码和所有业务表的前后端基础CRUD代码,一键搞定所有2、新增服务器连接终端,并能配置Profiles运行环境参数,实现dev、test、sit环境服务器一键自动化部署前后端项目工程3、新增TableGo服务器终端自动化部署项目示例,从代码更新、打包、上传到自动化部署前后端项目工程的脚本和配置全套都写好了4、新增自定义模板:dbMarkdown[md].ftl和ApiMarkdown[md].ftl,用于生成MD格式的数据库文档和API文档5、新增33款FlatLa