自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (6)
  • 收藏
  • 关注

原创 如何给开源社区贡献代码(小白适用实操版,附练习实验用的仓库,欢迎随便试)

如何给开源社区贡献代码(小白适用)一、fork 社区仓库打开你想参与贡献的社区的仓库的 github 页面,并且 fork 这个仓库打开你自己的 github 页面,此时应该会多一个仓与你刚 fork 的仓库同名二、更新fork仓库与社区仓库同步官方仓:你想要贡献的项目的官方仓库地址远程仓:你 fork 下来之后,在你的 github 页面上那个与官方仓同名的仓库地址本地仓:git clone 远程仓之后下载到你本地的代码仓地址刚 fork 下来的不用,fetch upstream

2021-05-14 15:05:34 1544 11

原创 kubesphere console 二次开发源码阅读

前言建议先了解以下基础ES6语法React基础console代码结构怎么尽快的上手作为一个开源前端项目,代码量很大的情况下,除了借助官方文档了解代码结构,还可以从浏览界面入手先理顺一条完整的调用链,这样其他的照葫芦画瓢就会比较容易一个例子举一个具体的简单例子,比如首页的蜘蛛图(集群资源使用情况)数据获取,根据一个具体的比较好理解console用到的组件、路由、请求封装对于我刚开始接触concole的时候,最困惑的事情是三样不知道怎样在代码里找到它不知道搜索出来的一堆里面哪一

2021-01-15 10:50:33 4159 31

原创 作用域与作用域链

作用域就是一个独立的代码区域,域内的变量不会暴露到外部,外部无法访问,也就是说具有隔离性。JavaScript 使用词法作用域,也就说定义时就已经决定了作用域范围JavaScript 使用词法作用域。这意味着函数是使用定义时有效的变量范围来执行的,而不是调用它们时有效的变量范围。

2024-01-11 16:05:08 960

原创 原型和原型链

js 分为函数对象和普通对象,每个对象都有__proto__属性,但只有函数对象有prototype都是 js 内置函数。

2023-12-13 10:52:41 654

原创 手写深拷贝

浅拷贝会创建一个新的对象,新对象有着与原始对象相同的属性值,如果- 属性是基本类型,拷贝的就是基本类型的值- 属性是引用类型,拷贝的就是内存地址(**原对象地址改变,新对象也会随之改变,新对象地址改变,也会影响原对象**)深拷贝会创建一个新对象,拷贝原始对象的所有内容,新对象是在内存中开辟新区域,并不共用原始对象的对象地址- 属性是基本类型,拷贝基本类型本身,并在内存中新开地址存储- 属性是引用类型,拷贝引用类型本身,并在内存中新开地址

2023-12-05 16:28:33 966 2

原创 JS数据类型

Undefined 类型 只有一个值 undefined ,undefined 表示值缺失, null 表示对象缺失。instanceof 运行机制是 判断在其原型链中能否找到该类型的原型。是运算结果不表示数字时的结果,也是 js 中唯一不等于自身的值。Boolean 类型有 2 个值,true 和 false。Null 类型 只有一个值 null。检查数字是否在安全范围方法。如何判断一个变量为数组。-2的-1074次方。2的53次方 − 1。

2023-12-01 11:19:13 1050

原创 对 BFC 的理解

BFC 即进行简单了解。

2023-11-29 14:45:13 861

原创 openstack虚拟机热迁移优化如何治本?

楼主经过把 openstack 各个版本的热迁移代码花式折腾之后发现,对于提高迁移成功率,openstack 本身能做的真的不多,本质上还是因为 openstack 是个上层建筑,受到底层的内存拷贝机制以及网络的限制。但是既然任务是优化那也只好想办法了。参考文档:QEMU Multifd迁移原理云原生&虚拟化峰会电信云qemu live migration优化Qemu 热迁移特性——Multifdqemu对虚拟机的内存管理前言看这个之前需要了解openstack、libvirt、qe

2021-09-13 14:59:02 1500

原创 openstack冷迁移/Resize源码分析(二)

