2017 年度小结(Golang、错误处理、服务状态页等)

2018-01-18
阅读 4 分钟
3.6k
从今年年初开始,我就尝试在业余时间和一个朋友开发一个容器平台,更多地是实验一些新的技术,也希望能够通过它将自己的一些小应用管理起来,在基本完成后可能会考虑开源。之所以说是实验是因为我选择了一个我几乎完全不了解的技术栈:主要编程语言是 Golang、只使用 Etcd 作为数据库、基于 Docker Swarm 管理容器。

我的 2015 年度小结(技术方面)

2016-02-09
阅读 8 分钟
5.3k
从 2014 年末开始开发的一个互联网金融项目终于在今年三月份上线了,这是一个 Node.js 编写的 Web 服务,但上线仅仅是个开始,之后的半年时间我们仍在这个项目上进行着密集地开发。

与精子同款的博客主题 Simple Block 现已发布!

2015-08-28
阅读 1 分钟
2.7k
今年年初,因为我已经很久不写 PHP 了,所以我将 我的博客 从 WordPress 换到了基于 Node.js 的 Hexo, 顺便自己编写了一个专用于我的博客的主题。

Mabolo: 轻量级的 MongoDB ORM

2015-08-10
阅读 2 分钟
6.1k
Mongoose 通过定义 Setter 的方式记录了对文档的每一次修改,以便可以用 save 方法将文档无冲突地储存在数据库中。但我在实际使用中发现,我很少会使用这个功能,每当对文档进行更新的时候,几乎都是直接使用 MongoDB 的原子性操作符($set 等)。Mongoose 在这个功能上下了很大功夫,也增加了很多额外的约束。例如它 使...

Cichorium: 基于 Promise 的中间件路由框架

2015-05-29
阅读 1 分钟
2.4k
Cichorium 的代码仅有 130 行,用 CoffeeScript 风格实现了一个简单的基于中间件的路由框架,其中的异步操作都是以 Promise 风格提供的。

SegmentFault D-Day 上海活动流水帐

2015-05-10
阅读 1 分钟
2.2k
今天去参加了 SegmentFault 的活动,五花肉姐姐居然认识我!答应回头送我一个很萌的 Docker 的鲸鱼玩具,要是不送的话我月末再去杭州要!

Atom 中文社区 !

2015-04-17
阅读 1 分钟
4.3k
我最近半年开始变成 Atom 的深度用户,每天用 Atom 完成我的工作,同时也在了解 Atom 的构造,阅读源代码,编写插件。可以说 Atom 的中文用户很少,我希望能够帮助其他的中文用户了解 Atom, 在经过一番权衡之后,最后还是决定自建一个社区。

Atom 体验报告:21 世纪的可编程编辑器

2015-04-07
阅读 2 分钟
5.5k
回想起来,大概是去年这个时候,Github 宣布开始开发 Atom, 当时 V2EX 上到处都有人在求邀请码。因为 Github 并没有严格地限制下载和使用,所以虽然我当时没有邀请码,但也试用了一下 Atom. 当时的感觉是性能非常差,Bug 非常多,非常难用,于是就放下了。

抽象的构件

2015-03-16
阅读 1 分钟
2.4k
最近在看「JavaScript 权威指南」和「计算机程序的构造和解释」,于是不由得对比起 JavaScript 和 Lisp. 之前看「黑客与画家」的时候,作者在极力地推销 Lisp, 认为因为它优良的设计,所以是世界上最好的编程语言。但是从结果来看,Lisp 依然是一个极其小众的语言(以至于 MIT 已经将 6.001 从 Lisp 换到了 Python)。

读代码是好的学习方式么

2015-02-26
阅读 1 分钟
6.1k
后来我渐渐有了一些想法,代码是程序员给计算机的命令,是作者思考过后的产物,但思考的过程却没有体现在代码上,这就好比一道数学题,只有一个最终答案,所有的计算过程都被省略掉了,自然难以理解作者的意图。一段代码一开始写出来,后来发现存在问题,陆陆续续地改过好几版是很常见的事情。最终版本中可能每个小的细...

答「那些初中高中就接触编程的人后来怎么样了」

2015-02-14
阅读 2 分钟
7.1k
我是初中一年级从 VB6 开始学编程的,后来写过一点点 VB.Net. 但是我现在回想起 VB 的语法,其实什么都想不起来了,说起来当时其实更关心能做出什么样的软件,对代码该怎么写是完全不关心的,有很多是从百度上搜来的代码,经常一大片一大片地复制,也不知道版本控制。

2014 年度小结(Node.js 与 单元测试)

2015-01-13
阅读 6 分钟
5.6k
这是我除了 Hello World 之外的第一个 Node.js 项目,也是我第一次写 CoffeeScript. 简单地看了一遍「CoffeeScript 小书」,又随便搜了搜对 CoffeeScript 的评价,大家说得最多的是「CoffeeScript 嘛,哪有什么语法,想怎么写就怎么写就行了」,说起来倒还真是如此,差不多只花了两个小时就学会了 CoffeeScript, 而且之...

RootPanel 0.8 版本发布:基于 Node.js 的虚拟服务销售系统

2014-11-20
阅读 2 分钟
4.3k
简单来说 RootPanel 是一个虚拟主机销售系统,但是它被设计得高度插件化,除了虚拟主机也支持类似 ShadowSocks 或者 VPS 等服务的销售。

SICP 笔记:1 - 1.1.8

2014-11-13
阅读 4 分钟
3.3k
计算机程序的构造和解释 是这样的一本书:它将大量编程中的基本技巧,用一本正经的语言讲出来,帮助你在构建大型软件时使用这些技巧来控制代码中的复杂性。而这些技巧的共性之一就是,将复杂的事物,通过隐藏细节的方式进行组合和抽象。我认为如果一个合格的程序员只需要读三本书的话,这本书便位列其中。

