fastapi redis缓存 使用方法

【ASP.NET Core】MVC操作方法如何绑定Stream类型的参数

咱们都知道,MVC在输入/输出中都需要模型绑定。因为HTTP请求发送的都是文本,为了使其能变成各种.NET 类型,于是在填充参数值之前需 ModelBinder 的参与,以将文本转换为 .NET 类型。 尽管 ASP.NET Core 已内置基础类型和复杂类型的各种 Binder,但有些数据还是不能 ......
参数 类型 方法 Stream Core

解读JVM级别本地缓存Caffeine青出于蓝的要诀 —— 缘何会更强、如何去上手

继Guava Cache之后,我们再来聊一下各方面表现都更佳的Caffeine,看一下其具体使用方式、核心的优化改进点,窥探其青出于蓝的秘密所在。 ......
青出于蓝 要诀 缓存 Caffeine 级别

解读JVM级别本地缓存Caffeine青出于蓝的要诀2 —— 弄清楚Caffeine的同步、异步回源方式

作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。本文就深度全面聊一聊关于Caffeine的多种不同的数据回源方式、以及在同步异步场景下的实现与使用。 ......
Caffeine 青出于蓝 要诀 缓存 级别

使用 SmartIDE 开发golang项目

很荣幸在去年加入到 SmartIDE 产品组,从事开发工作,期间产品经历了无数个迭代,一段非常难忘的经历...... 项目之初一位大牛提出了一个哲学问题 —— 先有鸡还是有蛋(SmartIDE 如何开发 SmartIDE),借着这话题,本文将以 Golang 项目 SmartIDE CLI 为例进行 ......
SmartIDE 项目 golang

使用Spring Reactor优化推荐流程

1. 背景 公司有一个推荐系统Rec,这个系统的主要功能是: 向外部系统提供推荐接口 根据请求获取推荐策略 根据推荐策略完成推荐的召回、过滤、打分、排序阶段 Rec作为微服务中的一环,本身不存储召回的物料信息,也不存储用户和物料的特征信息,它负责就是对各个服务的组合和流转 其流程如下: 2. 问题 ......
流程 Reactor Spring

如何5分钟上手使用PaddleSeg人像抠图

随便打开一个Microsoft Visual Studio,新建一个WinForms项目,从下面列表中随便选择一个NET框架。 net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481; ......
人像 PaddleSeg

使用 Visual Studio 2022 调试Dapr 应用程序

