前情提要前面尝试搭建了网络,现在回头看看这个例子。fabric-sample是个宝藏呀。test-network,这是官方教程的例子。也是对网络的一键测试。这个测试网络,从配置到shell命令可以说都是可以进行借鉴参考的。甚至改改就能用(而且更方便)。现在已经知道了网络应该如何运行和搭建(所以请执行一次官方的test-network例子),看看原始的例子里面发生了啥。开始基本操作包括:网络节点配置            
                
         
            
            
            
            系统拆分是单体程序向分布式系统演变的关键一步,也是很重要的一步,拆分的好坏直接关系到未来系统的扩展性、可维护性和可伸缩性等,拆分工作不难理解,但是如何正确拆分、有什么样的方法和原则能帮助我们拆分得到一个我们理想中的系统:高可用、可扩展、可维护、可伸缩的分布式系统。MartinFowler的《重构改善既有代码的设计》一书给重构的定义:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构            
                
         
            
            
            
            一.Hyperledger Fabric概述Hyperledger Fabric是由IBM公司主导开发的一个面向企业级客户的开源项目。这类公有链不同,Hyperledger Fabric网络中的节点必须经过授权认证后才能加入,从而避免了POW资源开销,大幅提高了交易处理效率。二.基本概念Ledger:fabric中的ledger分为两部分内容,一部分是基于文件的存储,基于文件的存储满足区块链不可篡            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-13 20:38:06
                            
                                34阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            场景Fabricjs一个简单强大的Canvas绘图库快速入门:Fabricjs一个简单强大的Canvas绘            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-03-13 10:46:58
                            
                                463阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.橡皮擦工具橡皮擦工具,一个看似跟“抠图”没啥关系的工具,然而,它竟然除了能起到“擦除”的作用,还可以进行抠图。它的键盘快捷键是:单按一个【E】键,简单粗暴地擦掉你不想要的部分就可以了。不要哪儿,就擦哪;PS中的橡皮擦工具用起来方便,选择了它,调节画笔大小和硬度即可开始擦擦擦。然而,它的缺点也比较明显,很难做到精细化抠图,对边缘的处理也不是太好,而且擦掉就真的没了,破坏了原图。我并不推荐使用,只            
                
         
            
            
            
            问题引出fabric.js用于canvas画布上的图形元素绘制,纯前端项目中的图形绘制可以通过控制图形元素在canvas画布上的添加顺序来控制图形元素的层级,实际应用中,图形元素的绘制数据常常需要根据需求从后端接口异步获取,在绘制相对复杂的图形时,同一个画布上绘制的各个图形元素的数据需要通过各自的接口从后端异步获取,异步返回数据的顺序不同导致加载的图层元素的层级无法按照预想的结果加载,因此需要通过            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-28 12:51:56
                            
                                375阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言对上一章做个补充:如果我不想在root环境下测试fabric?其实只需要在创建并启动docker的时候用到root账户,当然由于up的时候是会创建一些文件,需要把这些文件放权,用chown先把文件转给普通用户,或者chmod -R 775,否则后续非root用户的操作都会被permission deny。另外上一章节主要是参考Hyperledger官方的示例尝试网络启动。这里我做了一些研究,也            
                
         
            
            
            
            最近在运行如下一段代码时,生成的mapx和mapy有点异常。代码片段如下:#include<opencv2/imgproc/detail/distortion_model.hpp>
