世界的过客

每个人获得的东西都恰好是他值得获得的东西

  • Tornado执行阻塞函数

    使用Tornado时执行阻塞函数的姿势 很多人使用Tornado的姿势其实都是不对的,很多人都是知乎style地使用Tornado,当然这话是大佬说的。 我脑补了下才反应过来什么叫知乎style,其实就指用Tornado,但是代码里却很多阻塞的。Tornado的文档 guide里异步和非阻塞I/O节第二段就说了: 为了尽量减少并发连接造成的开销,Tornado使用了一种单线程事件循环的方式。 这就意味着所有的应用代码都应该是异步非阻塞的, 因为在同一时间只有一个操作是有效的.

    Read more…
  • CentOS升级HTTPS

    升级https 最近需要将域名升级为https, 以满足安全性和一些第三方接口的要求。 目前的技术栈为前端VUE, 后端为Tornado。Tornado负责接口的实现。

    Read more…
  • Pickle Error

    Error Message cPickle.PicklingError: Can't pickle shell python3 -m trace -tg --ignore-dir /Library $1 bug code def process_way(): workers = 10 with futures.

    Read more…
  • Blog Ci

    比较早之前,我的博客用的是jeklly, 当时各种换插件和配置都很麻烦, 后来果断切到了hexo。 当时想要用CI来做博客的自动生成,也省得每次换电脑都要重新安装hexo,可惜当时搞岔了travis的配置,导致次生成静态页面后push到github的候就挂了。 于是一放就是几个月,这两天捡起来重新做,终于发现问题出在哪里了,于是记录下。

    Read more…
  • Argparse

    argparse是一个命令行解析的标准库,通过参数可以根据add_argument()的action选项触发不同的action。 # arg-demo.py import argparse def get_args(): parser = argparse.

    Read more…
  • Functools

    functools module functools 模块包含了非常多很有用的函数,甚至可以说是比较常用的。这些函数主要用于创建高阶函数、函数式编程和装饰器的函数和装饰器。

    Read more…
  • Collections

    collections module collections提供了些新类型:deque和defaultdict, namedtuple等。

    Read more…
  • glob

    glob module glob通过匹配来查找文件,该模块暴露出来三个函数glob, iglob, escape

    Read more…
  • Requests Encoding

    问题 我一直以为按照meta去搞编码就ok了,然而事实上是然并卵。。例子之一是199IT的网页,看到meta charset=“utf-8” 在使用requests获取网页的时候,发现搞下来的中文文本都是乱码(response.

    Read more…
  • Pyspider Docker Deployment

    缘起

    最近在搞docker部署pyspider,pyspider是一个非常灵活用户友好的爬虫框架,基于该框架能够很容易写出可控的爬虫。 由于对docker不够熟悉,花了不少时间在解决部署问题上,很多地方纠结了蛮久的。写点笔记记录使用经历。 当然我最后还是没单机docker部署pyspider。。不过单机也用不着组件化。。

    首先,将redis和postgresql启动

    # docker run --name postgres -v /data/postgres/:/var/lib/postgresql/data \
    -d -p $LOCAL_IP:5432:5432 -e POSTGRES_PASSWORD="" postgres
    # docker run --name redis -d -p  $LOCAL_IP:6379:6379 redis
    

    Read more…