(本文根据<c++程序设计>(谭浩强)总结而成,整理者:华科小涛@http://www.cnblogs.com/hust-ghtao,转载请注明) 1   基本思想与概念 在传统的程序设计中,人们无法利用现有的丰富的软件资源,造成软件开发中人力.物力和时间的巨大浪费,这是因为过去的程序设计方法和计算机语言缺乏软件重用机制.而作为面向对象的语言,C++强调软件的可重用性,通过继承机制,解决了软件的可重用性问题.在编程的领域,你经常会遇到具有类似属性,但细节或行为存在细微差异的组件.在这些情况下,…
(根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 1    拓展部分 本节主要由两部分内容组成,分别是(1)基类与派生类的转换和(2)继承与组合 1.1    基类与派生类的转换 在前几篇博客中,可以看到在3种继承方式中,只有公有继承能较好的保留基类的特征,它保留了除构造函数和析构函数以外所有的基类成员,基类的公有或保护成员的访问权限在派生类中全部保留了下来,在派生类外可以调用基类的公有成员函数以访问基类…
(根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 多重继承是指一个派生类有两个或多个基类.例如,有些学校的领导干部同时也是教师,他们既有干部的属性,又有教师的属性.C++为了适应这种情况,允许一个派生类同时继承多个基类,这就是多重继承. 1  多重继承的基础 本节包含两部分内容,即如何声明多重继承和多重继承派生类的构造函数. 1.1  声明多重继承的方法 如果已经声明了类A.类B.类C,可以声明多重继承的…
(根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 由于基类的构造函数和析构函数是不能被继承的,所以在声明派生类时,需要我们自己定义派生类的构造函数和析构函数. 1  派生类的构造函数 在设计派生类的构造函数时,不仅要考虑派生类所增加的数据成员的初始化,还要考虑基类的数据成员的初始化.也就是说, 希望在执行派生类的构造函数时,使派生类的数据成员和基类的数据成员同时都被初始化.解决这个问题的思路是:在执行派生…
面向对象的程序设计主要有四个特点:抽象.封装.继承和多态.其中继承是我认为最最重要的一个特性,可以说继承是面向对象的精华所在. 举一个继承的浅显易懂的例子:假如我们已经有了一个“马”的类,其中成员变量有身长.身高.体重等,还有“吃”.“奔跑”等成员函数,现在我们想创建新类”公马“和”母马“,很明显公马母马具有马的所有特征,我们就不需要重新再写,只需要在原有类的基础上增加”性别“这一新特征,即可创建两个新类.同理,白公马.黑公马可以从公马这一个类派生出来,也就是说它可以继承公马的全部特征而加上颜色…
一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = bytes(s,encoding="utf-8") print(ret) ret1 = bytes(s,encoding="gbk") print(ret1) #程序运行结果如下: b'\xe8\x80\x81\xe7\x94\xb7\xe4\xba\xba' b'\xc0…
Infi-chu: http://www.cnblogs.com/Infi-chu/ CSS盒子模型    概念:CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容.盒模型允许我们在其它元素和周围元素边框之间的空间放置元素.    如下所示:        不同部分的说明:        Margin(外边距) - 清除边框外的区域,外边距是透明的.        Border(边框) - 围绕在内边距和内容外的边框.        Padding(内边距…
早在学习java的时候,就已经接触了继承,在java中因为有extends关键字,因此继承就比较简单.但是在JavaScript中,只能通过灵活的办法实现类的继承. 下面是我昨天在学习过程中,了解到的实现继承的一些方法,包括有具体的代码以及该方法的优缺点: 1.组合继承方式 原理:在子类的构造函数中,调用父类的构造函数,在子类原型上实例化父类,所以称为组合模式. 优点:融合了类式继承和构造函数继承的优点 缺点:父类构造函数调用了两次.第一次是使用构造函数时调用了父类的构造函数,第二次是实现子类原…
装饰器 一.装饰器的本质 装饰器的本质就是函数,功能就是为其他函数添加附加功能. 利用装饰器给其他函数添加附加功能时的原则: 1.不能修改被修饰函数的源代码        2.不能修改被修饰函数的调用方式 举例:计算以下一段程序执行时间 #程序:计算0—19的和 def cal(l): res = 0 for i in l: res += i return res print(cal(range(20))) #给上述程度增加时间模块 import time def cal(l): start_t…
1.mkdir:创建空目录 -p: -v:verbose mkdir -pv /mnt/test/x/m  /mnt/test/y mkdir -pv /mnt/test/{x/m,y} 命令行展开: /mnt/test2/ a_b,a_c,d_b,d_c mkdir -pv /mnt/test2/{a,d}_{b,c} 2.tree directory 查看目录树 3.删除目录:rmdir {remove directory} 删除空目录 4.touch 创建空文件 修改文件时间戳 5.sta…
动态绑定过程中,对象调用对象方的执行过程 1:编译器查看对象的声明类型和方法名.有可能有多个方法名相同,但参数类型不一样的重载方法. 2:编译器查看调用方法时提供的参数类型.该过程叫重载解析,在相同的方法名中有一个参数类型完全匹配的的方法,就选这个合适的方法.如果没有找到一个参数类型匹配的方法,或者转换类型后也没有匹配的方法,也会报错. 3:如果是private或者static或者final方法或者构造器,那么编译器就能准确的知道应该调用哪个方法,这种调用方式叫做静态绑定.与此对应的是,调用的方…
子类的构造器不能访问父类的私有域,所以必须用的父类的构造器来对这部分的私有域进行初始化,我们可以通过super实现对父类的构造器的调用,使用super调用父类构造器的语句,必须放在子类构造器的第一句. public Employee(String aName,int aAge,){ name = aName; age = aAge; } public Manager extends Employee(String aName,int aAge){ super(aName,aAge); bound…
目录 1.Prometheus概述 2.Prometheus部署 2.1.创建名称空间prom 2.2.部署node_exporter 2.3.部署prometheus-server 2.4.部署kube-sate-metrics 2.5.制作证书 2.6.部署k8s-prometheus-adapter 3.Grafana数据展示 1.Prometheus概述 除了前面的资源指标(如CPU.内存)以外,用户或管理员需要了解更多的指标数据,比如Kubernetes指标.容器指标.节点资源指标以及…
YARN 1.1.YARN 概述 YARN(Yet Another Resource Negotiator) YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操 作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序 YARN 是 Hadoop2.x 版本中的一个新特性.它的出现其实是为了解决第一代 MapReduce 编程 框架的不足,提高集群环境下的资源利用率,这些资源包括内存,磁盘,网络,IO等.Hadoop2.X 版本中重新设…
(此文为复制帖,原文地址为:http://blog.sina.com.cn/s/blog_a8192bdd0101af40.html) self.navigationController.navigationBar.translucent = NO; 如果在iPad上用了split view,并且设置了UINavigationBar的background image,现象为状态栏一直是一片漆黑 UINavigationController will alter the height of its…
Salesforce作为一款CRM系统,个人觉得最重要的环境便是在于数据的展示和联动,而Salesforce也本身提供了相当强大的功能,Report在展示图表的方面十分强大,前段时间更是宣布以157亿美元收购tableau之后更是如虎添翼.虽然,其本身标准组件很强大,但是在实际项目上依旧捉襟见肘. 话不多说,这里提一提本人在展示图表的心历路程. 1. 什么是报告? 以最简单的形式,报告是满足您定义的条件的记录(如机会或帐户)的列表.但是报告不仅仅是简单的列表.要获取所需的数据,可以对记录进行过滤…
我们在实际的开发中呢,总会遇到这样的场景,我们想在启动或者终止的时候,做一些事情,那么应该如何实现呢,其实也是很简单.fastapi提供了这样的操作. 那么我们看下具体是怎么实现的呢 app = FastAPI() @app.on_event("startup") def startup_event(): print("startup") @app.on_event("shutdown") def shutdown_event(): print(…
之前我们分享的是基于单个的数据库表的操作,我们在设计数据库的时候也设计了跨表,我们可以看下数据库的设计. class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True, index=True) email = Column(String, unique=True, index=True) hashed_password = Column(String) is_active = Column…
Kubernetes基础篇 环境说明 版本说明 系统环境 Centos 7.2 Kubernetes版本 v1.11.2 Docker版本 v18.09 Kubernetes学习之路(一)之概念和架构解析和证书创建和分发 Kubernetes学习之路(二)之ETCD集群二进制部署 Kubernetes学习之路(三)之Mater节点二进制部署 Kubernetes学习之路(四)之Node节点二进制部署 Kubernetes学习之路(五)之Flannel网络二进制部署和测试 Kubernetes学习…
在之前的文章中,FastAPI 学习之路(二十九)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2,FastAPI 学习之路(二十八)使用密码和 Bearer 的简单 OAuth2,FastAPI 学习之路(三十四)数据库多表操作,我们分享了基于jwt认证token和基于数据库创建用户,那么我们今天把这些代码整理下,形成基于数据库用户名密码,登陆验证token存储到redis中. 首先我们看下之前基于jwt认证token的代码 from fastapi import Depends…
之前我们分享了操作关系型数据库,具体文章, FastAPI 学习之路(三十二)创建数据库 FastAPI 学习之路(三十三)操作数据库 FastAPI 学习之路(三十四)数据库多表操作 这次我们分享的是非关系型数据库--Redis. 首先,我们安装对应的依赖 pip intsall aioredis==1.3.1 接下来,我们去导入创建对应的连接. from aioredis import create_redis_pool, Redis from fastapi import FastAPI…
1 引子 上次读书笔记主要是学习了应用三维坐标变换矩阵对二维的图形进行变换,并附带介绍了GLSL语言的编译.链接相关的知识,之后介绍了GLSL中变量的修饰符,着重介绍了uniform修饰符,来向着色器程序传入输入参数. 这次读书笔记的内容相对有趣一些,主要是和园友们分享讨论三维坐标变换矩阵在三维几何体上的应用,以及介绍一下如何实现三维图形与用户操作的交互.这一次笔记在三维编程中也是非常重要的——我们最后开发的三维程序最终就是要和目标用户进行交互的. 之前一直没有在博客上放过gif格式的动画图片,…
三.多层继承的派生类 1.多层继承的派生类只需在构造函数的初始化列表中写出直接基类的构造函数即可 class student { public: student(int n, string nam) { num = n; name = nam; } }; class student1 : public student { public: student1(int n, string nam, int a) :student(n, nam) {age = a;} }; class student2…
python学习之路网络编程篇(第四篇) 内容待补充…
首先先补习下企业库的Caching Application Block的相关知识: 1.四大缓存方式,在Caching Application Block中,主要提供以下四种保存缓存数据的途径,分别是:内存存储(默认).独立存储(Isolated Storage).数据库存储(DataBase Cache Storage)和自定义存储(Custom Cache Storage). 2.多种存储方式,抛开自定义存储不谈,内存存储是最基本的缓存,仅仅是将数据缓存到内存当中,虽然速度快但是无法进行持久…
四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 3. 方法重载: 是指在一个类中定义多个同名的方法 在OC中没有重载 2.self和super&static, self和super: 1. self理解: 谁调用当前方法, self就代表谁. 比如: 在对象方法中,self代表的是对象, 因为只有对象才可以调用对象方法 在类方法中, self代表的…
C++四:继承与派生 一.概念    继承就是从先辈处得到属性和行为特性.类的继承,是指新的类从已有类的那里得到的特性.类的派生,就是指已有类产生新类的过程. 二.应用 定义为 class 派生类名:继承方式 基类名, .. 继承方式 基类名n { 派生类成员声明: }: 继承的好处在于解决了代码的重用性和可扩充性. 一.公用继承 基类的公有成员和保护成员的访问在派生类,而基类的私有成员不可直接访问. #include <iostream> using namespace std; class…
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之路(五) FastAPI 学习之路(六)查询参数,字符串的校验 FastAPI 学习之路(七)字符串的校验   FastAPI 学习之路(八)路径参数和数值的校验 FastAPI 学习之路(九)请求体有多个参数如何处理? FastAPI 学习之路(十)请求体的字段 FastAPI 学习之路(十一)请…
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务器配置如下:     1.先找到配置redis.windows-service.config文件修改port 6379 为port 6380     2.然后配置master服务器地址:slaveof 127.0.0.1 6379,然后主服务有密码还需要配置密码 masterauth CeshiPa…
继承和派生 1 含有对象成员(子对象)的派生类的构造函数,定义派生类对象成员时,构造函数的执行顺序如下: 1 调用基类的构造函数,对基类数据成员初始化: 2 调用对象成员的构造函数,对对象成员的数据成员初始化: 3 执行派生类的构造函数体,对派生类数据成员初始化. 代码如下:#include<iostream.h> class base{ int x; public: base(int i) { x=i; cout<<"基类的构造函数"<<endl;…