4 hunyxv

尚未进行身份认证

我要认证

你在一生中,可以有所作为的时候只有一次。那就是现在,然而,许多人却在悔恨过去和担忧未来之中浪费了大好时光。

等级
TA的排名 2w+

fasthttp 是如何启动 goroutine 来处理请求的

首先,在 fasthttp 中大量的使用了 sync.Pool 来缓存某些对象,已达到对象复用、减小 GC 压力的目的。 fasthttp 并不像官方 net/http 一样,创建一个 gorountine 来处理一个 http 请求,而是创建可复用的 gorountine ,并且数量会随着负载的大小伸缩。查看自动伸缩如何实现的从 fasthttp.ListenAndServe 入手:func (s *Server) ListenAndServe(addr string) error { ln

2020-07-06 14:11:46

context: goroutine 上下文

文章目录Context 接口context 包中包含如下几种衍生的子 Context使用 context.WithCancel 控制子 groutine 结束通过 context.WithValue 来传值超时取消 context.WithTimeout截止时间 context.WithTimeout 和 超时时间类似控制多层 goroutine 结束Context 接口type Context interface { // 最后期限 返回期限时间 ok Deadline() (dea

2020-06-11 23:43:56

go test 单元测试

文章目录go test [flag] flag 有:打印/报告T 类型 普通测试用例B 类型 压力测试测试控制台输出的例子补充覆盖率使用Short标记可跳过的测试用例go test [flag] flag 有:go help testflag 查看有那些 flag:-args: 测试函数接收命令行参数,注意:该参数后所有参数会被当做命令行参数传递给测试用例,正确使用方式举例:go test -v -run TestFibOnce b_test.go -args "in 7" expected=13;

2020-06-09 00:42:38

线性回归

线性回归就是对输入特征加权求和,再加上一个偏置项(也称为截距项)的常数,得到的结果就是预测值。公式如下:y^=θ0+θ1x1+θ2x2+...+θnxn\hat{y} = \theta_0 + \theta_1x_1 + \theta_2x_2 + ... + \theta_nx_ny^​=θ0​+θ1​x1​+θ2​x2​+...+θn​xn​y^\hat{y}y^​ 是预测值nnn 是特征数量xix_ixi​ 是第 i 个特征θj\theta_jθj​ 是第 j 个模型参数(θ0\the

2020-05-21 02:44:03

线程模型 与 gorountine 的关系

文章目录用户级线程模型内核级线程模型两级线程模型Goroutinegoroutine 的调度线程的实现模型主要有3种:内核级线程模型、用户级线程模型 和 两级线程模型(也称混合型线程模型),它们之间最大的差异就在于用户线程与内核调度实体(KSE,Kernel Scheduling Entity)之间的对应关系上。而所谓的内核调度实体 KSE 就是指可以被操作系统内核调度器调度的对象实体,简单来说...

2020-05-05 19:57:52

aiomysql + sqlalchemy(ORM) 配合使用

官方文档:https://aiomysql.readthedocs.io/en/latest/sa.html (过时)其他教程:https://gzm1997.github.io/2018/05/26/%E4%BD%BF%E7%94%A8%E5%BC%82%E6%AD%A5ORM-aiomysql-sa/项目地址:https://github.com/aio-libs/aiomysqlimp...

2020-03-28 21:51:09

树莓派 3B+ 安装 OpenWrt 作为中继路由器.md

家里有一个闲置的树莓派,已经吃灰很久了,家里的电信路由器wifi时而连不上…所以打算使用树莓派作为中继路由器来使用.1. 下载 OpenWrt 镜像,并制作镜像盘镜像下载地址: https://downloads.openwrt.org/snapshots/targets/brcm2708/bcm2710/镜像盘制作工具: balenaEtcher 或 Win32DiskImager2....

2020-02-11 14:30:06

go base64 编码.md

文章目录两个默认的编/解码器:异常类 CorruptInputError编解码类 Encoding函数 NewEncoding方法 DecodedLen 返回n字节解码后字符串最大长度方法 Decode 解码到一个 []byte方法 DecodeString 数据为 string 类型,解码返回 []byte方法 EncodedLen 返回编码后的长度方法 EncodeToString 编码为...

2020-01-17 19:10:47

go文件操作

https://studygolang.com/static/pkgdoc/pkg/os.htm#File文章目录文件对象 os.File函数 Create函数 Open函数 OpenFile函数 NewFile函数Pipe方法 Name方法 Stat 获取 文件信息方法 Fd 返回文件描述符方法 Chdir 改变当前目录为 f方法 Chmod 修改文件模式方法 Chown 修改文件的所属...

2020-01-15 17:40:54

go 错误与异常及处理

https://www.jianshu.com/p/f30da01eea97文章目录错误与异常错误处理正确姿势1 失败的原因只有一个时,不使用error2 没有失败时,不使用error3 error应放在返回值类型列表的最后4 错误值统一定义5 错误逐层传递时,层层都加日志6 错误处理使用defer7 当尝试几次可以避免失败时,不要立即返回错误8 当上层函数不关心错误时,建议不返回error...

2020-01-15 15:26:43

go 正则表达式

文章目录将 正则表达式字符串 转义为普通字符串:检测字符串中是否含有匹配在 pattern 的子序列正则表达式对象 Regexp函数 Complie函数 CompliePOSIX函数 MustCompile函数 MustCompliePOSIX方法 String方法 LiteralPrefix方法 NumSubexp方法 SubexpNames方法 Longest方法 Match方法 MatchS...

2020-01-15 10:37:13

happyhbase: python 调用 hbase 接口包.md

happyhbase 文档地址注意:创建 连接时注意兼容,通过参数 compat 设置兼容级别(默认 0.98, thrift 的版本),具体看这里https://happybase.readthedocs.io/en/latest/api.html#connectionimport happybaseimport timehbase = happybase.Connection(ho...

2020-01-08 13:44:45

上传几张之前看flask 源码时画的结构图

2019-12-30 10:47:55

python 函数参数的 ‘*’和‘/’ 的意义.md

/ 之前的参数都是 positional-only(位置) 参数,不能 写出参数的 name* 之后的参数都是 keyword-only(命名参数) 参数,必须 写出参数的 name比如,我们用参数签名的方法来举例:from inspect import Signature, Parameterparms = [Parameter('x', Parameter.POSITIONAL_O...

2019-12-16 19:14:06

asyncio 是如何处理io事件的.md

asyncio 是如何利用事件循环来监控和处理io事件的,看源代码:# asyncio.streams.pyasync def open_connection(host=None, port=None, *, loop=None, limit=_DEFAULT_LIMIT, **kwds): """A wrapper for crea...

2019-12-06 17:20:07

asyncio

文章目录例子:开始看源代码例子解析例子:In [1]: import asyncioIn [2]: async def f(i): ...: await asyncio.sleep(i) ...: print(i) ...: In [3]: async def func(): ...: tasks = [] ...: ...

2019-12-05 20:12:26

awaitable 可等待对象.md

能在 await 表达式中使用的对象。可以是 coroutine 或是具有 __await__() 方法的对象。参见 PEP 492。注意可等待对象有两种:coroutine,在上节中有讲;具有 __await__() 方法的对象,只要一个类实现了__await__方法,那么通过它构造出来的实例就是一个Awaitable。下面这段代码就是 awaitable 抽象基类:class A...

2019-12-05 10:25:32

python coroutine协程

python3.7In [8]: async def funcc(): ...: print('2333') ...: return '2333'In [14]: x = funcc()In [15]: try: ...: x.send(None) ...: except StopIteration as exc: .....

2019-12-02 14:19:56

flask send_file 下载文件,断点续传.md

函数包含在 flask.helpers文件中:def send_file( filename_or_fp, mimetype=None, as_attachment=False, attachment_filename=None, add_etags=True, cache_timeout=None, conditional=False,...

2019-11-12 16:02:46

Local、LocalStack、LocalManager和LocalProxy 实现协程/线程间数据隔离

文章目录LocalLocalStackLocalManagerLocalProxyLocalLocal 对 dict 做了一层封装:{id:{...}, id:{...}, ...},每次存储或取出数据时,根据当前id来进行操作。# get_ident 是优先获取协程id的(若当前环境安装了 greenlet)class Local(object): __slots__ = ("_...

2019-11-12 11:01:45

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。