自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

leason的博客

腹有诗书气自华(https://leason.top)

  • 博客(79)
  • 资源 (11)
  • 收藏
  • 关注

原创 kubernetes负载感知调度

相对于 Koordinator 专门为混部而生的软件,Crane以 Finops 为出发点,二者相比Koordinator更适合我们,在离线混部也是下一步计划。基于上述情况,高峰时 Cpu 利用率仅25%肯定不是合理的情况,业界做的好的50%+。2. 在1中的情况下,扩容部分节点缓解集群压力时,新上的节点会迅速被热点Pod占满,导致节点负载升高,再次触发重调度。需要前置打散热点节点,这就需要对应用进行资源画像,在调度中分散这种类型的应用,避免业务高峰热点节点的产生。本文由博客一文多发平台。

2023-10-13 14:24:30 122

原创 koordinator混部系统实验分享

官网: https://koordinator.sh/koordinator 是一个基于 qos 的 kubernetes 混合工作负载调度系统。它旨在提高对延迟敏感的工作负载和批处理作业的运行时效率和可靠性,简化与资源相关的配置调整的复杂性,并增加 pod 部署密度以提高资源利用率。文章基于Koordinator版本: 1.0.0内核版本: Anolis-4.19.91-26.6。

2023-07-05 17:17:57 332

原创 什么是基础设施即代码

基础设施即代码(Infrastructure as Code)是一种将基础设施的配置和管理过程自动化的方法。它借鉴了软件开发中的一些实践,如版本控制、自动化测试和持续集成,将基础设施的配置和管理过程描述为可执行的代码。通过使用基础设施即代码,开发团队可以将基础设施的配置和管理过程存储为代码,并将其纳入版本控制系统中。这样一来,团队成员可以对基础设施进行版本控制、进行代码审查和合并,并且可以使用自动化工具来验证和部署基础设施的更新

2023-07-05 17:07:51 639

原创 操作系统CPU调度

概述多道程序操作系统的基础。通过在进程之间切换CPU,操作系统可以提高计算机的吞吐率。 对于单处理器系统,每次只允许一个进程运行:任何其他进程必须等待,直到CPU空闲能被调度为止。CPU按一定的调度算法从就绪队列中选择一个进程,把CPU的使用权交给被选中的进程,如果没有就绪进程,系统会安排一个系统空闲进程或系统空闲进程。调度触发事件:创建、唤醒、退出等进程控制操作进程等待I/O,I/O中断

2018-01-04 17:19:31 1280 1

原创 操作系统进程

概述一个进程就是一个正在运行的程序。 它包括:程序的代码,既然进程是一个正在运行的程序,自然需要程序的代码程序的数据CPU寄存器的值,包括通用寄存器,程序计数器堆(heap)是用来保存进程运行时动态分配的内存空间栈(stack)有两个用途,1保存运行的上下文信息。2在函数调用时保存被调用函数的形参或者局部变量进程所占用的一组系统资源,如打开的文件进程状态。包括:创建:进程正在被创建

2017-12-28 11:36:22 412

转载 计算机浮点数规格化表示

说明在IEEE标准中,浮点数在内存中的表示是将特定长度的连续字节的所有二进制位按特定长度划分为符号域,指数域和尾数域三个连续域。 floatfloat类型在内存中占用的位数为: 1+8+23=32bits double1+11+52=64bits 第一位s代表符号为,1代表负数,0代表正数。第二个域是指数域,对于单精度float类型,指数域有8位,可以表示 0-255个指数值。指数值规定了小数点

2017-12-27 17:48:37 50494 4

原创 操作系统线程

概述线程是CPU使用的基本单元,他由线程ID。程序计数器,寄存器集合和栈组成,与属于同一进程共享代码段,数据段及其他操作系统资源(如打开文件和信号)。线程是进程中的一个实体,是调度的基本单位。线程自身基本上不拥有系统资源,只拥有少许运行中必不可少的私有资源。线程可与同属一个进程的其他线程共享进程的全部资源。多线程是指在一个进程中可以执行多个线程的能力。传统的操作系统使用的是单线程方式。UNIX支持多

2017-12-27 17:46:12 1700

原创 golang开发环境安装

准备工作golang 安装 官网https://golang.org/dl/下载需要的安装包,我使用的go1.9.2.windows-amd64.zipGoland idea安装 官网https://www.jetbrains.com/go/下载然后安装语言环境安装go的过程中,要注意有两个概念:GOPATH和GOROOT。GOROOT”表示GO在你电脑上的安装位置,这个一般在安装时,程

2017-12-16 16:25:30 1351

原创 Python属性函数property

说明Python中的property被称为属性函数,它可以将类方法转换为只读属性,重新实现一个属性的setter和getter方法将类方法准换成只读属性正常情况下使用装饰器形式@property使用 如:class Test(object): def __init__(self, a, b): """Constructor""" self.a = a

2017-12-11 16:13:01 632

原创 Python设计模式--修饰器模式

说明修饰器的定义为动态地给一个对象添加一些额外的职责。在Python中Decorator mode可以按照像其它编程语言如C++, Java等的样子来实现,但是Python在应用装饰概念方面的能力上远不止于此,Python提供了一个语法和一个编程特性来加强这方面的功能。即装饰器:def dec(fn): return fn@decdef fun(): pass简单例子需要在某个原有功

2017-12-08 14:16:25 654

原创 Python文件操作os,shutil模块

说明os 模块提供了非常丰富的方法用来处理文件和目录常用OS模块方法OS模块os.getcwd() – 得到当前工作的目录os.remove() – 删除指定文件os.rmdir() – 删除指定目录(空目录)os.mkdir() – 创建目录os.makedirs() – 递归创建目录os.path.isfile() – 判断指定对象是否为文件。是返回True,否则Falseos.p

2017-12-08 14:14:55 813

原创 模运算系统和补码表示

模运算系统和补码,表8位二进制加法器模运算系统计算0111 1111 - 0100 0000 = ?就等于:0111 1111 + (2^位数 - 0100 0000)0111 1111 + (2^8 - 0100 0000)其中一个负数的补码等于将对应正数补码,各位取反末尾加一得到:0111 1111 + 1100 0000即:1 0011 1111只留余数去掉最高位:0011 1111特殊数的补

2017-11-30 15:07:36 1294

原创 关于HTTPS原理了解

说明HTTPS = HTTP + 加密 + 认证 + 完整性保护,HTTPS 也就是 HTTP 加上加密处理、认证以及完整性保护。HTTPS 并非是应用层的一种新协议。只是 HTTP 通信接口部分用 SSL(SecureSocket Layer)和 TLS(Transport Layer Security)协议代替而已。 通常,HTTP 直接和 TCP 通信。当使用 SSL 时,则演变成先和 SS

2017-11-30 15:05:30 332

原创 HTTP状态码及首部

说明HTTP状态码负责表示HTTP请求的返回结果,标记服务端处理是否正常,通知出现的错误等等。 \ 范围 类别 短语 1XX 100-101 信息性状态码 接受的请求正在处理 2XX 200-206 成功性状态码 请求正常处理完毕 3XX 300-305 重定向状态码 需要进行附加操作才能完成请求 4XX 400-415 客户

2017-11-28 16:49:29 395

原创 Python设计模式--适配器模式

说明所谓适配器模式是指是一种接口适配技术,它可通过某个类来使用另一个接口与之不兼容的类,将一个类的借口转换成客户希望的另一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。简单实现class Obj(object): def method(self): print 'obj'class Obj2(object): def new_me

2017-11-21 11:58:41 512

转载 Python垃圾回收机制

Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generation collection)以空间换取时间来进一步提高垃圾回收的效率。一、引用计数在Python中,大多数对象的生命周期都是通过对象的

