算法 数据结构 根基 结构

【Go并发编程】Go使用协程批量获取数据,加快接口返回速度

服务端经常需要返回一个列表,里面包含很多用户数据,常规做法当然是遍历然后读缓存。 使用Go语言后,可以并发获取,极大提升效率。 使用channel package main import ( "fmt" "time" ) func add2(a, b int, ch chan int) { c := ......
接口 速度 数据

NAPT网络结构下TCP/UDP/ICMP访问外网原理思考

背景 作为程序员,应该都听说过NAT(Network Address Transfer,网络地址转换)这一技术名词,并或多或少大概知道其原理与作用--NAT是用于解决IPv4地址不够用,保证我们能够在IPv6普及前依然可以正常使用互联网而广泛使用的一个技术,其原理正如其名称所示:其可以将私网IP通过 ......
原理 结构 网络 NAPT ICMP

百万级数据excel导出功能如何实现?

前言 最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了。 这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助。 原始需求:用户在UI界面上点击全部导出按钮,就能导出所有商品数据。 咋一看,这个需求挺简单的。 但如果我告诉你,导出的 ......
功能 数据 excel

R数据分析:孟德尔随机化中介的原理和实操

中介本身就是回归,基本上我看到的很多的调查性研究中在中介分析的方法部分都不会去提混杂,都是默认一个三角形画好,中介关系就算过去了,这里面默认的逻辑就是前两步回归中的混杂是一样的,计算中介效应的时候就自动消掉了。 但是,实际上对不对,还是有待具体分析的: Traditional, non-instru ......
数据分析 原理 中介 数据

图解 Andrew 算法求凸包

前言 Andrew 算法可以在 $O(n\log n)$ 的时间复杂度通过单调栈分别求出散点的上凸壳和下凸壳,来求出平面上一些点的凸包。 看懂这篇博客,大家需要掌握: 基础计算几何知识 单调栈 本文中的向量恕不加 $\overrightarrow{}$ 符号。 凸多边形是指所有内角大小都在 $[0, ......
凸包 算法 Andrew

(Java)设计模式:结构型

前言 这篇博文续接的是 UML建模、设计原则、创建型设计模式、行为型设计模式,有兴趣的可以看一下 3.3、结构型 这些设计模式关注类和对象的组合。将类和对象组合在一起,从而形成更大的结构 * 3.3.1、proxy 代理模式 定义:为某对象提供一种代理以控制对该对象的访问。即:客户端通过代理间接地访 ......
结构型 设计模式 模式 结构 Java

RSA非对称加密算法浅析

说起加密算法,大的分类上,常规区分通常会区分为对称加密与非对称加密两种,两种算法都各有优缺点。然而互联网发展到今天,应用更广的还是非对称加密的方式,而非对称加密中,RSA又首当其中,被广泛运用到各类应用中。本人作为一个标准的Javer,一直对RSA细节没有深入探究,本文算是对该算法的一个浅析,其中涉 ......
算法 RSA

用Java写一个分布式缓存——缓存淘汰算法

前言 之前也用过一些缓存中间件,框架,也想着自己是不是也能用Java写一个出来,于是就有了这个想法,打算在写的过程中同步进行总结。 源码:weloe/Java-Distributed-Cache (github.com) 本篇代码: Java-Distributed-Cache/src/main/j ......
缓存 分布式 算法 Java

从实战出发,聊聊缓存数据库一致性

在云服务中,缓存是极其重要的一点。所谓缓存,其实是一个高速数据存储层。当缓存存在后,日后再次请求该数据就会直接访问缓存,提升数据访问的速度。但是缓存存储的数据通常是短暂性的,这就需要经常对缓存进行更新。而我们操作缓存和数据库,分为读操作和写操作。 读操作的详细流程为,请求数据,如缓存中存在数据则直接 ......
一致性 缓存 实战 数据库 数据

如何优雅地校验后端接口数据,不做前端背锅侠

背景 最近新接手了一批项目,还没来得及接新需求,一大堆bug就接踵而至,仔细一看,应该返回数组的字段返回了 null,或者没有返回,甚至返回了字符串 "null"??? 这我能忍?我立刻截图发到群里,用红框加大加粗重点标出。后端同学也积极响应,答应改正。 第二天,同样的事情又在其他的项目上演,我只是 ......
前端 数据

SpringBoot+Mybatis-plus整合easyExcel批量导入Excel到数据库+导出Excel

一、前言 今天小编带大家一起整合一下easyExcel,之所以用这个,是因为easyExcel性能比较好,不会报OOM! 市面上常见的导入导出Excel分为三种: hutool easyExcel poi hutool和easyExcel都是对poi的封装,使用起来更加方便! 如果想使用poi和hu ......

梯度下降算法 Gradient Descent

梯度下降算法 Gradient Descent 梯度下降算法是一种被广泛使用的优化算法。在读论文的时候碰到了一种参数优化问题: 在函数$F$中有若干参数是不确定的,已知$n$组训练数据,期望找到一组参数使得残差平方和最小。通俗一点地讲就是,选择最合适的参数,使得函数的预测值与真实值最相符。 $${ ......
梯度 算法 Gradient Descent

特定领域知识图谱(Domain-specific KnowledgeGraph:DKG)融合方案:技术知识前置【一】-文本匹配算法、知识融合学术界方案、知识融合业界落地方案、算法测评KG生产质量保障

特定领域知识图谱(Domain-specific KnowledgeGraph:DKG)融合方案:技术知识前置【一】-文本匹配算法、知识融合学术界方案、知识融合业界落地方案、算法测评KG生产质量保障 0.前言 本项目主要围绕着特定领域知识图谱(Domain-specific KnowledgeGra ......
知识 方案 算法 学术界 图谱

AI换脸实战教学(FaceSwap的使用)---------第二步Tools:处理输入数据集。

续上篇:https://www.cnblogs.com/techs-wenzhe/p/12936809.html 第一步中已经提取出了源视频的人脸照片以及对应人脸遮罩(landmark以及其他自选遮罩) 第二步:利用Tools处理提取号好的数据集,使其对模型的训练产生正向收益。 步骤1:剔除不需要的 ......
实战 FaceSwap 教学 数据 Tools

算法竞赛向 C++ Standard Library 使用速查

本文旨在对算法竞赛所需 C++ Standard Library 做一个全面而相对严谨的总结。 全文主要参考以下文档: Containers library - cppreference.com C++ 标准库简介 - OI Wiki 如有能力,阅读原文可获得更深入的了解。 1 STL 算法 均在 ......
算法 Standard Library

Redis缓存何以一枝独秀?(2) —— 聊聊Redis的数据过期、数据淘汰以及数据持久化的实现机制

Redis作为一个非关系型数据库,由于其超高的并发处理性能,及其对缓存场景所提供的系列能力构建,使其成为了集中缓存的绝佳选择。本篇我们聊聊Redis数据管理的能力,如数据过期、数据淘汰、数据持久化等。 ......
数据 一枝独秀 Redis 缓存 机制

表格集算表高性能原理——怎样实现纯前端百万行数据秒级响应

集算表 (Table Sheet)是一个具备高性能渲染、数据绑定功能、公式计算能力的数据表格,通过全新构建的关系型数据管理器结合结构化公式,在高性能表格的基础上提供排序、筛选、样式、行列冻结、自动更新、单元格更新等功能。 什么是集算表(Table Sheet)? 集算表是一个具有网络状行为和电子表格 ......
前端 高性能 表格 原理 数据

【Django drf】 序列化类常用字段类和字段参数 定制序列化字段的两种方式 关系表外键字段的反序列化保存 序列化类继承ModelSerializer 反序列化数据校验源码分析

序列化类常用字段类和字段参数 常用字段类 # BooleanField BooleanField() # NullBooleanField NullBooleanField() # CharField CharField(max_length=None, min_length=None, allow ......
序列 字段 ModelSerializer 源码 常用

使用Logstash工具导入sqlserver数据到elasticSearch及elk分布式日志中心

首先记下这个笔记,Logstash工具导入sqlserver数据到elasticSearch。 因为logstash使用java写的,我本地开发是win11,所以javade jdk必须要安装。具体安装不介绍了,就是网上下个java8,不要去官网要账号什么的,不是java开发不太折腾,目前只用jav ......

企业应用架构研究系列二十四:SQL Server 数据库调优之XEvent 探查器

如果入职一些中小型公司,往往需要接手一些很“坑”的项目,到底多坑就不牢骚了,只讲一下,如果破解这些历史遗留的项目问题。项目代码可能短时间无法进行通读研究,我们就需要从底层数据库进行挖掘问题,有经验的老开发工程师,他会开启Sql Server Profiler 这个功能,进行语句的跟踪。这个是一个很好 ......
架构 数据库 数据 Server XEvent

【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)

离线迁移 与在线迁移相比,离线迁移适宜于源实例与目标实例的网络无法连通的场景,或者源端实例部署在其他云厂商Redis服务中,无法实现在线迁移。 存在的问题 由于生产环境的各种原因,我们需要对现有服务器进行迁移,包括线上正在运行的redis集群环境 如何去做? 涉及到数据源变动,原有数据如何平滑迁移到 ......
数据 实战 Redis 模式 指南

【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(scan模式迁移)

在线数据迁移方式 对于大多数场景下的Redis的数据迁移,还是比较推荐大家参考我之前的前两篇文章。 【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(在线同步数据) 【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线 ......
实战 模式 数据 Redis 指南

【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据

SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配置Redis的配置即可进行链接Redis服务并且进行操作Redis服务数据。 针对于不同的版本有了不 ......

【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据

SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配置Redis的配置即可进行链接Redis服务并且进行操作Redis服务数据。 针对于不同的版本有了不 ......

【Dubbo3终极特性】「云原生三中心架构」带你探索Dubbo3体系下的配置中心和元数据中心、注册中心的原理及开发实战(上)

Dubb3的应用级服务发现 Dubbo3提供了全新的应用级服务发现模型,该模型在设计与实现上区别于 Dubbo2 的接口级服务发现模型。 概括来说,Dubbo3 引入的应用级服务发现主要有以下优势 适配云原生微服务变革。云原生时代的基础设施能力不断向上释放,像 Kubernetes 等平台都集成了微 ......
Dubbo3 Dubbo 数据中心 架构 实战

【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)

承接上文 通过之前的【Dubbo3终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(上),让我们对Dubbo3的三中心架构体系有了一定的认识和了解。 Dubbo3的三中心部署架构 回顾一下部署架构(注册中心、配置中心、元数据中心),了解Du ......
Dubbo3 Dubbo 数据中心 架构 实战

【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)

从实战出发使用RedisShake进行Redis数据在线+离线模式迁移指南 RedisShake基本介绍 RedisShake是基于redis-port基础上进行改进的是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。数据可平滑迁移,当部署在其他云厂商Red ......
数据 实战 Redis 模式 指南

MySql树形结构(多级菜单)查询设计方案

背景 又很久没更新了,很幸运地新冠引发了严重的上呼吸道感染,大家羊过后注意休息和防护 工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的查询(多级查询),常见的场景有:组织架构(用户部门)查询 和 多级菜单查询 比如,菜单分为三级,一级菜单、二级菜单、三级菜单,要求用户按树形结构把各级菜单查 ......
树形 菜单 结构 方案 MySql

算法学习笔记(8.1): 网络最大流算法 EK, Dinic, ISAP

网络最大流 前置知识以及更多芝士参考下述链接 网络流合集链接:网络流 最大流,值得是在不超过管道~~(边)~~容量的情况下从源点到汇点最多能到达的流量 抽象一点:使 $\sum_{(S, v) \in E} f(S, v)$ 最大的流函数被称为网络的最大流,此时的流量被称为网络的最大流量 有了最大流 ......
算法 笔记 Dinic 网络 ISAP

常见限流算法

简介 限流顾名思义是对流量大小进行限制,防止请求数量超过系统的负载能力,导致系统崩溃,起到保护作用。 现实生活中限流也随处可见,节假日出门旅行的人数会剧增,对于旅游景点来说往往会不堪重负,如果不进行人数控制,对整个景点的压力会非常大,游客的体验也会非常差,还容易出现安全事故等危险。 同样的在一线城市 ......
算法 常见