后端
文章平均质量分 66
区块链(Web3)开发工程师
全栈工程师、区块链开发工程师、智能合约开发工程、Web3.0工程师
精通Wallet、Token、NFT、Exchange、DEFI、DAPP(web3开发)、智能合约、Gamefi、元宇宙开发。
大家有任何需要,欢迎私信或评论联系我!
展开
-
【Node.js】node 项目代码如何开启多线程,非常好用?
以上代码演示了如何在 Node.js 中使用多线程。请注意,使用多线程的场景必须慎重考虑,并不是所有的应用都适合使用多线程。的,但是可以通过使用 Worker Threads 模块在 Node.js 应用程序中开启。了这三个 worker 线程,并且等待它们都执行完成后打印出结果。模块创建了三个 worker 线程。文件中,我们可以编写处理数据的逻辑,并将最终结果返回给。文件,它们都会被传递不同的。在上面的示例中,我们使用。原创 2023-11-02 13:30:08 · 974 阅读 · 0 评论 -
【服务端 | Redis】如何使用redis 有序集合实现股票交易的订单表(价格优先、时间优先)
在score相同的情况下,redis使用字典排序,而所谓的字典排序其实就是“ABCDEFG”这样的排序,在首字母相同的情况下,redis会再比较后面的字母,还是按照字典排序(如截图所示,beigai和baijing的排列顺序)。根据上图我们可以将价格格式化后设置为score,将时间戳和订单额格式化后合并为一个字段,保持所有订单的此字段格式相同,redis会通过字典自动排序用户交易。时,自己发现了一个问题,redis的有序集合在score相同的情况 下是如何排序的?前两天倒腾redis的有序。原创 2023-09-25 11:26:16 · 445 阅读 · 0 评论 -
【Git】yarn install git 连接失败——解决了 Failed to connect to github.com port 443:connection timed out
晕了,今天不知道怎么出现了这个问题。原创 2022-07-21 19:06:10 · 860 阅读 · 0 评论 -
【Python | PDF】如何使用Python将PDF转换为HTML页面?
前言最近想做一个小的功能,将PDF文字提取,并转换为HTML页面,但苦苦找寻没有合适好用简单的方法。Google一下,马上知道,接下来就是学习的结果,分享给大家,以免踩坑含泪分享,希望大家喜欢,直接上代码本文仅用于知识分享!第一个版本,简单实现了HTML输出import fitzfrom tqdm import tqdmdef pdf2html(input_path,html_path): doc = fitz.open(input_path) for pa..原创 2022-04-13 14:41:13 · 8016 阅读 · 10 评论 -
【区块链 | Layer 2】Layer 2 概述——区块链公链TPS解决方案(1)
目录序言让每个节点做更多的工作量?每个节点不需要处理每个操作?从现有的容量挤出更多有用的业务?状态通道(State Channel)闪电网络( Lighting network )雷电网络( Radien Network )SpritesCounterfactualLiquidity NetworkFunFairSpankChainPlasmaMVP ( MInimal Viable Plasma )More Viable PlasmAPl原创 2022-03-22 16:12:18 · 10146 阅读 · 0 评论 -
【区块链 | 数据上链】星火链网、蚂蚁联盟链等区块链业务系统开发指南
区块链业务系统开发指南一、区块链简介区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链原创 2022-03-16 14:20:15 · 6708 阅读 · 9 评论 -
什么是分布式锁?实现分布式锁的三种方式
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?一 为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图:上图可以看到,变量A存在三个服务器内存中(这个变量A主要体现是在一原创 2021-08-02 15:23:38 · 277 阅读 · 0 评论 -
分布式高并发系统如何保证对外接口的幂等性?
前言接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。不知道你有没有遇到过这些场景:有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返回失败吧?),..原创 2021-08-02 15:01:42 · 229 阅读 · 0 评论 -
【Java|多线程】使用CompletableFuture 捕获异常,CompletableFuture的异常处理 ?
使用Future获得异步执行结果时,要么调用阻塞方法get(),要么轮询看isDone()是否为true,这两种方法都不是很好,因为主线程也会被迫等待。从Java 8开始引入了CompletableFuture,它针对Future做了改进,可以传入回调对象,当异步任务完成或者发生异常时,自动调用回调对象的回调方法。我们以获取股票价格为例,看看如何使用CompletableFuture:// CompletableFutureimport java.util.concurrent.Comple原创 2021-01-13 14:54:11 · 18936 阅读 · 1 评论 -
【Spring Boot】SpringBoot 整合 apollo
简介Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。Apollo和Spring Cloud Config对比通过对比,可以看出,生成环境中 Apollo 相比 Spring Cloud Config 更具有优势一些。安装 Apollo 配置中心搭建教程参照https://github.com/ctripcorp/apollo/wik.原创 2020-12-29 14:43:42 · 385 阅读 · 0 评论 -
拒绝接口裸奔!开放 HTTP API 接口签名验证!
目录1. AccessKey&SecretKey (开放平台)请求身份防止篡改重放攻击实现2. Token&AppKey(APP)Token身份验证Token+AppKey签名验证实现后续请求接口安全问题 请求身份是否合法? 请求参数是否被篡改? 请求是否唯一? 1. AccessKey&SecretKey (开放平台)请求身份为开发者分配AccessKey(开发者标识,确保唯一)和SecretK原创 2020-11-12 17:29:55 · 259 阅读 · 0 评论 -
【正则表达式】正则表达式解析
平时常用的:~为区分大小写的匹配。~*不区分大小写的匹配(匹配firefox的正则同时匹配FireFox)。!~不匹配的!~*不匹配的.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束*重复零次或更多次+重复一次或更多次?重复零次或一次...原创 2020-05-26 11:30:36 · 466 阅读 · 0 评论 -
【Spring | OAuth2】OAuth2介绍与使用
什么是OAuth2OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0应用场景第三方应用授权登录:在APP或者网页接入一些第三方应用时,时常会需要用户登录另一个合作平台...原创 2020-04-14 13:57:09 · 493 阅读 · 0 评论 -
【Dubbo】Dubbo 从入门到实战——很详细的一篇文章
一、为什么需要 dubbo很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的,那么,dubbo是怎么被提上日程的呢?在互联网的发展过程中,在以前,我们只需要一个服务器,将程序全部打包好就可以,但是,随着流量的增大,常规的垂直应用架构已无法...原创 2020-04-13 10:04:02 · 305 阅读 · 0 评论 -
【微服务 | Java】微服务与单体服务的拆分原则
单体架构的优势:1、便于开发2、易于测试3、易于部署单体架构的不足:1、复杂性高2、交付效率低:构建和部署耗时长3、伸缩性差:只能按整体横向扩展,无法分模块垂直扩展,IO密集型模块和CPU密集型模块无法独立升级和扩容4、可靠性差:一个BUG可能引起整个项目的运行5、阻碍技术创新微服务架构的优势:1、易于开发和维护2、独立部署3、伸缩性强4、与组织结构相匹配...原创 2020-03-20 21:49:35 · 1618 阅读 · 0 评论 -
【微服务 | Java】微服务与单体服务解析:关于微服务,你想了解的都在这里
开篇刚开始进入软件行业时还是单体应用的时代,前后端分离的概念都还没普及,开发的时候需要花大量的时间在“强大”的JSP上面,那时候SOA已经算是新技术了。现在,微服务已经大行其道,有哪个互联网产品不说自己是微服务架构呢?但是,对于微服务的理解每个人都不太一样,这篇文章主要是聊一聊我对微服务的理解以及如何搭建经典的微服务架构,目的是梳理一下自己的一些想法,如果存在不同看法的欢迎指正!什么是...原创 2020-03-20 19:52:25 · 375 阅读 · 0 评论 -
【后端 | JAVA】RESTful API 最佳实践
RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。一、URL 设计1.1 动词 + 宾语RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/...原创 2020-02-15 12:53:42 · 504 阅读 · 0 评论 -
【Node.js】nodejs express 允许跨域访问(Access-Control-Allow-Origin)
前世今生在WEB应用普及的今天,个人信息(账号、COOKIE等)广泛应用于网页。浏览器同源策略保证了WEB环境的安全性。同源策略是说,在a.com域名下通过ajax或者XmlHttpRequest等方式访问b.com的资源时,是不被允许的。然而在很多时候,出于业务的的需要,我们经常有类似的跨域访问 的需求。浏览器有一些支持跨域访问的标签,例如script,img等。有这样的需求,自然就衍生了...原创 2019-07-25 16:13:46 · 1185 阅读 · 0 评论 -
【Node.js】Express入门_模板引擎hbs
Express支持多种模板引擎,这里将采用Handlebars模板引擎的服务器端版本hbs模板引擎 。安装hbsnpm install hbs --save-dev安装hbs模板引擎后改写app.js//index.jsvar express=require('express');var app=express();//加载hbs模块var hbs = require...原创 2019-07-25 11:22:49 · 1977 阅读 · 0 评论 -
WebRTC SkyRTC
上面的效果是运行的别人的示例,连接是相关webrtc的介绍https://segmentfault.com/a/1190000000436544项目目录:https://github.com/LingyuCoder/SkyRTC-demo操作步骤:出现问题:不是很懂nodejs 中间遇到了一个问题就截图下来了,如果cant find module说明你当前的目录不对,一定...原创 2019-05-30 19:17:07 · 515 阅读 · 0 评论 -
EMQ行业解决方案
原创 2019-05-30 15:31:41 · 379 阅读 · 0 评论