2017-11-17 11:11:10 568

原创 Python设计模式--建造者模式

说明将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。我们想要创建一个由多个部分构成的对象,而且它的构成需要一步接一步地完成。 只有当各个部分都创建好,这个对象才算是完整的。这正是建造者设计模式(Builder design pattern)的用武之地。建造者模式将一个复杂对象的构造过程与其表现分离,这样,同一个构造 过程可用于创建多个不同的表现。一般实现抽象class

2017-11-15 17:32:05 795

原创 Python设计模式--工厂模式

说明工厂模式是一个在软件开发中用来创建对象的设计模式。工厂模式包涵一个超类。这个超类提供一个抽象化的接口来创建一个特定类型的对象,而不是决定哪个对象可以被创建。为了实现此方法,需要创建一个工厂类创建并返回。 当程序运行输入一个“类型”的时候,需要创建于此相应的对象。这就用到了工厂模式。在如此情形中,实现代码基于工厂模式,可以达到可扩展,可维护的代码。当增加一个新的类型,不在需要修改已存在的类,只增加

2017-11-15 17:03:16 1339

原创 Python并发concurrent.futures和asyncio

Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码。从Python3.2开始,标准库为我们提供了concurrent.futures模块,concurrent.futures 模块的主要特色是 ThreadPoolExecutor 和 ProcessPoolExecutor 类,这两个类实现的接口能分别在不同的线程或进程中执行可调

2017-11-13 11:29:58 3950

原创 Python设计模式--策略模式

