美文网首页GoldMap项目笔记
GoldMap项目笔记(二)

GoldMap项目笔记(二)

作者: titainium | 来源:发表于2017-01-11 16:09 被阅读0次

每写一个新的项目,都是一次学习新知识的过程。同样的,也是在锻炼自己的编码能力。这一回也不例外。
公司的项目一直运行在python2上面,之前也知道python早就发布了3的版本,没想到这一次配置开发环境,发现python已经进化到了3.6版本,开源社区果然充满了活力!3.6版本的标准库,目前使用最多的就是asyncio这个库。其实在早几年,曾经接触过相关的异步并发的库,可惜只是浅尝辄止,并没有深入。而这次使用下来,发现比当年使用已经简便得多,加之相关的资料,文档都比较完备。总之,相比当年,开发体验完全不可同日而语。 在asyncio的基础之上,还有一系列的第三方库都很不错,比如uvloop,aiohttp,asyncpg等等,据说都是很棒的开源库,使用下来发觉也很不错。
这里说一件在阅读aiohttp文档的时候发生的囧事。我在运行aiohttp文档的示例代码发现报错了,一时间让我有些不知所措。后来仔细研究发现,示例代码只是一个片段,并不完整,后来编写成完整的代码,方才成功运行。看来阅读文档,还是要仔细用心啊!
uvloop的文档非常的简单,也没有相关的api说明,根据示例,看来也是简单的替代了asyncio的event_loop,据说性能因此而提升了很多。等等有空查看一下相关的数据,相信网上可以找得到。
第三个用到的异步库是访问操作ostgresql的客户端。据说性能是psycopg2的三倍,也不知道是真是假,不过先用起来在说。这个客户端性能据说很优异,不过我觉得用惯了orm的童鞋会不太适应,因为这个库完全需要自己写sql语句来操作pg。目前也没有哪个orm采用了这个客户端来做驱动,也许等这个项目完成了以后,我可以试着改写一个orm来操作asyncpg。不过这是后话,暂且不表。
目前项目已经放到github上面,如果有谁有兴趣的话,可以下载下来看一看。不过目前代码还非常简单,一点点在做增加,最近添加的修改就是增加了logger,通过logger来记录程序运行的错误,以前的做法只是很简单的通过traceback来写入文件,文件还要自己手动删除,很简陋。以下是github链接:goldmap
今天听同事说到了西部世界这部美剧,据说很不错看,等有空了我也来搜一搜看一看吧(〜 ̄_ ̄)〜

相关文章

  • GoldMap项目笔记(二)

    每写一个新的项目,都是一次学习新知识的过程。同样的,也是在锻炼自己的编码能力。这一回也不例外。公司的项目一直运行在...

  • GoldMap项目笔记(五)

    时隔了许久,终于有时间继续更新这个项目笔记,实在有些惭愧。 还是首先简短说明一下原因吧。 上次笔记发布之后,整理了...

  • GoldMap项目笔记(三)

    新的问题很快就出现了,嗯,不过我觉得在这个项目运行的初期,还不算是什么大的问题,不过个人觉得还是有必要加以关注,同...

  • GoldMap项目笔记(四)

    目前的进度是爬虫系统刚刚完成了雏形,正在进行代码的优化。之后需要做的事情就是学习、学习,学习!在早先的项目设计中,...

  • GoldMap项目笔记(一)

    其实这个项目在一年之前就有了想做的年头,兴冲冲准备了好多资料,还学习了一阵子自然语言处理。可是由于没有沉下心来专...

  • NO.3 --- IDEA 创建 Java 项目

    笔记内容:一、IDEA 创建 Java 项目。二、删除 Java 项目。 一、IDEA 创建 Java 项目。 1...

  • NO.4 --- IDEA 创建 Java 模块

    笔记内容:一、IDEA 创建 Java 项目模块。二、删除 Java 项目模块。 一、IDEA 创建 Java 项...

  • 直播项目笔记(二)

    毛玻璃 + runtime全局pop + 面向协议编程 + 粒子动画 组合第一天封装CLOPageView和瀑布流...

  • 002.Jersey框架—基于JavaEE创建简单RESTful

    说明:本笔记是在学习《Java RESTful Web Service实战》一书的笔记 一、项目结构如下图 二、P...

  • 001.Jersey框架—基于JavaSE创建简单RESTful

    说明:本笔记是在学习《Java RESTful Web Service实战》一书的笔记 一、项目结构如下图 二、P...

网友评论

    本文标题:GoldMap项目笔记(二)

    本文链接:https://www.haomeiwen.com/subject/qzjrbttx.html