Gitee

在Remix-IDE中部署本地插件

ぃ、小莉子 提交于 2020-08-15 10:27:39
在Remix-IDE中部署本地插件 一、环境准备 remix-ide 是基于Solidity编写的以太坊智能合约开发环境,用于对solidity语言编写的智能合约程序进行编译。关于remix的内容不做具体介绍。为了部署插件,可以进入 在线remix编辑器 (可能需要科学上网)。也可以搭建本地的remix环境,具体方法百度相关教程。 二、插件开发 这里直接给出一个最简单的插件示例。在remix-plugin的 github页面 可以查看详细的插件开发方法。 以官方给出的hello-world示例 ,完成该插件的部署。该插件项目包含一个html文件(index.html),功能是在remix中新建一个hello-world文件,文件内容为Hello world。 完整代码(index.html): <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Hello World Plugin</title> </head> <body> <!-- Remix Plugin inject

excel-boot

﹥>﹥吖頭↗ 提交于 2020-08-15 08:24:44
https://github.com/programmeres/excel-boot Excel-Boot是一款Excel导入导出解决方案组成的轻量级开源组件。 如果喜欢或愿意使用, 请star本项目或者点击donate图标捐赠我们 如果是企业使用, 为了产品推广, 请通过评论、Issue、PullRequest README的合作企业告诉我们企业名称 请先仔细阅读本说明, 然后如果有任何问题或者建议可以通过issue告知我们, 尽力第一时间解决您的问题 合作企业: 开源库地址(同步更新): GitHub: https://github.com/programmeres/excel-boot 码云: https://gitee.com/nw1992/easy-poi 功能简介 浏览器导出Excel文件(支持单/多sheet) 浏览器导出Excel模板文件 指定路径生成Excel文件(支持单/多sheet) 返回Excel文件(支持单/多sheet)的OutputStream, 一般用于将Excel文件上传到远程, 例如FTP 导入Excel文件(支持单/多sheet) 功能强大 1.解决导出大量数据造成的内存溢出问题(支持分页查询数据库、采用poi官方推荐api(SXSSFWorkbook), 实现指定行数刷新到磁盘) 2.解决导入大量数据造成的内存溢出问题(支持分页插入数据库

曹工杂谈:分布式事务解决方案之基于本地消息表实现最终一致性

