• Python 多核并行计算

    以前写点小程序其实根本不在乎并行,单核跑跑也没什么问题,而且我的电脑也只有双核四个超线程(下面就统称好了),觉得去折腾并行没啥意义(除非在做IO密集型任务)。然后自从用上了32核128GB内存,看到 htop 里面一堆空载的核,很自然地就会想这个并行必须去折腾一下。后面发现,其实 Python 的并行真的非常简单。

    Read on →

  • 在 Docker 中产生 Core Dump 文件

    首先简单补充一下 Core Dump 文件可以做什么吧。

    当我们程序崩溃的时候,除了看到 Segmentation Fault 之类的错误信息以外,很有可能在后面还有一句 (core dumped)。以前看到这些字眼都觉得很烦,因为程序崩溃了。但是后来,今年暑假在天壤实习的时候,看到金汶功学长的操作才恍然大悟,看到 (core dumped) 应该感到高兴才对,因为他把程序崩溃时的运行时信息完完全全地记了下来,包括他的整个内存、所有线程、堆栈信息、寄存器等等……这样一来就给找到 bug 提供了一条很好的线索。

    Read on →

  • 扫描二维码登入安全吗?

    昨天在知乎上看到了一个问题微信淘宝设计扫码登录的理由是什么,牺牲人性化来加强安全性?,本以为这是一个送分题,可是点开一看,竟然我仰慕的高票答主回答并没有给出我期望的回答,还有许多我关注的大大们点了赞。再一看,下面一排都在无脑喷阿里和腾讯,一点都没有认真答题的意思,气得我一个个点了反对+没有帮助。终于看到了一个@陈裕皓 写的正常的答案,几乎感动得我热泪盈眶。其实我觉得他基本上把我能说的话都说了,不过我还是看热闹不嫌事大,再插一脚进来科普科普吧。

    嫌太长不想看的直接翻到最后的“总结”部分吧。

    Read on →

  • SSH 基本用法

    最近小伙伴们纷纷进了实验室,就冒出了一系列关于控制远程机器的问题,我觉得我还是有必要科普一下的。

    Read on →

  • ANTLR4 使用技巧

    上一篇文章中,我简要介绍了一下 ANTLR4 。当时只是把官方的 Reference 看了一遍,还没有什么实战的经验,写的都是比较不具体的东西。在这篇文章里面,我把在写编译器的时候用到 ANTLR4 的实战经验拿出来记录一下。

    Read on →