Posts
谈职场中的命令口气
· ☕ 5 分钟

今天在 LinkedIn 看到这样一个职场问题:“同事经常用领导的口吻命令我,我应该怎么办?” 我觉得这个问题在中国职场很有代表性。我自己和我认识的一些人都为此苦恼过,我还为遇到这个问题的朋友提供过帮助。


一道 Java 面试题
· ☕ 1 分钟

关于程序员对 Java 类型系统的理解,比较高级的一个面试问题是这样:

public static void f() {
    String[] a = new String[2];
    Object[] b = a;
    a[0] = "hi";
    b[1] = Integer.valueOf(42);
}

这段代码里面到底哪一行错了?为什么?如果某个 Java 版本能顺利运行这段代码,那么如何让这个错误暴露得更致命一些?


如何阅读别人的代码
· ☕ 5 分钟

挺多人问过我“如何阅读已有代码”这个问题,希望我能有一个好的方法。有些人希望通过阅读“优质项目”(比如 Linux 内核)得到启发,改进自己的代码质量。对于这个问题,我一般都不好回答,因为我很少从阅读别人的代码得到提升。每一次阅读别人的代码,对我来说都是一种折磨,而且每一次都不是别人的代码提升了我,而是我提升了别人的代码。


知识的价值
· ☕ 4 分钟

这段时间开始顾问服务以来,收到了挺多人的申请。大部分申请者长期以来从我的博客获益,都是诚心求教,但有少数人因为观念和态度问题而被拒绝。综合他们的情况,我发现这些人有一种共通的错误思想,那就是认为知识应该免费,甚至认为我收费有错。还有一些人来信说:“我当然希望不收费,如果我认为有收获才付费。” 还有人说:“我认为不应该强制收费,而应该是捐赠。”


Shortcodes
· ☕ 1 分钟
tabs, code-tabs, expand, alert, warning, notice, img, box

为document.querySelectorAll()起个别名
· ☕ 1 分钟

我将大量运行document.querySelectorAll(),并且想要一个速记别名。

var queryAll = document.querySelectorAll

queryAll('body')
TypeError: Illegal invocation

给document.querySelectorAll起一个queryAll的别名,调用时会报错。提示错误:非法调用。


我的事业计划
· ☕ 15 分钟

在上一篇文章提到“创业”之后,很多人联系我,说想加入我的创业计划,有些人还提出了自己的创业想法和方向。我很感谢大家的支持,不过我可能要让很多人失望了,因为我的事业跟现在铺天盖地的所谓“创业”是很不一样的。