自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(337)
  • 资源 (15)
  • 收藏
  • 关注

转载 EOF用法

Linux EOF 用法

2022-06-20 20:20:32 1280

原创 使用Redis incrBy时的一个小细节

自己封装的redis adapter ,对于对象的获取使用的是泛型 T public <T extends Serializable> T get(String key) { return super.process((jedis) -> { byte[] getRes = jedis.get(serialize(key)); if (getRes == null) { return nu

2021-11-17 12:41:26 829

转载 Python中下划线的5种含义

转自 Python程序员 原文链接https://mp.weixin.qq.com/s/Z9BqZrsZVZgSeja9VYdK0w本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类。单下划线和双下划线在Python变量和方法名称中都各有其含义。有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的。如果你想知道“Python变量和.

2021-11-09 16:27:51 306

转载 分位数统计

今天做了道题,刚开始没读懂题,网上搜了一下关于第95百分位的解释,大家各有说法,各有自己的理解。但是看了很多人的评论也是,表示基本都看不懂。  从维基百科上可以找到这么一段话:There is no standard definition of percentile, however all definitions yield similar results when the number of observations is very large and the probability distr

2021-08-18 16:27:42 674

转载 Redis的常用JavaAPI(Jedis)实现

一. pom依赖:<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>二、创建 je.

2021-08-11 10:02:37 123

原创 DRF算法比较篇

Asset FairnessAsset Fairness的设计想法是不同资源的相同占用率是等值的,比如1%的cpu使用率和1%内存和1%的带宽使用率是相同的。在这个前提之下,Asset Fairness 尝试去均衡分配给每个用户的聚合资源值(各种资源的累加)。特别地,Asset Fairness会计算每个用户i的聚合资源占用率,其中Si,j是用户i对于资源j的占用率。然后在用户的总占用率上使用max-min fairness,比如总是重复地运行拥有最小聚合资源占用率用户的任务。考虑第四章中的例.

2021-07-03 17:11:41 724 1

转载 调度器的调度流程和算法介绍

导读:Kubernetes 作为当下最流行的容器自动化运维平台,以声明式实现了灵活的容器编排,本文以 v1.16 版本为基础详细介绍了 K8s 的基本调度框架、流程,以及主要的过滤器、Score 算法实现等,并介绍了两种方式用于实现自定义调度能力。调度流程调度流程概览Kubernetes 作为当下最主流的容器自动化运维平台,作为 K8s 的容器编排的核心组件 kube-scheduler 将是我今天介绍的主角,如下介绍的版本都是以 release-1.16 为基础,下图是 kube-sc.

2021-06-23 16:56:53 1040

转载 分布式计算中的八大谬论

构建分布式系统是一项复杂的工作。架构,设计,编码和测试对分布式系统的成功都至关重要。任何一点的失败都可能导致性能下降,故障频发,费用超标以及最终导致客户流失。在20世纪90年代Sun Microsystems的Peter Deutsch,James Gosling和其他人总结出了分布式计算的八个谬论。随着时间的推移,IT人员对这些谬论的认识可能已经消退,所以想要提醒下大家。八大谬论是:网络可靠。 The network is reliable. 延迟为零。 Latency is zero. 带宽

2021-05-07 10:30:44 214

原创 轻松理解「 堆 」

堆(heap)又被为优先队列(priority queue)。尽管名为优先队列,但堆并不是队列。因为队列中允许的操作是先进先出(FIFO),在队尾插入元素,在队头取出元素。而堆虽然在堆底插入元素,在堆顶取出元素,但是堆中元素的排列不是按照到来的先后顺序,而是按照一定的优先顺序排列的。本文通过堆的实现、最小堆(最大堆)、堆的时间复杂度、优先队列的实现、堆排序来介绍「 堆 」。堆的实现堆的一个经典的实现是完全二叉树(complete binary tree),这样实现的堆称为二叉堆(bi.

2021-03-17 15:27:14 331

转载 调度算法基于 K8s 的资源描述的仿真对比

这里写目录标题一、简介二、实验设计2.1.测试环境2.2.调度流程2.3.待测算法2.3.1 随机调度(RAND)2.3.2 先来先服务(FCFS)2.3.3 绝对公平调度(DRF)2.3.3.1 Max-min Fairness2.3.3.2 主导资源(Dominant Resource)2.3.3.3 DRF2.3.4 模拟退火(SA)2.4. 测试指标三、结果对比3.1 四种算法对比3.2 模拟退火结果一、简介假设目标是 Kubernetes 中对 pod 的调度优

2021-03-14 20:33:12 256

转载 DRF调度算法(介绍篇)

今天记录的论文为: 《Dominant Resource Fairness: Fair Allocation of Multiple Resource Types》(nsdi’11)。这篇论文介绍了在多资源纬度场景下(比如CPU和Memory)的调度算法,证明了算法所具备的几个重要的特性。写这篇博文的时候,只看了其中的前几节,摸清楚整个算法的大致思路,后面的数学证明还没看。因此这篇博文严格说只是半篇介绍,作为后面介绍的一个引子。废话不多说,先直接用论文中的一个简单的例子来说明算法思路:考虑一个有{

2021-03-14 20:27:22 1375

原创 max-min fairness 最大最小公平算法

我们总会面临这样的问题,需要给一组用户分配一些稀缺资源,站在资源分配者的角度,他们具有等价的权利获取资源,但实际上,一些用户可能获取较少的资源就能够满足需要,这样看来,他们对资源的获取又不是完全等价的,似乎不适合去平分资源,因此就有了最大最小公平算法。最大最小公平算法定义如下(不带权): 1、资源按照需求递增的顺序进行分配; 2、不存在用户获得的资源超过自身的需求;; 3、对于未满足的用户,等价分享剩余资源;算法实现逻辑(不带权):...

2021-03-14 20:18:21 1514

转载 一致性Hash原理与实现

前言互联网公司中,绝大部分都没有马爸爸系列的公司那样财大气粗,他们即没有强劲的服务器、也没有钱去购买昂贵的海量数据库。那他们是怎么应对大数据量高并发的业务场景的呢?这个和当前的开源技术、海量数据架构都有着不可分割的关系。比如通过mysql、nginx等开源软件,通过架构和低成本的服务器搭建千万级别的用户访问系统。怎么样搭建一个好的系统架构,这个话题我们能聊上个七天七夜。这里我主要结合Redis集群来讲一下一致性Hash的相关问题。Redis集群的使用我们在使用Redis的过程中,为了保证Re

2021-02-05 11:42:33 175

转载 易懂分布式 | Kademlia算法

近年来,区块链技术(部分人更愿意称之为分布式账本技术)的走红将分布式技术的概念带入大众的视野。区块链技术之所以备受追捧,一方面是其展现了一种在计算机的辅助下,人类可以以无中心、无权威、无层级的方式来进行社会协作的美妙前景;另一方面,从物理上可论证,分布式的简单协议,比中心化的复杂协议更为高效。分布式技术似乎能够在带来公平的同时,还带来效率。要理解分布式技术并不困难,因为分布式技术并不高深,但其设计上往往巧妙得令人拍手称赞。本文介绍一种常见而巧妙的分布式技术,Kademlia算法。Kademlia

2021-01-02 23:41:45 407

转载 分布式下载方式(二)DHT分布式网络

简单回顾以下上一篇文章介绍了内容:分布式下载方式(一)原理分析分布式下载方式也有两种:依赖tracker的“元数据集中,文件数据分散”的方式;另一种是基于分布式的哈希算法,保证元数据和文件数据完全分开。在 DHT 网络里面,每一个 DHT node 都有一个 ID。这个 ID 是一个很长的串。每个 DHT node 都有责任掌握一些知识,也就是文件索引,或者叫做文件Hash值。每一个DHT node都有一个ID,这个ID是一个160bits(20字节)的数据,它存储的文件标识也是一个160bits的

2021-01-02 20:47:28 801

转载 分布式下载方式(一)原理分析

【特殊提醒:本文理论性较强,请谨慎阅读】上一篇文章中分析了UC浏览器的视频下载方式:UC浏览器视频播放缓存以及视频下载分析,讲到了P2P的下载方式,本文就分析一下什么是P2P的下载方式,以及P2P所属的分布式的下载缓存体系。传统的下载就是client和server端交互,这个server是固定的,就是存储资源的服务器,这时候不管网速如何,下载的速度严重依赖于服务器的服务稳定性,如果服务器不太稳定,接入就比较慢,下载速度就会受到很大的限制,这也是传统下载方式的速度优化有一个非常明显的天花板——难以解决

2021-01-02 20:46:08 1304

转载 一位架构师的感悟:过度忙碌使你落后

我踩过的坑,希望大家不用再踩。到现在我工作 17 年了, 担任架构师的职位也超过了 10 年,担任过像 HP、Amazon 这样的世界级团队的架构师,也担任过像汇量科技这样快速成长的中小企业的技术领导。影 InfoQ 邀请分享一下我的工作感悟,分享内容部分来自成功总结,更多是来自失败的反思,希望我踩过的坑大家可以不用再踩。“提出问题”难于“解决问题”作为技术人员,我们已经习惯于作为问题的解决者给出设计方案,而很少以问题提出者的身份去思考设计方案。团队中常见的典型矛盾,就是产品团...

2020-12-24 14:38:59 228

原创 程序员蜕变为架构师必须要知道的「架构理论」

架构目的和指标架构目的:架构设计的主要目的是为了解决软件系统复杂度带来的问题,是用最小的人力成本来满足需求的开发和响应需求的变化,用最小的运行成本来保障软件的运行。让软件达到“高内聚、松耦合”,从而使软件具有:易扩展——易于增加新的功能 更强壮——不容易被粗心的程序员破坏 可移植——能够在多样的环境下运行 更简单——容易理解、容易维护设计目标:可扩展性(Scalable) 可靠性(Reliable),支持灰度发布,异地容错 可伸缩 (Extensible),支持...

2020-12-24 14:37:40 174

原创 java中5种异步转同步方法

先来说一下对异步和同步的理解:同步调用:调用方在调用过程中,持续等待返回结果。异步调用:调用方在调用过程中,不直接等待返回结果,而是执行其他任务,结果返回形式通常为回调函数。其实,两者的区别还是很明显的,这里也不再细说,我们主要来说一下Java如何将异步调用转为同步。换句话说,就是需要在异步调用过程中,持续阻塞至获得调用结果。不卖关子,先列出五种方法,然后一一举例说明:使用wait和notify方法,synchronized 使用条件锁ReentrantLock Future

2020-10-21 17:45:37 3718

转载 十分钟带你理解Kubernetes核心概念

本文将会简单介绍Kubernetes的核心概念。因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍。相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概念。我们发现一些概念(比如Service)如果没有图表的辅助就很难全面地理解。在合适的地方我们也会提供Kubernetes文档的链接以便读者深入学习。如果你想和我或者更多Kubernetes专家...

2019-08-07 14:38:00 233

转载 插画版Kubernetes指南(小孩子也能看懂的kubernetes教程)

是根据一个视频翻译过来的,比较形象编者按:Matt Butcher 是 Deis 的平台架构师,热爱哲学,咖啡和精雕细琢的代码。有一天女儿走进书房问他什么是 Kubernetes,于是就有了这本插画版的 Kubernetes 指南,讲述了勇敢的 Phippy(一个 PHP 应用),在 Kubernetes 的冒险故事,满满的父爱有木有!  某一天  有一天,女儿走进书房问我:『亲爱...

2019-08-07 14:36:46 378

转载 事物传播特性

Required:必须有逻辑事务,否则新建一个事务,使用PROPAGATION_REQUIRED指定,表示如果当前存在一个逻辑事务,则加入该逻辑事务,否则将新建一个逻辑事务,如图9-2和9-3所示;图9-2 Required传播行为图9-3 Required传播行为抛出异常情况 在前边示例中就是使用的Required传播行为:一、在调用user...

2019-07-04 16:02:27 208

转载 业务中如何实现幂等性

在消息处理中经常需要考虑到消息重复发送了怎么办?这个时候需要做幂等处理,也就是一个消息只能被消费一次,那如何判断一个消息已经被消费了呢?1、利用类似mysql这种具有唯一性约束的数据库机制 评论:需要落库,比较重2、消费消息的时候,先根据唯一key值做一次select,有则不用消费,没有则消费评论:select不一定是从关系型数据库中获取3、利用集合的cont...

2019-04-23 21:49:03 1502 1

转载 PySpark 的背后原理

阅读目录1、Spark运行时架构 2、PySpark运行时架构 2.1 Driver端运行原理 2.2 Executor端运行原理 3、总结文章正文Spark主要是由Scala语言开发,为了方便和其他系统集成而不引入scala相关依赖,部分实现使用Java语言开发,例如External Shuffle Service等。总体来说,Spark是由JVM语言实现,会运行在...

2019-03-15 11:42:58 222

转载 精练代码:一次Java函数式编程的重构之旅

基础知识重构前重构过程从小处着手重复的foreach代码lambda取代内部类简单而有益的隔离回调接口改造成函数接口新的需求抽离异常处理抽离并发处理过程式改函数式更函数式的风格模拟柯里化小结重构后ConcurrentDataHandlerFrameRefactoredExecutorUtilTaskUtilCatchUtilStreamUtil摘要:通过一次并发处理数据集的Java代码重构之旅...

2019-01-21 18:43:55 542 1

转载 Kunbernetes-容器云应用的安装部署工具Helm

1、Helm介绍在Kubernetes中部署容器云的应用也是一项有挑战性的工作,Helm就是为了简化在Kubernetes中安装部署容器云应用的一个客户端工具。通过helm能够帮助开发者定义、安装和升级Kubernetes中的容器云应用,同时,也可以通过helm进行容器云应用的分享。在Kubeapps Hub中提供了包括Redis、MySQL和Jenkins等参见的应用,通过helm可以使用一...

2018-11-14 16:52:04 678

原创 关于 Juju 的十二个热点问题

什么是 Juju? Juju 是 Canonical 公司提供的服务编排工具。它是Ubuntu云套件的一部分,与Ubuntu 服务器、OpenStack、用于裸机配置的MAAS 、以及 用于系统管理和监控的Landscape 一起组成 Ubuntu 云套件。 什么是服务编排? 这个名词有几种不同的定义,但我们认为服务编排是要具备这些能力,快速、轻松地部署和管理服务(无论它是一...

2018-11-14 16:28:36 1448

转载 LXC、LXD、Docker的区别与联系

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 )容器namespace技术用来进行做进程间的隔离,linux namespace包括:mount namespace, uts namespace, ipc namespace, pid namespace, network namespa...

2018-11-14 16:18:47 1562

转载 docker 基础命令

转载请注明源出处:http://www.cnblogs.com/lighten/p/6875355.html1.基本命令  搭建好docker环境之后,使用docker help命令查看docker的基本用法: docker COMMAND.        目前我们较为常使用的是commands下面的指令,如果使用swarm相关功能会用到management command...

2018-11-13 20:29:33 369

转载 Dockfile详解

转载请注明出处:http://www.cnblogs.com/lighten/p/6900556.html1.基本说明  Dockfile是一个用于编写docker镜像生成过程的文件,其有特定的语法。在一个文件夹中,如果有一个名字为Dockfile的文件,其内容满足语法要求,在这个文件夹路径下执行命令:docker build --tag name:tag .,就可以按照描述构建一个镜像了...

2018-11-13 16:38:44 1304 1

转载 Apache Beam

1.概述  在大数据的浪潮之下,技术的更新迭代十分频繁。受技术开源的影响,大数据开发者提供了十分丰富的工具。但也因为如此,增加了开发者选择合适工具的难度。在大数据处理一些问题的时候,往往使用的技术是多样化的。这完全取决于业务需求,比如进行批处理的MapReduce,实时流处理的Flink,以及SQL交互的Spark SQL等等。而把这些开源框架,工具,类库,平台整合到一起,所需要的工作量以及复...

2018-11-09 17:43:58 1515

转载 linux中bg、fg、ctrl+z、ctrl+d和ctrl+c的区别

 fg、bg、jobs、&amp;、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一。&amp; 最经常被用到   这个用在一个命令的最后,可以把这个命令放到后台执行 $ pct &amp;二。ctrl + z    可以将一个正在前台执行的命令挂起三。jobs     查看当前有多少在后台运行的命令job...

2018-11-03 20:59:44 547

转载 【Docker】 Swarm简单介绍

Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。  Swarm的基本架构如下图所示,  这个图作为一个整体实际上都处于一个所谓的集群中,它可能对应了一到多台的实际服...

2018-10-09 09:18:33 382

转载 基本概念:人工智能,机器学习,深度学习,强化学习的区别和简介

人工智能(Artificial Intelligence)是最早提出的一个专有名词,早在50多年前就有几个计算机科学家提出了人工智能的概念,希望可以制造出可以和人类拥有类似智慧的机器.几十年来这个概念被不断的扩散至各行各业.当然也就带来了各种滥用,一些带了些许自动化算法的软件也被称为人工智能.而通常人们心中的人工智能是美国大片终结者里面的存在.或者至少是钢铁侠盔甲级别的存在才叫人工智能.而目前业界...

2018-09-20 16:04:51 904

转载 precision 准确率, recall 召回率 , IoU, mAP

从图像的角度理解precision, recall, IoU三个概念,我觉得下面这个图非常直观: 参考网页:How to calculate mAP for detection task for the PASCAL VOC Challenge?​datascience.stackexchange.com 维基百科上对precision, recall的解释如下:用...

2018-09-18 11:44:56 1624

转载 java8流计算去重方法进阶版(优质文章)

这里一共介绍3种方式排序1、Stream提供的distinct()方法只能去除重复的对象,无法根据指定的对象属性进行去重,可以应付简单场景。2、  List&lt;Book&gt; unique = books.stream().collect( collectingAndThen(toCollection(() -&gt; new TreeSet&lt;&gt;(...

2018-08-29 11:34:10 2271 2

原创 java 8 stream Collectors .toMap

 去重复,当出现相同的key,已后来的值替换package com.cainiao.xg.lable.pojo.valueobject.v1;import java.io.Serializable;import java.util.List;import java.util.Map;import java.util.function.Function;import java....

2018-08-28 15:56:23 10252

转载 使用validator-api来验证spring-boot的参数

作为服务端开发,验证前端传入的参数的合法性是一个必不可少的步骤,但是验证参数是一个基本上是一个体力活,而且冗余代码繁多,也影响代码的可阅读性,所以有没有一个比较优雅的方式来解决这个问题?这么简单的问题当然早就有大神遇到并且解决了,这一篇文章主要讲一下解决基于spring-boot的验证参数的比较好的方法:利用validator-api来进行验证参数。在spring-boot-starter...

2018-08-21 15:46:02 226

转载 Java SpringBoot上的参数校验JSR 303 Validation

背景JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案。 Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 我们通常写接口时会对传来的参数进行校验判断,比如字符串非空判断,值在多少返回等,这些...

2018-08-21 15:43:32 475

原创 认证 (authentication) 和授权 (authorization)

认证 (authentication) 和授权 (authorization) 的区别      你要登机,你需要出示你的 passport 和 ticket,passport 是为了证明你张三确实是你张三,这就是 authentication;而机票是为了证明你张三确实买了票可以上飞机,这就是 authorization。      在 computer science 领域再举...

2018-08-15 18:48:08 1264

kettle 手册 kettle 学习资料 kettle 用户手册

kettle 手册 kettle 学习资料 kettle 用户手册

2013-03-21

HBase原理及实例

HBase原理及实例

2012-05-17

hbase 学习 hbase原理 hbase资料

hbase 学习 hbase原理 hbase资料 ,呕心沥血整理的。很实用,不适用可拍砖。。

2012-05-15

weblogic 学习 教程 使用指南

很实用!weblogic 学习 教程 使用指南

2010-08-02

怎么用JavaMail收取邮件

怎么用JavaMail收取邮件.doc怎么用JavaMail收取邮件.doc

2010-08-02

JavaMail_API细节详细解析大全

JavaMail_API细节详细解析大全.doc

2010-08-02

IMAP命令学习 教程

IMAP命令学习 教程 很实用IMAP命令学习 教程 很实用

2010-08-02

open flash chart-2 简单教程 DEMO

open flash chart-2 简单教程 DEMO

2010-08-02

open-flash-chart-2-Lug-Wyrm-Charmer.zip

open-flash-chart-2-Lug-Wyrm-Charmer.zip

2010-08-02

prototype.js

prototype js 文件!prototype js 文件!

2010-08-02

Prototype 帮助文档 API

Prototype 帮助文档 API Prototype 帮助文档 API

2010-08-02

prototype 学习文档

prototype 学习 教程 文档prototype 学习 教程 文档

2010-08-02

Linux常用命令全集.CHM

Linux常用命令全集.CHMLinux常用命令全集.CHM

2010-08-02

javaMail 源码

javaMail 源码 源文件 ,不错!

2010-08-02

c3p0-0.9.1.jar

c3p0-0.9.1.jar ,一种连接池

2010-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除