0%

最早发明这个问题的人是法国数学家爱德华·卢卡斯。传说越南河内某间寺院有三根银棒,上串 64 个金盘。寺院里的僧侣依照一个古老的预言,以上述规则移动这些盘子;预言说当这些盘子移动完毕,世界就会灭亡,上述又称梵天寺之塔问题。但不知道是卢卡斯自创的这个传说,还是他受他人启发。这个传说有若干变体:寺院换成修道院、僧侣换成修士等等。寺院的地点众说纷纭,其中一说是位于越南的河内,所以被命名为“河内塔”。另外亦有“金盘是创世时所造”、“僧侣们每天移动一盘”之类的背景设定。

阅读全文 »

在谈论DNS流媒体解锁所需的SNI代理服务器之前,先来回顾和了解下通常情况下DNS请求发出之后的整个生命周期。首先,在客户端发出基于UDP协议53端口的DNS请求后,浏览器DNS缓存机制会率先寻找本地的缓存。假如未命中缓存则调用操作系统的getaddrinfo()系统函数,向操作系统寻求解析结果。倘若操作系统的DNS缓存依旧无法响应请求,则计算机向配置的上游DNS服务器发送请求,DNS服务器经历了递归和迭代之后,成功的将解析结果返回给设备的操作系统,随后向该IP发起HTTPS连接即可。
阅读全文 »

2011年7月,JetBrains推出Kotlin项目,这是一个面向JVM的新语言,它已被开发数年之久,它是一种在Java虚拟机上运行的静态类型编程语言,也可以被编译成为JavaScript源代码。它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛。2012年1月,著名期刊《Dr. Dobb’s Journal》中它被认定为该月的最佳语言。虽然与Java语法并不兼容,但Kotlin被设计成可以和Java代码相互运作,并可以重复使用如Java集合框架等的现有Java引用的函数库。

阅读全文 »

Fail2ban是一款入侵防御软件,可以保护服务器免受暴力攻击。Fail2ban 基于 auth 日志文件工作,默认情况下它会扫描所有 auth 日志文件,如/var/log/auth.log等,并禁止带有恶意标志的 IP,如密码尝试次数过多等。 Fail2ban 由 Python 编写而成,主要配合 iptables 来进行工作,为各种服务提供了过滤器,如 SSH、Apache、Nginx、Squid、Named、Mysql、Nagios 等。Fail2ban 能够降低风险,但不能消除风险,这只是服务器防止暴力攻击的安全手段之一,本文以CentOS为例。
阅读全文 »

Hexo是一个快速、简洁且高效的博客框架,其构建依托于Node.js(Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎);Hexo同时支持 Markdown,支持GitHub Flavored Markdown的所有功能,甚至可以整合Octopress的大多数插件,只需一条指令即可部署到 GitHub Pages, Heroku 或其他平台,除此之外,它拥有丰富的插件和可扩展性,其强大的 API 带来无限的可能,可与数种模板引擎(EJS,Pug,Nunjucks)和工具(Babel,PostCSS,Less/Sass)轻易集成。

阅读全文 »

2013年6月,前美国中央情报局技术分析员,爱德华.斯诺登将美国“棱镜”电子监听计划披露给英国《卫报》记者格伦·格林沃尔德。如今,有越来越多的证据显示,个人电子邮件,浏览信息,聊天记录,网站信息正在被大规模的监控。从斯诺登曝光的机密文件可看出,NAS(美国国家安全局)不仅通过网络远程监控,还通过“人力情报”项目的方式挖取个人隐私。人们有必要去采取必要手段来抑制有关机构这种不正当的行径,从而维护公民基本合法权益。

阅读全文 »