草庐IT

NFT 是啥?从 ERC20 说起

什么是ERCERC全称是 EthereumRequestforComment,它表示以太坊开发者提交的一系列协议提按(参见 ERC|EthereumImprovementProposals)。ERC20(常用写法ERC-20)指的是序号为20的ERC协议标准,协议细节参考:EIP-20:TokenStandard(ethereum.org)。ERC20以我们最常用的ERC20代币:USDT为例,我们可以通过钱包软件(小狐狸扩展钱包或TokenPocket钱包)给别人发送一定数量的USDT,这是因为USDT实现了ERC20标准中的 transfer 方法,给别人发送USDT本质是在与USDT合约

【SQL开发实战技巧】系列(十):从拆分字符串、替换字符串以及统计字符串出现次数说起

系列文章目录【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事【SQL开发实战技巧】系列(二):简单单表查询【SQL开发实战技巧】系列(三):SQL排序的那些事【SQL开发实战技巧】系列(四):从执行计划讨论UNIONALL与空字符串&UNION与OR的使用注意事项【SQL开发实战技巧】系列(五):从执行计划看IN、EXISTS和INNERJOIN效率,我们要分场景不要死记网上结论【SQL开发实战技巧】系列(六):从执行计划看NOTIN、NOTEXISTS和LEFTJOIN效率,记住内外关联条件不要乱放【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及

Angular 由一个bug说起之二:trackBy的一点注意事项

trackBy是angualr优化项目性能的一种方法,通过返回一个具有绑定性的唯一值,比如id,手机号,身份证号之类的,来让angular能够跟踪数组的项目,根据数据的变化来重新生成DOM,这样就节约了性能。但是如果是使用ngFor循环组件,添加trackBy的时候就需要注意这个组件自身的数据更新机制是否正常,因为没有使用trackBy的时候,for循环的数组数据改变了,angular会把数组里所有的项目都重新生成,那些项目的组件也都会重新初始化。但当你使用了trackBy,数据发生了变化,angular只会把那些数据有变化的项目重新生成,这样项目的组件也不会重新初始化,如果这个组件的数据更新

从兔子说起:了解RabbitMQ消息的多样化【RabbitMQ 二】

🎏:你只管努力,剩下的交给时间🏠:小破站从兔子说起:了解RabbitMQ消息的多样化第一:消息的可靠性与持久性第二:消息交换机与队列第三:消息确认与拒绝第四:消息的过期与优先级第五:消息顺序保证第一:消息的可靠性与持久性在消息传递系统中,确保消息的可靠性是至关重要的。可靠性涉及到确保消息在传递过程中不会丢失、不会重复,而且能够被按照期望的方式处理。以下是一些关键的考虑因素以及如何确保消息的可靠性:持久性:概念:持久性是指确保消息在系统故障、重启或其他不可预见的情况下不会丢失。持久性确保消息被保存在可持久化的存储中。操作:生产者在发送消息时可以标记消息为持久性。队列也可以被声明为持久性。这样,即

Angular 由一个bug说起之一:List / Grid的性能问题

