loading...

工者利其器

Python的工具创作者
2016 Pycon @HZ

聊些什么?

MarkEditor、LazyHosts、Bitcron

有价值吗?

预防针...

我所看见的世界还非常有限,并不值得归纳总结以及深信不疑。

yield

Why MarkEditor?

  1. 用不顺手
  2. 需要一个 Utils

用不顺手

  • Tabs
  • 工作目录
  • Code
  • TOC
  • 插图
  • Todo List
  • .etc

从三个月预估时间到将近半年的完善

Markdown 内的图片

  • 路径问题如何兼容?
  • 隐藏信息于何处?(GUI & 图形压码)

实时预览

  • 渲染的速度,Python & Webkit
  • 无心插柳...

Websocket

pure & less code

我喜欢```

立而不破,提供了基础。
table、mathjax...

Wiki

确实考虑过接入 Gitbook ...

PDF 电子书

全而渲染,不如分而治之。
当然,对 Gitbook 也是失望的...

LazyHosts

  • 泛解析的 hosts
  • 基于效率自动的网站 block
  • 某些域名的 block
  • 科学工作……

一个 DNS Server

异步调度

jobs = []
for x in xxx:
    job = gevent.spawn(func, *args, **kwargs)
    job.link_value( curry(the_callback_func, jobs,....) )
    jobs.append(job)
try: gevent.joinall(jobs, timeout=5)
except gevent.Timeout: pass
return some_result
  1. 返回一个有效值,整体视为完成,其它任务全部 kill 掉
  2. timeout 相当于一个等待阀值,未完成的,就自身自灭好了

WebServer

from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
from httplib import HTTPConnection, HTTPSConnection

WebFrame

def do_GET(self):
    path = self.path.strip('/')
    if path:
        xxxx
    else:
        xxxx

比想象中复杂

比如网络环境变更……
比如“守护”概念的出现……

失望的...

IPFS

ZeroNet

Bitcron

docker

  1. Fabric 远程部署
  2. 运行一个 Docker Project
  3. Docker Container 的自动守护

Multi-Domain

Auto SSL

Run Code in Markdown

Websocket Server

分布式 Cookie

cookie & session 的边界是很模糊的

维持互不干涉的颗粒度

CJK Webfont

Humech

变量与函数

+h.json
+h.json()

Code

class AttrFunc(object):
    def __init__(self, func):
        self.func = func
        self.is_attr_func = True
    @cached_property
    def default_value(self):
        try:
            return self.func()
        except:
            return smart_unicode(self.func)
    def __call__(self, *args, **kwargs):
        return self.func(*args, **kwargs)
    def __repr__(self):
        return smart_unicode(self.default_value)
    def __unicode__(self):
        return smart_unicode(self.default_value)
    def __str__(self):
        return smart_str(self.default_value)
    def __nonzero__(self):
        return bool(self.func)

函数自省

高质量的代码?

网红 == 捷径

好的,与不好的。
而能红的,多是不好的。

Social

can't make you great, maybe make others think that you are great.

工者与生态

我不为所动
我接受概念
我理解现实
我创造概念
请保持冷静
请允许犯错
我是矛盾的

Thank You.