用Python自动化管理邮件简直太简单了
在之前的文章中我们已经了解如何对自己的邮箱做一些代码操作前的基础配置,以及通过 Python 代码收发、读取邮件。本文将简单复习之前的部分重点内容,并通过 3 个小案例进一步分享一个实用技巧:将邮件写入 Excel 中 之前的文章中我们也提到,基础配置需要打

笔记本摄像头被忽视了!厂商为何“安于一隅”?
一年前的文章是一吐为快,并没有谈到笔记本摄像头为何不思进取,今天想和大家聊一聊这个问题。 被忽略的重要因素:厚度 现如今没有几个摄像头不突出的智能手机,大家已经司空见惯。智能手机拍照效果进步神速,除了软件层面,硬件更迭也有不可忽视的作用,这
60,000 毫秒内对 Linux 进行性能分析
最开始的 60 秒 在这篇文章里,Netflix 性能工程团队会介绍一些我们使用的标准的 Linux 命令行工具,在发现问题的前 60 秒内去分析和定位问题。在这 60 秒内,你可以使用下面这 10 个命令行了解系统整体的运行情况,以及当前运行的进程对资源的使用情况。在
一篇文章告诉你Linux驱动7-内核互斥锁
互斥体概述 信号量是在并行处理环境中对多个处理器访问某个公共资源进行保护的机制,mutex用于互斥操作。信号量的count初始化为1,down()/up()也可以实现类似mutex的作用。 mutex的语义相对于信号量要简单轻便一些,在锁争用激烈的测试场景下,mutex比信号量
机器学习工程师与数据科学家的大比拼
阅读了不同的文章、博客并观看了一些视频之后,笔者想通过对比二者之间的差异来更清晰地介绍它们。 先类比一下。作家和教授之间有什么区别?可以说这两者都知道一种语言的规则和语法,其中一个是讲故事的人,另一个是规则的严格实践者。 数据科学家对原始数据
讨论InnoDB底层原理
存储引擎 很多文章都是直接开始介绍有哪些存储引擎,并没有去介绍存储引擎本身。那么究竟什么是存储引擎?不知道大家有没有想过,MySQL是如何存储我们丢进去的数据的? 其实存储引擎也很简单,我认为就是一种存储解决方案,实现了新增数据、更新数据和建立索引
Promise.all的瑕疵了解
我们在之前的一篇文章中 面试官问:Promise.all 使用、原理实现及错误处理 已经介绍过,当我们使用 Promise.all() 执行过个 promise 时,只要其中任何一个promise 失败都会执行 reject ,并且 reject 的是第一个抛出的错误信息,只有所有的 promise 都 resol
如何正确理解 CPU 使用率和平均负载的关系?一篇文章解惑
举个例子,假设一个 CPU 芯片就是一个班级;它有 2 个物理核,也就是 2 个同学,老师让他们分别担任班长和体育委员;过了一段时间,校长要求每个班级还要有学习委员和生活委员,理论上还需要 2 位同学,但是这个班级只有 2 个人,最后老师只能让班长和体育委员
我写这文章就是为了让你了解 AQS
文章准备模拟多线程竞争锁、释放锁的场景来进行分析AQS源码: 三个线程(线程一、线程二、线程三)同时来加锁/释放锁 目录如下: 线程一加锁成功时AQS内部实现 线程二/三加锁失败时AQS中等待队列的数据模型 线程一释放锁及线程二获取锁实现原理 通过线程场景来
假如看完这篇文章后,你还不懂Service Mesh?那你就可以自暴自弃
那么到底什么是Service Mesh? 一言以蔽之:Service Mesh是微服务时代的TCP协议。 有了这样一个感性的初步认知,我们再来看到底什么是Service Mesh。 提到Service Mesh,就不得不提微服务。根据维基百科的定义: 微服务(Microservices)是一种软件架构风格