7 ECHOutopia

尚未进行身份认证

暂无相关描述

等级
TA的排名 6w+

一个新手用golang重写python rpc框架总结

从前,我是个phper,每天被困在反反复复的增删改查的工作中,后来接触了python后,便对php嗤之以鼻,并且在python中拓宽了眼界,发现了后端世界,于是换了份python游戏服务器的工作,更加后台了。python开发久了后,我有些腻了,因为python在我心里不再完美了,它的黑魔法实在太多了,导致python入门简单,精通实在太难,这么多语法糖、黑魔法,他们再以各种组合、各种花样实现各...

2018-03-27 20:15:17

python常用内值函数算法复杂度

之前很长一段时间我计算字典长度都是自己维护一个长度变量,每次字典元素有增减就改变变量,今天发现len()对大多数常见数据结构都是O(1)的,我当时就崩溃了,原来我多此一举了。这里是常见数据结构的函数复杂度:https://wiki.python.org/moin/TimeComplexity stackover相关问题:shttp://stackoverflow.com/question

2017-04-10 10:48:55

concurrent.futures源码解析

concurrent.futures模块在异步编程中非常常用,我常用在tornado里用它将同步操作异步化,这么优秀的模块,肯定很好奇它的内部原理的。在网上搜了一些资料,感觉附加讲解还不如代码详细,于是就自己去看源码了,而源码非常优秀,文件结构也非常简单,只有三个文件:_base.py:主要定义了一些常量、类、方法等,为thread和process使用process.py:Process

2017-02-21 16:27:46

如何使用python写一个操作系统

如何使用python写一个操作系统环境准备写一个操作系统所需环境非常简单,我使用的以下环境:ubuntu14.0464位virtualenvwarpperpython3virtualenvwarpper介绍virtualenvwarpper是对virtualenv的封装,使用起来更加方便,virtualenv原理是创建一个目录,然后把所有模块都安装在这个目录下面,这样的话就可以和其他环境

2017-02-13 10:53:03

protobuf rpc介绍

刚接触protobuf通过service实现rpc真的是一头雾水,相关资料非常少,找到的资料也看不懂,最后找到了两篇博文,非常详尽,看完就懂了。

2016-12-08 15:56:01

ctags和virtualenv神级配合

ctags和virtualenv简单介绍:ctags查看代码的时候真的很方便,ctr+shift+鼠标左键就跳转到函数定义的地方了,然后ctr+shift+鼠标右键又能跳转回来,大大提高工作效率。ctags是通过遍历一个目录下所有文件,生成一个.ctags文件来实现这个功能。而virtualenv是在一个目录下模拟python安装环境,然后在这个虚拟环境里面装的所有模块都只供这个环

2016-09-09 10:08:24

关于UNIX和Linux系统下SUID、SGID的解析

因为本人总不能集中注意力,看了好几次suid和sgid都没耐心把这个概念弄明白干嘛的,今天看这个教程,简单清晰,很不错的一篇文章,地址:http://www.linuxeden.com/html/unix/20071031/36892.html如果你对SUID、SGID仍有迷惑可以好好参考一下! Copyrightbykevintz. 由于用

2016-07-06 14:49:26

200行python代码实现一个类似django的简单模板引擎

教程原文地址:http://aosabook.org/en/500L/a-template-engine.html大致原理:根据模板语法,通过html生成python函数,这个函数作用就是输出纯html,这样只解析一次html模板就够了,以后直接通过这个python函数来生成html内容,提高效率。以下是我对代码的理解并做出的注释:https://git

2016-07-05 11:35:17

python两种方法实现从1000万个随机数中找出top n元素(附c语言版)

很早之前看到一道面试题:有一个长度为1000w个数组,每个元素互不重复,找出其中topn元素。我感觉重复或者不重复都差不多,所以没管不重复这个条件。我把1000w个结果放在了文件中,方便重复利用,生成代码:importrandomwithopen("random_number.txt","w")asf:foriinrange(1,10000000):

2016-06-22 02:36:59

python深拷贝浅拷贝

