<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Thorne_lu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Thorne_lu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Thorne_lu]]></copyright><item><title><![CDATA[第1001次python入门——Day11代码练习]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/124178265</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/124178265</guid><author>Thorne_lu</author><pubDate>Thu, 14 Apr 2022 18:13:25 +0800</pubDate><description><![CDATA[求最大值
# 编写一个函数，求多个数中的最大值
def get_max(*args):
    x = args[0]
    for arg in args:
        if arg &gt; x:
            x = arg
    return x


print(get_max(2, 4, 8, 3, 6, 8))

骰子点数和
# 编写一个函数，实现摇骰子功能，打印n个骰子的点数和
import random
def get_sum(n):
    m = 0
    for i]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day10]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/124116385</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/124116385</guid><author>Thorne_lu</author><pubDate>Tue, 12 Apr 2022 09:48:48 +0800</pubDate><description><![CDATA[uuid
# uuid用来生成一个全局唯一的id模块
import uuid


# uuid3和uuid5是使用传入的字符串根据指定的算法算出来的，是固定的
print(uuid.uuid1())  # 32个长度，每个16个选择 16**32个选择
# print(uuid.uuid2())
print(uuid.uuid3(uuid.NAMESPACE_DNS, 'zhangsan'))  # 生成固定的uuid
print(uuid.uuid5(uuid.NAMESPACE_DNS, 'zhangs]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day09]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/124115878</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/124115878</guid><author>Thorne_lu</author><pubDate>Tue, 12 Apr 2022 09:39:13 +0800</pubDate><description><![CDATA[高阶函数
# 1.把一个函数当做另一个函数的返回值
def test():
    print('我是test函数')
    return 'hello'

def demo():
    print('我是demo函数')
    return test

def bar():
    print('我是bar函数')
    return test()

# x = test()
# print(x)
#
# y = demo()  # y是test函数
# print(y)
# z = y()
# ]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day08]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/123042662</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/123042662</guid><author>Thorne_lu</author><pubDate>Mon, 21 Feb 2022 20:06:09 +0800</pubDate><description><![CDATA[函数的回顾总结
#1.函数的声明，使用def声明
#2.函数的格式 def函数名（形参1，形参2）
#3.函数的调用  函数名（实参1， 实参2）
#4.函数返回值 使用return语句返回函数的执行结果
#5.函数返回多个结果，将多个数据打包成一个整体返回。
# 可以使用列表和字典，通常情况下选择使用元组

#函数名也是一个标识符。
# 由数字字母下划线组成，不能以数字开头；严格区分大小写；不能使用关键字
# 遵守命名规范，使用下划线连接；顾名思义
def get_sum(a, b):
    #函数执行]]></description><category></category></item><item><title><![CDATA[Kubernetes的ingress服务部署、会话保持，TLS配置，认证配置、地址重写]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/121391954</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/121391954</guid><author>Thorne_lu</author><pubDate>Fri, 19 Nov 2021 18:19:27 +0800</pubDate><description><![CDATA[Ingress是一种全局的、为了代理不同后端 Service 而设置的负载均衡服务，就是 Kubernetes 里的 Ingress 服务。
Ingress由两部分组成：Ingress controller和Ingress服务。
Ingress Controller 会根据你定义的 Ingress 对象，提供对应的代理能力。业界常用的各 种反向代理项目，比如 Nginx、HAPro]]></description><category></category></item><item><title><![CDATA[Kubernetes网络插件flannel和calico]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/121391669</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/121391669</guid><author>Thorne_lu</author><pubDate>Thu, 18 Nov 2021 01:45:29 +0800</pubDate><description><![CDATA[网络插件flannel

跨主机通信的一个解决方案是Flannel，由CoreOS推出，支持3种实现：UDP、VXLAN、host-gw
udp模式：使用设备flannel.0进行封包解包，不是内核原生支持，上下文切换较大，性能非常差
vxlan模式：使用flannel.1进行封包解包，内核原生支持，性能较强
host-gw模式：无需flannel.1这样的中间设备，直接宿主机当作子网的下一跳地址，性能最强
host-gw的性能损失大约在10%左右，而其他所有基于VXLAN“隧道”机制的网络方案，性能损失在]]></description><category></category></item><item><title><![CDATA[Kubernetes控制器和service]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/121390432</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/121390432</guid><author>Thorne_lu</author><pubDate>Thu, 18 Nov 2021 00:49:14 +0800</pubDate><description><![CDATA[1.控制器的介绍

Pod 的分类：
自主式 Pod：Pod 退出后不会被创建
控制器管理的 Pod：在控制器的生命周期里，始终要维持 Pod 的副本数目

控制器类型：
Replication Controller和ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
HPA全称Horizontal Pod Autoscaler

Replication Controller和ReplicaSet
ReplicaSet 是下一代的 Replicat]]></description><category></category></item><item><title><![CDATA[Kubernetes资源清单和Pod生命周期]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/121367195</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/121367195</guid><author>Thorne_lu</author><pubDate>Wed, 17 Nov 2021 23:14:50 +0800</pubDate><description><![CDATA[资源清单

1.Kubernetes的资源清单的介绍

官网参考：https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#deployment-v1-apps
命令参考：
kubectl explain pod
kubectl get pod -o yaml |less

2. 自主式Pod资源清单

2.1 创建自主式Pod资源清单


[kubeadm@server1 ~]$ mkdir mainfest  创建目录存放资]]></description><category></category></item><item><title><![CDATA[Kubernetes集群部署、Pod管理]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/106826851</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/106826851</guid><author>Thorne_lu</author><pubDate>Tue, 16 Nov 2021 22:28:37 +0800</pubDate><description><![CDATA[文章目录Kubernetes简介设计架构Kubernetes部署Pod管理资源清单控制器service
Kubernetes
简介


在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。


Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。


Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。


K]]></description><category></category></item><item><title><![CDATA[详解MAC地址、以太网、二层转发、VLAN]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/115394966</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/115394966</guid><author>Thorne_lu</author><pubDate>Sun, 18 Apr 2021 23:49:48 +0800</pubDate><description><![CDATA[目录MAC地址MAC地址怎么使用？以太网什么是网络拓扑？以太网数据格式前导码目的地址源地址类型数据FCS最小的数据帧是多少字节？
MAC地址
每个网卡或三层网口都有一个MAC地址，MAC地址是烧录到硬件上，因此也叫硬件地址。MAC地址作为数据链路设备的地址标识符，需要保证网络中的每个MAC地址都是唯一的，才能正确识别到数据链路上的设备。
MAC地址由6个字节组成。前三个字节表示厂商识别码，每个网卡厂商都有特定唯一的识别数字。后三个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同MAC地址的]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day07]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/115278204</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/115278204</guid><author>Thorne_lu</author><pubDate>Sun, 28 Mar 2021 11:34:28 +0800</pubDate><description><![CDATA[目录集合的使用集合使用运算符集合的练习转换相关的方法公共方法函数的介绍函数的参数函数的返回值函数的注释函数调用函数全局变量和局部变量函数多个返回值
集合的使用
# 集合是一个不重复的无序的集合，可以使用{}或者set来表示
# {} 有两种意思：字典，集合
# {} 里如果放的键值对，它就是一个字典；如果放的是单个的值，那它就是一个集合
person = {'name':'zhangsan', 'age':18} #字典
x = {'hello', 1, 'good'} #集合

# 如果有重复的数据，会自]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day06]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/115102435</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/115102435</guid><author>Thorne_lu</author><pubDate>Mon, 22 Mar 2021 22:24:45 +0800</pubDate><description><![CDATA[目录元组的使用字典的使用字典使用注意事项从字典里获取数据修改，新增和删除数据update方法的使用字典的遍历字典的练习字典的练习字典的练习
元组的使用
#元组和列表很像，都是用来保存多个数据
#使用一对小括号()来表示
#元组和列表的区别，列表可变，元组是不可变的
words = ['hello', 'yes', 'good', 'hi']  #列表，使用[]表示
nums = (9, 4, 3, 1, 7, 6, 9) # 元组，使用()来表示

# 和列表一样，也是一个有序的存储数据的容器
#可以通过下]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day04~Day05代码练习]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/114275765</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/114275765</guid><author>Thorne_lu</author><pubDate>Tue, 02 Mar 2021 08:00:13 +0800</pubDate><description><![CDATA[目录练习冒泡排序的优化求列表的最大数及其下标移除空字符串列表的嵌套列表推导式列表推导式的练习深拷贝和浅拷贝
练习
# 有一个列表names, 保存了一组姓名names = ['zhangsan','lisi','wangwu','jerry']
# 用户输入一个姓名，如果存在，提示用户姓名已存在；
# 如果不存在，就将这个姓名添加到列表里；

names = ['zhangsan', 'lisi', 'wangwu', 'jerry']
str1 = input('请输入姓名：')
# if str1 in]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day05]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/114275751</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/114275751</guid><author>Thorne_lu</author><pubDate>Tue, 02 Mar 2021 07:55:37 +0800</pubDate><description><![CDATA[目录字符串相关操作字符编码成员运算符格式化打印字符串字符串format方法的使用列表的基本使用列表增加元素列表删除修改和查询元素列表的遍历交换两个遍历的值冒泡排序列表的排序和反转可变数据类型和不可变数据类型可变类型和不可变类型列表的复制
字符串相关操作
字符编码
# ASCII  --&gt; Latin1 --&gt; Unicode编码
# 字符  --&gt;  数字编码存在一个对应关系



# 使用内置函数  chr 和  ord  能够查看数字和字符的对应关系
# ord  获取字符对应的编码 ]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day04]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/114006912</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/114006912</guid><author>Thorne_lu</author><pubDate>Wed, 24 Feb 2021 07:37:55 +0800</pubDate><description><![CDATA[目录字符串的表示方式字符串的下标和切边字符串常见的操作内容分割相关操作
字符串的表示方式
# 在python里，可以使用一对单引号 或 双引号 或 一对三双引号 或 一对三单引号
a = 'hello'
b = "good"
c = """呵呵呵"""
d = '''嘿嘿嘿'''

# 如果字符串里面还有双引号，外面就可以使用单引号
m = '         xiaoming said:"I am xiaoming"        '
n = "I'm xiaoming'"
p = """xiaoming]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day01~Day03代码练习]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/113967258</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/113967258</guid><author>Thorne_lu</author><pubDate>Tue, 23 Feb 2021 07:31:08 +0800</pubDate><description><![CDATA[目录基础题进阶题for...else求质数假设成立法求质数计数法求质数求菲波那切数列99乘法表百马百担问题珠峰问题
基础题
# 根据输入的百分制成绩打印“及格”或“不及格”
#1.input
#2.float
#3.if...else

i = float(input("请输入你的成绩:"))
if i &gt;= 60:
    print("及格")
else:
    print("不及格")


#打印成年or不成年，超出150不是人
age = int(input('请输入你的年龄'))
if 0]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day03]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/113927843</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/113927843</guid><author>Thorne_lu</author><pubDate>Mon, 22 Feb 2021 07:47:14 +0800</pubDate><description><![CDATA[目录条件判断语句if语句的练习if...elif...elif语句的使用if语句的嵌套pass关键字的使用猜拳游戏if语句的注意点循环语句的基本使用while练习for...in循环的使用break和continue关键字的使用嵌套打印矩形嵌套打印三角形打印99乘法表
条件判断语句
# python里的条件判断语句 if / if else /if elif elif else
# python里不支持 switch...case 条件语句


# if
# if...else

age = int(inp]]></description><category></category></item><item><title><![CDATA[第1001次python入门——Day02]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/113927804</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/113927804</guid><author>Thorne_lu</author><pubDate>Mon, 22 Feb 2021 07:37:09 +0800</pubDate><description><![CDATA[目录整数的表示方式进制转换使用代码进行进制转换数据类型的转换转换成为整数转换成为浮点数转换成为字符串转换成为布尔值算数运算符算数运算符在字符串里的使用赋值运算符赋值运算符的特殊场景比较运算符逻辑运算符的使用逻辑运算的短路逻辑运算的短路位运算符位运算的短路运算符的优先级
整数的表示方式
# 整型就是整数。但计算机只能保存二进制 0 和 1，
# 为了方便数据表示，同时计算机也支持8 和16 进制

a = 98  # 默认10进制

b = 0b101101101  #以0b开头的数字是二进制
print(b]]></description><category></category></item><item><title><![CDATA[几种常见的攻击模式]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/113540918</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/113540918</guid><author>Thorne_lu</author><pubDate>Tue, 02 Feb 2021 10:59:02 +0800</pubDate><description><![CDATA[目录前言跨站脚本攻击HTTP 首部注入攻击SQL 注入攻击OS 命令注入攻击不正确的错误消息处理开放重定向点击劫持DoS 攻击后记
前言
对 Web 应用的攻击模式有以下两种：主动攻击和被动攻击
主动攻击： 以服务器为目标的主动攻击
主动攻击（active attack）是指攻击者通过直接访问 Web 应用，把攻击代码传入的攻击模式。由于该模式是直接针对服务器上的资源进行攻击，因此攻击者需要能够访问到那些资源。主动攻击模式里具有代表性的攻击是 SQL 注入攻击和 OS 命令注入攻击。

被动攻击： 以服务器]]></description><category></category></item><item><title><![CDATA[编译工具——scons]]></title><link>https://blog.youkuaiyun.com/Thorne_lu/article/details/113343425</link><guid>https://blog.youkuaiyun.com/Thorne_lu/article/details/113343425</guid><author>Thorne_lu</author><pubDate>Sat, 30 Jan 2021 22:48:49 +0800</pubDate><description><![CDATA[目录make编译工具scons编译工具scons是什么scons的优点scons安装scons的简单使用scons相关命令scons的SConstruct文件scons其他
make编译工具
通过检查文件的修改时间，make 工具可以知道编译目标文件所要依赖的其他文件。在复杂的项目中，如果只有少数几个文件修改过，make 工具知道仅仅需要对哪些文件重新编译就可以确保目标程序被正确的编译链接。这样做的好处就是在编译中，不仅可以节省大量的重复输入，还可以确保程序可以被正确的链接，缩短编译的时间。
虽然如此，但是]]></description><category></category></item></channel></rss>