wrapper

asyncio, wrapping a normal function as asynchronous

心不动则不痛 提交于 2020-12-05 04:55:13
问题 Is a function like: async def f(x): time.sleep(x) await f(5) properly asynchronous/non-blocking? Is the sleep function provided by asyncio any different? and finally, is aiorequests a viable asynchronous replacement for requests? (to my mind it basically wraps main components as asynchronous) https://github.com/pohmelie/aiorequests/blob/master/aiorequests.py 回答1: The provided function is not a correctly written async function because it invokes a blocking call, which is forbidden in asyncio.

H5页面引入lottie.min.js

纵饮孤独 提交于 2020-12-04 13:33:57
< script type= "text/javascript" src= "/js/userPortrait/lottie.min.js" ></ script > var select = function ( s ) { return document . querySelector ( s ); }, selectAll = function ( s ) { return document . querySelectorAll ( s ); }, animationWindow = select ( '#animationBox' ), animData = { wrapper : animationWindow , // 渲染方式,svg、canvas、html(轻量版仅svg渲染) animType : 'svg' , loop : true , prerender : true , autoplay : true , // 动画json文件路径 path : '/js/userPortrait/data.json' }, anim ; anim = lottie.loadAnimation( animData ); anim .setSpeed( 1 ); 来源: oschina 链接: https://my.oschina.net/u/3939561/blog

第四代Express框架koa简介

让人想犯罪 __ 提交于 2020-12-02 13:25:02
文章目录 简介 koa和express koa使用介绍 中间件的级联关系 koa的构造函数 启动http server 自定义中间件 异常处理 简介 熟悉Spring MVC的朋友应该都清楚Spring MVC是基于servlet的代码框架,这是最传统的web框架。然后在Spring5中引入了Spring WebFlux,这是基于reactive-netty的异步IO框架。 同样的,nodejs在最初的Express 3基础上发展起来了异步的koa框架。koa使用了promises和aysnc来避免JS中的回调地狱,并且简化了错误处理。 今天我们要来介绍一下这个优秀的nodejs框架koa。 koa和express koa不再使用nodejs的req和res,而是封装了自己的ctx.request和ctx.response。 express可以看做是nodejs的一个应用框架,而koa则可以看成是nodejs 的http模块的抽象。 和express提供了Middleware,Routing,Templating,Sending Files和JSONP等特性不同的是,koa的功能很单一,如果你想使用其他的一些功能比如routing,sending files等功能,可以使用koa的第三方中间件。 koa并不是来替换express的,就像spring

宋宝华:那些年你误会的Linux DMA(关于Linux DMA ZONE和API最透彻的一篇)

ε祈祈猫儿з 提交于 2020-11-28 08:41:46
原创 宋宝华 Linux阅码场 2019-11-29 创作目的 互联网、Linux内核书籍上充满了各种关于Linux DMA ZONE和dma_alloc_coherent、dma_map_single等的各种讲解,由于很多童鞋缺乏自身独立的思考,人云亦云,对这些概念形成了很多错误的理解。本文的目的在于彻底澄清这些误解。 当你发现本文内容与baidu到的内容不一致的时候,以本文内容为准。 本文目录 1.DMA ZONE的大小是16MB? 这个答案在32位X86计算机的条件下是成立的,但是在其他的绝大多数情况下都不成立。 首先我们要理解DMA ZONE产生的历史原因是什么。DMA可以直接在内存和外设之间进行数据搬移,对于内存的存取来讲,它和CPU一样,是一个访问master,可以直接访问内存。 DMA ZONE产生的本质原因是:不一定所有的DMA都可以访问到所有的内存,这本质上是硬件的设计限制。 在32位X86计算机的条件下,ISA实际只可以访问16MB以下的内存。那么ISA上面假设有个网卡,要DMA,超过16MB以上的内存,它根本就访问不到。所以Linux内核干脆简单一点,把16MB砍一刀,这一刀以下的内存单独管理。如果ISA的驱动要申请DMA buffer,你带一个GFP_DMA标记来表明你想从这个区域申请,我保证申请的内存你是可以访问的。 DMA ZONE的大小,以及DMA

宋宝华:那些年你误会的Linux DMA(关于Linux DMA ZONE和API最透彻的一篇)

久未见 提交于 2020-11-28 08:39:14
原创 宋宝华 Linux阅码场 2019-11-29 创作目的 互联网、Linux内核书籍上充满了各种关于Linux DMA ZONE和dma_alloc_coherent、dma_map_single等的各种讲解,由于很多童鞋缺乏自身独立的思考,人云亦云,对这些概念形成了很多错误的理解。本文的目的在于彻底澄清这些误解。 当你发现本文内容与baidu到的内容不一致的时候,以本文内容为准。 本文目录 1.DMA ZONE的大小是16MB? 这个答案在32位X86计算机的条件下是成立的,但是在其他的绝大多数情况下都不成立。 首先我们要理解DMA ZONE产生的历史原因是什么。DMA可以直接在内存和外设之间进行数据搬移,对于内存的存取来讲,它和CPU一样,是一个访问master,可以直接访问内存。 DMA ZONE产生的本质原因是:不一定所有的DMA都可以访问到所有的内存,这本质上是硬件的设计限制。 在32位X86计算机的条件下,ISA实际只可以访问16MB以下的内存。那么ISA上面假设有个网卡,要DMA,超过16MB以上的内存,它根本就访问不到。所以Linux内核干脆简单一点,把16MB砍一刀,这一刀以下的内存单独管理。如果ISA的驱动要申请DMA buffer,你带一个GFP_DMA标记来表明你想从这个区域申请,我保证申请的内存你是可以访问的。 DMA ZONE的大小,以及DMA

求求你们了,别再写满屏的 try catch 了!!

人盡茶涼 提交于 2020-11-26 09:35:50
作者:巨人大哥 cnblogs.com/jurendage/p/11255197.html 背景 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的 try {...} catch {...} finally {...} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。 比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢? 丑陋的 try catch 代码块 优雅的Controller 上面的示例,还只是在 Controller 层,如果是在 Service 层,可能会有更多的 try catch 代码块。这将会严重影响代码的可读性、“美观性”。 所以如果是我的话,我肯定偏向于第二种,我可以把更多的精力放在业务代码的开发,同时代码也会变得更加简洁。 既然业务代码不显式地对异常进行捕获、处理,而异常肯定还是处理的,不然系统岂不是动不动就崩溃了,所以必须得有其他地方捕获并处理这些异常。 那么问题来了,如何优雅的处理各种异常? 什么是统一异常处理 Spring 在3.2版本增加了一个注解 @ControllerAdvice ,可以与 @ExceptionHandler 、 @InitBinder 、 @ModelAttribute 等注解注解配套使用。 对于这几个注解的作用

FileReader实现上传图片前本地预览

a 夏天 提交于 2020-11-25 07:24:17
   平时做图片上传预览时如果没有特殊的要求就直接先把图片传到后台去,成功之后拿到URL再渲染到页面上。或者使用前端插件。这篇博客使用的是HTML5的新特性——FileReader。由于兼容性,这种方法不适合pc端...FileReader具体的兼容性点这里: FileReader兼容性 。    自从有了HTML5的FileReader对象以后,预览图片变得简单多了,不再需要后台的配合,并且JS操作本地文件已经成为了可能。这种方法的思路是:通过readAsDataURL(file)方法把图片文件转成base64编码,然后把base64编码替换到预览图片的src属性即可。这篇博文主要讲解使用方法,如果想要了解更多关于FileReader对象的,可以看一下这里: FileReader详解 。下面分别讲解上传单张和多张的案例: 1 、单张上传 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>上传单张预览</title> </head> <body> <div id="wrapper"> <input id="fileUpload" type="file" /> <div id="image-holder"> <

《数据结构与算法》—— O(3N)=O(N) ?

风格不统一 提交于 2020-11-23 09:50:20
<div class="output_wrapper" id="output_wrapper_id" style="font-size: 16px; color: rgb(62, 62, 62); line-height: 1.6; word-spacing: 0px; letter-spacing: 0px; font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif; background-image: linear-gradient(90deg, rgba(50, 0, 0, 0.05) 3%, rgba(0, 0, 0, 0) 3%), linear-gradient(360deg, rgba(50, 0, 0, 0.05) 3%, rgba(0, 0, 0, 0) 3%); background-size: 20px 20px; background-position: center center;"><blockquote style="line-height: inherit; display: block; padding: 15px 15px 15px 1rem; font-size: 0.9em; margin: 1em

python抓取猫眼电影列表

南笙酒味 提交于 2020-11-22 06:51:56
抓取地址:http://maoyan.com/board/4 分析url分页规则:http://maoyan.com/board/4?offset=0 其中offset参数值为0到90 用到的库: PyQuery:html解析器,语法类似jquery fake_useragent;用于伪造头部浏览器信息,防爬虫屏蔽 相关代码: import requests from requests.exceptions import RequestException from pyquery import PyQuery as pq from fake_useragent import UserAgent from multiprocessing import Pool import json def gethtml(offset): try : ua = UserAgent() # 防爬虫机制,加入头部信息 headerinfo= { " Accept " : " text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 " , " Accept-Encoding " : " gzip, deflate " , " Accept - Language " : " zh - CN,

干掉 try catch!

 ̄綄美尐妖づ 提交于 2020-11-15 07:47:44
软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的 try {...} catch {...} finally {...} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。 比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢? 丑陋的 try catch 代码块 优雅的Controller 上面的示例,还只是在 Controller 层,如果是在 Service 层,可能会有更多的 try catch 代码块。这将会严重影响代码的可读性、“美观性”。 所以如果是我的话,我肯定偏向于第二种,我可以把更多的精力放在业务代码的开发,同时代码也会变得更加简洁。 既然业务代码不显式地对异常进行捕获、处理,而异常肯定还是处理的,不然系统岂不是动不动就崩溃了,所以必须得有其他地方捕获并处理这些异常。 那么问题来了,如何优雅的处理各种异常? 什么是统一异常处理 Spring 在3.2版本增加了一个注解 @ControllerAdvice ,可以与 @ExceptionHandler 、 @InitBinder 、 @ModelAttribute 等注解注解配套使用,对于这几个注解的作用,这里不做过多赘述,若有不了解的,可以参考Spring3.2新注解@ControllerAdvice