自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

剑行歌之

人生得意需尽欢

  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 POS共识机制竟然漏洞这么多 | 分析POS共识机制的原理带来的思考

序言        上文深入比特币、以太坊源码带你解读POW共识机制我们学习探讨了POW共识机制,看完得童鞋们应该就知道POW是有几大缺点的:出块慢,共识时间长、开销大等等,那么有没有其它的共识机制能够解决这些问题呢?答案当然是:有,它就是POS共识机制。下面我们一起来看看它是怎么做到的。概念       全称为Proof Of Stake,又叫权益

2021-06-13 00:57:28 12305 8

原创 中继链巨头Polkadot终于要落地了,不会还有人不知道吧 | 一文读懂Polkadot(波卡)

技术背景        一个优秀的项目必定是由一个优秀的领导者带领着一个优秀的团队共同创造的,那么Polkadot这个跨链界扛把子它的领导者和团队是谁呢?        首先,我们来介绍下Polkadot的团队----Parity,做以太区块链开发的,应该都听说过Parity,毕竟Parity开发了第一个支持可插拔的共识引擎的以太虚拟机(EV

2021-06-02 20:48:46 28385 3

原创 都2021年了,还不知道什么是区块链就out了 | 从区块链数据结构到应用

区块链诞生背景        2008年11月1日,一个自称“中本聪”的人在一个隐秘的密码学讨论邮件组上贴出一篇研究报告《比特币:一种点对点的电子现金系统》,论文中阐述了希望可以创建一套“基于密码学原理而不基于信用,使得任何达成一致的双方能够直接进行支付,不需要第三方中介参与”的电子支付系统。        2009年1月,以区块链技术为基础的

2021-05-21 16:13:22 27374 10

原创 三分钟搞定跨链交易之中继链技术

上一篇: 一文读懂什么是跨链.前言上文我们讲述了跨链相关的一些基础知识,以及针对跨链交易的场景,当前涉及的一些跨链技术,本文我们将重点分析中继链技术。什么是中继链        中继链(relay-chain)又名中继器,旨在构造一个第三方公有链,通过跨链消息传递协议,连接区块链网络中的其它链。可能这个说法比较高端,比较抽象,那我们换个接地气的说法:通过在两个链中加入一个通道,通道内创建一种数据结构,使得两个链可以

2021-05-20 17:41:57 15412 3

原创 一文读懂什么是跨链

为什么要跨链?        在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。不论对于公有链还是私有链,对于同构链还是异构链,未来区块链一定是多链百花齐放的时代。而有了多链,如何实现链之间的价值互通、数据互通?如何构建多链的生态圈?这些是一定需要跨链的,进行跨链不只是连接价值,而且是进行数据的互联和价值的互联,构建一个越来越完备的生态圈。什么是跨链?   &n

2021-05-18 16:35:12 29203 5

原创 hsql+mysql多数据源动态切换

业务背景最近有个需求:需要先启动一个web服务,然后这个服务去部署mysql,redis等相关服务,并且该服务要动态的把mysql和redis在不重启的情况加载进去。项目链接链接: link.

2020-11-10 17:41:34 9970

原创 设计模式之原型模式

在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。

2022-02-16 16:32:25 192

原创 设计模式之单例模式

目录概念原文概念翻译特点原理优点与缺点优点缺点应用场景项目或框架应用代码实现饿汉式优缺点优点缺点代码实现懒汉式常规版优缺点优点缺点代码实现方法全局锁定优缺点优点缺点代码实现单重检查优缺点优点缺点代码实现双重检查优缺点优点缺点代码实现线程安全与否剖析双重检查+volatile修饰优缺点优点缺点代码实现静态内部类优缺点优点缺点代码实现枚举优缺点优点缺点代码实现知识拓展相关面试题概念原文Ensure a class has only one instance, and provide a global p

2022-02-09 12:59:53 362

原创 设计模式之三大分类

设计模式之三大分类目录创建型模式概述包含设计模式采用场景结构型模式概述包含设计模式采用场景行为型模式概述包含设计模式采用场景目录GOF设计模式共包含23种设计模式,依据特点可将设计模式分为三大类别:创建型、结构型、行为型。创建型模式概述        创建型模式是处理对象创建的设计模式,试图根据实际情况选择合适恰当的方式创建对象。创建型模式的主要关注点是“怎样创建对象?”。由于基本的对象创建方式可能会导致设计上的问题,

2022-02-08 14:17:35 1169

原创 设计模式之七大原则

简介俗话说,无规矩不成方圆。那设计这种一听就很有格局的工作的规矩又是什么呢?我们一起来学习一下它的七大原则:开闭原则 (Open-Closed Principle)里氏替换原则 (Liskov Substitution Principle)依赖倒转原则 (Dependence Inversion Principle)单一职责原则 (Single Responsibility Principle)接口隔离原则 (Interface Segregation Principle)迪米特法则(Law

2022-02-07 16:46:57 167

原创 java加密算法之RSA篇

加密/** * 私钥加密 * * @param data 源数据 * @param privateKey 私钥 * @return * @throws Exception */ public static byte[] encryptByPrivateKey(byte[] data, String privateKey) { try { byte[] keyBytes = My

2022-02-07 14:38:07 690

原创 dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题

创建普通用户useradd username切换到普通用户su username执行docker 指令docker ps出现异常信息,提示权限不足Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial

2021-11-26 17:13:27 1126

原创 You are using pip version 8.1.2, however version 21.3.1 is available pip安装docker-compose版本问题解决

背景通过pip安装docker-compose异常解决方式依然还是提示这个异常,命令修改一下pip3 install --upgrade pip重新安装docker-composepip3 install docker-compose问题解决

2021-11-23 10:52:25 2956

原创 随机数Random报错 IllegalArgumentException: Bound must be positive

错误代码 private static Random RANDOM = new Random(); private static Integer randomOnce(Integer max, Integer min) { return RANDOM.nextInt(max) % (max - min + 1) + min; }报错信息java.lang.IllegalArgumentException: bound must be positive at j

2021-10-28 17:02:47 3505

原创 本地项目推送到git远程仓库

初始化git init 代码提交git add .git commit -m "init project"关联远程仓库git remote add origin https://gitee.com/XXX/panasonic-container.git拉取仓库最新代码git pull origin master 如果仓库中已经有内容,则使用下面命令git pull origin master --allow-unrelated-histories上传到仓库git pus

2021-06-30 14:23:55 178

原创 linux学习日记 | 非root普通用户添加互信进行免密登录服务器

创建用户useradd bsp设置密码passwd bsp编辑用户权限vim /etc/sudoers如果出现上述权限不足情况,执行下面命令赋权chmod +w /etc/sudoers再次执行 vim /etc/sudoers,找到root权限设置,在下面添加一行 bsp ALL=(ALL)  ALL此处的bsp为上面设置的用户名保存退出,并且把写权限移除chmod -w /etc/sudoers切换到普通用户bspsu bsp 生成密钥对s

2021-06-18 17:36:33 3119

原创 不要再吹python爬虫了,我大java明明也可以 | java爬取CSDN、知乎文章

爬取文章

2021-06-16 20:43:37 2968

原创 从小故事带你理解零知识证明 | 区块链一千零一问

背景零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。其实,早在16世纪的文艺复兴时期,意大利有两位数学家为竞争一元三次方程求根公式发现者的桂冠,就采用了零知识证明的方法。当时,数学家塔尔塔里雅和菲奥都宣称自己掌握了这个求根公式,为了证明自己没有说谎,又不把公式的具体内容公布出来(可能在当时数学公式也是一种技术秘密),他

2021-06-15 16:25:29 17543 11

原创 linux下开启关闭端口访问限制

查看运行状态firewall-cmd --state 结果running 表示运行开启防火墙systemctl start firewalld.service关闭防火墙systemctl stop firewalld.service添加端口firewall-cmd --zone=public --add-port=80/tcp --permanent–permanent代表永久生效,没有此参数重启后失效重新载入firewall-cmd --reload查看firewall

2021-06-15 14:17:01 4169

原创 java加密算法之base64篇

转码String转码byte数组public static byte[] encodeStringForByte(String source) { return source == null ? new byte[]{} : Base64.encodeBase64(source.getBytes());}byte数组转码byte数组public static byte[] encodeStringForByte(byte[] source) { return source == n

2021-06-05 15:46:23 12448

原创 不知道java如何调用shell脚本?进来教你10行代码搞定

产品与开发的战争       前段时间,产品提了个挺离谱的需求:通过java服务启动自己所需要的数据库和redis。什么意思呢,意思就是我们需要提供一个java服务,但是呢,我们这个java服务用到的mysql和redis没有现成的,需要由这个java服务去安装部署mysql和redis,然后再提供给自己用。       emmmm…当时我人就傻了,后面我一想,产品

2021-06-04 14:47:08 16901 1

原创 java加密算法之JWT篇

加密字符串public static String token(String subject, String secretKey, Date date) { Key key = decodeKey(secretKey); String token = Jwts.builder().setExpiration(date).setSubject(subject).signWith(SignatureAlgorithm.HS256, key).compact(); String bas

2021-06-04 10:53:12 10242

原创 java加密算法之MD5篇

字符串转MD5 public static String toMD5(String str) { MessageDigest messagedigest; try { messagedigest = MessageDigest.getInstance("MD5"); messagedigest.update(str.getBytes("UTF-8")); return bufferToHex(messagedigest.digest()).t

2021-06-04 09:56:10 9520

原创 java加密算法之AES篇

加密字符串public static String encode(String encodeKey,String content){ try { KeyGenerator keygen= KeyGenerator.getInstance("AES"); SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); random.setSeed(encodeKey.getBytes());

2021-06-04 09:03:12 9578

原创 java加密算法之DES篇

闲话不多说,我们直接上干货加密 public static String encrypt(String datasource) { try{ DESKeySpec desKey = new DESKeySpec(PASSWORD.getBytes()); //创建一个密匙工厂,获取secretKey SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");

2021-06-04 08:51:24 13159

原创 java小学妹半夜打电话哭诉:刚入职竟然就要。。。。。。

人在家中坐,瓜从天上来       昨天晚上,恰逢夜深人静,正是撸代码的好时候,突然接到小学妹的电话,小学妹跟我一顿哭,把我给愁的,赶紧一顿关心等学妹缓过来之后,终于了解了来龙去脉,原来学妹刚入职进公司,上级就让她对接银行系统接口。emmm,大家都知道,银行系统大多是RSA加密数据交互的,小学妹这块完全不懂,弄了一天还没有搞定。我一听,嘿嘿,这下该我上场表演了,说不定十四亿的爱情终于轮到我了呢。公钥加密/** * 公钥加密

2021-06-03 16:59:55 12173

原创 IPFS使用教程 | java对接IPFS的SDK

首先,引入IPFS的包maven方式<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository></repositories><dependency> <groupId>com.github.ipfs</groupId> &

2021-06-01 14:46:09 29057 9

转载 侧链跨链智能合约编写

跨链合约编写可以参照示例合约。这是一个可以跨链转移 token 的 Token 合约。相比普通的 Token 合约增加了 send_to_side_chain 和 recv_from_side_chain 两个函数用于跨链转 token 。send_to_side_chain 只是在一条链上扣掉一部分 token 。等交易执行之后,使用 JsonRPC 接口 cita_getTransactionProof 获取交易执行的证明。将证明发送到另外一个链上的 recv_from_side_chain

2021-05-18 16:59:20 500

原创 设计模式之前言

序言在IT圈子的朋友应该有这样的体会:构建一个优秀的系统最困难之处不在于编码(coding),而是在早期做出的设计(design)上的决定。设计是软件开发生命周期中的关键阶段,好的设计能产生好的产品,而不当的设计则会影响最终产品的质量。一个软件设计的优劣,往往越到后期拓展越能体现出差异。再说一个我周边一个比较普遍的现象:        开发人员在入行初期,拿到需求之后,大刀阔斧直接开始上手coding,然后就被反反复

2021-05-17 16:52:04 11548

原创 java随机数组找出和为0的三个数

求三数之和为0给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:不能包含重复的三元组原题链接:https://leetcode-cn.com/problems/3sum/题解public static List<List<Integer>> threeSum(int[] nums) { List<List<Integer&

2021-03-16 10:42:46 12667

原创 java最长公共前缀

leetcode学习题目链接: https://leetcode-cn.com/problems/longest-common-prefix/public String longestCommonPrefix(String[] strs) { String result = ""; int index = 1; out: while (true) { if (strs.length==0){

2021-03-08 14:38:01 9370

原创 Java数组内求两数之间最大容积

leetcode学习题目链接:https://leetcode-cn.com/problems/container-with-most-water/初解:public static int maxArea(int[] height) { int max = 0; int length = height.length; for (int i = 0; i < length; i++) { for (int j = length-1; j >i; j-

2021-03-08 10:31:44 9887

原创 java实现回文数判断

需求回文数是指正序(从左向右)和倒序(从右向左)读都是一样的正整数。例如,121 是回文,而 123 不是。解析public static boolean isPalindrome(int x) { int temp = x; //a取值整数的末位数 int a = temp % 10; while (true) { //小于10,直接返回 if (temp < 10) { break;

2021-03-05 14:29:28 14242 1

原创 java实现冒泡排序

冒泡排序原理代码实现原理依次比较相邻的两个数,将小数放在前面,大数放在后面代码实现public static void main(String[] args) { int[] arr = {6, 3, 11, 8, 2, 9, 1, -1}; System.out.println("排序前数组为:"); for (int num : arr) { System.out.print(num + " "); }

2021-03-05 10:09:44 14410 2

转载 设计模式详解

链接: http://c.biancheng.net/view/1317.html

2020-11-11 14:53:01 178

原创 java实现图片镜像翻转

实现图片旋转有些微信图片以及iphone拍摄的图片是左右翻转的,需要镜像旋转成常规图片/** * @author luowx on 2018/12/20 0020. */public class ImageMirrorUtils { /** * 图片镜像翻转 * * @param source 原图片路径 * @param target 翻转后图片输出路径 */ public static void mirrorImage(S

2020-11-05 17:14:13 15259

原创 fabric-SDK调用参考

SDK调用参考java语言sdk框架及秘钥支持1. **调用前准备**2. **准备调用**java语言sdk框架及秘钥支持框架秘钥fabricSM2,secp256r1-fabric框架应用使用secp256r1、SM2 秘钥的秘钥托管和秘钥上传两种模式1. 调用前准备应用参数应用参数是用户在创建应用成功之后在应用详情页面获取,或者由本地设置的一些参数,具体包含以下参数网关接口地址: 网关接口的调用地址账户名称: 账本的账户名称账户密码: 账户的密码应

2020-09-02 09:14:50 492 2

utils-1.2-SNAPSHOT.jar

java工具包

2021-06-12

VSCodeSetup-x64-1.39.2.exe

前端VScode开发工具,一键安装

2021-06-12

ChromeSetup.exe

谷歌浏览器

2021-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除