- 博客(16)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 区块链入门系列之梅克尔帕特里夏树
区块链入门系列文章前言Merkle树MPT总结在讲基本概念那篇文章,提到过区块,如果区块仅仅是一个区块是无法实现那么Web3这么宏伟的蓝图的,还需要区块当中的数据。这些数据在区块中是以什么样的数据结构存储的,以及为什么要使用这样的数据结构,就是本章需要讲到的内容。其实区块链当中还有很多新概念,比如OracleEVMSolidityDAppsDAO…只是这些概念是真正从事区块链开发的才更需要关注,我们的目的只是带大家入门,能了解区块链的基本概念,能从零开始搭建一个简易的区块链即可。
2022-10-20 23:44:37
1854
原创 区块链入门系列之共识算法
区块链入门系列文章前言POWPOSPBFTRaft其他共识算法前文已经说过,区块链从本质上来说就是基于P2P网络的分布式系统,而对于分布式系统来说,如何维护各节点之间的状态尤其重要,需要所有节点步调一致,这就需要设计相应的算法或者协议来进行管理。对于一个分布式系统来说,一定是遵从CAP定理的C: Consistency即一致性,全部节点在同一时间下数据是一致的A: Availability即可用性,整个分布式系统总是可用能提供正常服务的。
2022-10-20 14:23:45
2365
原创 区块链入门系列之P2P
区块链入门系列文章前言中心化架构去中心化架构NAT锥型NAT完全锥型NAT非完全锥型NATIP受限NAT端口受限NAT对称NAT总结为什么前面讲过P2P的概念了这里还要单独起一篇文章来讲解,因为前面只是讲解了P2P的基本概念,即各网络节点间是直接或间接连接起来的。但这里面还涉及到很多网络知识,如果不清楚,是没办法构建一个P2P网络的。如果要开发一套用于生产环境的公链型区块链产品,则必不可少需要用到NAT的相关技术。
2022-10-17 23:48:12
2238
原创 区块链基本概念和名词解释
区块链入门系列文章前言一切要从Web3说起Web1时代特点Web2时代特点Web3时代特点区块链的特点区块HashP2P共识算法POW非对称加密算法币基智能合约总结至今(2022)从业已经10年了,作为一个IT老鸟,见证了移动互联时代的崛起,甚至参与其中充当一颗光荣的螺丝钉。其间各种各样的所谓新技术、新框架、新工具层出不穷,有的昙花一现,有的成功篡位,好不快哉。然而绝大部分的还是普普通通的打工人,没办法左右风向的发展,没办法掌舵所在大船的动向,没办法把所有的这些“新”的东西都学一遍。
2022-10-17 17:52:07
2323
原创 记一次MyBatis解析的SQL和实际传参不符的问题
Mybatis传的参数类型是Integer,值是3,但是生成的SQL却解析成Boolean类型的true。强制指定javaType,关键字冲突,tinyint解析成布尔,ognl表达式,ast语法树
2022-09-24 23:18:49
1748
原创 记一次FastJson中的Java泛型擦除问题排查
公司的一个模块需求变更,经过评审要按照原来的设计进行修改,写出来的代码会非常恶心,估计下一个接任者心里会骂niang,于是决定对这块进行重构。洋洋洒洒撸了几天代码,总算重构完毕,TestCase走起。哇哦,报错了,一看竟是`ClassCastException`,熟悉的味道,猜测是泛型擦除导致的,一经调试果然是这个原因。但是既然编写代码的时候还是犯下了这个错误,故还是打算对这个基础知识进行一个梳理,既巩固了自己的技术储备,也能分享一些自己的小心得,一举两得。FastJson,反序列化,序列化,诡异,O
2022-05-13 21:29:20
1047
原创 从源码角度拆解SpringSecurity之C位的AuthenticationManager
上一篇我们简单拆解了运行时的大致流程,知道了拦截动作都来自于FilterChainProxy,以及内部的Filter链怎么来的,顺序的重要性,以及如何分发的,还针对所学习内容介绍了一个简单但实际的小需求——如何自定义异常返回数据。本章我们将基于框架中处于C位的AuthenticationManager为切入点,对框架的认证和授权两个核心步骤进行拆解以及数据权限校验框架的实现
2022-04-29 11:22:58
449
原创 从源码角度拆解SpringSecurity之勤劳的FilterChainProxy
上一篇我们介绍了顶层配置、第二层配置的由来,这些配置是如何被套娃式使用的,以及通过setSharedObject方法管中窥豹见识了SecurityBuilder的强大之处,算是以别样的角度完成了SpringSecurity框架的初始化过程。从本篇文章开始,我们将进入运行过程的拆解,说到运行过程,最多的场景莫过于拦截了吧,本章的主角勤劳的小蜜蜂FilterChainProxy在这个过程当中起了什么作用,怎么起的作用,本章我们就一起来进行拆解吧。
2022-04-20 18:01:28
691
原创 记一次Elasticsearch节点状态red的整改过程
文章目录问题起因Round 1Round 2Round 3Round 4问题起因自己负责审计日志模块的管理功能,同事突然对我说,写入的日志数据全部不能用了,我立即答复(回怼)“不可能”。说罢,还是去登录系统查看,能查出数据,只是偶现查询速度特别慢,看控制台,原因是部分请求一直挂起直到超时。于是登录服务器查看日志,好家伙,果然报错了。{ "took":60000, "errors":true, "items":[ { "index":{ "_index":"aggregati
2022-04-08 19:13:44
2997
原创 从源码角度拆解SpringSecurity之万能的SecurityBuilder
上一篇我们梳理了整个框架的核心流程,知道了SpringSecurity其实是基于Filter来实现的认证和权限管理,以及它是如何一步步被创建出来的。可是我们使用SpringSecurity框架时最特别的代码就是 **“http.xxx().xxx().and().xxx()...”** 了吧,这些语句其实就是我们定义的配置,那么这些配置又是如何被加载到框架中的呢,本章我们就一起来进行拆解吧。
2022-03-31 17:07:15
1001
原创 从源码角度拆解SpringSecurity之核心流程
之前实现认证和权限控制,都是自己纯手写或者基于shiro框架来实现的,后来了解到spring security框架,相对来讲更适合spring项目的接入。可是spring security的接入配置比较难以理解,如果没有搞懂框架的底层细节,就更是云里雾里了。所以我专门花了几天的时间大概浏览了spring security的源码,大致搞清楚了框架的架构设计和业务流程,现写个系列文章做一个记录,已备后续自己翻阅,如有不当之处烦请指正
2022-03-28 17:55:56
4061
原创 一文彻底说清楚MySQL报1055 - SELECT list is not in GROUP BY incompatible with sql_mode=only_full_group_by的问题
先说结论这个问题根本原因是SQL不严谨造成的,由于5.7版本之前没有严格限制所以没有报错,但5.7之后默认进行了限制,需要DBA根据实际生产情况决定是忽略该错误,还是优化SQL解决该错误。如果是要忽略该错误,那么就把5.7版本加入的默认限制给去掉即可,即把SQL_MODE中的“ONLY_FULL_GROUP_BY”给去掉,而如果是要优化SQL来解决问题,就需要稍微花点功夫来分析你的SQL,具体分析方法下文会举个简单栗子来进行说明。产生原因开...
2021-09-27 17:12:08
1201
2
原创 SpringBoot中一次请求会走两次Controller的问题
FBIWarning大神勿进,写的啰嗦且浅显,免得浪费您的时间。前言维护同事的一段代码,发现他使用的事务隔离级别为SERIALIZABLE,读了代码,发现完全没必要,遂问之。答曰,前端会莫名其妙发送两个一模一样的请求过来导致数据会增加两条,让前端查过找不到原因,所以就提升隔离级别。顿时,内心犹如一万只草泥马奔腾而过,本着码农应有的探索精神(闲的蛋疼),我决定一探究竟。...
2019-08-15 17:31:28
22130
9
原创 AndroidStudio 能build成功,R文件也存在,但无法引用的问题
AndroidStudio 能build成功,R文件也存在,但无法引用的问题问题描述问题探索问题解决问题描述代码使用OSChina来托管,在两台设备上进行开发,系统分别是Win7和OSX,使用的AndroidStudio版本是3.x的,gradle版本是4.10。Win7上一切正常,but!OSX上有个诡异的问题,能build 成功,也能正常运行,但R文件无法引用(爆红)如图问题探索...
2019-01-21 23:03:34
3837
10
原创 Java 死锁的简单实例
虽然网上有各种关于死锁的说法,但是却没有一个实际的案例来阐述这个死锁到底是什么样的那么这里有一个简单的死锁实例: 线程t1需要先使用扫描仪扫描文件、再使用打印机打印文件,之后工作完毕 线程t2需要先使用打印机打印文件、再使用扫描仪扫描文件,之后工作完毕如果是正常的工作秩序,那应该是t1先拥有扫描仪的使用权,而t2呢则拥有打印机的使用权,此时则
2015-07-21 17:04:35
532
Android重写View的自定义Ratingbar
2015-10-15
Android 如何复写framework层的package访问控制权限的方法
2017-05-05
Java反射来获取的类如何再继承?
2017-04-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人