更快的Django应用-优化模板,第1部分

缓慢的网站令人沮丧,而Google也不喜欢它们。 Google将于2021年5月发布一组称为Core Web Vitals的新排名指标。
Google的核心网络要素是什么?核心网络要素是一组用于确定网页加载速度的指标。这三个指标是:
内容最丰富的画图:加载网页主要内容所需的时间-理想情况下应在2.5秒以下。
首次输入延迟:页面与用户进行交互需要多长时间。这应该少于100毫秒。
累积版式移位:页面内容中意外版式移位所花费的时间;应该小于0.1毫秒。
在本教程中,您将学习如何优化Django模板以提高页面加载速度,以使网站为新的Google更新做好准备。另外,它也会使您的访客高兴!让我们[……]

继续阅读

面试完没有消息是什么情况?

本文为原创文章,转载请注明出处,否则追究责任。

去过面试的人都有过这种经历,当面试完一个公司后,有时聊的也还不错,但后来突然就没有消息了,这是什么情况呢?有的比较好奇会去在问问,但一般得到的都不一定是真实的答案,我自己根据我自己当多年技术面试官的经历,外加经常跟HR小姐姐聊天获得的情况,我总结下来一般分为下面几种情况:

一、实在是技术不行。这个不必多说,一般的技术岗位面试,可能会至少一轮的技术面,也有可能是好几轮技术面试,从多个技术维度审查面试者的技术深度和广度,如果技术面有好几轮一般都是重要切核心的岗位,相对比较高端了,一般的初级运维工程师岗位,可能一般只有一轮技术面试,我想说的[……]

继续阅读

用ldap作为django后端用户登录验证

每个公司在运维平台化过程中,如果以开始没有规划,免不了全面开花,会做成好多个平台,然后每个平台都有自己的认证体系,等平台多了,记录这些账号就变得非常烦人,如果用不同的密码,对人的记忆力是个挑战,所以基于此,大部分公司会有部署Ldap系统,来统一运维系统的账号管理,像我们常用的jenkins也可以做对接到ldap上,这样所有的系统就可以统一用ldap来认证,然后根据不同的人来设置不同的权限,那django怎么使用ldap来做后端验证呢,操作接入非常简单,整个过程可以几乎不改我们之前的代码任何逻辑。

我们先进行第一步,安装依赖,ldap和django-auth-ldap,django-aut[……]

继续阅读

更快更好地构建镜像-docker多阶段构建

现在已经毫无疑问,Docker使一个应用和多个应用部署变得非常容易。无论是同一工具的不同版本,具有不同版本依赖性的不同应用程序-Docker都涵盖了。但是,这种灵活性会带来一些问题-例如高磁盘使用率和大的映像。使用Docker时,必须谨慎有效地编写Dockerfile,以减小映像大小并缩短构建时间。

Docker提供了一组遵循的标准实践,以使镜像尺寸较小-这就用到了我们介绍的多阶段构建功能。

对于构建二进制文件或可执行文件的用例,多阶段构建特别有用。通常,构建二进制文件需要很多依赖项,例如,GCC,Maven,构建必需项等,但是一旦有了可执行文件,就不需要那些依赖项来运行可执行文件[……]

继续阅读

使用Prometheus进行Kubernetes监视-Prometheus操作员教程(第3部分)

在本指南的前几章中,我们介绍了如何安装完整的使用Prometheus监控Kubernetes。 我们最后结束下使用Prometheus Operator框架及其“自定义资源定义”相对于手动添加度量标准目标的优势

这次我们将部署类似的环境,但将更加自动化和灵活。

什么是Kubernetes Operator?
Operator是Kubernetes专用的应用程序(pod),可自动配置,管理和优化其他Kubernetes部署。它们被实现为自定义控制器。

Kubernetes Operator封装了部署和扩展应用程序的专有技术,并直接执行与API通信的算法决策。

Kuber[……]

继续阅读

使用Prometheus进行Kubernetes监视:AlertManager,Grafana,PushGateway(第2部分)

要部署真正的Kubernetes和微服务监控解决方案,需要许多其他支持组件,包括规则和警报(AlertManager),图形可视化层(Grafana),长期指标存储以及与该软件不兼容的其他指标适配器 盒子外面。

在第二部分中,我们将简要介绍所有这些支持组件,前提是已经了解了上一章介绍的部署Prometheus监视服务器的基础知识。

Prometheus监控技术栈–体系结构概述
让我们从部署架构概述开始,将我们将在接下来的部分中讨论的所有组件放入其中。

1、在第1部分中介绍的Prometheus服务器是此部署的核心。 Prometheus服务器将警报推送到AlertM[……]

继续阅读

使用Prometheus进行Kubernetes监控-最终指南(第1部分)

Prometheus监控正在迅速成为使用的Docker和Kubernetes监控工具之一。 本指南说明了如何使用Prometheus实施Kubernetes监视。 将介绍如何部署Prometheus服务器,指标导出器,设置kube-state指标,提取,抓取和收集指标,使用Alertmanager配置警报以及使用Grafana配置仪表板。 我们将介绍如何手动执行此操作,以及如何利用Prometheus operators自动部署/安装方法。

为什么使用Prometheus进行Kubernetes监控
因为两项技术的转变,因此我们需要一个新的监视框架:

DevOps文化:在DevO[……]

继续阅读

使用AJAX和Django获取数据

使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器。 但是如果我们只想更新页面的一部分,则不必完全重新渲染页面-我们可以使用AJAX代替。

AJAX提供了一种将GET或POST请求发送到Django视图并接收任何返回的数据而无需刷新页面的方法。 现代JavaScript包含fetch API,该API为我们提供了一种纯JavaScript方式来发送AJAX请求。

让我们看一下如何通过获取发出GET和POST请求,以在视图和模板之间传递JSON数据。

GET请求
通过获取发出GET请求
通过向其[……]

继续阅读

理解Django中基于类的视图-创建CBV

在本文中,我们将研究如何创建一个基于类的视图,方法是首先实现一个最小的CBV,然后对其进行扩展以突出如何设计CBV以便重用。 本系列的第一篇文章探讨了如何初始化基于类的视图,以及如何使用View类作为基础来设置视图并初步路由逻辑。 由于View本身不能用作独立的CBV,因此我们需要定义其他逻辑以正确处理请求并向用户提供正确的响应。

先决条件
阅读了上一篇文章-View Base Class
基本了解Python中的类继承
最小的CBV
让我们看一下基于类的视图的最小实现。 我们将通过首先导入View基类在views.py文件中创建CBV。 我们的视图BasicView将是一个从V[……]

继续阅读

理解Django中基于类的视图-视图基类

基于类的视图或CBV是Django中争议最大的功能之一。与基于功能的视图(FBV)相比,CBV似乎更令人困惑和难以理解。在本系列的Django中的《理解基于类的视图》中,我们将详细介绍CBV,以了解它们的工作方式和使用方法。

首先,我们将介绍View基类,如何在URLconf中使用CBV以及View类如何路由从其继承的其他类的视图逻辑。

先决条件
本文针对那些以前可能尝试使用CBV并希望了解其工作原理的人。如果您满足以下条件,您将从本文中获得最大收益:

之前已经用Django建立了一个项目
尝试至少使用一次CBV
对Python中的类有基本的了解
本文包含许多不完整的[……]

继续阅读