分享东东看不看都行

目录

1.Linux 中在不知道指令需要什么参数时

2.Linux中将普通文件添加可执行权限

3.python 的 魔法方法

4:列表和元组的区别

5、python的三大器

6、生成器中yield解释

 7、简述python元类

8.封装        

9.多态

10.继承

11.猴子补丁

12. 迭代器详解

13.生成器中yield解释

14.python 列表推导式

15.python 字典推导式

16.钩子函数有那些?

17.Shell是什么?

18.启动Redis

19.连接Redis

20.停止Redis

21.Linux 中 操作 Redis

 22.查看是否开启

 23.常用操作string

24.常用操作list

25.linux安装Redis

26.Redis数据库基本

27.Redis持久化

28.在web服务器中的http请求响应的实现原理

29. HTTP请求:

30.HTTP响应:


1.Linux 中在不知道指令需要什么参数时


        可以通过 man  --help    info  -h   百度、搜索 这些方法进行查看喝了解指令

2.Linux中将普通文件添加可执行权限


        可以使用 chmod a+x 文件名  这条命令添加权限

3.python 的 魔法方法


       __new__        :类的构造器,创建初始化后的基本实例对象 == 类的框架

        __init__         :类的数据初始化方法,给实例化对象添加属性

        __del__        类的析构器,用来在实例销毁前使用,释放资源

        __call__        :将实例对象声明为一个方法调用,保护内部实现

        __getattr__        :获取某个属性时使用

        __setattr__        :设置某个属性时使用

4:列表和元组的区别


        1.可变性(Mutability):列表是可变的(mutable),意味着可以修改、添加或删除其中的元素。而元组是不可变的(immutable),一旦创建后,就不能修改其中的元素。
    2.语法表示:列表使用方括号([])来表示,元素之间用逗号分隔。例如:[1, 2, 3]。而元组使用圆括号(())来表示,元素之间也用逗号分隔。例如:(1, 2, 3)。
    3.使用场景:由于元组是不可变的,所以在需要保持数据的不可变性和安全性的场景中更适用,例如用于存储常量或函数参数。列表则更适用于需要频繁修改或扩展元素的场景,例如存储动态数据。
    4.性能:元组的访问和迭代比列表更快,这是因为元组的不可变性使得Python可以对其进行一些优化。
 

5、python的三大器


        装饰器、迭代器、生成器

6、生成器中yield解释


        如果不太好理解yield,可以先把yield当作return的同胞兄弟来看,他们都在函数中使用,并履行着返回某种结果的职责。

        return结束函数返回,yield是暂停函数并返回,当下次执行会从上次暂停的地方继续执行

 7、简述python元类


        元类(metaclass)是 Python 中的一个特殊概念,用于创建类的类。元类可以控制类的创建、行为和属性。

        在 Python 中,一切皆对象,包括类。在定义类时,Python 首先会查找类的元类,然后使用元类来创建这个类。元类可以被看作是类的模板,它定义了类应该具有的属性、方法和行为。

        下面是关于元类的一些详解:

        类是对象:在 Python 中,类也是对象,因此它们都是通过元类创建的实例。
        type 是默认的元类:如果在创建类时没有指定元类,Python 默认使用 type 作为元类。type 是 Python 中所有类的元类,它负责创建类对象。


        自定义元类:我们可以通过定义自己的元类来控制类的创建过程。自定义元类需要继承于 type 类,并重写一些特殊方法,如 new 和 init 等。通过重写这些方法,我们可以在类创建的过程中动态地修改类的属性、方法等。


        元类的作用:使用元类可以实现一些高级的功能,例如对类的注解、属性、方法进行验证、修改或增强。元类还可以用于自动注册类、实现ORM(对象关系映射)等。
metaclass 属性:在定义类时,可以通过 metaclass 属性来指定元类。例如:class MyClass(metaclass=MyMeta)。


        元类的继承:元类也可以继承自其他元类,形成元类的层次结构。当创建类时,Python 会按照继承关系依次调用所有相关的元类。

8.封装
        

        封装(Encapsulation)是面向对象编程中的一种重要概念,它指的是将数据和操作数据的方法捆绑在一起,形成一个独立的实体。封装通过隐藏对象的内部细节,只暴露必要的接口给外部使用者,提供了更好的安全性、可维护性和灵活性。

