随笔分类 -  python成长之路

积少成多,一步一步成长!见证自己的python正常之路
摘要:起因 Django 作为 Python著名的Web框架,相信很多人都在用,自己工作中也有项目项目在用,而在最近几天的使用中发现,部署Django程序的服务器出现了内存问题,现象就是运行一段时间之后,内存占用非常高,最终会把服务器的内存耗尽,对于Python项目出现内存问题,自己之前处理过一次,所以并 阅读全文
posted @ 2020-07-30 07:32 fan-tastic 阅读(1532) 评论(0) 推荐(1) 编辑
摘要:一、使用 asyncio 总结 最近在公司的一些项目中开始慢慢使用python 的asyncio, 使用的过程中也是各种踩坑,遇到的问题也不少,其中有一次是内存的问题,自己也整理了遇到的问题以及解决方法详细内容看:https://www.syncd.cn/article/memory_trouble 阅读全文
posted @ 2019-03-22 23:02 fan-tastic 阅读(4890) 评论(0) 推荐(1) 编辑
摘要:一、asyncio之—-入门初探 通过上一篇关于asyncio的整体介绍,看过之后基本对asyncio就有一个基本认识,如果是感兴趣的小伙伴相信也会尝试写一些小代码尝试用了,那么这篇文章会通过一个简单的爬虫程序,从简单到复杂,一点一点的改进程序以达到我们想要的效果. https://github.c 阅读全文
posted @ 2019-03-08 17:21 fan-tastic 阅读(1875) 评论(0) 推荐(1) 编辑
摘要:一、思考 当我们在Python中定义一个类的时候,如果我们通过print打印这个类的实例化对象,或者我们直接输入这个类实例化对象会返回怎么样的结果,如下代码: 默认情况下,你得到的是一个字符串,其中包含类名和对象实例的id(这是CPython中对象的内存地址),其实有更加Pythonic的方式去控制 阅读全文
posted @ 2019-03-05 20:33 fan-tastic 阅读(732) 评论(0) 推荐(0) 编辑
摘要:一、介绍 asyncio 是python3.4 引入的一个新的并发模块,主要通过使用coroutines 和 futures 来让我们更容易的去实现异步的功能,并且几乎和写同步代码一样的写代码,还没有烦人的回调。 在2018年6月 3.7的更新中针对asyncio的api进行了一些升级,主要是关于t 阅读全文
posted @ 2019-02-27 20:32 fan-tastic 阅读(2592) 评论(0) 推荐(1) 编辑
摘要:之前在linux上安装python3的时候,为了让不影响linux环境原有的python2的环境,选择的方法都是下载对应的linux环境的python包,不过 这里需要注意的是,不要更改linux默认输入python 进入python2的方法,自己安装python3的时候做软链接的时候要做成pyth 阅读全文
posted @ 2018-12-27 07:06 fan-tastic 阅读(3264) 评论(2) 推荐(1) 编辑
摘要:yield 关键字 yield 是在:PEP 255 -- Simple Generators 这个pep引入的 yield 只能在函数内部使用,包含yield语句的函数称为生成器函数 当调用生成器函数时,并不会执行函数体中的代码,而是返回一个生成器对象 每次调用生成器对象的next()方法时,才会 阅读全文
posted @ 2018-12-06 22:47 fan-tastic 阅读(3112) 评论(1) 推荐(3) 编辑
摘要:因为工作中慢慢开始用python的协程,所以想更好的理解一下实现方式,故翻译此文 原文中把词汇表放到最后,但是我个人觉得放在最开始比较好,这样可以增加当你看原文时的理解程度 词汇表 原生协程函数 Native coroutine function: 由async def定义的协程函数,可以使用awa 阅读全文
posted @ 2018-12-03 22:58 fan-tastic 阅读(1502) 评论(4) 推荐(0) 编辑
摘要:最近工作中慢慢开始用python协程相关的东西,所以用到了一些相关模块,如aiohttp, aiomysql, aioredis等,用的过程中也碰到的很多问题,这里整理了一次内存泄漏的问题 通常我们写python程序的时候也很少关注内存这个问题(当然可能我的能力还有待提升),可能写c和c++的朋友会 阅读全文
posted @ 2018-11-29 00:48 fan-tastic 阅读(27083) 评论(7) 推荐(9) 编辑
摘要:最近工作中多个项目都开始用asyncio aiohttp aiomysql aioredis ,其实也是更好的用python的协程,但是使用的过程中也是遇到了很多问题,最近遇到的就是 关于aiorwlock 的问题,在使用中碰到了当多个协程同时来请求锁的时候 在其中一个还没释放锁的时候,另外一个协程 阅读全文
posted @ 2018-11-18 10:37 fan-tastic 阅读(967) 评论(0) 推荐(0) 编辑
摘要:web server 快速入门 运行一个简单的web server 为了实现web server, 首先需要实现request handler 一个 request handler 必须是一个coroutine (协程), 它接受一个Request实例作为其唯一参数,并返回一个Response 实例 阅读全文
posted @ 2018-11-07 00:08 fan-tastic 阅读(3201) 评论(0) 推荐(2) 编辑
摘要:最近工作用到websocket, 之前虽然也用到了一些简单的东西,但是并没有认真整理一下。所以这次准备了解一下WebSocket. WebSocket产生的背景 WebSocket是一种在单个TCP连接上进行全双工通信的协议. 这意味着双方可以同时进行通信和交换数据 对于我们都非常熟悉的HTTP协议 阅读全文
posted @ 2018-10-22 22:36 fan-tastic 阅读(981) 评论(0) 推荐(0) 编辑
摘要:工作中经常用到rabbitmq,而用的语言主要是python,所以也就经常会用到python中的pika模块,但是这个模块的使用,也给我带了很多问题,这里整理一下关于这个模块我在使用过程的改变历程已经中间碰到一些问题 的解决方法 刚开写代码的小菜鸟 在最开始使用这个rabbitmq的时候,因为本身业 阅读全文
posted @ 2018-10-12 20:46 fan-tastic 阅读(16435) 评论(2) 推荐(9) 编辑
摘要:这两天在看自己之前写的代码,所以正好把用过的东西整理一下,单例模式,在日常的代码工作中也是经常被用到, 所以这里把之前用过的不同方式实现的单例方式整理一下 装饰器的方式 这种方式也是工作中经常用的一种,用起来也比较方便,代码实现如下 如果我们工作的一个类需要用单例就通过类似下面的方式实现即可: 我个 阅读全文
posted @ 2018-10-11 19:21 fan-tastic 阅读(943) 评论(0) 推荐(2) 编辑
摘要:在前两个文章中整理了关于BaseServer部分以及BaseRequestHandler,以及通过对TCP的处理的流程的整理,这次整理的是剩下的关于用于扩展的部分,这里通过对线程扩展进行整理 ThreadingMixIn ThreadingMixIn 类实现了多线程的方式,它只有两个方法,分别是pr 阅读全文
posted @ 2018-04-20 21:44 fan-tastic 阅读(701) 评论(0) 推荐(0) 编辑
摘要:SocketServer 中非常重要的两个基类就是:BaseServer 和 BaseRequestHandler在SocketServer 中也提供了对TCP以及UDP的高级封装,这次我们主要通过分析关于TCP的处理逻辑来对SocketServer模块进行一个很好的理解和学习 TCPServer 阅读全文
posted @ 2018-04-20 13:58 fan-tastic 阅读(987) 评论(1) 推荐(0) 编辑
摘要:SocketServer其实是对socket更高级的封装正如官网上说的:The socketserver module simplifies the task of writing network servers. 我们可以先打开以下SocketServer的源码,看一下源码中整体的框架 从上图我们 阅读全文
posted @ 2018-04-19 00:29 fan-tastic 阅读(1713) 评论(0) 推荐(1) 编辑
摘要:一直对asyncio这个库比较感兴趣,毕竟这是官网也非常推荐的一个实现高并发的一个模块,python也是在python 3.4中引入了协程的概念。也通过这次整理更加深刻理解这个模块的使用 asyncio 是干什么的? 异步网络操作 并发 协程 python3.0时代,标准库里的异步网络模块:sele 阅读全文
posted @ 2018-03-01 18:41 fan-tastic 阅读(63842) 评论(23) 推荐(12) 编辑
摘要:写python代码的人都知道,一个项目写下下来,不可避免的都需要使用很多第三方包,通常我们都是通过pip install ,然而当我们需要上线的时候问题来了,如果中间你自己不记得自己安装了多少个包,这个时候你就面临着需要导出包名字,这个时候你可能想到了 pip freeze > requiremen 阅读全文
posted @ 2018-01-29 14:02 fan-tastic 阅读(15883) 评论(0) 推荐(0) 编辑
摘要:至少很长一段时间内,我个人用的一直是pycharm,也感觉挺好用的,也没啥大毛病 但是pycharm确实有点笨重,啥功能都有,但是有很多可能这辈子我也不会用到,并且pycharm打开的速度确实不敢恭维,即使固态硬盘也只能快了那么一丢丢。所以就尝试了很多IDE工具,最终选择了Sublime我也相信,通 阅读全文
posted @ 2017-12-27 16:10 fan-tastic 阅读(96583) 评论(19) 推荐(5) 编辑