Kafka 并没有提供延时队列,可以用 Redis 的 ZSet 来实现。 ZSet 是按 score 排序的,可以用消息实际消费的时间作为 score,然后取 [0, 当前时间] 区间内的消息即可实现延时队列。 基本接口 首先定义一个基本…
在微服务架构中,如果把鉴权放在各服务中将会导致代码冗余且增加工作量。 如果在网关鉴权,不仅能保证所有接口有统一的鉴权标准,也能避免各服务鉴权不一致导致的漏洞。 下面记录一下用 Spring Security Oauth2 + Spring …
在需要重复使用大量相同数据的场景下(如展示用户信息、商品信息、购物车列表等),重复调用 api 获取不仅会增加后端服务器的负担,也显得代码不太简洁。 现在写一个全局缓存,将获取数据的逻辑也写入其中,这样外部只需要调用 get() 方法而无需…
国内的地图 SDK 目前暂不支持 Compose,之前给高德地图封装过一次,可以达到想要的效果。 这次准备封装一个通用的地图组件,把不同地图 SDK 之间共同的组件以及功能抽象出来,开发者不再需要关心不同地图 SDK 对同一功能的不同实现,…
首先放原文地址:https://arxiv.org/pdf/1706.03762 前言 首先我没有系统学习过和深度学习有关的内容,本文仅代表我个人的理解。 本文将和原文的章节一一对应,同时给出原文和译文以及我自己增加的额外的解释。 下面从摘…
反向传播(Backpropagation) 是一种用于训练人工神经网络的算法。它通过计算损失函数(Loss Function)相对于网络中每个参数(如权重和偏置)的梯度,并利用这些梯度调整网络参数,从而最小化损失函数,进而优化网络的表现。 …
Kotlin Native 跨平台实战开发
Kotlin Native | Kotlin Documentation Kotlin/Native is a technology for compiling Kotlin code to native binaries which ca…
往期传送门: Web3 / Solidity 智能合约基础 #1 Web3 / Solidity 智能合约基础 #2 Web3 / Solidity 智能合约基础 #3 学习完所有的 Solidity 基础知识,现在可以正式编写我们的第一个…
上次介绍了 Solidity 中的面向对象,这次来详细说说 Solidity 的循环、数组、交易、修饰符、自定义错误类型与事件、合约的回调函数(Fallback / Receive)以及接口(Interface)/ 抽象合约(Abstrac…
继续上一篇的内容,这次来看看合约的更多语法以及如何引入其他合约进行交互。 构造函数 和其他面向对象语言一样,Solidity 中也有构造函数。 constructor({[参数类型] [参数名], ...}) {} 例如: address …