说明Python设计模式和广为人知的java设计模式是有区别的,通过Python的一些语言特性,可以简化很多设计模式。例如策略模式,利用作为一等对象的函数,使用函数可以有效减少代码行数。例子:处理订单折扣电商领域有个功能明显可以使用“策略”模式,即根据客户的属性或订单中的商品计算折 扣。假如一个网店制定了下述折扣规则。 - 有 1000 或以上积分的顾客,每个订单享 5% 折扣。 - 同一订单

2017-11-07 21:07:48 2277

转载 MYSQL性能优化的最佳20+条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为

2017-11-06 11:17:54 1599

原创 Python字典集合数据结构深入理解

说明在python中字dict和set是非常常用的两种数据结构,但是两种数据结构为什么要放在一起讨论。因为他们之所以拥有非常快的速度,是因为他们的内部结构都是散列表(散列表其实是一个稀疏数组总是有空白元素的数组称为稀疏数组)dict中的散列表散列表算法正常想要获取dict中的值,首先要知道key通过dict[key]获取对应的value,在散列表中为了达到这种操作,首先会计算key的hash值即

2017-11-02 20:49:28 5308

原创 前端开发接口模拟小工具

mock-leason简单node服务器,在前后端分离开发中,模拟 HTTP 接口数据和静态资源服务器,方便前端调试开发。前后端开发协作的过程中,为了不依赖于后端环境,我们常常会和后端童鞋定好接口,然后采用前后端分离的开发模式。为了提高前后端开发效率,前端需要自行mock数据,前端开发接口模拟小工具

2017-11-02 09:22:35 7988 3

原创 ajax请求二进制流图片并渲染到html中img标签

说明后台返回图片二进制流,需要使用get请求获取返回结果,并且将返回的二进制流以图片形式显示在页面img中。 但是日常显示图片都诸如这种形式:以上需求不能将后端地址直接填入src(原因是需要获取图片请求的headers中字段)问题后端返回图片验证码,返回验证码的请求中的headers有一个Captcha-ETag:caf9f71eb9f511

2017-10-26 16:35:17 69005 8

原创 【python学习笔记】Python实现协程yield方法和gevent库

说明协程最大的优势就是协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。第二大优势就是不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。因为协程是一个线程执行,那怎么利用多核CPU呢?最简单的方法是多进程+协程,既充

2017-10-25 17:19:57 1868

原创 【python学习笔记】线程Threading

说明Threading用于提供线程相关的操作。线程是应用程序中工作的最小单元,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。thread方法: - t.start() : 激活线程 - t.getName() : 获取线程的名称 - t.setName() : 设置线程的名称 - t.name

2017-10-25 17:17:46 1608

转载 关于版本号的设置

说明现在软件大多多平台多版本,版本管理尤为重要。 无论是API还是软件,都会有一个版本号。那么如何确认一个版本号呢?拍脑袋和盲目累加都不是好的解决方案。好的版本号应该是语义化的,就是别人能从版本知道你更新的程度:大幅度更新、部分功能更新、bug修复等等。 来看看这个:语义化版本号:版本格式:主版本号.次版本号.修订号,版本号递增规则如下:主版本号:当你做了不兼容的 API 修改,次版本号:当

2017-10-18 21:38:05 2835

原创 【python学习笔记】Python对经纬度处理

说明因为地球是球面,所以地球平面间的距离也得根据球面来计算。 连个问题: - 两经纬度点之间的距离 - 根据一个给定经纬度的点,进行附近若干距离地点查询两点之间的距离# 根据经纬度计算距离def __distance(lon1, lat1, lon2, lat2): # 经度1,纬度1,经度2,纬度2 (十进制度数) """ 根据经纬度计算距离 :param lon

2017-10-17 14:29:28 17112 5

原创 centos下配置nginx支持php

说明利用nginx做服务器运行php代码,此文档是在搭建WordPress博客系统整个流程。安装所需软件nginx、php-fpm、mysql、php-mysqlyum安装nginxyum install nginx //安装[这里写链接内容](https://www.leasonlove.cn/?p=31)service nginx start //启动service nginx re

2017-09-28 16:30:04 3470

原创 Nginx主要应用场景

Nginx能做什么?反向代理负载均衡HTTP服务器(包含动静分离)正向代理反向代理反向代理应该是Nginx做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个

2017-09-28 16:28:06 1277 1

原创 关于nginx配置

配置nginx常见服务,设置简单的代理服务器,将请求传递给代理的服务器,配置缓冲区,选择传出IP地址,提供静态内容服务通常,配置文件可以包括服务器监听的端口和服务器名称区分的几个server块。

2017-09-28 16:26:13 433

原创 ionic---关于android和ios蓝牙的使用--以小票打印为例

