1.单例模式

日志对象用单例模式

django admin中注册类是,用到单例模式

为什么要用单例模式

  • 同一个对象操作
  • 维护全局变量 + 对全局变量做一些操作
# __new__
import threading
class Singleton(object):
instance = None
def __init__(self, name):
self,name = name
lock = threading.Rlock()
def __new__(cls, *args, **kwargs):
if cls.instance:
return cls.instance
with lock:
if not cls.instance:
cls.instance = object.__new__(cls)
return cls.instance
def task(i):
s1 = Singleton(i)
print(s1)
if __name__ == "__main__":
for i in range(2):
print(i)
t1 = threading.Thread(traget=task, args=(i,))
t1.start()

2.带参数的装饰器

def delay(sec):
def wrapper(func):
def inner(*args, **kwargs):
time.sleep(sec)
ret = func(*args, **kwargs)
print("delay %d seconds to call %s" % (sec, func.__name__))
return ret
return inner
return wrapper
@decorator(2)
def add(a, b):
return a + b
add(1, 2) out: delay 2 second to call add

3.为什么要做CMDB项目

1.CMDB是运维自动化项目,它可以减少人工干预,降低人员成本。

功能:自动装机、实时监控、自动化部署软件,建立在它们的基础上是资产信息变更记录(资产管控自动进行汇报)

2.

1)中控机

获取未采集资产信息的服务器(服务器主机名,密码),依赖于Paramiko(py模块)通过SSH方式去获取

优点:无Agent 缺点:速度慢

如果在服务器较少的情况下,可应用此方法

2)API

API提供相关处理的接口

3)后台管理

管理平台为用户提供可视化操作

3.

基于类的继承实现约束,开发程序设计为可插拔机制。(好处:扩展性强,基于工厂模式和反射实现)、线程池提高并发能力

4.进程线程协程的区别

进程,计算机中资源分配的最小单元

线程,计算机cpu调度的最小单位。

协程,又称“微线程”,在计算机中不是真实存在,而是程序员通过代码伪造出来的。

一个进程中可以有多个线程,一个线程中又可以创建多个协程,在cPython中还有一个GIL,全局解释器锁(同时刻一个进程中只有一个线程可以被cpu调度),由于GIL的存在,导致Python中:计算密集型用进程、IO密集型用线程(协程)

5.什么是HTTP?

超文本传输协议。

基于TCP协议之上创建一个协议,此协议为无状态的短连接,http可以通过两方面来解释:

  • 短连接,一次请求一次响应之后断开连接。
  • 数据传输格式:请求头和请求体之间通过两个\r\n分割,请求头和请求头之间通过一个\r\n分割

    浏览器输入url:wwwbai.com/index/

    socket.send("POST /index/ http1.1\r\n host:baidu.com\r\n\r\nuser="lucas"&age=18")

    浏览器接收到的数据

    “200 OK\r\n响应头\r\n\r\n响应体...”

    默认:80端口;明文传输。

6.什么是HTTPS?

对称加密,双方秘钥相同

非对称加密,公钥和私钥

三个阶段:

第一个阶段:对称秘钥

第二个阶段:公钥私钥

第三阶段:证书(阿里云免费)

