一次django内存异常排查

起因 Django 作为 Python著名的Web框架,相信很多人都在用,自己工作中也有项目项目在用,而在最近几天的使用中发现,部署Django程序的服务器出现了内存问题,现象就是运行一段时间之后,内存占用非常高,最终会把服务器的内存耗尽,对于Python项目出现内存问题,自己之前处理过一次,所以并 ...

syncd @ 2020/07/30

从别人的代码中学习golang系列--02

这篇博客还是整理从https://github.com/LyricTian/gin-admin 这个项目中学习的golang相关知识 作者在项目中使用了https://github.com/google/wire 做依赖注入,这个库我之前没有使用过,看了作者代码中的使用,至少刚开始是看着优点懵,不知 ...

syncd @ 2020/07/04

golang常用的http请求操作

之前用python写各种网络请求的时候写的非常顺手,但是当打算用golang写的时候才发现相对来说还是python的那种方式用的更加顺手,习惯golang的用法之后也就差别不大了,下面主要整理了常用的通过golang发起的GET请求以及POST请求的代码例子 golang发起GET请求 基本的GET ...

python修行路 @ 2019/08/13

关于asyncio知识(四)

一、使用 asyncio 总结 最近在公司的一些项目中开始慢慢使用python 的asyncio, 使用的过程中也是各种踩坑,遇到的问题也不少,其中有一次是内存的问题,自己也整理了遇到的问题以及解决方法详细内容看:https://www.syncd.cn/article/memory_trouble ...

python修行路 @ 2019/03/23

关于asyncio知识(二)

一、asyncio之—-入门初探 通过上一篇关于asyncio的整体介绍,看过之后基本对asyncio就有一个基本认识,如果是感兴趣的小伙伴相信也会尝试写一些小代码尝试用了,那么这篇文章会通过一个简单的爬虫程序,从简单到复杂,一点一点的改进程序以达到我们想要的效果. https://github.c ...

python修行路 @ 2019/03/08

Python Every Class Needs a __repr__

一、思考 当我们在Python中定义一个类的时候,如果我们通过print打印这个类的实例化对象,或者我们直接输入这个类实例化对象会返回怎么样的结果,如下代码: 默认情况下,你得到的是一个字符串,其中包含类名和对象实例的id(这是CPython中对象的内存地址),其实有更加Pythonic的方式去控制 ...

python修行路 @ 2019/03/06

关于asyncio知识(一)

一、介绍 asyncio 是python3.4 引入的一个新的并发模块,主要通过使用coroutines 和 futures 来让我们更容易的去实现异步的功能,并且几乎和写同步代码一样的写代码,还没有烦人的回调。 在2018年6月 3.7的更新中针对asyncio的api进行了一些升级,主要是关于t ...

python修行路 @ 2019/02/28

linux环境快速安装python3

之前在linux上安装python3的时候,为了让不影响linux环境原有的python2的环境,选择的方法都是下载对应的linux环境的python包,不过 这里需要注意的是,不要更改linux默认输入python 进入python2的方法,自己安装python3的时候做软链接的时候要做成pyth ...

python修行路 @ 2018/12/27

从yield 到yield from再到python协程

yield 关键字 yield 是在:PEP 255 -- Simple Generators 这个pep引入的 yield 只能在函数内部使用,包含yield语句的函数称为生成器函数 当调用生成器函数时,并不会执行函数体中的代码,而是返回一个生成器对象 每次调用生成器对象的next()方法时,才会 ...

python修行路 @ 2018/12/07

PEP 492 -- Coroutines with async and await syntax 翻译

因为工作中慢慢开始用python的协程,所以想更好的理解一下实现方式,故翻译此文 原文中把词汇表放到最后,但是我个人觉得放在最开始比较好,这样可以增加当你看原文时的理解程度 词汇表 原生协程函数 Native coroutine function: 由async def定义的协程函数,可以使用awa ...

python修行路 @ 2018/12/03

一次python 内存泄漏解决过程