关于手机蓝牙ionic APP蓝牙要区分Android和IOS。Android对于蓝牙开发从2.0版本的sdk才开始支持,开放程度很高。但是ios对蓝牙做出严格限制,所以为了ionic中的Android和IOS使用同一份代码(这是使用ionic目的之一),必须对蓝牙模块进行特殊处理。关于IOS蓝牙的一些了解IOS设备本身不是用来传输文件的,主要用来连蓝牙耳机,音响(苹果认证MFI的设备)等。直到iO

2017-09-27 08:52:30 7211 4

原创 【python学习笔记】Python函数式编程

说明函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么”。在Python中有lambda,map,reduce,filter等内置方法。匿名函数(lambda)语法lambda args: expression参数(args)的语法与普通函数一样,同时表达式(expression)的值就是匿名函数调用的返回值;而la

2017-09-23 16:44:09 1821

原创 【python学习笔记】Python中排序sorted()和list.sort()

说明sorted 和list.sort 都接受key, reverse定制。但是区别是。list.sort()是列表中的方法,只能用于列表。而sorted可以用于任何可迭代的对象。list.sort()是在原序列上进行修改,不会产生新的序列。所以如果你不需要旧的序列,可以选择list.sort()。 sorted() 会返回一个新的序列。旧的对象依然存在。sort是容器的函数:sort(cmp=No

2017-09-21 16:36:29 2228

原创 【python学习笔记】Python异常处理raise、try...except、断言assert

说明写代码时,我们有时希望捕捉到程序异常但程序不退出,有时候不确定程序是否会异常,有时候希望自己定义异常,中断程序运行。异常处理raise使用raise抛出异常,一旦执行了raise语句,raise后面的语句将不能执行。try: s = None if s is None: print "s None" raise NameError

2017-09-21 16:33:07 8523

原创 【python学习笔记】Python中*args 和**kwargs的用法

Python中*args 和**kwargs的用法说明python中默认缺省参数,参数名传参,可变长度传参。缺省参数def foo(a,b=8): print a,bfoo("leason") #leason 0foo("leason",88) #def 88参数名传参数def foo(a,b):

2017-09-20 14:16:37 10252 2

原创 【python学习笔记】Python反射机制

说明说到反射,让人熟知的eval函数,python除了这个函数,还有import() ,getattr、hasattr、setattr、delattr等方法eval函数class Test(object): def __init__(self): self.name = 'leason' def foo(self,name): self.name = n

2017-09-20 10:28:28 2202

原创 【python学习笔记】Python生成器yield

生成器(generator)生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。生成器是可迭代对象,是惰性求值的,在需要的时候才产生结果,而不是立即产生结果。列表推导式产生的是一个列表,结果已经存在于内存之中了。可以减少内存消耗,提高代码可读性生成器函数example:生成自然数的平方yield生成器def a(N):

2017-09-18 10:04:26 1787

原创 【python学习笔记】Python装饰器

装饰器是什么意思一个大牛举的例子: 内裤可以用来遮羞,但是到了冬天它没法为我们防风御寒,聪明的人们发明了长裤,有了长裤后宝宝再也不冷了,装饰器就像我们这里说的长裤,在不影响内裤作用的前提下,给我们的身子提供了保暖的功效。装饰器本质上是Python函数,可以为已存在的对象添加额外的功能,同时装饰器还可以抽离出与函数无关的重用代码。具体应用场景如:插入日志、性能测试、事务处理、缓存、权限校验等。举个栗

2017-09-18 10:03:15 1829

原创 【python学习笔记】Python自带特殊方法一览

python自带特殊方法

2017-09-09 11:41:05 1135

MySQL必知必会 高清带书签

MySQL必知必会 高清带书签

2018-09-14

MySQL技术内幕:InnoDB存储引擎 高清带目录

MySQL技术内幕:InnoDB存储引擎 高清带目录

2018-09-14

每天5分钟玩转Docker容器技术

每天5分钟玩转Docker容器技术

2018-09-14

docker容器与云--高清带目录

docker容器与云,高清带目录

2018-09-14

算法导论_中文高清带目录

算法导论_中文高清带目录,算法导论_中文高清带目录,算法导论_中文高清带目录

2017-12-26

Go语言圣经高清带目录

Go语言圣经高清带目录,高语言学习利器,go语言深层次理解

2017-12-26

TCP-IP详解卷1 高清中文带目录

TCP-IP详解卷1 高清中文带目录,计算机网络入门基础教程

2017-12-26

编码-隐匿在计算机软硬件背后的语言

编码-隐匿在计算机软硬件背后的语言,计算机技术底层实现

2017-12-26

精通Python设计模式---高清带目录

精通Python设计模式---高清带目录,分别从实际生产,案例详细描述设计模式作用。

2017-12-15

空空如也

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

TA关注的人

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