执行冷迁移/Resize还在同一个py文件,因为当前文件就是nova/compute/manager.py @wrap_exception() @reverts_task_state @wrap_instance_event(prefix='compute') @wrap_instance_fault def resize_instance(self, context, instance, image, migrati

2021-07-21 10:13:46 605 2

原创 openstack 源码阅读技巧2021(持续更新中……)

不要问楼主为什么同样的一篇博客不选更新选重发,问就是CSDN不支持老博客从富文本编辑转到markdown,害!写在开始之前共性问题:怎么读openstack代码这件事,是个持续性问题,毕竟官方半年就出一个新版本。有一些共性的小技巧放在前面说一说()1.从一个特性入手是比较合适的看代码的方式日志可以针对人群本文是为新手准备的,大佬请直接跳过,很多大佬觉得默认知道的事情,实际上对于新手来说比较致命,因为就卡在那些大佬认为简单不愿意写但是很容易混淆或者跟丢的地方1.日志路径 /var/log/

2021-07-20 17:59:05 681 1

原创 openstack冷迁移/Resize源码分析(一)

这篇还在难产中(目前才整理了一半了),回滚那一部分想弄得更细致一点,不出问题的时候万事大吉,出了问题回滚就是救命稻草,所以这部分得特别了解才不虚

2021-07-08 17:16:41 487

原创 openstack中的rpc远程调用

nova中rpc调用非常多,用pycharm点点点跟函数的时候遇到rpc就会点不下去了,不解决直接就看不下去了那种多法什么是 RPC在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个通过发送请求-

2021-07-08 17:08:59 311

原创 openstack虚拟机热迁移优化(victoria版)(附源码分析以及日志分析)

优化目标提高热迁移成功率热迁移认知热迁移是转移内存(或存储)的过程。源主机不断把虚拟机的内存转移到目的主机,直到源主机仅仅省一部分可以一次转移完成的内存未被转移,此时把源主机上的虚拟机暂停,转移掉最后这一部分。其实热迁移并不是业务不中断,只是在迁移的最后时刻,虚拟机会有有短暂挂起,快速完成最后一次内存复制。Hypervisor中挂起虚拟机本质就是改变VCPU的调度,暂时不给虚拟机可用的物理CPU时间片。这个时间大概在50毫秒,对用户业务来说几乎是不感知的热迁移原理分析热迁移步骤Stage 1:

2021-06-17 17:32:02 1804 3

原创 关于是怎么从 openstack 源码阅读跳跃到 python 装饰器的

写在前面:这件奇奇怪怪的事情的一切都从一个函数起,每一个openstack小白必然都经历过这一记锤,虚拟机的创建流程代码串读,没错开局函数就是ta读openstack代码的时候,真切的感受到这python水平还差得远,基础的python教程练完直接看openstack代码,有一种上一秒1+1,下一秒就傅里叶变换的感觉。打基础的功夫还是不能省,反正急也急不去。好了,吐槽完了,先梳理出所涉及的几个基本概念:1.函数中可以定义函数def hi(name="yasoob"): print("now

2021-06-02 16:24:23 135 3

原创 react hook 机制

react hook 机制本来没怎么用react,因为之前在改一些开源项目bug的时候,发现很多地方力不从心,特别是当一些组件变得越来越复杂到处是状态逻辑和副作用,每个生命周期包含一些不相关的逻辑,为了符合生命周期不得不将业务逻辑相关的代码拆分,这样搞起来很烦还容易出bug,于是请教前辈的时候前辈建议我了解下hook的原理,hook 的存在就是为了处理组建内部状态问题(当然也有可能不止)一个 usestate hook 实例这里useState就是一个最简的 hook,初始 state 就是 0。不同

2021-03-14 20:33:12 379

原创 Error 403 No valid crumb was included in the request 报错解决 容器化jenkins关闭CSRF

现象gitlab 连接 安装在容器中的jenkins时,如果使用的是高版本的jenkins,会出现403错误,Error 403 No valid crumb was included in the request原因实际上这是因为jenkins的防止跨站点请求伪造(Prevent Cross Site Request Forgery exploits)阻拦了请求本来低版本的jenkins可以在界面把这个关掉,但是高版本的jenkins认为这个是必要的,直接把关闭这个的界面干掉了,orz…解决办法

2021-01-27 10:34:33 17418 12

原创 deployment controller源码阅读(1.18.x)

deployment controller源码阅读(1.18.x)deployment是最常见的部署,官网举了一下deployment的常用实例,涵盖创建、声明、回滚、扩容、清理。创建 Deployment 以将 ReplicaSet 上线。 ReplicaSet 在后台创建 Pods。 检查 ReplicaSet 的上线状态,查看其是否成功。通过更新 Deployment 的 PodTemplateSpec,声明 Pod 的新状态 。 新的 ReplicaSet 会被创建,Deployment

2020-11-29 22:17:28 283

原创 kubesphere二次开发后端本地调试

kubesphere 二次开发后端调试本地环境搭建参考文档:https://github.com/kubesphere/community/blob/master/developer-guide/development/README.mdhttps://github.com/kubesphere/community/blob/master/developer-guide/development/how-telepresence-works.md1.安装go环境$ wget https://d

2020-11-04 15:43:57 2674 7

原创 TypeError: Cannot read property ‘concat‘ of undefined kubesphere调试报错

今天把这个问题复现了一下,确实是node版本的问题。高版本[upl-image-preview url=https://kubesphere.com.cn/forum/assets/files/2020-11-02/1604313799-262320-node.png]低版本[upl-image-preview url=https://kubesphere.com.cn/forum/assets/files/2020-11-02/1604313892-155895-a5d38f72-8257-4c9

2020-11-02 19:03:17 1125

原创 k8s创建pod代码流程(1.18.x)

k8s创建pod代码流程(1.18.x)参考文档:https://www.bookstack.cn/read/source-code-reading-notes/kubernetes-kubelet_create_pod.mdhttps://cloud.tencent.com/developer/article/1492108一、写在前面工欲善其事,必先利其器,一上来就硬啃我试了一下,好像不太行,能找到的源码分析文档都是老版本了,只能做参考。想想还是日志比较直接,整体思路就是:先创建一个简单

2020-11-01 20:14:52 1397 1

原创 kubesphere console二次开发本地调试环境搭建

kubesphere console二次开发console本地调试环境搭建参考官方console github文档https://github.com/kubesphere/consolehttps://github.com/kubesphere/console/blob/master/docs/access-backend.md公开ks-apiserver服务,开启调试端口30881。然后就可以通过<node_ip>:<30881>端口访问ks-apiserver服

2020-10-14 16:51:17 4474 11

原创 fio执行结果参数解读

解决一下执行了半天fio,出来一堆数据,但是看不懂这个事情。(解释源于fio官网,博主只是个搬运工)建议将本文档直接拷贝到自己本地代码编辑器看,比较直观#以一条执行结果为例,进行说明#################### this rule is : -bs=4k -rw=randwrite , now time is 2020-06-12 13:45:57 #################### -------------->记录当前条fio命令,是第几遍..

2020-10-12 09:49:41 14023 2

原创 OpenStack学习五 (Neutron)

Neutron笔记一、neutron概述neutron提供以下支持二层交换,支持多种虚拟机交换机三层路由,实现实例的跨网段通信负载均衡,分发负载到多个实例防火墙neutron相关概念neutron支持多种network(隔离的二层广播域),包括local、flat、VLAN、VxLAN、GRElocal,全隔离,local网络中实例只能和同一节点同一网络的其他实例通信falt,部分隔离,只能同网络,但是可以跨节点vlan,同一vlan以内可以通信,不同vlan之间通信需要通过

2020-08-20 15:49:00 625 1

原创 Xshell高度自定义护眼配色方案(直接修改代码版本,附参考文档)

效果图:网上有很多教程教怎么怎么直接,直接工具——>配色方案,鼠标改,但是这样只能普通文本、高亮文本和背景色3个选项,做不到高度自定义。要求不高可以就用这种,简单。方式如下图,希望全方位定制的,可以直接导入自己写的xct文件,如效果如所示,想改什么改什么(如果喜欢效果图那个配色可以直接复制这个代码存为.xcs文件导入)[ymmColor]text=...

2020-03-17 15:14:17 1814

原创 glance上传镜像源码分析

上传镜像前面的就不赘述了,从glance-api接收到上传请求开始1.glance-api接收请求最先在router开始处理,glance/api/v2/router.py.API.__init__,在__init__初始化函数里面实例化类,定义映射,转移到glance/api/v2/schemas.py去进行实际处理def __init__(self, mapper):...

2020-03-13 14:45:24 937 1

原创 openstack创建虚拟机源码分析三(Glance下载镜像)

控制节点上可以查看glance的服务glance-registry,负责处理image的metadata...

2020-02-24 21:04:46 1218 2

原创 openstack虚拟机创建快照源码分析超详细(Queen版本)

这是openStack请求应答模型(源自could man)一.nova-api接收到外部请求,并处理转发请求代码路径 :nova-stable-queens ——> nova ——> compute——> api.py然后 snapshot 函数开始接收请求,并进行处理(函数很长,分步解释)1.准备处理请求 #创建快照 def...

2020-01-09 09:15:20 1605 1

原创 openstack怎么查看日志(小白适用实操版2019)

首先从最简单的开始,新建一个虚拟机(Launch Instance)并查看其日志1.在网页上登录搭建好的openstack虚机(名称为op1)的dashboard界面2.远程SSH登录op1的命令行界面Xshell输入ssh 192.168.xx.xxssh 后面是你的服务器域名(需要登录一个控制节点,一个计算节点,因为创建虚机的日志有些在控制节点上,有的在计...

2019-12-10 17:49:07 6710

原创 openStack学习(detach时删除计算节点上对应的SCSI设备,删除的是什么?)

iSCSI initiator在nova-conpute上,是最终使用存储设备的客户端iSCSI target在cinder-volume上面,是提供存储设备volume的服务端(实际上真正提供存储的是LV逻辑卷,但是逻辑卷需要由cinder去用磁盘创建成卷,并且初始化volume连接也就是建立iSCSI initiator与iSCSI target对应连接,nova-conpute才能用...

2019-12-09 17:17:25 191

原创 OpenStack关于driver机制的分析(扎心了,大家都只讲通过driver机制就能支持多种back-end,却不说为什么)

OpenStack关于driver机制的分析Driver相当于统一的接口转换器,cinder和nova都有。不同的back-end只要实现了自己对应的driver就可以被openstack识别使用。举个栗子:openStack相当于两孔插座,不同厂商的back-end却五花八门可能是三孔、四孔、任意孔,于是就使用driver插口转换器,将两孔转换为对应孔的接口(不同厂商用不同的driv...

2019-12-09 16:32:30 574

原创 OpenStack学习笔记(四)Cinder组件

Cinder主要架构与nova类似,cinder也采用的是松散的架构理念,由cinder-api统一管理外部对cinder的调用,cinder-scheduler负责调度合适的节点去构建volume存储。volume-provider通过driver负责具体的存储空间,然后cinder内部依旧通过消息队列queue沟通,解耦各子服务支持异步调用。cinder-shedule...

2019-12-05 18:00:42 1526

原创 OpenStack学习笔记(三)keystone、Glance、Nova组件

keystone#登录信息提交给Credentials之后,Credentials会生成一个临时令牌token,后面的操作校验token是否合法即可#Project 将 资源(计算、存储和网络)进行分组和隔离,user需要使用哪个就挂载那个project,可以挂载多个#User通过Endpoint终端点(也就是service的API,通常是一个url)访问service资源以及执...

2019-11-20 19:10:15 1424

原创 OpenStack学习笔记(二)实验环境配置

#实验环境部署参考文件收藏文件夹https://i.csdn.net/#/uc/collection-list#安装环境ubuntu 16.04 使用devstack部署 需要采用ocata版本,其他版本出错,原因未明git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata#cloudman教...

2019-11-20 19:09:57 275

原创 ubuntu16.04 server版更换多个国内镜像源均失败,Could not resolve host,Failed to fetch,Destination Host Unr(已解决)2019

错误情况描述,配置完静态网卡后,更换各个国内apt镜像源均失败,经浏览器验证非镜像源问题解决:1.先检察网基本的排错步骤(从上往下)ping127.0.0.1ping的通说明tcp协议栈没有问题ping主机地址ping的通说明网卡没有问题ping路由器默认网关ping的通说明包可以到达路由器最后pingDNS服务器地址卡在那一步,就补哪里直到可以ping...

2019-11-19 15:04:28 2038

原创 OpenStack学习笔记(一)KVM虚拟化

一、KVM 实验# sudoapt-getinstallkubuntu-desktop 图形化界面安装失败,apt-get install E: 无法定位软件包问题1.检查/etc/apt/sources.list国内镜像是否正确2.如果镜像正确依旧执行失败,sudoapt-getupdate更新repository3.ps -e |grep ssh检查当前的ssh开...

2019-11-07 11:38:36 348

原创 已经安装requests依旧导入报错飘红,运行出现No module named ‘chardet‘错误(已解决)

1、首先在报错项目文件目录下检查是否pip 安装了requests本身及其所需的依赖包(cmd --> pip list即可查看),如下图那就是正常的,如果不是那就只是没安装,pip install requests安装上就好了。2、经检查确认包都齐全,但还是报错,那就需要手动导入打开File -->settings然后搜索缺少的包,加上出现这个图再点4关掉...

2019-08-27 16:10:31 10825 1

原创 HTML 文档的字符编码未声明。如果该文件包含 US-ASCII 范围之外的字符,该文件将在某些浏览器配置中呈现为乱码。或者在文件中加入一个BOM

问题截图:问题原因: 找了网上许多博客教程,都是建议修改&lt;meta&gt;字符集声明,然而不起效。事实上这是由初次导包不彻底,编译后导包报错,而后将包重新导入,但是并没有重新编译引起的(重新运行有些文件也不会再次编译)解决步骤: 1、File——&gt;Project Structure ——&gt; Artifacts,右边会有如图的加号和减号2...

2018-11-07 23:11:05 10130 1

原创 echarts环形图(饼图)动态生成series,动态生成data,动态颜色控制(包含ajax交互)

自己做的小demo,效果如上图初始要求是生成整个作业的所有客观题的环形表(也就是具体有几个题目不确定,每个题目有几个选项不确定,都由后台数据决定,不能写死)第一步:先写出最基础的环形图代码(这里将生成环形图封装成了一个函数,方便ajax交互时调用)/*生成环形图函数*/$.pie_func = function (item_id,item_op) {        var myChart = ec...

2018-05-12 23:09:10 19788 1

ymmColor.xcs

Xshell高度自定义主题xcs文件,精确到各种高亮文本自定义,(包含注释、函数、变量等等),直接下载导入即可,效果图见博客。也支持二次改造,可参看博客帮助文档

2020-03-17

数据结构课程设计多种排序算法时间比较.c

快速排序,基数排序,插入排序,希尔排序,堆排序,归并排序等算法对数排序的时间进行比较。可以对5000000以内(超大数据量)的随机数(可能存在超大数值)进行排序!!!

2017-12-11

mysql-connector-java-5.1.44-bin.jar

mysql数据库连接jar包 mysql-connector-java-5.1.44-bin.jar

2017-12-11

Lucene-core-2.0.0.jar

Lucene学习的基本jar包.全CSDN最低积分的 Lucene-core-2.0.0.jar包

2017-12-11

分词器je-analysis-1.5.3.jar

仅有1.23MB最小巧好用的小巧分词器je-analysis-1.5.3的jar包

2017-12-11

OpenGL实验八犹他茶壶光照、阴影、纹理

OpenGL实验八犹他茶壶光照、阴影、纹理,光照效果源码、阴影效果源码、纹理效果源码,及实验截图、实验报告。

2017-12-11

空空如也

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

TA关注的人

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