随笔分类 -  工作-python

12.编码问题讨论
摘要:编码问题是个头疼的问题,相信不少人都被坑过。 1.编码的种类: (1)ASCII:占用1个字节,只支持英文 (2)GB2312:英文占用1个字节,中文占用两个字节,支持6000多个汉字 (3)GBK:是GB2312的升级版本,支持20000多个汉字 (4)一些其它国家的语言支持编码 (5)由于很多国 阅读全文

posted @ 2018-02-08 22:20 后端bug开发工程师 阅读(237) 评论(0) 推荐(0)

11.nginx upload module + python django 后台 实现视频上传与切片
摘要:1.需求:支持视频上传并切片,支持通过m3u8文件播放 2.视频切片的上一节已经谈过,这一节主要是视频上传的处理 第一步:upload-module模块安装 首先下载upload-module 然后使用源码编译安装nginx: .configure --add-module=/path/nginx- 阅读全文

posted @ 2018-02-07 17:51 后端bug开发工程师 阅读(990) 评论(0) 推荐(0)

10.nginx+ffmpeg上搭建HLS切片
摘要:1.首先介绍一下HLS协议: (1)简介 这个协议是由苹果公司提出并推广使用的,维基百科介绍如下: (2)HLS协议相对与RTMP协议的优势与劣势 优势: 1.相较于RTMP协议,HLS不会遇到被防火墙屏蔽的情况(基于http的),RTMP协议不使用标准的Http接口传输数据,所以在特殊情况下可能被 阅读全文

posted @ 2018-02-07 17:49 后端bug开发工程师 阅读(918) 评论(0) 推荐(0)

9.python爬虫--pyspider
摘要:pyspider简介 PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。在线示例:http://demo.pyspider .org/,学习教程:h 阅读全文

posted @ 2018-02-07 17:29 后端bug开发工程师 阅读(577) 评论(0) 推荐(0)

8.IO模型
摘要:一.事件驱动模型 服务器处理模型程序,通常有以下几种: (1)收到一个请求则创建一个新的进程来处理这个请求 (2)收到一个请求则创建一个新的线程来处理这个请求 (3)收到一个请求,把它放入事件列表,让主进程通过非阻塞IO的方式来处理请求(如图所示),python中的协程就是通过这种方式来处理的 非事 阅读全文

posted @ 2018-02-07 17:10 后端bug开发工程师 阅读(204) 评论(0) 推荐(0)

7、线程、进程、协程进阶篇
摘要:1.1.继上一讲,知道了如何创建多线程和GIL的原理,接下来要说的是线程锁,那为什么需要线程锁呢? 先看下图,此图来自:http://www.cnblogs.com/alex3714/articles/5230609.html,我就不自己动手画了,比我画得好 分析: (1)线程1拿到count=0并 阅读全文

posted @ 2018-02-04 15:08 后端bug开发工程师 阅读(197) 评论(0) 推荐(0)

6.线程、进程、协程基础篇
摘要:1.进程是资源分配的最小单位,拥有自己独立的栈和堆,进程间资源不共享,进程是由操作系统调度,一个进程可以开启多个线程; 在python中multiprocess模块提供了Process类,实现进程相关功能。 简单实现: 2.线程是cpu调度的最小单位,拥有自己独立的栈和共享的堆,也是由操作系统调度; 阅读全文

posted @ 2018-02-03 16:23 后端bug开发工程师 阅读(201) 评论(0) 推荐(0)

5.装饰器进阶篇
摘要:接着上一篇来 1.使用装饰器来验证函数参数的类型是否正确: 2.使用装饰器对一些计算非常耗时、复杂的结果进行缓存: 没有命中缓存 4999999950000000 命中缓存 4999999950000000 3.使用装饰器来实现单例模式 阅读全文

posted @ 2018-01-29 22:31 后端bug开发工程师 阅读(136) 评论(0) 推荐(0)

4.装饰器基础篇
摘要:1.三个功能函数 f1,f2,f3 2.项目遇到性能瓶颈,需要统计各个函数执行的时间 第一种解决方案(红色部分为新加代码): 分析:为了统计各个函数执行的时间,修改了函数原有的代码,违反了代码设计的开放-封闭原则(对扩展开放,对修改关闭) 3.使用装饰器进行改进(红色部分为新加代码): 分析:使用装 阅读全文

posted @ 2018-01-29 17:59 后端bug开发工程师 阅读(158) 评论(0) 推荐(0)

3.闭包
摘要:执行步骤: 1.调用 outer 函数并且返回内部函数 inner,outer 函数调用完成 2.执行 inner 函数并输出结果:5 分析: 如果是普通函数,在执行第一步完成时,outer 函数作用域里面的局部变量会被释放,但是在执行 inner 函数时为什么还能够使用 arg 变量呢?这就是闭包 阅读全文

posted @ 2018-01-29 17:02 后端bug开发工程师 阅读(153) 评论(0) 推荐(0)

2.supervisor实时监控程序存活状态
摘要:1.supervisor是一款python开发的一个client/server服务,是一款进程管理工具,支持linux/unix系统,但是不支持windows系统。 它可以很方便的监听、启动、停止、重启一个或多个进程,当一个进程被意外杀死,supervisor可以立马启动进程,保证了服务 的稳定性。 阅读全文

posted @ 2018-01-25 10:26 后端bug开发工程师 阅读(1127) 评论(0) 推荐(0)

1.(python)__new__与__init__
摘要:1.来比较一下__new__与__init__: (1)__new__在初始化实例前调用,__init__在初始化实例之后调用,用来初始化实例的一些属性或者做一些初始操作 输出: (2)线程安全的实现: 输出: 139762690049616139762690049616 阅读全文

posted @ 2018-01-03 16:13 后端bug开发工程师 阅读(138) 评论(0) 推荐(0)

导航