CatCoding

当前 33,共 50 页

Visualize Git Projects with Ubigraph

一个比较大的项目一般都由一群人协作开发,开发人员可能活动于各个模块之间。前两天突然想起如果把一个工程的所有 commit 数据提取出来,然后按时间顺序动态演示出来可能会比较好玩。从这个过程中我们可以看到一个项目是如何进化的,各个开发者到底在折腾哪些模块。比如这是一个多个开发者参与的一 ......

Heartbleed 简单分析

heartbleed 这几天不断听到一个词“心血漏洞”,近年来影响最严重的互联网漏洞。今天小小地研究了一把,顺便把引起一些思考记录下来。 到底是什么样的代码有一些 C 语言和开发经验的朋友看看这个Fix就能了解些具体细节了。在网络传输中有一个叫做心跳的概念,简单来讲就是客户端发送一个 ......

另一本魔法书:EOPL

eopl 概述很多学习计算机的同学都知道有一本号称魔法书的经典教材叫作《SICP》,《计算机程序的构造和解释》,MIT 的计算机入门课程用的教程。这本书内容广泛而深邃,从出版几十年来影响了很多程序员。今天介绍另外一本我认为也是魔法书的教材,叫做《Essential of Progra ......

关于随机数

dicker 随机数代表着不确定性,其在计算机中广泛使用,比如用作加密的 key、密码的生成、模拟,扑克游戏中,还有一些经典的算法 (比如Monte Carlo) 依赖随机数的产生。以下是一些随机数相关的问题简单总结。 随机数产生,真随机数和伪随机数生成器随机数的产生是一个很有趣的问 ......

LeetCode: anagrams

LeetCode 这个题目想出来一个好办法,题目的意思是输入一组字符串,把他们按照 Anagrams 归组出来,Anagrams 的意思是字母相同,排列不同的两个字符串。 比如:aabc baac cbaa 这些都是 anagrams 的。如果两个字符串是满足这种关系的,那么把字符串 ......