在angular中,MatTable构建简单,使用范围广。但某些时候会出现卡顿卡顿情景:1:一次性请求太多的数据2:一次性渲染太多数据,这会花费CPU很多时间3:行内嵌套复杂的元素4:使用过多的ngStyle或者ngClass。或者一些额外的classimport{MatTableDataSource}from'@angular/material/table';...constdata:IDemoRow[]=[];for(leti=0;i第一次渲染会卡顿,拖动滚动条时会出现空白现象。提升办法:1:分页使用MatPaginator对数据进行分页import{MatPaginator}from'@

从一次Kafka宕机说起(JVM hang)

一、背景时间大概是在夏天7月份,突然收到小伙伴的情报,我们线上的一个kafka实例的某个broker突然不提供服务了,也没看到什么异常日志,反正就是生产、消费都停了。因为是线上服务,而且进程还在,就是不提供服务了,第一反应就是保留一下stack信息,先重启吧因为这个现象是第一次出现,不确定是哪里的bug,操作系统、机器等都有可能。当时也没重视这个问题,判断可能是个偶发现象,broker重启恢复后,因为业务繁忙,就把这事儿给搁置了然而仅仅2个月后,这个问题又复现了,而且与上次出问题的机器不是同一台,我知道这次没法视而不见,可能要打一场硬仗了下面是一些环境信息工程版本Kafka2.8.2JDKve

记一次基于FPGA的VGA显示四操作数计算器工程的开发流程——(1)从顶层设计说起

首先值得说明的是,在这个项目几乎完成之际,笔者才愈发体会到了硬件思维和软件思维的云泥之别。不幸的是,在此项目的实现过程中,绝大部分代码的思维仍然是软件思维,因此该项目主要模块的设计部分可能并不能体现硬件操作的独到之处,不符合硬件工程师的基本设计思维,所以此主题文章仅用于学习交流以及记录一次FPGA项目设计的过程和细节,内部的时序逻辑、算法细节等都很难经得起推敲,仅供参考。先给出这个设计的题目:  设计一个计算器。至少能够实现四个操作数的加减乘除,中间可以任意添加括号,使用VGA实时显示输入的内容和最终的计算结果,并通过串口输出数据到从机,在其上的数码管上显示结果。  在这个项目中,除了给组员分

源码解析Collections.sort ——从一个逃过单测的 bug 说起

本文从一个小明写的bug开始,讲bug的发现、排查定位,并由此展开对涉及的算法进行图解分析和源码分析。事情挺曲折的,因为小明的代码是有单测的,让小明更加笃定自己写的没问题。所以在排查的时候,也经历了前世的500年,去排查排序后的list改动(主要是小明和同事互相怀疑对方的代码,不多说了)。本文从问题定位之后开始讲:前言小明写了一个自定义排序的代码,简化后如下。聪明的你快来帮小明review一下吧。代码背景:有一批休息室,status是状态,其中1表示空闲,8表示使用中,2表示在维修。需要按照1空闲8使用中2在维修的顺序进行排序。例如:输入:[1,8,2,2,8,1,8],期望输出:[1,1,8

开源风暴吞噬AI界?从Stable Diffusion的爆火说起

近日,文本生成图像模型StableDiffusion背后的公司StabilityAI宣布获得了1.01亿美元超额融资,估值达10亿美元,这家基于开源社区的“草根”企业的风头一时间甚至盖过了业界顶级研究机构OpenAI。本文作者认为,尽管开源项目存在商业模式、开源许可协议等方面的挑战,但通过良好开源社区的驱动,AI项目的技术发展、应用广度和创造空间都有了意想不到的发展,正如开源“吞噬”软件1.0,“开源AI”运动将在软件2.0时代不可阻挡。OneFlow社区对此进行了编译。作者|swyx翻译|胡燕君、贾川文本转图像模型的发展周期历时数年:2020年7月:OpenAI发文介绍ImageGPT模型,

从FPGA说起的深度学习(一)

这是新的系列教程,在本教程中,我们将介绍使用FPGA实现深度学习的技术,深度学习是近年来人工智能领域的热门话题。在本教程中,旨在加深对深度学习和FPGA的理解。用C/C++编写深度学习推理代码高级综合(HLS)将C/C++代码转换为硬件描述语言FPGA运行验证在第一篇文章中,将解释“什么是深度学习”和“使用FPGA进行深度学习的好处”。什么是深度学习为了解释深度学习,有必要了解神经网络。神经网络是一种模拟人脑的神经元和神经网络的计算模型。神经元和神经网络作为具体示例,让我们考虑一个输入图像并识别图像中对象类别的示例。这个例子对应机器学习中的分类任务。首先,我们以一张“猫的图像”作为输入,教它输