前段时间我写过一篇文章,说是时候使用白名单来翻墙了,不过那个白名单已经过期好久,用起来不是那么顺畅了,后来我就夸下海口说:我要自己实现一个爬虫,来爬取中国的网站域名,好更新白名单。
好吧,总之这个爬虫是写好了然后上线爬取了一万多的,不过最后我找到了前人做的更好的方案,于是这个爬虫项目还是废弃了。总之,白名单更强大了,只是没有使用这个爬虫而已。
爬虫是用 Python 写的,并没有使用经[……]
前段时间我写过一篇文章,说是时候使用白名单来翻墙了,不过那个白名单已经过期好久,用起来不是那么顺畅了,后来我就夸下海口说:我要自己实现一个爬虫,来爬取中国的网站域名,好更新白名单。
好吧,总之这个爬虫是写好了然后上线爬取了一万多的,不过最后我找到了前人做的更好的方案,于是这个爬虫项目还是废弃了。总之,白名单更强大了,只是没有使用这个爬虫而已。
爬虫是用 Python 写的,并没有使用经[……]
最近室友在 Ubuntu 上跑 MC,我帮着搭了一下,但由于包是他自己改过的,所以可能具体的运行过程并不通用,但总体环境配置还是比较通用的。
首先 MC 是跑在 java 环境下的,为了让它跑的更加顺畅,我们还是要在 Ubuntu 上安装甲骨文的 java 环境:
1 2 3 4 5 6 7 |
apt-get install python-software-properties add-apt-repository ppa:webupd8team/java apt-get update apt-get install oracle-java7-installer |
安装好以后,可以使用这个命令来验证你的 j[……]
在使用 Python 做网络编程的时候难免会遇到字符串与字节流的转换,这里我们记录以下几种常用的方法:
首先是字节数组转字符串,也就是str:
1 2 3 4 5 |
b = b'some byte array' str(b, encoding = "utf-8") #or bytes.decode(b) |
然后是字符串转为字节数组:
1 2 3 4 5 |
s = 'some string' bytes(s, encoding = "utf8") #or str.encode(s) |
以上两种方法不论哪种都是可以的。[……]
我在阿里云搭建的自用 dnsmasq 服务器,用来做免污染的 DNS,最近由于公开了IP,果然就遭到了攻击——其实是被用于 DNS 放大攻击。
由于 dnsmasq 本身就没有设计为对外提供 DNS 服务,所以它对于安全方面的配置文件不是很多(根本没有!),但它的解析策略又很方便配置(比如中国DNS解析白名单等),所以我在原本的基础上,再加了一个 Bind9 作为前端来做安全。[……]
TextWrangler 是 Mac 上不可或缺的多功能文本编辑工具,内置优秀的代码高亮,还能支持正则表达式的搜索……总之,对于开发者来说,实在是人手必备。
不过,TextWrangler 对于 XML 就没有那么智能了——打开之后往往是长长的一行!
总之,解决办法很简单,我们给 TextWrangler 写一个脚本即可。
打开 TextWrangler 新建一个空白的文档([……]
大多数情况下,人们用编程语言是否会隐式地转换数据类型来判断一门语言是否为弱类型语言,比如 C。
而实际上,对于除了比较经典的语言外,大部分人对于其他常见语言的强、弱类型是分不清楚的——或者说,是不一致的。因此总会有人来争论它。如果我们以开篇的概念来作为基础,那么矛盾就会显现:
比如 Pascal 曾计划作为强类型语言,但整体上却给类型系统引入了一个漏洞,所以技术上来讲它是弱类型的。[……]
之前我们说过,由于国内网络进一步恶劣,使用 brew 也要更换国内大学的镜像源,但是这样的方法治标不治本,更新是快了,可是下载还是一样。
结果就是导致大部分的更新都需要去下载源码然后本地编译,运气差一点的干脆源码也下载不下来,每次都要取消然后重试,不停地手工重复。
——如果能让终端命令走代理就好了。
是的,你可能想到了什么比如 proxychains-ng 这类的软件,其实不用,因为 b[……]