草庐IT

聊一聊区块链-波场技术, 只聊技术

标题聊一聊区块链-波场技术,只聊技术前言背景波场链区块链是什么共识工作量证明Pow权益证明Pos节点区块代币TrxTrc20-usdt转账写在最后聊一聊区块链-波场技术,只聊技术前言最近因项目使用tron协议接入区块链,故对其做了一番研究,先把相关资料整理一遍,供大家学习使用;网上的这部分资料很少,所以学习起来也是遇到了很多困难,尤其是里面很多新的概念,理解起来有一定的难度。比如说去中心化、地址、加密算法、算法因子、私钥含义、助记词、trc协议、智能合约、usdt等等;背景很多人接触区块链,大多是通过接触usdt这种中充当稳定资产(也称泰达币)角色开始的,usdt是什么?下面我们探讨一下这个问

聊一聊为什么我要整合Microsoft.Extensions.DependencyInjection和Castle.Core

前言如果用到动态代理,大家可能会有几种选择,排到前列的是Autofac+Castle、AspectCore和DoraInterception,我将从我当时研究的经历,以及我遇到的场景,为大家展示下聊一聊我为什么要费时费力的整合Microsoft.Extensions.DependencyInjection和Castle.Core当时遇到的场景直接上源码publicinterfaceIEventHandler{TaskHandleAsync(IEvent@event);boolCanHandle(IEvent@event);}publicinterfaceIEventHandler:IEvent

面试官:请聊一聊String、StringBuilder、StringBuffer三者的区别

面试官:“小伙子,在日常的写代码过程中,使用过String,StringBuilder和StringBuffer没?”我:“用过的呀!”面试官:“那你就来聊一聊,他们之间有什么区别,不同场景下如何选择吧”我:“好嘞!”在Java的开发过程中,使用频率最高的就是String字符串,但由于在字符串存储和拼接的过程中,涉及到很多场景需要因地制宜的选用StringBuider与StringBuffer。我们先来聊一聊String,由源码引入话题:Java8中的String源码publicfinalclassStringimplementsjava.io.Serializable,Comparable,

面试官:请聊一聊String、StringBuilder、StringBuffer三者的区别

面试官:“小伙子,在日常的写代码过程中,使用过String,StringBuilder和StringBuffer没?”我:“用过的呀!”面试官:“那你就来聊一聊,他们之间有什么区别,不同场景下如何选择吧”我:“好嘞!”在Java的开发过程中,使用频率最高的就是String字符串,但由于在字符串存储和拼接的过程中,涉及到很多场景需要因地制宜的选用StringBuider与StringBuffer。我们先来聊一聊String,由源码引入话题:Java8中的String源码publicfinalclassStringimplementsjava.io.Serializable,Comparable,

聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(完结篇)

前言书接上回,上回我们了解了castle代理的一些缺点,本文将开始操作整合Microsoft.Extension.Dependency和Castle,以让默认的容器可以支持拦截器我们将以进阶的形式逐步完善我们的封装,以实现一个更方便易用、普适、高性能的基础设施库。基础版还是先上代码,这是基础版本我们要达成的目标,仅需定义一个特性即可完成拦截的目标/////////publicabstractclassInterceptorBaseAttribute:Attribute,IInterceptor{voidIInterceptor.Intercept(IInvocationinvocation){

【Git 小妙招】来浅浅聊一下企业级开发模型

文章目录前言1.讲个故事2.系统开发环境3.Git分支设计规范3.1master分支3.2release分支3.3develop分支3.4feature分支3.5hotfix分支4.修复问题建议4.1修复测试环境Bug4.2修改预发布环境Bug4.3修改正式环境Bug4.4紧急修复正式环境Bug总结前言本文是学习Git系列的最后一篇文章,在学习完所有Git的使用技巧后,本文重点来谈谈开发时的一些企业级开发模型.关注收藏,开始学习吧🧐1.讲个故事我们知道,⼀个软件从零开始到最终交付,⼤概包括以下⼏个阶段:规划、编码、构建、测试、发布、部署和维护。最初,程序⽐较简单,⼯作量不⼤,程序员⼀个⼈可以完

聊一聊Spring Bean 的生命周期

讲一讲 SpringBean 的生命周期算是面试时候一道非常经典的问题了!如果没有研究过Spring源码,单纯去背面试题,这个问题也是可以回答出来的,但是单纯的背缺乏理解,而且面试一紧张,就容易背岔了。但是如果你从头到尾看了松哥的Spring源码分析,那么这个问题就不需要背了,就根据自己对Spring源码的理解讲出来就行了。在前面的文章中,松哥和大家分析了Spring中Bean的创建是在createBean方法中完成的,在该方法中,真正干活的实际上是doCreateBean方法,具体位置在AbstractAutowireCapableBeanFactory#doCreateBean,小伙伴们在

聊一聊 .NET 高级调试内核模式堆泄露

一、背景1.讲故事前几天有位朋友找到我,说他的机器内存在不断的上涨,但在任务管理器中查不出是哪个进程吃的内存,特别奇怪,截图如下:图片在我的分析旅程中都是用户态模式的内存泄漏,像上图中的异常征兆已经明确告诉你了,不是用户态程序吃的内存,那就是内核态程序吃的,比如:某些驱动程序操作系统从概率上来说一般都是某些第三方程序内存泄露导致的,这一篇我们就来聊一聊这种问题该如何解决。二、内核模式堆泄露分析1.驱动程序是如何分配内存的相信有很多朋友都知道,用户态的程序是直接或者间接的调用 VirtualAlloc 方法来向操作系统要内存,包括C#的GC堆也是一样,它的方法签名如下:LPVOIDVirtual

聊一聊雪花算法与分布式ID生成

生成全局唯一ID的雪花算法原理雪花算法是一种用于生成全局唯一ID的算法,最初由Twitter开发,用于解决分布式系统中生成ID的问题。其核心思想是将一个64位的长整型ID划分成多个部分,每个部分用于表示不同的信息,确保了生成的ID在分布式环境下的唯一性。ID结构符号位(1位):始终为0,用于保证ID为正数。时间戳(41位):表示生成ID的时间戳,精确到毫秒级。工作节点ID(10位):表示生成ID的机器的唯一标识。序列号(12位):表示在同一毫秒内生成的多个ID的序列号。生成步骤获取当前时间戳,精确到毫秒级。如果当前时间小于上次生成ID的时间,或者在同一毫秒内生成的ID数量超过最大值,等待下一毫

Flutter笔记:聊一聊Flutter中委托的设计方法

Flutter笔记聊一聊Flutter中委托的设计方法作者:李俊才(jcLee95):https://blog.csdn.net/qq_28550263邮箱:291148484@163.com本文地址:https://blog.csdn.net/qq_28550263/article/details/134056041【介绍】Flutter框架中提供了很多以“Delegate”一词结尾的类。Delegate表示中文“委托”,那么这些类为什么以Delegate结尾呢?反映了什么思想?本文归纳相关Delegate类,并谈一谈其中的设计逻辑。目录1.以GridView为例,从构造函数说起1.1默认构