9.多态


        多态(Polymorphism)是面向对象编程中的一个重要概念,它指的是同一种操作可以在不同的对象上产生不同的行为。多态允许我们使用统一的接口来处理各种不同类型的对象,提高了代码的灵活性和可扩展性。

10.继承


        继承(Inheritance)是面向对象编程中的一个重要概念,它允许一个类继承另一个类的属性和方法。被继承的类称为父类(或基类、超类),继承这些属性和方法的类称为子类(或派生类、衍生类)。

11.猴子补丁

        猴子补丁(Monkey Patching)是一种在运行时修改或扩展现有代码的技术。在编程中,猴子补丁通常用于动态地修改已存在的类、函数、方法或模块,以添加、修改或删除其行为

12. 迭代器详解


        python一切皆对象,迭代器(iterator)也可以说是迭代器对象。具有__iter__方法的对象调用__iter__会返回一个迭代器对象。从语法上说就是那些同时具有__next__和__iter__方法的对象。

        迭代器调用__next__方法会调用迭代器中的下一个值;
        迭代器调用__iter__方法返回迭代器本身;

13.生成器中yield解释


        如果不太好理解yield,可以先把yield当作return的同胞兄弟来看,他们都在函数中使用,并履行着返回某种结果的职责。

        return结束函数返回,yield是暂停函数并返回,当下次执行会从上次暂停的地方继续执行

14.python 列表推导式


        Python 中的列表推导式(List Comprehension)允许我们使用简洁的语法快速生成列表。它提供了一种在一行代码中创建列表的方法,非常常用和方便。

        一般形式为:

        [expression for item in iterable if condition]

        其中,expression 是对 item 进行操作得到的值,item 是可迭代对象中的每个元素,iterable 是原始的可迭代对象,if condition 是可选的条件表达式。

15.python 字典推导式


        Python 中的字典推导式(Dictionary Comprehension)可以通过一行代码快速创建字典。它提供了一种简洁的语法来生成字典,非常方便和实用。

        一般形式为:

        {key_expression: value_expression for item in iterable if condition}

        其中,key_expression 是对 item 进行操作得到的键值的表达式,value_expression 是对 item 进行操作得到的值的表达式,item 是可迭代对象中的元素,iterable 是原始的可迭代对象,if condition 是可选的条件表达式。

16.钩子函数有那些?


        钩子函数(Hook Function)是一种在特定事件发生时被调用的函数,用于允许开发者插入自己的代码以改变或增强程序的行为。钩子函数通常作为回调函数的一种形式存在,并被用于各种编程和开发场景。以下是一些常见的钩子函数的示例:

        消息钩子(Message Hook):在操作系统消息处理过程中被触发的钩子函数。可以用于拦截和处理窗口消息,如键盘输入、鼠标点击、窗口状态变化等。

        鼠标钩子(Mouse Hook):在鼠标事件发生时被触发的钩子函数。可以用于监控和响应鼠标的移动、点击和滚动等操作。

        键盘钩子(Keyboard Hook):在键盘事件发生时被触发的钩子函数。可以用于捕捉用户的按键操作,如监听特定的快捷键、拦截输入等。

        网络钩子(Network Hook):在网络数据传输过程中被触发的钩子函数。可以用于拦截和分析网络通信数据,实现网络安全检测、流量控制等功能。

        文件钩子(File Hook):在文件系统操作发生时被触发的钩子函数。可以用于监测文件的访问、读写等操作,进行文件的拦截或修改。

        系统钩子(System Hook):在操作系统级别拦截和处理系统事件的钩子函数。可以用于监控系统的状态变化,如系统启动、关机、进程创建等。

        数据库钩子(Database Hook):在数据库操作发生时被触发的钩子函数。可以用于对数据库操作进行拦截、验证或记录。

17.Shell是什么?

Shell(壳)是计算机操作系统中提供给用户与操作系统内核进行交互的界面。它可以是一个命令行解释器,也可以是一个图形用户界面(GUI)。

18.启动Redis

        redis-server [--port 6379]

        如果命令参数过多,建议通过配置文件来启动Redis。

        redis-server [xx/xx/redis.conf]