使用Dapr 编写的是一个多进程的程序, 两个进程之间依赖于启动顺序来组成父子进程,使用Visual Studio 调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。 好在有Visual Studio 扩展(Microsoft Child Proce ......
应用程序 程序 Visual Studio 2022

百倍加速IO读写!快使用Parquet和Feather格式!⛵

本文介绍了 Parquet 和 Feather 两种文件类型,可以提高本地存储数据时的读写速度,并压缩存储在磁盘上的数据大小。大型 CSV 文件的克星!用起来~ ......
Parquet Feather 格式

使用Google OR-Tools分析过去20年中国金融资产最佳配置组合

前两天,在朋友圈里看到一张截至2022年Q2的金融资产历年收益图如下,图中列举了国内从2005年到2022年近20年主要的金融资产历年收益率,随产生想法分析和验证下面几个问题: 过去20年,基于怎样的资产配置才能让收益最大化? 如果完全拒绝风险,是否可以理财,收益率会是多少? 是否有风险小,收益高的 ......
OR-Tools 资产 金融 Google Tools

就离谱!使用机器学习预测2022世界杯:小组赛挺准,但冠亚季军都错了 ⛵

本文使用机器学习建模对 FIFA 2022世界杯结果进行了预测,赛后将其与真实结果进行比较,可以看出:小组赛到1/4决赛的预测准确率很高,半决赛和决赛的预测准确率为0,冠亚季军无一预测准确。 ......
季军 小组赛 小组 机器 世界

如何使用 IdGen 生成 UID

在分布式系统中,雪花 ID 是一种常用的唯一 ID 生成算法。它通过结合时间戳、机器码和自增序列来生成 64 位整数 ID,可以保证 ID 的唯一性和顺序性。 在.Net 项目中,我们可以使用 IdGen 这个类库来生成雪花 ID。它是一个开源的类库,可以轻松地集成到你的项目中。 代码示例 下面是一 ......
IdGen UID

如何在路由绑定中使用 IParsable

IParsable 是 .Net 7 中新增的接口,它可以将字符串转换为对应的实体。在 Controller 的 Route 绑定中可以使用 IParsable 来绑定复杂的实体。 实验背景 假设有一个需要将 route "report/{month}-{day}" 绑定到 MyDate 对象上的场 ......
路由 IParsable

如何使用 EF Core 7 批量删除数据

在 EF Core 7 中,我们可以使用批量操作来删除多条数据。这种方式与之前的版本有所不同,本文将对比 EFCore 7 和之前版本批量删除数据的不同方式。 删除给定 ID 的数据 在 EF Core 7 中,我们可以使用以下代码来删除给定 ID 的数据: await using var db = ......
数据 Core EF

使用 BenchmarkDotNet 比较指定容量的 List 的性能

我们之前提到 List 是 .NET 中常用的数据结构,其在存储大量数据时,如果能够指定它的初始化容量,就会有性能提升。这个优化的方法并不是很明显,因此本文将使用 BenchmarkDotNet 库,通过定量对比的方式来证明这一点。 实验过程 引入 BenchmarkDotNet 首先,我们需要在项 ......
BenchmarkDotNet 容量 性能 List

ArcObjects SDK 016 在ArcMap中使用Toolbox

1、如何找到ToolBox 通过Geoprocessing菜单上的ArcToolbox菜单项,可以打开ArcToolbox面板。 工具栏上也有一个ArcToolbox的按钮,点击该按钮也可以打开。 通过Arccatalog打开。 2、ArcToolbox面板 ArcToolbox面板如下图所示。 A ......
ArcObjects Toolbox ArcMap 016 SDK

ArcObjects SDK 017 在ArcObjects SDK 中使用Toolbox

1、Geoprocessor和IGPProcess Geoprocessor是ArcObjects SDK中定义Tool执行器。IGPProcess接口是ArcObjects SDK中定义的ArcTool接口。也就是说ArcObjects SDK定义的ArcTool都会继承该接口实现。理论上,在Ar ......
ArcObjects SDK Toolbox 017

docker registry(私库)搭建,使用,WEB可视化管理部署

Docker Registry 是Docker官方一个镜像,可以用来储存和分发Docker镜像。目前比较流行的两个镜像私库是Docker Registry ,HarBor 其中HarBor最合适企业级应用,提供良好的WEB界面进行管理。 Docker Registry搭建 本文主要介绍Docker ......
registry docker WEB

如何使用 System.Text.Json 序列化 DateTimeOffset 为 Unix 时间戳

在 .NET 中,日期和时间通常使用 DateTime 或 DateTimeOffset 来表示。这两种数据类型都可以表示日期和时间,但它们之间有一些明显的区别。DateTime 是不带时区信息的,而 DateTimeOffset 是带时区偏移量的,可以用来表示一个特定的时刻。 在现代 web 应用 ......
DateTimeOffset 序列 时间 System Json

使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题

在使用 System.Text.Json 进行 JSON 序列化和反序列化操作时,我们会遇到一个问题:如何处理字典中的 Key 为自定义类型的问题。 背景说明 例如,我们有如下代码: // 定义一个自定义类型 public class CustomType { public int Id { get ......
Dictionary 类型 System 问题 Json

如何基于 Redis 实现分布式锁

什么是分布式锁 分布式锁:不同进程必须以互斥方式使用共享资源的一种锁方法实现。 实现分布式锁的基础 互斥。任何时刻,只有一个客户端持有锁。 无死锁。最终总是有可能获得锁,即使持有锁的客户端已经崩溃。 单个 Redis 分布式锁实现 上锁 上锁需要考虑俩点 原子性 锁能自动释放 首先要考虑持有锁的客户 ......
分布式 Redis

.net core 中 WebApiClientCore的使用

WebApiClient 接口注册与选项 1 配置文件中配置HttpApiOptions选项 配置示例 "IUserApi": { "HttpHost": "http://www.webappiclient.com/", "UseParameterPropertyValidate": false, ......
WebApiClientCore core net

使用linux的ffmpeg进行B站直播推流

很久之前买了个友善的开发板R2S,一直在家吃灰。最近看到网上有用ffmpeg进行直播推流的案例,想把吃灰的的开发板利用起来,于是有了这篇教程。 第一步:安装ffmpeg sudo apt update sudo apt install ffmpeg 第二部分:创建用来存放视频的文件夹 这里我选择在/ ......
ffmpeg linux

13-flask博客项目之restful api详解2-使用

13-flask博客项目之restful api详解1-概念 13-flask博客项目之restful api详解1-概念 Flask-RESTful学习网站 英文:https://flask-restful.readthedocs.io/en/latest/ 中文:http://www.pytho ......
restful 项目 flask 博客 api

详解redis网络IO模型

前言 "redis是单线程的" 这句话我们耳熟能详。但它有一定的前提,redis整个服务不可能只用到一个线程完成所有工作,它还有持久化、key过期删除、集群管理等其它模块,redis会通过fork子进程或开启额外的线程去处理。所谓的单线程是指从网络连接(accept) -> 读取请求内容(read) ......
模型 redis 网络

kestrel网络编程--开发redis服务器

1 文章目的 本文讲解基于kestrel开发实现了部分redis命令的redis伪服务器的过程,让读者了解kestrel网络编程的完整步骤,其中redis通讯协议需要读者自行查阅,文章里不做具体解析。 2 开发顺序 创建Kestrel的Redis协议处理者 配置监听的EndPoint并使用Redis ......
网络编程 kestrel 服务器 redis 网络

Scrum敏捷开发方法实践

前言 作者所在的公司在项目开发的过程中采用着当下互联网公司中流行的小步快跑开发策略,特别借鉴了敏捷开发中的迭代递增思想来指导项目的开发。我们经过对相关敏捷开发方法的调查研究,最终采用了Scrum敏捷开发方法来管理项目。敏捷开发思想和相关方法的应用降低了项目的风险,极大地提升了项目团队对需求变更的响应 ......
方法 Scrum

Django框架:10、Ajax补充说明、多对多三种创建方法、Django内置序列化组件、批量操作数据方法、分页器思路

Django框架 一、Ajax补充说明 1、针对前端回调函数接受值的说明 主要针对回调函数args接收到的响应数据 1、后端如何判断请求发出方式 关键词:is_ajax() 通过request点的方式可以判断请求是否由Ajax发出 def home(request): print(request.i ......
方法 Django 序列 组件 框架

带你读AI论文丨针对文字识别的多模态半监督方法

摘要:本文提出了一种针对文字识别的多模态半监督方法,具体来说,作者首先使用teacher-student网络进行半监督学习,然后在视觉、语义以及视觉和语义的融合特征上,都进行了一致性约束。 本文分享自华为云社区《一种针对文字识别的多模态半监督方法》,作者: Hint 。 摘要 直到最近,公开的真实场 ......
模态 文字 方法 论文

Django框架:1、手撸web框架、Django框架简介、安装与使用和小白必会三板斧

Django框架 一、Django推导流程 1、纯手撸web框架 web框架本质 ​ web框架的本质就是socket服务端,用来连接前端(socket客户端)与数据库的中间介质 手写web框架 1.编写socket服务端代码 2.浏览器对服务端进行访问,访问响应无效>>>:HTTP协议 3.根据网 ......
框架 三板 三板斧 Django 简介

intel Pin:动态二进制插桩的安装和使用,以及如何开发一个自己的Pintool

先贴几个你可能用得上的链接 intel Pin的官方介绍Pin: Pin 3.21 User Guide (intel.com) intel Pin的API文档Pin: API Reference (intel.com) intel Pin的下载地址Pin - A Dynamic Binary In ......
二进制 Pintool 动态 intel Pin