Developer Weekly 12

每个程序员都应该知道的内存知识 (带你走读Ulrich Drepper的经典论文)

Introduction to Apache Flink for Spark Developers : Flink vs Spark

Flink 源码分析 — StreamExecutionEnvironment

An iterative algorithm to generate high quality triangulated images.

代码的马斯洛金字塔

(1)第一层:正确(Correct)

代码是否执行预期的工作?是否考虑了边缘情况?是否经过充分测试?是否有可维护性?是否有可接受的性能?

(2)第二层:安全(Secure)

代码是否存在漏洞?数据是否安全存储?个人识别信息(PII)是否得到正确处理?是否对用户的输入进行了全面的验证?

(3)第三层:可读(Readable)

代码是否易于阅读和理解?测试足够简洁吗?变量、函数、类的名称是否适当?使用领域模型是否可以清晰地映射现实世界,以减少认知负担?是否使用一致的编码风格约定?

(4)第四层:优雅(Elegant)

代码是否利用了众所周知的编程模式?能否更简单简洁地实现所需的功能?你会为编写这些代码感到兴奋吗?你为这些代码感到骄傲吗?

(5)第五层:利他主义(Altruist)

别人能否从这些代码学到东西?这些代码是否会激励其他工程师进行改进?它是否会让世界变成一个更好的地方?

程序员修炼之路

线程的中断(Lock与synchronized)

Go treemux + go-pg realworld example application