最近工作中慢慢开始用python协程相关的东西,所以用到了一些相关模块,如aiohttp, aiomysql, aioredis等,用的过程中也碰到的很多问题,这里整理了一次内存泄漏的问题 通常我们写python程序的时候也很少关注内存这个问题(当然可能我的能力还有待提升),可能写c和c++的朋友会 ...

python修行路 @ 2018/11/29

关于python协程中aiorwlock 使用问题

最近工作中多个项目都开始用asyncio aiohttp aiomysql aioredis ,其实也是更好的用python的协程,但是使用的过程中也是遇到了很多问题,最近遇到的就是 关于aiorwlock 的问题,在使用中碰到了当多个协程同时来请求锁的时候 在其中一个还没释放锁的时候,另外一个协程 ...

python修行路 @ 2018/11/18

aiohttp文档翻译-server(一)

web server 快速入门 运行一个简单的web server 为了实现web server, 首先需要实现request handler 一个 request handler 必须是一个coroutine (协程), 它接受一个Request实例作为其唯一参数,并返回一个Response 实例 ...

python修行路 @ 2018/11/07

关于go语言的测试相关内容笔记

其实之前对于测试自己一直比较弱,不管是python的还是go的,关于测试这块并没有非常注重,这次就好好整理一下关于go的测试 单元测试 Go程序主要包含三类测试: 功能测试(test)、基准测试(benchmark,也称性能测试)以及示例测试 这里提一下,示例测试其实也是一种功能测试,只不过它更关注 ...

python修行路 @ 2018/10/25

WebSocket 理论知识整理

最近工作用到websocket, 之前虽然也用到了一些简单的东西,但是并没有认真整理一下。所以这次准备了解一下WebSocket. WebSocket产生的背景 WebSocket是一种在单个TCP连接上进行全双工通信的协议. 这意味着双方可以同时进行通信和交换数据 对于我们都非常熟悉的HTTP协议 ...

python修行路 @ 2018/10/23

关于python中pika模块的问题

工作中经常用到rabbitmq,而用的语言主要是python,所以也就经常会用到python中的pika模块,但是这个模块的使用,也给我带了很多问题,这里整理一下关于这个模块我在使用过程的改变历程已经中间碰到一些问题 的解决方法 刚开写代码的小菜鸟 在最开始使用这个rabbitmq的时候,因为本身业 ...

python修行路 @ 2018/10/12

关于python单例的常用几种实现方法

这两天在看自己之前写的代码,所以正好把用过的东西整理一下,单例模式,在日常的代码工作中也是经常被用到, 所以这里把之前用过的不同方式实现的单例方式整理一下 装饰器的方式 这种方式也是工作中经常用的一种,用起来也比较方便,代码实现如下 如果我们工作的一个类需要用单例就通过类似下面的方式实现即可: 我个 ...

python修行路 @ 2018/10/12

初识go的tomb包

在分析github.com/hpcloud/tail 这个包的源码的时候,发现这个包里用于了一个另外一个包,自己也没有用过,但是这个包在tail这个包里又起来非常大的作用 当时并没有完全弄明白这个包的用法和作用,所以又花时间找了这个包的使用和相关文档,其中看了https://blog.labix.o ...

python修行路 @ 2018/09/20

go 源码学习之---Tail 源码分析

已经有两个月没有写博客了,也有好几个月没有看go相关的内容了,由于工作原因最近在做java以及大数据相关的内容,导致最近工作较忙,博客停止了更新,正好想捡起之前go的东西,所以找了一个源码学习 这个也是之前用go写日志收集的时候用到的一个包 :github.com/hpcloud/tail, 这次就 ...

python修行路 @ 2018/09/17

《深入理解计算机系统》阅读笔记--程序的机器级表示(上)

一、为什么要学习和了解汇编 编译器基于编程语言的规则,目标机器的指令集和操作系统遵循的惯例,经过一系列的阶段生成机器代码。GCC c语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的文本表示,给出程序中的每一条指令。然后GCC调用汇编和链接器,根据汇编代码生成可执行的机器代码。这一章节其实就是 ...

python修行路 @ 2018/08/30