Coderyang的笔记

知识就是财富


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Python的logging模块

发表于 2019-11-04 | 分类于 Python | | 阅读次数:
字数统计: 4,795 字 | 阅读时长 ≈ 25 分钟
我们知道一个良好的系统,日志模块是必不可少的,Python的基础日志模块便是logging模块。 这一篇文章,我们从源码去看下logging模块的组成。 1. 开始最开始,我们用最短的代码体验一下logging的基本功能 12345678910In [30]: import loggingIn [31]: loger = logging.getLogger()In [32]: logging.ba ...
阅读全文 »

在MongoDB中实现类似MySQL时间DATE_FORMAT分组

发表于 2019-11-02 | 分类于 MongoDB | | 阅读次数:
字数统计: 978 字 | 阅读时长 ≈ 4 分钟
​ 我们在使用MySQL的时候 如果数据库存的是时间戳 但又想按照天等时间方式分组,这时候可以使用DATE_FORMAT函数进行格式化时间字符串。那么 在MongoDB中有类似的需求应该如何实现呢? 答案就是:aggregate聚合 官方文档在此aggregation 我们把SQL 与 Aggergation 对比下: SQL Terms, Functions, and Co ...
阅读全文 »

Tornado中使用Websocket

发表于 2019-11-02 | 分类于 Tornado | | 阅读次数:
字数统计: 944 字 | 阅读时长 ≈ 4 分钟
Websocket在线测试工具 WebSocket – 维基百科,自由的百科全书 利用websocket实现推送 支持异步的一个库websockets Python Web学习笔记之WebSocket 通信过程与实现 长轮询的方式: 使用Websocket方式: Websocket方式同样支持客户端主动发送数据 连接可能因为许多你无法控制的原因而意外关闭。任何Web应用程序都应该能够很好地处 ...
阅读全文 »

使用Redis实现一个简单的限流

发表于 2019-09-02 | 分类于 Redis | | 阅读次数:
字数统计: 726 字 | 阅读时长 ≈ 3 分钟
​ 有时候我们想对我们的服务进行某些请求访问限制,即控制流量。还有就是控制用户行为,避免垃圾请求。这个时候我们需要实现一个限流策略,来满足我们的需求。 下面我们实现一个简单的限流策略:系统要限定用户某个行为在指定的时间里只能允许发生N次。 实验环境 12python3.7redis==3.3.8 实现方式 使用zset数据结构,我们使用时间戳来当值,还有就是时间戳当score来进行值 ...
阅读全文 »

使用Python的PIL库进行图片合成和在图片上写字

发表于 2019-08-21 | 分类于 Python | | 阅读次数:
字数统计: 361 字 | 阅读时长 ≈ 2 分钟
最近需要写一个需求 根据UI设计的海报模板进行批量合成海报,经过一番谷歌大法好,查找到了几个比较好的参考文章,将使用总结一下。 首先就是安装库 1pip install Pillow 具体使用和代码解释 12345678910111213141516171819202122232425262728293031323334from PIL import Image, ImageFont, Imag ...
阅读全文 »

Python中的协程锁

发表于 2019-06-25 | 分类于 asyncio | | 阅读次数:
字数统计: 929 字 | 阅读时长 ≈ 4 分钟
关于协程锁尽管asyncio库是使用单线程来实现协程的,但是它还是并发的,乱序执行的。可以说是单线程的调度系统,并且由于执行有延时或者I/O中断等因素,每个协程如果同步时,还是得使用一些同步对象来实现。 在asyncio库中定义了一个锁对象Lock,它一次只允许一个协程来访问共享的资源,如果多协程访问就会阻塞起来,也就是说如果一个协程没有释放这个锁,别的协程是没有办法访问共享的资源的。 遇到的一个 ...
阅读全文 »

Asyncio中将同步函数改为异步调用

发表于 2019-06-21 | 分类于 Python | | 阅读次数:
字数统计: 1,881 字 | 阅读时长 ≈ 10 分钟
今天看小明大神的博客:深入理解asyncio(三) 里面有段将同步函数改为协程使用的代码。其中提到了run_in_executor,主要使用这个方法将同步变为异步。 我们先看下如何将一个同步函数变为异步的 12345678910111213141516In [35]: import timeIn [36]: import asyncioIn [37]: def a(): ...: t ...
阅读全文 »

Linux上使用wkhtmltopdf将网页转为pdf

发表于 2019-06-18 | 分类于 Linux | | 阅读次数:
字数统计: 465 字 | 阅读时长 ≈ 2 分钟
一、需求将数据同步HTML模板生成PDF 二、wkhtmltopdfwkhtmltopdf 不是程序,而是 软件。能够安装在 linux 或者 windows 服务器上通过命令行将任意html页面转pdf。基本上样式是一样的,不会有很大的偏差。 wkhtmltopdf 官网地址: https://wkhtmltopdf.org/ wkhtmltopdf 命令手册:https://wkhtmltop ...
阅读全文 »

如何在__init__中设置能够await的类或实例属性

发表于 2019-06-18 | 分类于 asyncio | | 阅读次数:
字数统计: 263 字 | 阅读时长 ≈ 1 分钟
如何在构造函数或类体中定义一个具有等待的类? 例如下面的这个代码: 1234567891011121314import asyncio# some codeclass Foo(object): async def __init__(self, settings): self.settings = settings self.pool = await create_ ...
阅读全文 »

理解Python协程:从yield/send到yield-from再到async/await

发表于 2019-06-03 | 分类于 Python | | 阅读次数:
字数统计: 2,289 字 | 阅读时长 ≈ 11 分钟
Python中的协程大概经历了如下三个阶段: 最初的生成器变形yield/send 引入@asyncio.coroutine和yield from 在最近的Python3.5版本中引入async/await关键字 一:生成器变形yield/send普通函数中如果出现了yield关键字,那么该函数就不再是普通函数,而是一个生成器。 123456789101112In [1]: def ...
阅读全文 »
1…456…19
Coderyang

Coderyang

Coderyang

184 日志
23 分类
23 标签
RSS
GitHub 简书
0%
© 2021 Coderyang
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4