importcopya=[1,2,3,4,5,[6,7,8]]b=a[:]c=ad=copy.deepcopy(a)e=copy.copy(a)print"idofa:",id(a)print"idofb:",id(b)print"idofc:",id(c)print"idofd:",id(d)print

2016-06-21 10:31:29

linux grep通过管道输出到head出现write error: Broken pipe错误

之前做一个分页,利用grep加head加tail实现的:ls/tmp/conf/usergroup/|grep-P'^(?!auto-)'|head-n20|tail-n20|awk-F.'{print$1}'grep出来的条数大概有6w条,然后用php的exec去执行这条命令,大概耗时1.3秒,感觉太慢,不能接受。后面发现直接去终端执行

2016-06-13 10:53:57

SHELL 编程之语法基础

这有个教程也很不错,结构清晰简单:http://c.biancheng.net/cpp/view/7005.html#SHELL编程之语法基础版权声明:本文章内容在非商业使用前提下可无需授权任意转载、发布。转载、发布请务必注明作者和其微博、微信公众号地址,以便读者询问问题和甄误反馈,共同进步。微博ID:orroz微信公众号:Linux系统技术##前

2016-05-16 15:44:25

python监听本地目录,并将目录下的文件同步到远端服务器

最近写了个文件监听同步的脚本,查找资料的时候发现大部分都是rsync和inotify的方案粗看了下就是利用这两个工具,再配置来实现,这两个工具都很强大但是考虑到那么多配置,而且两台机子都要配置,部署会很麻烦如果自己写功能,就无需配那么多配置项,只需要安装好python的模块再配置一些简单的项就能用了,还能根据需求自己定制一些功能,只不过性能稳定性什么的也许没有那个成熟的方案好,但是

2016-05-13 18:12:51

pyqt给js赋值,获取form表单值

帮同事写客户端,发现pyqt和wxpython的api何其的多,资料又少,写一个包含各种表单的客户端对我来说难度很大,于是想到使用webkit来渲染html,pyqt自然成了我的选择。但是发现,平时在web开发中,html向web后台获取数据或者提交数据这样简单的事,在pyqt中我完全不知道怎么办,资料又各种少。最后找到了对应的简单例子,但是获取表单数据的那个例子在怎么都不起作用,正在要放

2016-04-28 18:05:30

tornado和beego的helloworld性能对比

测试环境:windows10虚拟机vmware安装的ubuntu14.04内存1g,处理器数量2个,每个处理器核心数量1个测试工具apchebench(ab)python版本:2.7tornado版本4.3go版本1.4beego版本不知道tornadohelloworld:importtornado.ioloopimporttornado.we

2016-04-21 10:55:40

truncate file python

今天写代码读写文件发现文件内容出现'\x00\x00\x00123',前面多了很多0。最后发现原来是自己truncate的姿势不对先来看看truncate函数用法吧:

2016-04-12 20:27:22

python多线程join方法导致不能接收信号

今天写一个小工具,开启多个线程,在子线程里循环执行任务,发现不能退出程序,然后折腾了半天,还是退出不了,最后发现,原来是个bug

2016-03-30 15:43:02

python使用select监听非阻塞socket遇到的问题

昨天学python的select的时候,发现一个非常诡异的事情,到现在也没弄明白,所以在这记录一下服务端实现了一个简单的echo服务器,相关代码如下:#coding=utf-8importselect

2016-03-14 19:35:29

How To Create a SSL Certificate on Apache for Ubuntu 14.04

这篇教程简单实用,配置出来默认就是tls1.2了,但是我翻墙不稳定,所以怕以后急用却翻不了墙,所以转载过来了,原文地址:https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04IntroductionTLS,

2016-01-28 10:53:55

记PHP第几周和日期转换的坑

项目中有个功能是周报生成,周报里会填写这一周的事件。写周报时,会判断今天属于今年第几周,然后决定写到哪周的周报中,周报简介中会显示这周包含哪几天。。。所以只好自己计算了。。具体计算方法参照outlook的计算方法,不同的是我们这第一周第一天是星期一,outlook第一周第一天是星期天。

2016-01-27 10:16:23

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!