Node.js 体验报告——有关 Node.js 的集中吐槽

2014-10-05
阅读 2 分钟
7.8k
首先是性能,用起来感觉 Node.js 的性能并没有想象中那么好。内存占用差不多和 Ruby 一个等级,比 Python, PHP 要多。计算性能(即 CPU 使用)上,纯计算并没有太大优势,但因为可以很好地控制异步流程,所以总体表现上来看性能要比 PHP 好很多。个人觉得 Node.js 在性能方面是有很大的潜力的,因为有很多大的项目在致力于...

为什么 Node.js 的异步 IO 具有非常好的性能

2014-09-18
阅读 1 分钟
7.5k
Node.js 的卖点是「异步单线程」,虽然主流 Web 后端编程语言中,对异步编程有很好支持的语言并不少,但只有 Node.js 丧心病狂地将所有 IO 强制异步进行。Python 和 Ruby 也有这样的框架,但因为在实际使用中会不可避免地用到含有同步代码的库,因此没能成长起来,而在 Node.js 之前,JavaScript 的服务器端编程几乎是空...

Ubuntu 14.04 VPS 部署 PHP 环境及 WordPress

2014-09-02
阅读 3 分钟
5.3k
Ubuntu 14.04 Ubuntu 是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择。而 14.04 是目前最新的 LTS 版本,目前已经发布了半年了,基本是目前支持最好的版本。

为什么我无法访问一个网站

2014-08-01
阅读 4 分钟
5.9k
这是从我开始经营 RP 主机 以来,被问及的最多的一个问题。 本文将以诊断「为什么我无法访问一个网站」的方式,讲述 Web 服务的大致工作流程。 目录 URL DNS TCP/IP 连接 加载资源 渲染 URL 通常来讲,所谓访问一个网站,我们输入给浏览器的是类似于这样的一个地址: {代码...} 用术语来讲,这是一个 URI, 一个 URI 有两...

论代码中为什么不应当写注释

2014-07-29
阅读 3 分钟
11.6k
当很多前辈教育后辈应当多写注释的时候,当网络上充满了有关程序员从不写注释的段子的时候,这是一个非常有争议的话题。作为一个标题党,容我先修正一下我的观点:我认为如果代码写得足够好,那么大多数注释是多余的,我们应该通过写出更好的代码来代替更多注释。

时无英雄,使竖子成名

2014-07-15
阅读 2 分钟
8.5k
两个月之前,我还不是很确定在高考前最后的三个月离开学校是否值得,很多人劝我说既然两年多都混过来了,何必要执着于最后几个月呢。但现在我觉得这两个月是非常值得的,如果你发现自己走偏了,在任何时候回头都不算晚。一直想写篇日志讲一讲这段时间以来的想法,今天有感于又一位小伙伴打算退学,于是把这篇日志写了出来。

为什么我总是在黑「黑客」

2014-05-02
阅读 2 分钟
7.5k
和一些人从「黑客技术」入门计算机不同,我似乎从一开始就对所谓黑客技术没有什么兴趣。一开始当我刚刚听说黑客这个词的时候,因为大多数人对黑客精神的崇拜,我也对黑客这个称呼心存敬畏,但当我掌握了更多的知识,接触了更多的人和事之后,越发觉得黑客技术并不高端,黑客也不值得敬畏。在最近两年,黑客被洗白成了「...

MongoDB 使用经验

2014-04-21
阅读 3 分钟
6k
最初听说 MongoDB 的时候,我总是觉得它的稳定性堪忧,后来用了差不多一年的时间,其实也没有遇到过什么问题,反而是 MySQL 出现过几次丢失数据的情况。配合 Node.js 使用 MongoDB 是一件非常舒畅的事情,从前端,到后端,再到数据库,统统全是 JSON.

笔记:散列算法的使用场景

2014-02-12
阅读 4 分钟
6.5k
大家都知道散列算法,如 MD5, SHA, 但是对其具体特性恐怕都很模糊。说不准哪些用法是可靠的,哪些用法是不可靠的,只是通过加 salt, 或者反复散列的方式提高可靠性。本文将精确地讨论它们在各种使用方法下的可靠性,本文不讨论原理,只讨论使用,以下部分资料来自网络,感谢 wxy 帮忙检验文中的论断。

PHP 自 5.2 到 5.6 中新增的功能详解

2014-02-05
阅读 10 分钟
29.2k
截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注]. 因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣。 本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征。

重谈 Bitcoin: 只是一种可能性

2014-02-04
阅读 2 分钟
3.2k
我是从 2012 年年初开始关注 Bitcoin 的,当时 Bitcoin 还是 Geek 的代名词,而现在再一提起 Bitcoin, 立刻就会被贴上土豪的标签。

世界上最好的编程语言

2014-01-29
阅读 2 分钟
23.7k
首先我认为所有切实存在,功能重叠的事物,都是可以比较优劣的,有时不说出真相,只是真相太残酷。『优秀』并非是主观的,而是客观存在的,世界上存在着被广泛认同的『优秀』。否则,作家,设计师,设计编程语言的科学家,应该以什么为目标来工作呢?

笔记:公钥加密算法

2013-12-10
阅读 2 分钟
4.5k
在一年多以前,我曾计划写一个系列,关于密码学基础的科普文章。但当我写完第一篇,散列算法的时候,便觉得自己功力尚浅,仍需修炼。今天重新捡起来,写下去。

Kademlia笔记

2013-12-04
阅读 3 分钟
9.1k
Kademlia协议(模型)是被电驴,BitTorrent所采用了的,基于异或距离算法的分布式散列表(DHT), 它实现了一个去中心化的信息储存与查询系统。