世界的过客

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

  • From Hexo to Hugo

    我之前使用hexo静态博客生成器,并使用Travis CI(Continuous Integration)来自动 生成并部署静态页面到GitHub Pages。

    Read more…
  • 理解Python的切片表示

    原文understanding-slice-notaion 它非常简单: # 译者:切片用数学的区间表示的说法都是左开右闭的 [),即含左不含右 a[start:stop] # 取从start到stop-1 a[start:] # 取start到a的最后一个元素 a[:stop] # 取第0个到stop-1个元素 a[:] # 复制整个list 还有个step(步长)的值,可以一起用:

    Read more…
  • Three Years

    哇,终于到三年了, 时间真是可怕的东西。 不知不觉已经毕业三年了,感觉自己昨天才毕业 装嫩。

    Read more…
  • Python中的正则基础

    Python中的re 元字符总览 . ^ $ * + ?

    Read more…
  • git pre-commit workflow

    之前看了程序人生的一篇code is law,做了点小小的实践。想起在QQ群看到一个人的分享截图,于是就想将之前做的实践查到的资料删减翻译下整理成文章,如果万一有团队内部的技术分享会还是可以分享下的。

    Read more…
  • Env is Evil: ycmd server SHUT DOWN Unexpected exit code -11

    What issue? The ycmd server SHUT DOWN (restart with ‘:YcmRestartServer’).

    Read more…
  • ASGI规范中文版

    异步服务网关接口(Asynchronous Server Gateway Interface) 规范 Version:2.

    Read more…
  • Coroutine

    Fluent Python阅读笔记 从可迭代对象说起 迭代器 使用iter内置函数可以获取迭代器的对象,如果对象实现了__iter__, 而__iter__一般返回迭代器,那么对象就是可迭代的。 序列都可以迭代,实现了__getitem__方法,并且参数从零开始索引的也可以迭代。

    Read more…
  • Two Years

    两年了,总觉得该总结下了。工作一年的时候没啥心思。 虽然现在处境不算好,但是内心强大多了。 2016年的7月4号,是毕业后工作的第一天。 记得那天,天气不错,我当时到了后由于没人招待还问了我们公司没人事么,记得很清楚CEO笑着说了句要什么人事。

    Read more…
  • Pathlib

    在上次Python3 unknown 里我记录了Python3新加的一个库pathlib,还给了如下一个example

    Read more…
  • 不知道的Python3特性

    下面这几个是我日常基本没使用过的特性。 高级解包 # in python2 In [2]: a, b = 1, 2 In [3]: a, b = b, a # now in python3 In [4]: a, b, *rest = range(10) In [5]: print(a) 0 In [6]: print(b) 1 In [7]: print(rest) [2, 3, 4, 5, 6, 7, 8, 9] In [8]: a, *rest, b = range(10) In [9]: print(a) 0 In [10]: print(rest) [1, 2, 3, 4, 5, 6, 7, 8] In [11]: print(b) 9 强制关键词参数 如果不想用*args收集多余参数你可能这么写

    Read more…
  • 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…
  • Docker基本使用

    docker使用笔记 随用随记,并不成系统,主要是方便自己忘记的时候查阅。 如何进入运行起来的docker container 如果想要进去运行起来的container里看看日志什么的,那么使用docker 1.

    Read more…
  • Git手记

    经常碰到提交信息写错…或者commit后临时又要添加文件的操作? 那么可以这样: 先提交forgotten_file

    Read more…
  • Ubuntu Bits Complie Bits Assembly

    64位Ubuntu系统编译32位汇编 汇编链接生成可执行文件 ld -o eatsyscall eatsycscall.

    Read more…