webpy模版功能 我接触web是从python开始,从python的王国里找到了webpy,让我从无到有,认识了web,包括前端html,css,js等等和后端nginx。虽然满世界的人都在讨论web是php 好或者python好,又或者是在php和Python各自的世界里,哪个框架好。这个是另一个话题了。但是我从webpy中认识了web,因为它很简单。另外它可以使用python中的很多功能,在后台应用
python+Selenium2+chrome构建动态网页爬虫工具 网页爬虫分为静态网页爬虫和动态网页爬虫,前者是指索要获取的网页内容不需要经过js运算或者人工交互,后者是指获取的内容必须要经过js运算或者人工交互。这里的js运算可能是ajax,人工交互不需要解释了。 静态爬虫现在已经很成熟了,借助于python中的urllib和beautifulsoup可以很容易实现,爬到的内容通过python的字符串处理写入数据库,甚至可以通过web
基于nginx的hls直播系统 之前写了一篇基于nginx的hls点播系统,本质上是把一个媒体文件做成m3u8索引,对应的文件都是提前做好放在服务器上的。nginx充当的是个Http 服务器的角色,之所以说是基于nginx的,是因为它可以设置限速。本文主要是描述一个直播系统,核心在于m3u8和里面对于的ts链接都是实时的,可以刷新。类似于cntv里面的直播。这里分按顺序分几个部分讲述:软件编译,rtmp源的提供,ng
gstreamer 在visual studio 中环境搭建记录 1,两个站点的区别两个站点,gstreamer.net(实际跳转到http://gstreamer.freedesktop.org/)和gstreamer.com的区别:参考:http://docs.gstreamer.com/display/GstSDK/Frequently+Asked+Questions中的What is the difference between this s
nginx结合moinmoin搭建wiki站点 我使用webpy框架配合nginx以及uwsgi有一段时间了,觉得这个搭配挺爽,nginx负责后台服务,webpy只负责应用程序,中间用uwsgi桥接。最近业务上需要使用wiki来管理一些松散的知识,因此找到了moinmoin,现在将搭建方法,及wiki使用方法在此记录以便查看。 快速上手请参考这里 moinmoin的官方中文语法目录,这个上面讲了1.9x的语法
nginx+webpy配置灵活限速(python) 本文要求使用者具有基本的Nginx+webpy+uwsgi使用经验。nginx限速的话题google上可以搜索到很多,这里暂时不讨论固定限速的情况,即使用limit_rate 和limit_rate_after 设置,这个很简单。这里讨论根据http头自由限速,google上基本只有php和rails的例子,并且这些例子全部来自于官方wiki关于xsendfile部分,以及页脚部分给出的例
web 异步通信的学习点滴 HTML5规范中出现了websocket用于异步通信(例如用在局部刷新),介绍可参考维基百科:http://zh.wikipedia.org/zh-cn/WebSocket,接口很简单,浏览器方面firefox,chrome,opera已支持,IE9不支持,但IE10已经支持。服务器方面,我学习的是python下的web框架,所以使用了AutobahnPython(当然还有其他的库可用
nginx上搭建HLS流媒体服务器 简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个
jwplayer进阶HTML5 上一篇文章写了:nginx+webpy+uswgi+jwplayer组合搭建流媒体服务器主要是描述了整体搭建方法,以及使用jwplayer在flash方面的应用。如果想基于HTML5做HTTP伪媒体流服务器也可以。简单的改下HTML代码即可 Loading the player ... jwplayer("con
nginx+webpy+uswgi+jwplayer组合搭建流媒体服务器 目前,由于Flash的流行,网络上绝大多数的微视频网站都采用了Flv格式来播放视频。在互联网上播放视频,有两种方式,一种是文件方式,即通过HTTP协议访问视频文件,这种方式的缺点是不能从特定的帧开始播放,或者说要下载到本地才能实现seek动作,为了使得seek更加人性化,许多CP采用了对视频文件分片的技术来缓解。例如youku,tudou等国内CP基本都是这么做,包括youtube也是这么
第七节:关于优化,线性汇编和汇编(未完待续) 优化是一个值得讨论的话题,要最大程度利用缓存,并且合理使用线性汇编,若你有信心比编译器优化的好,也可以尝试汇编。 有些人可能一直搞不清楚,自己的算法究竟要优化到何种程度才算完结。要用什么样的方式去优化。当你的优化取得一定成绩时,你一定非常开心,但是,问题来了,是否应该继续。。。,我曾经也为这些问题困扰着。 我觉得,要达到这样一个能力:能够结合项目需求为优化工作制定一
第一节:学习资料 TI的DSP,其官方提供的文档很丰富,但是基本都是英文的,中文的很少。初学者往往看着这些英文文档,会觉得头大,一片茫然,不知道从哪里开始学起。这里列一下常用的网址。1,官方网站www.ti.com,右上方有两个搜索窗口,左边一个是搜索文档;右边一个是搜索型号,并且会列出该型号所有的文档和软件列表地址。2,ti的wiki,http://processors.wiki.ti.com/i
第二节:文档学习方法 虽然TI出了大量的英文文献,让人看起来不知道从何下手,但是基本上还是有规律的,而且其文档非常全。建议从器件的主文档看起,例如DM6437这个芯片,其主文档就是tms320dm6437,里面介绍了存储器体系,外设等等,以及相关的文档说明。如下图。下图说明了你如果想进一步了解CPU,请看下面的四个文档。 我们假设打开列表中的第一个文档 在这个文档里,同样可以找到类似的链
第三节:学习的方向以及编程语言 有人可能会说,从哪里开始入手呢,外设驱动还是算法优化?的确,如果真要分类,这两个分支确实是个分类的好方法。请不要纠结于此。 如果要学习算法优化,想学习的精通,可能会经过几个月的痛苦时期,理解其基于缓存的存储器体系(cache based memoryarchitecture),以及在这个体系下的缓存一致性(cache coherence)的问题,往往还有DMA等独立于CPU的
第六节:CPU读缓存,写缓存在不同级别的存储器的规律 本文涉及到的一些术语请参考DSP系列的其他小节。 C64+ DSP的缓存控制器分为 L1P Controler,L1D Controler,L2 Controler,ExternalMemory Controler(EMC)。L1P 控制器有具备一个寄存器接口,允许用户配置部分或者全部的L1PRAM 作为一般的RAM 或者作为缓存,同样:L1D 控制器也具有
流媒体技术学习 以Action Script 3.0(简称AS)开发Browser Player时,需要用NetStream,但现在NetStream.play只支持Http和File两种协议。上网检查youtube,tudou和youku,发现他们用的播放协议也都是Http。而以Flash Media Server(简称FMS)或Red5作为流媒体服务器时,它们提供的是RTMP协议,且这两种流媒体服务器是专门做
信号量 互斥锁 条件变量的区别 互斥锁pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;或pthread_mutex_t mutex;int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr)int pthread_mutex_lock(pthread_mutex
第五节:C64+ DSP 部分术语翻译 本人根据对DSP的理解翻译部分重要的术语,不能保证术语本身翻译的准确性,但是可以保证对术语解释部分翻译的意思基本正确。如有疑问请回复。转载请注明CSDN。 英文原版来自于TMS320C64X+ DSP Cache User's Guide1.3节。Cache Terms and DefinitionsTable 1-1 Cache Terms and Definitions
第四节:C64+ DSP 的CPU及存储器体系中存储器关系 这里以DM6437为例,这个DSP是非常经典的一个。我们首先看memry-map表4.1 memry map 通过上表可以看到L1P,L1D,L2的存储器区间范围。真正有用的是从C64+和EDMA peripheral memory map 视角都能访问的内存范围,若是有一方是reserved状态,则不能访问。因此LIP RAM/CACHE的范围是0x10e08000~0x