扶醉桌前 提交于 2020-08-15 08:04:44
曹工杂谈:分布式事务解决方案之基于本地消息表实现最终一致性 前言 为什么写这个?其实我这边的业务场景,严格来说,不算是典型的分布式事务,需求是这样说的:因为我这边负责的一个服务消费者consumer,是用户登录的入口;正常情况下,登录时候要走用户中心,这是个单独的服务;如果用户中心挂了,我这边自然是没法登录的。 现在的需求就是说,假设用户中心挂了,也要可以正常登录。因为我这个consumer其实也是缓存了用户的数据的,在本地登录也可以的,如果在我本地登录的话,我就得后续等用户中心恢复后,再把相关状态同步过去。 基于这样一个需求,我这边的实现方案是: 1.配置文件里维护一个开关,表示是否开启:故障转移模式。暂不考虑动态修改开关(如果要做,简单做就提供个接口来改;复杂做,就放到配置中心里,我们现在用的nacos,可以改了后推送到服务端) 2.如果开关是打开的,表示需要进行故障转移,则登录、退出登录等各种需要访问用户中心的请求,都存储到数据库中;数据库会有一张表,用来存放这类请求。大致如下: CREATE TABLE `cached_http_req_to_resend` ( `http_req_id` bigint(20) NOT NULL COMMENT '主键', `req_type` tinyint(4) NOT NULL COMMENT '请求类型,1

曹工说Spring Boot源码(4)-- 我是怎么自定义ApplicationContext,从json文件读取bean definition的?

回眸只為那壹抹淺笑 提交于 2020-08-15 07:45:58
写在前面的话 相关背景及资源: 曹工说Spring Boot源码系列开讲了(1)-- Bean Definition到底是什么,附spring思维导图分享 工程代码地址 思维导图地址 工程结构图: 大体思路 总体来说,bean definition是什么,我们前面几讲,说了个大概了;目前,我们将聚焦于怎么获取bean definition。 我们这次做个实验,就是将bean definition(一共两个bean,有依赖关系,依赖是手动指定的)定义在json文件内,然后自定义一个applicationcontext,从该文件内读取bean definiton,最后我们测试下是否能work。 注意哈,这里的依赖,依然和前面讲的一样,都是手动指定依赖,类似@Autowired这种,还会放到后面才会讲,开车也要先学手动档嘛,是伐? 建议大家直接拖源码下来看: https://gitee.com/ckl111/spring-boot-first-version-learn/tree/master/all-demo-in-spring-learning/spring-beans-json-extend 定义json文件 json文件内,要表达bean definition,按照我们前面说的,基本就包括几个必要的就行了,比如beanClassName。但我这里还是展示一个完整的,但我也是用

架构设计 | 分布式事务①概念简介和基础理论

强颜欢笑 提交于 2020-08-15 07:44:26
本文源码: GitHub·点这里 || GitEE·点这里 一、分布式事务简介 1、转账经典案例 跨地区和机构的转账的业务在实际生活中非常常见,基础流程如下: 账户01通过一系列服务和支付的流程,把钱转入账户02,在这一过程中,如果账户01出现出账成功,但是账户02没有入账,这就导致数据不一致,违反了基本的事务原则。基于数据归属在不同服务和不同的数据库中,这种情况下的事务出错被称为分布式事务问题。 2、基本概念 分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 如上的转账案例,看似只有一次的转账操,实际上由不同的服务不同数据库的多个细节操作组成,这些无感知的细节操作分布在不同服务上,甚至属于不同的地区和应用,如何保证这些操作全部成功或者全部失败,即保证不同数据库间的数据一致性,这就是分布式事务需要解决的核心问题。 3、分布式事务特点 基于如下电商业务场景,基本分布式的架构思路: 数据库基于业务特点,进行分库分表; 数据库拆分,随之就是业务的服务化(SOA); 基于电商业务进行拆分,会出现常见的:订单,用户,库存,物流等一系列的服务,管理不同的业务数据库,在实际的下单支付应用场景下,需要同时操作用户,订单,库存等多个服务,就必须保证数据一致性,下单支付成功,库存必须就需要用到分布式事务。 二、CAP基础理论 1、基础简介

JSP+SSM+Mysql实现的学生成绩管理系统

别来无恙 提交于 2020-08-15 07:26:59
项目简介 项目来源于: https://gitee.com/z77z/StuSystem 本系统是基于 JSP+SSM+Mysql 实现的学生成绩管理系统。主要实现的功能有教师管理、学生管理、课程管理、学生成绩管理。 难度等级:中等 技术栈 编辑器 Eclipse Version: 2020-03 (4.15.0) 前端技术 基础:html+css+JavaScript 框架: JQuery + H-ui 后端技术 Spring+SpringMVC+mybatis 模板引擎:JSP 数据库:mysql 5.7.27(个人测试使用) jdk版本:1.8.0_251(个人测试使用) tomcat版本:8.5.34(个人测试使用) 数据库连接池:druid 本地运行 Eclipse环境准备 1. eclipse新增jdk 2. eclipse新增tomcat 导入项目 若有疑惑可查看 视频版本 。 1.下载zip直接解压或安装git后执行克隆命令。 git clone https://gitee.com/z77z/StuSystem.git 2.使用eclipse导入项目,配置jdk、tomcat和所需jar包。 项目所依赖jar包在 WebContent/WEB-INF/lib 文件夹下。 3.打开Navicat For Mysql,创建stusystem 数据库,并运行

Qt开源作品17-IP地址输入控件

大兔子大兔子 提交于 2020-08-15 07:07:28
一、前言 这个IP地址输入框控件,估计写烂了,网上随便一搜索,保证一大堆,估计也是因为这个控件太容易了,非常适合新手练手,一般的思路都是用4个qlineedit控件拼起来,然后每个输入框设置正则表达式过滤只能输入3位数字,然后安装事件过滤器识别回车自动跳到下一个输入框。关于如何设置正则表达式过滤,这个可以搜索查到,本人也不大懂这个规则,貌似还有专门的书籍专门介绍正则表达式,可能这块非常强大。 主要功能: 可设置IP地址,自动填入框 可清空IP地址 支持按下小圆点自动切换 支持退格键自动切换 支持IP地址过滤 可设置背景色/边框颜色/边框圆角角度 二、代码思路 IPAddress::IPAddress(QWidget *parent) : QWidget(parent) { bgColor = "#FFFFFF"; borderColor = "#A6B5B8"; borderRadius = 3; //用于显示小圆点的标签,居中对齐 labDot1 = new QLabel; labDot1->setAlignment(Qt::AlignCenter); labDot1->setText("."); labDot2 = new QLabel; labDot2->setAlignment(Qt::AlignCenter); labDot2->setText("."); labDot3

或许我可以把AQS讲清楚

泄露秘密 提交于 2020-08-15 06:32:41
AQS是JUC包中许多类的实现根基,这篇文章基于个人理解的前提下完成,所以在结构上跟其他AQS文章有些差异。 1 AQS内脏图   tips:如果只是想看AQS的实现的话可以从第三节开始看,前面只是讲结构和使用 1.1 整体结构   在开始了解 AQS 之前,先看下 AQS 的内部结构,这样在看实现代码的时候至少有一个整体的概念,重点要记住的是 Node 类几种状态的作用,其他结构有个概念就行。   如上,在 AQS 中大致有: state 变量:内部维护了一个 volatile 修饰的 资源变量 state ,可以简单的理解为锁,拿到资源就是拿到锁。 同步队列(CLH) :所有关于资源的抢夺都是在这个队列中发生的;在 AQS 中只存了头尾节点,本质上就是一种 双向链表 ,队列为 先进先出队列(FIFO) ,也就是说对于资源 state 的争夺都是按照队列中的顺序来的, 另外能参与资源争夺的队列只有有效的节点(节点状态不为 取消 或者 同步 ) 。 等待队列 :跟 同步队列 类似,只有头尾节点,不同是的其在一个内部类 ConditionObjet 中,也就是说一个 ConditionObject 对象就是一个等待队列,所以允许有多个。 处于等待队列中的节点不会参与资源的竞争,其状态为 CONDITION ,当节点被标记为 CONDITION 时( await 方法

从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之十一 || AOP自定义筛选,Redis入门 11.1

只谈情不闲聊 提交于 2020-08-15 05:42:11
本文3.0版本文章 https://mp.weixin.qq.com/s/pjvleNGi_AazZ7COdxQyPQ Redis 部分的内容,和netcore2.0一样,不需要更新。 代码已上传Github+Gitee,文末有地址   书说上文《 从壹开始前后端分离【 .NET Core2.0 Api + Vue 2.0 + AOP + 分布式】框架之十 || AOP面向切面编程浅解析:简单日志记录 + 服务切面缓存 》,昨天咱们说到了AOP面向切面编程,简单的举出了两个栗子,不知道大家有什么想法呢,不知道是否与传统的缓存的使用有做对比了么?   传统的缓存是在Controller中,将获取到的数据手动处理,然后当另一个controller中又使用的时候,还是Get,Set相关操作,当然如果小项目,有两三个缓存还好,如果是特别多的接口调用,面向Service服务层还是很有必要的,不需要额外写多余代码,只需要正常调取Service层的接口就行,AOP结合Autofac注入,会自动的查找,然后返回数据,不继续往下走Repository仓储了。   昨天我发布文章后,有一个网友提出了一个问题,他想的很好,就是如果面向到了Service层,那BaseService中的CURD等基本方法都被注入了,这样会造成太多的代理类,不仅没有必要,甚至还有问题,比如把Update也缓存了

MySQL进阶篇(02):索引体系划分,B-Tree结构说明

自作多情 提交于 2020-08-15 05:04:57
本文源码: GitHub·点这里 || GitEE·点这里 一、索引简介 1、基本概念 首先要明确索引是什么:索引是一种数据结构,数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合,例如:链表,堆栈,队列,二叉树等等。 其次要清楚索引的作用:索引可以使存储引擎快速找到数据记录,这是最基本的作用,索引是对查询速度最关键的影响,良好的索引设计可以使查询的效率有质的飞越。 索引的使用:如果查询语句使用所有,MySQL会在索引的数据结构上查询,如果查询到,就返回包含该索引的数据行。 2、索引的优点 唯一或者主键索引,保证列数据的唯一性 减少数据扫描量,快速查询数据; 数据有序的索引,可以将随机IO变成顺序IO; 有效的索引查询,可以避免排序和临时表; 3、索引分类 索引的种类非常多,如何分类取决多个场景和不同的角度,常见的划分如下: 产生作用:主键索引,普通索引,非空索引,全文索引; 覆盖字段:单列索引,组合索引; 数据结构:B-Tree索引,哈希索引,R-Tree索引; 注意 :索引的实现是在存储引擎层面,相同的索引在不同的存储引擎中,其实现方式可能都是不一样的。 二、索引用法详解 1、不同索引特点 普通索引 基本的索引,没有任何使用限制,主要用来加速数据查询。适合经常出现在查询条件或排序条件中的数据列。 主键索引 特殊的唯一索引,不允许有空值