算法 数据结构 结构 数据

设计模式(十一)----结构型模式之装饰者模式

1、概述 我们先来看一个快餐店的例子。 快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜,当然加配菜需要额外加钱,每个配菜的价钱通常不太一样,那么计算总价就会显得比较麻烦。 使用继承的方式存在的问题: 扩展性不好 如果要再加一种配料(火腿肠),我们就会发现需要给FriedRice和F ......
模式 结构型 设计模式 结构

设计模式(十)----结构型模式之适配器模式

1、概述 如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机充电器(将220v转 ......

搭个ChatGPT算法模型,离Java程序员有多远?

这一篇文章先给我自己以及大家对 ChatGPT 开个门,让对此感兴趣的编程爱好者可以参与进去学习。在我感觉 ChatGPT 的出现会打破某些平衡,对一些事项进行秩序重置。因此也让更多的人获得了大量的机会。 ......
程序员 算法 模型 ChatGPT 程序

SpringBoot多数据源以及事务处理

背景 在高并发的项目中,单数据库已无法承载大数据量的访问,因此需要使用多个数据库进行对数据的读写分离,此外就是在微服化的今天,我们在项目中可能采用各种不同存储,因此也需要连接不同的数据库,居于这样的背景,这里简单分享实现的思路以及实现方案。 如何实现 多数据源实现思路有两种,一种是通过配置多个Sql ......
数据源 SpringBoot 事务 数据

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

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

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

推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】

推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】 ......
算法 实战 行为 个性 用户

深度优先搜索算法-dfs讲解

迷宫问题 有一个迷宫: S**. .... ***T (其中字符S表示起点,字符T表示终点,字符*表示墙壁,字符.表示平地。你需要从S出发走到T,每次只能向上下左右相邻的位置移动,不能走出地图,也不能穿过墙壁,每个点只能通过一次。) 现在需要你求出是否可以走出这个迷宫 我们将这个走迷宫过程称为dfs ......
算法 深度 dfs

推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计

推荐可分为以下四个流程,分别是召回、粗排、精排以及重排: 1. 召回是源头,在某种意义上决定着整个推荐的天花板; 2. 粗排是初筛,一般不会上复杂模型; 3. 精排是整个推荐环节的重中之重,在特征和模型上都会做的比较复杂; 4. 重排,一般是做打散或满足业务运营的特定强插需求,同样不会使用复杂模型... ......
系统 算法 全民 架构 音乐

加密,各种加密,耙梳加密算法(Encryption)种类以及开发场景中的运用(Python3.10)

不用说火爆一时,全网热议的Web3.0区块链技术,也不必说诸如微信支付、支付宝支付等人们几乎每天都要使用的线上支付业务,单是一个简简单单的注册/登录功能,也和加密技术脱不了干系,本次我们耙梳各种经典的加密算法,试图描摹加密算法在开发场景中的运用技巧。 可逆加密算法(对称加密) 加密算法是一种将原始数 ......
算法 Encryption 种类 场景 Python3

国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。

国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。 ......
算法 宏观 短期 ChatYuan 角度

算法基础模板

时空复杂度分析 一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在10^7^~10^8^为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: n ≤ 30,指数级别,dfs+剪枝,状态压缩dp n ≤ 100 => O(n^3^),floyd,dp ......
算法 模板 基础

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

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

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

分布式机器学习:异步SGD和Hogwild!算法(Pytorch)

同步算法的共性是所有的节点会以一定的频率进行全局同步。然而,当工作节点的计算性能存在差异,或者某些工作节点无法正常工作(比如死机)的时候,分布式系统的整体运行效率不好,甚至无法完成训练任务。为了解决此问题,人们提出了异步的并行算法。在异步的通信模式下,各个工作节点不需要互相等待,而是以一个或多个全局... ......
分布式 算法 机器 Hogwild Pytorch

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

算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 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 做调试,回归 ......
开发工具 流量 性能 工具 数据

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

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

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

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

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

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

Mybatis连接数据库

从零开始Mybatis连接数据库 创建Maven文件 File-->new-->project-->maven,点击next 配置 在出现的pom.xml文件中<project>标签之间加入以下内容 <!--打包方式--> <packaging>jar</packaging> <dependenci ......
Mybatis 数据库 数据

任何人均可上手的数据库与API搭建平台

编写API可能对于很多后端开发人员来说,并不是什么难事儿,但如果您主要从事前端功能,那么可能还是有一些门槛。 那么有没有工具可以帮助我们降低编写API的学习门槛和复杂度呢? 今天就来给大家推荐一个不错的开源工具:APITable APITable是一个面向API的可视化数据库,它适用于所有人,甚至没 ......
数据库 数据 平台 API

限流器算法实现(JUC原子类使用实践)

系列文章目录和关于我 一丶限流器存在的意义 在高并发系统中,出于系统保护角度考虑,通常会对流量进行限流。 限流*的目的是在遇到流量高峰期或者流量突增(流量尖刺)时,通过对流量速率进行限制,当达到限制速率时,可以拒绝服务(定向到错误页或告知资源没有了)、排队或等待(比如秒杀、评论、下单)、降级(返回兜 ......
原子 算法 JUC

Android JetPack~ DataBinding(数据绑定)(一) 集成与使用

近期将会梳理一下JetPack全家桶的使用,包括DataBinding,Room,ViewModel,LiveData,Navigation等。 本来打算先写DataBinding的使用,没想到在17年的时候已经写过了,这里就补充一点吧,毕竟不是什么新东西 Android数据绑定技术一,企业级开发 ......
DataBinding Android JetPack 数据

(二) MdbCluster分布式内存数据库——分布式架构

(二) MdbCluster分布式内存数据库——分布式架构 上一篇: (一) MdbCluster分布式内存数据库——基础架构介绍 分布式架构是MdbCluster的核心关键,业界有很多相关的实现,却很少有文章详细的解释每个架构实现背后的细节和这么做的原因。在MdbCluster整个研发和测试的过程 ......
分布式 MdbCluster 架构 内存 数据库