编程语言 Python发送邮件完整示例 下面是以网易 yeah.net 邮箱为例子。from email.header import Header from email.mime.text import MIMEText import smtplib to = ['xxx@qq.com', 'xxx@163.com'] from_address = 'username@yeah.net' from_password = 'xxxxxx' smtp_server = 'smtp.yeah.net' # 纯文本邮件 # msg = MIMEText('我是正文啊。。', 'plain', 'utf-8') yuziyue 11 Jul 2023 · 1 min read
编程语言 Python调用并执行外部Linux命令 执行 bash 命令,调用 linux 命令,执行外部命令 cmd 出入的命令行,可以多个命令,可以管道 cwd 执行命令目录,默认是脚本所在目录 shell 为 True 通过 shell 执行 raise_error 遇到错误是否抛出错误,不抛出错误则通过标准错误返回错误信息 yuziyue 11 Jul 2023 · 1 min read
大数据开发 Redis内存爆满飙升 我们每天都会往某 Redis 写入固定数量的key,比如500万个key: ${dt}_${uid},即每天写的 key 都不同,写数据时设置24小时过期。 在每天都写入 500 万个key的情况下,预期内存占用应该保持某个值不变,因为我每天在写入新的,每天旧的也在过期,但实际情况却不是这样的,观察 grafana 的图发现 yuziyue 11 Jul 2023 · 3 min read
大数据开发 Redis内存占用估算 当需要往 Redis 写大批量的数据时,如何判断这批数据是否会把 Redis 打爆,这就需要提前预估数据量的大小。命令 memory USAGE 可以预估一个 key 的占用内存,比如,SAMPLES 表示取多少个样例用来计算每个元素的平均占用字节,默认为5,按理说越大越准确 yuziyue 11 Jul 2023 · 1 min read
前端开发 React快速入门实战 三. 组件化编码流程 拆分组件: 拆分界面,抽取组件 实现静态组件: 使用组件实现静态页面效果 实现动态组件3.1 动态显示初始化数据:数据类型、数据名称、保存在哪个组件? 3.2 交互(从绑定事件监听开始) yuziyue 10 Jul 2023 · 3 min read
前端开发 jsx基础语法实战 一. 介绍,jsx 是一个 JavaScript 的语法扩展,可以很好地描述 UI 应该呈现出它应有交互的本质形式,在学习 react 的时候会用到,其实我们只要正常的逻辑去使用就行了,看下面示例。 yuziyue 10 Jul 2023 · 1 min read
前端开发 JavaScript之JSON处理 JavaScript 之 JSON处理,var xiaoming = { name: '小明', age: 14, gender: true, height: 1.65, grade: null, 'middle-school': '\"W3C\" Middle School', skills: ['JavaScript', 'Java', 'Python', 'Lisp'] }; var s = JSON.stringify(xiaoming); yuziyue 10 Jul 2023 · 1 min read
前端开发 JavaScript面向对象 JavaScript和其他语言不同,它不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。原型是指当我们想要创建 xiaoming 这个具体的学生时,我们并没有一个 Student 类型可用。此时恰好有这么一个现成的 Student 对象。 yuziyue 10 Jul 2023 · 5 min read
前端开发 JavaScript之fetch获取后端数据 简单用 flask 启动一个server,准备接口数据,模拟数据,新建文件 app.py。get获取数据,post获取数据,fetch 函数 也可以传入第二个参数,显示指定请求方法post,以及一些自定义header。 yuziyue 10 Jul 2023 · 2 min read
大数据开发 Airflow web界面如何只clear下游任务 我有一个任务 task1,task1 的下游有 task2 task3 两个任务, 今天这三个task都已经成功运行了。今天接到需求需要修改 task1 的逻辑。当我改好 task1 的逻辑后,通过其他方式把 task1 的任务已经跑过了,此时只需要把 task1 的下游任务刷一遍就行了。 yuziyue 10 Jul 2023 · 1 min read
大数据开发 Airflow异常task killed externally 问题场景:task 的状态莫名奇妙的成 failed 的了,task 出错没有任何运行 task 的日志,只在 Scheduler 打印的日志中看到如下信息,信息表明是 celery 的Worker 执行任务时出错了。 yuziyue 10 Jul 2023 · 1 min read
前端开发 React监听页面滚动滑动事件 实现原理,首先使用 useState 定义一个 y,用来保存最新的的 window.scrollY,然后使用window.addEventListener("scroll", handleScroll)监听页面的滚动滑动,当页面滑动时调用handleScroll,在 handleScroll里面处理你的逻辑即可,逻辑处理完以后通过setY(window.scrollY) 赋值最新的值。useEffect组件挂载时执行~~~ yuziyue 9 Jul 2023 · 1 min read
前端开发 JavaScript实现阻塞sleep睡眠 Promise 对象可以将异步操作转换成同步操作,setTimeout 用于延迟执行一个函数。JavaScript实现阻塞sleep睡眠 yuziyue 9 Jul 2023 · 1 min read
编程语言 巧用Python命名namedtuple namedtuple 避免了元组不知道每个索引的值代表的含义的尴尬, 给元组的每一个索引指定一个名称,调用时根据名称调用,同时也可以使用原来的下标方式访问,看例子。 yuziyue 8 Jul 2023 · 1 min read
编程语言 Python函数参数的五种形式 二. 函数参数组合使用,以上5中参数都可以随意组合,但是参数定义的顺序必须是:位置参数、默认参数、可变参数、命名关键字参数和关键字参数。注意: 参数的组合使用不建议太复杂,太复杂的话可读性很差。三. 函数参数类型检查,函数的参数可以使用 isinstance() 内置函数来检查。 yuziyue 8 Jul 2023 · 4 min read
编程语言 Python删除字符串中非法字符 有时需要对输入的字符串进行处理,最基本的就是去除非法字符,在Python中可以用如下方法简单实现。第一个参数表示被替换的字符 第二个参数表示用来替换的字符(第二个参数和第一个参数必须个数相同、一一对应) 第三个参数的字符串会被替换成空字符 yuziyue 7 Jul 2023 · 1 min read
编程语言 Python异步非阻塞多种实现方式 Python 回调函数,回调函数的原大概就是下面代码的样子,deal_with 函数是真正执行计算的函数,计算后需要通知调用者计算结果,通过传入的get_result 函数处理计算结果。Tornado 异步非阻塞,同步函数 from tornado.httpclient import HTTPClient yuziyue 7 Jul 2023 · 1 min read
编程语言 深入浅出 Python 异步并发原理 由于线程的线程的数据结构比进程更轻量级,并且同一个进程可以容纳多个线程,所以可以使用多线程解决并发问题。多线程也是有问题的,因为多线程有一个GIL锁:同一时刻一个进程中只有一个进程在运行,并且在线程切换时还资源消耗大,而协程的切换则是在线程内部,所以协程优于线程。 yuziyue 7 Jul 2023 · 13 min read