呢喃北上的博客

个人博客笔记

排序:
默认
按更新时间
按访问量

ShiroFilter设计原理与实现

Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权...

2018-09-10 18:08:13

阅读数:16

评论数:0

有关以太坊nonce问题

环境 节点A:1192.168.45.9 节点B:1192.168.45.10 节点A和节点B集群(节点B连接到节点A) 说明 为了防止交易重播,ETH(ETC)节点要求每笔交易必须有一个nonce数值。每一个账户从同一个节点发起交易时,这个nonce值从0开始计数,发送一笔no...

2018-08-20 14:27:22

阅读数:100

评论数:0

Solidity的delete操作

Solidity中有个特殊的操作符delete用于释放空间,因为区块链技术做为一种公用资源,为避免大家滥用。且鼓励主动对空间的回收,释放空间将会返还一些gas。 delete[1]关键字的作用是对某个类型值a赋予初始值。比如如果删除整数delete a等同于a = 0 删除基本类型 对于...

2018-08-03 13:56:42

阅读数:98

评论数:0

SpringCloud微服务组件—Eureka服务注册与发现

前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。 从天气预报微服务系统的单体架构——>分布式架构的演变过程中,一步一步,由浅及深的学习SpringCloud微服务...

2018-07-28 22:51:17

阅读数:76

评论数:0

CAP原则

什么是CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 百度百科这样定义: 一致性(C):在分布式系统中的所有数据备份,在...

2018-07-18 18:09:49

阅读数:34

评论数:0

高并发场景解决--抢红包

前言 高并发场景越来越多的应用在互联网业务上。 本文将重点介绍悲观锁、乐观锁、Redis分布式锁在高并发环境下的如何使用以及优缺点分析。 本文相关的学习项目–抢红包,已上传至GitHub. 三种方式介绍 悲观锁 悲观锁,假定会发生并发冲突,在你开始改变此对象之前就...

2018-07-17 16:24:18

阅读数:360

评论数:0

使用RedisTemplate存储至缓存数据乱码解决

前言 RedisTemplate介绍 RedisTemplate是Spring对于Redis的封装。 如上图所示,RedisTemplate中定义了对5种数据结构操作。 redisTemplate.opsForList();//操作list redisTemplate.op...

2018-07-07 23:14:46

阅读数:382

评论数:0

Mybatis Available parameters are [0, 1, param1, param2]解决方法

前言 今天在做接口实现时,报了这个错误,也是很纳闷。 接口 int decreaseRedPacketByVersion(Integer id, Integer version); 实现SQL <update id="decreas...

2018-07-06 11:38:51

阅读数:132

评论数:0

数据库索引介绍

我们通过一个简单的例子来开始教程,解释为什么我们需要数据库索引。假设我们有一个数据库表 Employee, 这个表有三个字段(列)分别是 Employee_Name、Employee_Age 和Employee_Address。假设表Employee 有上千行数据。 现在假设我们要从这个表中查找...

2018-06-28 15:05:16

阅读数:30

评论数:0

单体架构到微服务架构的拆分

前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。 从天气预报微服务系统的单体架构——>分布式架构的演变过程中,一步一步,由浅及深的学习Spring...

2018-06-24 22:41:23

阅读数:190

评论数:0

Solidity的Using for的使用

前言 其实呢,今天刚接触Using for的时候,我并没有看懂它的意思。官方的文档有些晦涩难懂,导致我也产生了它与import的区别这样的疑问。 使用 与import的联系与区别 先回答第二个问题,using A for B与import有什么区别? import是讲某个...

2018-06-07 10:01:46

阅读数:305

评论数:0

DAPP开发初探

前言 最近DAPP的开发貌似很火,学习了区块链的一些知识之后,相信有很多人和我一样,也想了解开发一个DAPP是一个怎样的流程。 下面将通过一个简单的栗子来初识一下DAPP的开发流程,届时,我们也将开发出第一个DAPP应用–《永存的留言》。 项目介绍 《永存的留言》是一个基于以太...

2018-06-04 17:26:05

阅读数:622

评论数:0

SpringBoot结合Thymeleaf模板与Bootstrap快速搭建界面

前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。 从天气预报微服务系统的单体架构——>分布式架构的演变过程中,一步一步,由浅及深的学习Spring...

2018-05-28 23:17:36

阅读数:499

评论数:0

以太坊 Ganache CLI 命令行参数详解

ganache-cli 是以太坊节点仿真器软件 ganache 的命令行版本,可以方便开发者快速进行以太坊 DApp 的开发与测试。 安装 npm install -g ganache-cli 启动 ~$ ganache-cli 启动选项 -a 或 –accounts: 指定...

2018-05-23 16:40:44

阅读数:472

评论数:0

Solidity函数修改器的基本概念及应用

基本概念 函数修改器可以一定程度上改变函数的行为。可以作为函数执行的先行条件,如果符合函数修改器定义的条件,才可以执行函数体内容。关于函数修改器,可以把理解成if的变相。 函数修改器定义 函数修改器的定义语法如下: modifier 修改器名 { 条件体.. ...

2018-05-22 18:37:50

阅读数:93

评论数:0

Solidity的结构体与映射

结构体(Structs) Solidity提供结构体来自定义类型,自定义的类型是引用类型。 我们通过实例来理解它。 pragma solidity ^0.4.0; contract Test { // 定义一个结构体 struct Number { st...

2018-05-22 11:43:20

阅读数:96

评论数:0

Solidity的数组详解

创建一个数组 pragma solidity ^0.4.0; contract Test { uint[5] arr = [0,1,2,3,4];//创建一个定长的数组 uint[] storageArr; function a() public { ...

2018-05-21 17:07:18

阅读数:207

评论数:0

Solidity的函数类型以及可见性分析(类比Java)

函数类型 函数也是一种类型(值类型),它是函数的调用方式。函数类型可以被赋值吗,作为参数和返回结果。函数可以分为两类:内部函数(Internal)和外部函数(External)。 内部函数Internal(默认) 只能在当前合约内被调用(在当前的代码块内,包括内部库函数,和继承的函数中)。...

2018-05-18 17:15:21

阅读数:81

评论数:0

Java搭建区块链

前言 为了更好的理解区块链的底层实现原理,决定自己动手模拟实现一条区块链。 思路分析 通过之前的学习,从文本知识的角度,我们知道,创世区块、记账原理、挖矿原理、工作量证明、共识机制等等区块链的相关知识。 创建一条区块链,首先默认构造创世区块。在此基础上,我们可以发布交易...

2018-05-15 22:47:08

阅读数:302

评论数:0

区块链与Token

区块链与Token的关系 在数字经济语境下,Token有了很多新的称谓:“数字货币”“加密货币”“代币”“通证”等等。 其实,正如区块链的本质简单理解就是“信任机制”,没那么高深莫测一样,Token的本质就是“激励手段”,也没那么晦涩难懂。 “Token economy”不是什么新概...

2018-05-11 17:07:02

阅读数:439

评论数:0

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