CMDB项目要点之技术点(面试题)的更多相关文章

  1. CMDB项目要点总结之中控机

    1.基于paramiko对远程主机执行命令操作 秘钥形式 private_key = paramiko.RSAKey.from_private_key_file('c:/Users/用户名/.ssh/ ...

  2. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  3. p2p网贷项目开发全过程技术详解,应用框架是ci2.2

    p2p网贷项目开发全过程技术详解,应用框架是ci2.2 很标准的mvc开发代码,代码也很简单,方便二次开发 这篇文章会不断更新

  4. Python Django CMDB项目实战之-3创建form表单,并在前端页面上展示

    基于之前的项目代码 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页.index页.文章页面 Python Django CMDB项目实战之-2创建APP. ...

  5. Python Django CMDB项目实战之-2创建APP、建模(models.py)、数据库同步、高级URL、前端页面展示数据库中数据

    基于之前的项目代码来编写 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页index页文章页面 现在我们修改一个文章列表是从数据库中获取数据, 下面我们就需 ...

  6. Python Django CMDB项目实战之-1如何开启一个Django-并设置base页、index页、文章页面

    1.环境 win10 python 2.7.14 django 1.8.2 需要用到的依赖包:MySQLdb(数据库的接口包).PIL/pillow(处理图片的包) 安装命令: pip install ...

  7. 1-1 课程导学 & 1-2 项目需求分析,技术分解.

    1-1 课程导学 1-2 项目需求分析,技术分解. 要有一定的dart基础,了解安卓和ios的一些普通的开发

  8. 项目兼容ie8技术要点

    好久没有写博客了,因为最近公司项目要调ie8兼容,一直在忙这事,终于竣工了,跟大家分享下这老掉牙的浏览器是如何搞定的...本人新手一枚,欢迎大家指教 项目是使用的jeecg框架,后台使用的java,前 ...

  9. cmdb项目-1

    1.什么是cmdb 配置管理数据库 ,存储基础设备的各种信息配置等 CMDB可以存储并自动发现整个IT网络上的各种信息,比如一个IT网络上有多少台服务器.多少存储.设备的品牌.资产编号.维护人员.所属 ...

随机推荐

  1. Linux添加系统调用

    Linux添加系统调用 1 概述 通常添加系统调用有两种方案: * 重新编译内核 * 添加内核模块 此处我们采用重新编译内核的方式增加系统调用. 实验环境:X86_64 GNU/Linux 4.15. ...

  2. 【非原创】codeforces 1070C Cloud Computing 【线段树&树状数组】

    题目:戳这里 学习博客:戳这里 题意:有很多个活动,每个活动有持续天数,每个活动会在每天提供C个CPU每个CPU价格为P,问需要工作N天,每天需要K个CPU的最少花费. 解题思路:遍历每一天,维护当前 ...

  3. JPG学习笔记2(附完整代码)

    #topics h2 { background: rgba(43, 102, 149, 1); border-radius: 6px; box-shadow: 0 0 1px rgba(95, 90, ...

  4. Eclipce怎么恢复误删类

    选择误删除文件在eclipse所在包(文件夹) 在包上单击右键. 选择restore from local history... 在弹出的对话框中选择需要恢复的文件

  5. 解决springmvc使用@ResponseBody返回String类型字符串中文乱码问题

    问题分析: 首先: 确定的是只有当返回值是 String时才会出现中文乱码,而当返回值是Map<String, Object>或者是其它类型时,并没有中文乱码的出现. 然后找原因: 原因是 ...

  6. RT-Thread学习笔记2-互斥量与信号量

    目录 1. 临界区保护 1.1 方法一:关闭系统调度保护临界区 1.2 方法二:互斥特性保护临界区 2. 信号量 2.1 信号量的定义 2.2 信号量的操作 3. 生产者.消费者问题 4. 互斥量 4 ...

  7. Angular 2 for 2017 web full stack development

    1 1 1 Angular 2 for 2017 web full stack development 1 1 https://angular2.xgqfrms.xyz/ https://ng2-he ...

  8. Next.js Conf 2020

    Next.js Conf 2020 Next.js Conf Ticket https://nextjs.org/conf Conf Schedule https://confs.tech/javas ...

  9. learning 2018

    learning 2018 https://scotch.io/courses https://laod.cn/hosts/ipv6-dns.html xgqfrms 2012-2020 www.cn ...

  10. 智能货柜 & 技术原理 (动态视觉识别 + 重力感应)

    智能货柜 & 技术原理 (动态视觉识别 + 重力感应) 智能货柜 拥有智能化.精细化运营模式的智能货柜成为代替无人货架继前进的方式. 相比无人货架来说,智能货柜的技术门槛更高,拥有 RFID. ...