-
这几种技巧,能有效帮你提升接口查询速度
1. MySQL查询慢是什么体验? 大多数互联网应用场景都是读多写少,业务逻辑更多分布在写上。对读的要求大概就是要快。那么都有什么原因会导致我们完成一次出色的慢查询呢? 1.1 索引 在数据量不是很大时,大多慢查询可以用索引解决,大多慢查询也因为索引不合理而产生。 MySQL 索引基于 B+ 树,这句话相信面试都背烂了,接着就可以问最左前缀索引、 B+ 树和各种树了。 说到最左前缀,实际就是组合索引的使用规则,使用合理组合索引可以有效的提高查询速度,为什么呢? 因为索引下推。如果查询条件包含在了…
-
调试 Kubernetes 最简单方法
调试容器化工作负载和 Pod 是每位使用 Kubernetes 的开发人员和 DevOps 工程师的日常任务。通常情况下,我们简单地使用 kubectl logs 或者 kubectl describe pod 便足以找到问题所在,但有时候,一些问题会特别难查。这种情况下,大家可能会尝试使用 kubectl exec,但有时候这样也还不行,因为 Distroless 等容器甚至不允许通过 SSH 进入 shell。那么,如果以上所有方法都失败了,我们要怎么办? 更好的方法 其实我们只需要使用更合…
-
用Python写个简单但强大的人脸识别系统
face_recognition是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统。 face_recognition一经开源发布就得到的广泛的热捧,使用简单,功能强大成为其非常显著的标签。face_recognition对于公司或者是一些工程实践性的应用场景来说是非常好用好上手的利器,不需要你有太多的理论基础就可以比较轻松地去完成一个识别项目,所以今天我们专门来讲解一下。 首先,face_recognition项目开源地址在这里: https:…
-
我,毕业一年,月入过万,想给所有学弟学妹提个醒!
最近,应届毕业生的群体焦虑似乎达到了一个巅峰。 很多初入社会的同学可能也在同样经历这些困惑: 大学4年,明明成绩也不差,为什么总找不到合适的工作; 一边说招收应届毕业生,一边要求1-3年工作经验,HR脑子有坑吗; 面试了数十家大公司,慢慢接受自己也只是个普通人罢了。 而且随便在知乎上搜一搜,也能感受到扑面而来的焦虑气息...... 为什么会有这些焦虑?究其原因有3点: 课本内容与企业人才需求断层,全靠自己摸索提升; 大批人才涌入市场,琐碎简单的工作内卷严重; 大部分人还是学生心态,没有找到自己的…
-
详解python 破解网站反爬虫的两种简单方法
最近在学爬虫时发现许多网站都有自己的反爬虫机制,这让我们没法直接对想要的数据进行爬取,于是了解这种反爬虫机制就会帮助我们找到解决方法。 常见的反爬虫机制有判别身份和IP限制两种,下面我们将一一来进行介绍。 (一) 判别身份 首先我们看一个例子,看看到底什么时候反爬虫。我们还是以 豆瓣电影榜top250(https://movie.douban.com/top250) 为例。 这是段简单的请求与网站连接并打印获取数据的代码,我们来看看它的运行结果。 我们可以发现我们什么数据都没有获取到,这就是由于…
-
Windows、Linux 纷纷被爆漏洞,黑客可直取 root 权限!
无论是开源还是闭源,没有绝对安全的操作系统。 一夕间,多款操作系统被爆存在安全漏洞,其中包括开发者最为常用的 Windows 和 Linux 操作系统也未能幸免。有研究人员发现,通过漏洞,黑客或恶意软件可绕过 Windows 和 Linux 系统的安全限制,并获得管理员级别的权限,造成设备内部的敏感/隐私资源泄露。 Windows 被“攻破” ? 事情要从 7 月 20 日一位名为 Jonas Lykkegaard 发布的一则 Twitter 说起,其在帖子中指出,“由于某种原因,在 Windo…
-
Kubernetes日志收集的那些套路
准备 关于容器日志 Docker的日志分为两类,一类是Docker引擎日志;另一类是容器日志。引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置。本文主要介绍容器日志,容器日志可以理解是运行在容器内部的应用输出的日志,默认情况下,docker logs显示当前运行的容器的日志信息,内容包含 STOUT(标准输出)和STDERR(标准错误输出)。日志都会以json-file的格式存储于 /var/lib/docker/containers/<容器id>/<容器id>…
-
肝!0基础玩转shell编程实战!(附赠100个拿来就用的shell脚本实例)
无论是系统运维,还是应用运维,均可分为“纯手工”—> “脚本化”—> “自动化”—>“智能化”几个阶段,其中自动化阶段,主要是将一些重复性人工操作和运维经验封装为程序或脚本,一方面避免重复性操作及风险,另一方面提高执行效率。 在自动化运维的转变过程中,经常使用的可能就是shell脚本了。 Shell介于Linux系统内核与用户之间,相当于系统与用户间的桥梁,负责解析输入的命令和输出的二进制码。另外,shell也属于一种程序设计语言,为用户提供操作机器的交互接口,使用户输入的命令…
-
kubernetes基础概念解析
本篇文章介绍kubernetes的一些基础概念,也整理出了pdf版本,需要的下拉至文末领取。 目录: 1 、pod 概念 自主式POD:不是被控制器管理的pod。一旦死亡就不会再重生 控制器管理的POD:就是被控制器所管理的POD。 1、自主式POD的基础概念 容器会共用pause的网络栈,也就是说这两个容器就没有他的独立地址了他们都是共同使用pause的地址、共用他的存储卷 Pause 网络栈共享:首先我们要定义一个 POD,就会先启动第一个容器,只要运行一个POD这个容器就会被启动、这个容…
-
从零搭建一个基于 ELK 的日志、指标收集与监控系统
在需要私有化部署的系统中,大部分系统仅提供系统本身的业务功能,例如用户管理、财务管理、客户管理等。但是系统本身仍然需要进行日志的采集、应用指标的收集,例如请求速率、主机磁盘、内存使用量的收集等。同时方便的分布式系统日志的查看、指标的监控和告警也是系统稳定运行的一个重要保证。 为了使得私有化部署的系统能更健壮,同时不增加额外的部署运维工作量,本文提出了一种基于 ELK 的开箱即用的日志和指标收集方案。 背景 在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数据储存,同时利用 …