6379是Redis默认端口号。

19.连接Redis

        ./redis-cli [-h 127.0.0.1 -p 6379]

20.停止Redis

        redis-cli shutdown

        kill redis-pid

        以上两条停止Redis命令效果一样。

21.Linux 中 操作 Redis

        查看版本使用:redis-server --version 

 22.查看是否开启

        使用该命令查看:  ps -ef|grep redis

 23.常用操作string

        

 

24.常用操作list

        

 

25.linux安装Redis

        1.安装Redis

                # 在基于Red Hat的发行版上
                sudo yum install redis
                # 在基于Debian的发行版上
                sudo apt install redis-server

        2.启动Redis服务

                sudo systemctl start redis


        3.确保Redis服务在系统启动时自动启动

                sudo systemctl enable redis


        4.检查Redis服务是否正在运行

                sudo systemctl status redis


        5.启动Redis客户端

        redis-cli

26.Redis数据库基本

redis 默认情况下有 16 个数据库序号为(0——15)    默认情况下是使用的序号为 0 的数据库。

Redis 默认有16个数据库,即16个database
Select 【数字】       转到第几个数据库
Dbsize               查看当前数据库有多少个key
Keys *               当前库的key查询出来
Flushdb              清除当前库
Flushall             清除所有库
Auth 【密码】         认证密码
Exists【key的名字】   判断某个key是否存在
Move key 【db序号】   将当前库的key剪切到指定db序号
Expire key【时间秒】  为给定的key设置过期时间,过期后会移除系统
Ttl key              查看还有多少秒过期,-1表示永远不过期,-2表示已过期
Type key             查看你的key是什么类型
Del key              删除key
 

27.Redis持久化

        

  1. Redis持久化数据扩容:可以通过增加硬盘容量或者使用分布式存储系统来扩容。如果使用AOF持久化方式,可以将AOF文件分割成多个小文件,以便于管理和备份。

  2. Redis缓存扩容:可以通过增加Redis节点或者使用Redis集群来扩容。增加节点可以提高Redis的读写能力,而使用集群可以将数据分散到多个节点上,提高整个系统的可用性和性能。

需要注意的是,在扩容过程中要注意数据的一致性和可用性,可以采用数据迁移、数据备份等方式来保证数据的完整性和安全性。

28.在web服务器中的http请求响应的实现原理

        在Web服务器中,HTTP请求和响应的实现原理涉及到客户端和服务器之间的通信过程。下面是HTTP请求和响应的一般实现原理:

29. HTTP请求:

  1. 客户端发起HTTP请求:当用户在Web浏览器中输入网址或点击链接时,浏览器会向服务器发送HTTP请求。这个请求通常由HTTP方法(例如GET、POST、PUT等)和请求头组成。
  2. 服务器接收请求:Web服务器接收到客户端发送的HTTP请求后,开始处理请求。它会解析请求头中的信息,包括目标URL、请求方法、请求参数等。
  3. 处理请求:服务器根据请求的URL和方法来确定应该执行哪些操作。这可能涉及到查询数据库、读取文件、执行业务逻辑等。
  4. 构建响应:服务器处理完请求后,会构建HTTP响应。响应通常包括一个响应头和一个响应体。响应头包含了响应的状态码(例如200表示成功,404表示未找到等)和其他元数据信息。
  5. 发送响应:一旦构建完整的HTTP响应,服务器会将响应发送回客户端。这通过将响应数据分成小块(称为数据包)并通过网络传输到客户端实现。

30.HTTP响应:

  1. 客户端接收响应:客户端(通常是Web浏览器)接收到来自服务器的HTTP响应后,开始处理响应。
  2. 解析响应:客户端解析响应头,以获取响应的状态码和其他元数据信息。
  3. 处理响应:根据响应的状态码,客户端决定如何处理响应。例如,对于成功的响应(状态码为200系列),客户端可能会解析响应体中的数据并将其呈现给用户。
  4. 渲染响应:如果响应包含HTML、CSS、JavaScript等内容,客户端会解析和渲染这些内容,以在浏览器中呈现网页。
  5. 完成响应:一旦客户端完成处理和渲染响应,用户可以看到相应的网页内容或执行其他操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值