Python学习指南
人生苦短,我用Python。
Python基础
风格指南
数据类型
三元表达式、列表推导式和生成器表达式
流程控制
函数基础
函数进阶
装饰器
面向对象
文件读取
模块
psutil模块
sys模块
os模块
pathlib模块
math模块
random模块
datetime模块
time模块
uuid模块
hashlib模块
hmac模块
openpyxl模块
练习
用户登录认证
文本内容检索
脚本
阿里云:SLB应急切换脚本
爬虫Django框架
路由
模板
jinja2
Flask框架
关于持续交付(CD)的思考
近几年,接触了不少自动化部署落地的案例,也亲身经历了从手动部署到容器化平台的迁移过程。
略有一些感触,遥想当年一晚上手工上线四十多模块带来的辛酸,感叹今日的自动化技术带来的便利。
近些年来非常火的一个词,叫做持续交付(CD),当然,还有一个词叫CI,今日不作讨论。
持续交付的核心就是以最快的速度将它交付给用户。
交付当天通常来说,应用版本发布的当天是比较紧张的,因为对于大多数项目来说,发布的风险还是比较大的。
很多时候,应用或者软件服务版本发布都是需要手工操作的。在这个过程中,有太多步骤容易出错,假如其中一步没有完美地执行,那么这个应用程序就可能无法正常地运行。一旦发生这样的情况,很难说清楚哪里有问题,或者说哪一步错了。
虽然现在很多公司的环境逐步迁移到容器平台,但因为历史遗留问题,很多项目的服务还停留在非容器的环境。非容器的环境,部署过程较为复杂,当然有些重视运维的公司会自研自动化部署的环境来解决这个问题。
关于手工部署但是,还是有不少公司,部署手段还停留在手工部署。手工部署或者没有完全自动化部署,有以下特征:
有详尽的部署文档(当然,也有不少公司是没有的,这对工作交接带来了隐患 ...
华硕路由器刷机步骤
刷机步骤(请仔细阅读):
约定原厂固件为华硕官方的RT-AC86U固件。
约定原版ML为国外RMerl大神基于华硕官方固件源代码修改而来的ML固件
约定改版ML为koolshare开发组在发布的的基于ML固件修改而来的带软件中心的ML改版固件;
约定官改固件为koolshare开发组在本帖发布的基于华硕官方RT-AC86U源代码修改而来的带软件中心的官改固件。
A. 原厂固件/原版ML 刷 官改:
在原产固件/原版ML固件升级页面下直接上传.w 后缀的官改固件文件;
刷机完成后会自动重启,此时刷机完成(刷机完成后可以不恢复出产设置,当然恢复一次更好);
重启后先将路由器连上网络,然后进入软件中心将软件中心更新到最新版本。
B. 官改 刷 官改:
在本帖下载并刷过官改固件的,在固件升级页面下直接上传.w 后缀的官改固件文件即可(如果没有特殊说明,一般不需要恢复出产设置);
刷机后所有已经安装的插件都会被保留,不会受到影响。
C. 改版ML 刷 官改:
在改版ML固件升级页面直接上传.w后缀的本帖提供的官改固件,路由自动重启后刷机完成;
刷机完成后,软件中心和插件 ...
《掌控习惯》读书笔记
概述
【美】詹姆斯·克利尔(James Clear) / 迩东晨 / 北京联合出版公司 / 2019
习惯形成需要4步:提示→渴求→反应→奖赏。提示触发渴求,渴求激发反应,而反应则提供满足渴求的奖赏,并最终与提示相关联。这4个步骤一起形成了一个神经反馈回路——提示、渴求、反应、奖赏;提示、渴求、反应、奖赏——并最终让你养成自然而然的习惯,由此构成完整的习惯循环。
狄德罗效应狄德罗效应:也叫“配套效应”,专指人们在拥有了一件新的物品后,不断配置与其相适应的物品,以达到心理上平衡的现象。
18世纪法国有个哲学家叫丹尼斯·狄德罗。有一天,朋友送他一件质地精良、做工考究的睡袍,狄德罗非常喜欢。可他穿着华贵的睡袍在书房走来走去时,总觉得家具不是破旧不堪,就是风格不对,地毯的针脚也粗得吓人。于是,为了与睡袍配套,旧的东西先后更新,书房终于跟上了睡袍的档次,可他却觉得很不舒服,因为“自己居然被一件睡袍胁迫了”,就把这种感觉写成一篇文章叫《与旧睡袍别离之后的烦恼》。
摘抄习惯叠加的公式是:继[当前习惯]之后,我将[新习惯]。
每个群体都对其成员施加巨大压力,要求他们服从 ...
Istio:基本概念
官方介绍:An open platform to connect, secure, control and observe services.
中间的四个动词就是 Istio 的主要功能,官方也各有一句话的说明。这里再阐释一下:
连接(Connect):智能控制服务之间的调用流量,能够实现灰度升级、AB 测试和红黑部署等功能
安全加固(Secure):自动为服务之间的调用提供认证、授权和加密。
控制(Control):应用用户定义的 policy,保证资源在消费者中公平分配。
观察(Observe):查看服务运行期间的各种数据,比如日志、监控和 tracing,了解服务的运行情况。
Service Mesh(服务网格)术语服务网格用来描述组成这些应用程序的微服务网络以及它们之间的交互。
随着服务网格的规模和复杂性不断的增长,它将会变得越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、度量和监控等。服务网格通常还有更复杂的运维需求,比如 A/B 测试、金丝雀发布、速率限制、访问控制和端到端认证。
服务网格可以看做是传统代理的升级版,用来解决现在微服务框架中出现 ...
云原生实践指南
容器学习Docker 是一个开源的应用容器引擎,基于Go 语言并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
注:近日,Kubernetes 官方发布公告,宣布自 v1.20 起放弃对 Docker 的支持,届时用户将收到 Docker 弃用警告,并需要改用其他容器运行时。不过,不要慌。
容器基础
Docker基础:概述
Docker基础:命令总结
容器进阶
容器进阶:隔离与限制
容器进阶:运行环境的一致性
容器进阶:网络概述
容器进阶:OCI与容器进行时
Kubernetes学习kubernetes,简称K8s,是用8代替8个字符“kubernete”而成 ...
Kubernetes:Trouble Shooting
概述为了跟踪和发现在Kubernetes集群中运行的容器应用出现的问题,我们常用如下排查方法:
查看Kubernetes对象的当前运行时信息,特别是与对象关联的Event事件。这些事件记录了相关主题、发生时间、最近发生时间、发生次数及事件原因等,对排查故障非常有价值。此外,通过查看对象的运行时数据,我们还可以发现参数错误、关联错误、状态异常等明显问题。由于在Kubernetes中多种对象相互关联,因此这一步可能会涉及多个相关对象的排查问题。
对于服务、容器方面的问题,可能需要深入容器内部进行故障诊断,此时可以通过查看容器的运行日志来定位具体问题。
对于某些复杂问题,例如pod调度这种全局性的问题,可能需要结合集群中每个节点上的Kubernetes服务日志来排查。比如搜集Master上的kube-apiserver、kube-schedule、kube-controler-manager服务日志,以及各个Node上的kubelet、kube-proxy服务日志,通过综合判断各种信息,就能找到问题的成因并解决问题。
方法查看系统EventKubernetes提供了以下命令来查看一个Po ...
《鸟瞰古文明》读书笔记
[美]让-克劳德·戈尔万 / 严可婷 / 后浪丨湖南美术出版社 / 2019-10 /
部分图片来源于网络,侵删。
内容简介
当我们阅读历史书籍,闭上眼睛想象古代人的生活时,最大的困难和最容易出现的错误不是古代人的活动本身,而是他们活动的场所。失去场所的活动很快便脱离了我们想象的控制,背景的缺失让一切陷入失序,美妙和谐的图景转化成或滑稽或丑陋又失去连贯性的碎片。而古代城市复原图的重要作用便是:让我们回到现场,用想象力带着肉体,亲身体验历史。
毫无疑问,古代城市复原图的绘制是一项具有挑战性的工作,而本书作者让-克劳德·戈尔万及其团队用丰厚的考古学、建筑学知识,以及他出色的绘画天赋达成了目标。他用细腻的水彩画直接呈现了古地中海文明,从公元前2500年直到公元5世纪,时间横跨3000年。130幅复原图配以文字,精心介绍了87个地区与城市,将美索不达米亚、古埃及、古希腊和古罗马一网打尽,其中不仅铕被各类史书反复提及的重要城镇,还有曾经辉煌一时却被人遗忘的诸多地方。每一幅图画都是成千上万条信息的结晶,甚至一幅图中浓缩了一座城市数佰年的历史,值得人们细 ...
《时间的秩序》读书笔记
[意] 卡洛·罗韦利 / 杨光 / 湖南科学技术出版社 / 2019-6
内容简介为什么我们记得过去,而非未来?时间“流逝”意味着什么?是我们存在于时间之内,还是时间存在于我们之中?卡洛·罗韦利用诗意的文字,邀请我们思考这一亘古难题——时间的本质。
在我们的直觉里,时间是全宇宙统一的,稳定地从过去流向未来,可以用钟表度量。可罗韦利向我们揭示出一个奇怪 的宇宙,在这里,时间的特质一一坍塌,在最基本的层面上,时间消失了。他告诉我们,我们对时间流逝的感知,取决于我们的视角……
笔记
我们的额叶相当强大,已经把我们送上月球,让我们发现黑洞,认出我们是瓢虫的表亲,但还不足以像我们自己清楚地解释自己。
为什么我们记得过去,而非未来?是我们存在于时间之内,还是时间存在于我们之中?说时间“流逝”到底意味着什么?是什么把时间与我们作为人的本性,与我们的主观性联系在一起?
时间不是一条双向的线,而是有着不同两端的箭头。
过去与未来有别。原因先于结果。先有伤口,后有疼痛,而非反之。杯子碎成千片,而这些碎片不会重新组成杯子。我们无法改变过去,我们会有遗憾、懊悔、回忆。而未来 ...
ELK:一键部署
环境一键部署ELK环境,适用于:
系统:CentOS 7.X
ELK版本:7.X.X
前置条件
jdk:
1yum -y install java-1.8.0-openjdk.x86_64
所有安装包路径:/root/InstallELKB-Shell/
脚本elk.sh1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551 ...