#include"opencv.hpp"
using namespace std;
using namespace cv;
int  main(int argc, char ** argv)
{
 if            
                
         
            
            
            
            介绍:画板(artboard)的作用就是允许设计师在同一个ai文件中创立多个画板,当导出的时候会以画板为单位导出图片,例如有10个画板,导出的时候,就可以同时导出10个画板的内容,或者选择想要导出画板的内容 应用场景:制作一套图标,制作一个系列的版面等 技巧记录:1. shift+o快速切换到画板模式工具,或者点选画板工具    2. 创            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-29 15:43:54
                            
                                176阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            let line1 = new fabric.Line([lineleft, lineheight, lineleft, 0], {//终止位置,线长,起始位置,top,这里是从项目中截下来的我用了变量代替,你要用的话lineheight和lineleft用自己的变量或者数字代替。如果两个终止位置和            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-05-15 16:29:00
                            
                                143阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
              泛函编程就是把函数组合起来形成一个完整的程序。可想而知,函数组合的过程可以是曲折的,形成的程序可以是复杂的。那么泛函编程又是如何保证一个复杂的函数组合程序是正确无误的呢?首先,泛函编程的函数组合(Functional Composition)遵循一定的数学定律(Mathematical Laws),这保证了组成的函数具备要求的行为特征(Behavior)。再者,所有组件函数            
                
         
            
            
            
            1.画布的标签是canvas,对于一些老的浏览器,他们不支持html5的画布,我们在做开发的时候一般要先判断浏览器是否支持画布;判断代码如下try{
       document.createElement("canvas").getContext("2d");
       alert("Your browser support canvas");//支持画布的输出}catch(e){            
                
         
            
            
            
            引言在上一篇日志“canvas 图片拖拽旋转之一”中,对坐标转换有了比较深入的了解,但是仅仅利用坐标转换实现的拖拽旋转,会改变canvas坐标系的状态,从而影响画布上其他元素的绘制。因此,这个时候需要用到一对canvas方法,在变换坐标系前保存canvas状态,在变换并绘制完成之后,恢复canvas状态,即save()和restore()。 [备注]这篇文章只是记录分享下解决问题的过程,            
                
         
            
            
            
            1、创建ProcessEngine1.1、java代码ProcessEngineConfiguration configuration = new StandaloneProcessEngineConfiguration()
                .setJdbcUrl("jdbc:mysql://192.168.209.102:3306/flowable-demo?useUnicode            
                
         
            
            
            
            说明虽然通过Building Your First Network中的docker-compose文件可以直接启动一个all-in-one的Fabric。 但这种方式隐藏了太多的细节,只能让人有个模糊的认识,对生产环境中部署方式、多服务器部署,依然不清不楚, 对各组件的配置文件也完全不了解。通过反复阅读Fabric的文档,以及Building Your First Network中的脚本,经            
                
         
            
            
            
            3 绝对圆锥曲线在进一步了解相机标定前,有必要了解绝对圆锥曲线(Absolute Conic)这一概念。  对于一个3D空间的点x,其投影空间的坐标为:x~=[x1,x2,x3,x4]T。我们定义无穷远处的平面用符号Π∞表示,该平面内的投影空间点坐标满足x4=0,则位于圆锥曲线Ω上的点满足:      令x∞=[x1,x2,x3]T是绝对圆锥曲线Ω上的点,如上图所示。由定义可知xT∞x∞=0,同时            
                
         
            
            
            
            0 导言      在上一讲《Hyperledger Fabric的逻辑架构是什么样的?》中,我们介绍了Fabric的逻辑架构,就是整个的技术组成部分。从应用程序端来看,包括了SDK、API、事件,通过SDK、API、事件来对底层区块链进行操作:包括身份管理、账本管理、交易管理、智能合约的部署和调用,从底层区块链这一端来看,对外提供了以下服务:成员管理服务、            
                
         
            
            
            
            一、选中多个模块组合与拆分组1、组合组合是要把选中的模块组合成一个组选中的模块:card.getActiveObject()成组:// 成组 、重新渲染
card.getActiveObject().toGroup()
card.renderAll()2、拆分组合// 获取选中的组合模块,进行组合拆分、重新渲染
card.getActiveObject().toActiveSelection();            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-17 10:13:28
                            
                                67阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一,前言1.fabric [ˈfæbrɪk'] 是一个功能强大的运行在HTML5 canvas的JavaScript,fabric为canvas提供了一个交互式对象模型,通过简洁的api就可以在画布上进行丰富的操作。2.可以使用包管理工具直接安装:npm install fabric3.fabric兼容pc端和移动端,不支持运行在小程序环境下二,初始化画布1.首先创建一个canvas元素,作为容器            
                
         
            
            
            
            我们已经介绍了本系列的第一部分和第二部分的大部分基础知识。我们继续前进到更高级的技巧! 文章目录组合(Groups)序列化(Serialization)toObject, toJSONtoSVG反序列化,SVG解析器(Deserialization, SVG parser)子类(Subclassing) 组合(Groups) 我们首先谈论的是组合。组合是Fabric最强大的功能之一。 将任何Fab            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 12:27:12
                            
                                899阅读
                            
                                                                             
                 
                
                                
                    