0%

读了张洋的《如何实现一个malloc》和Marwan Burlle的《A Malloc Turorial》,张洋的博文是对Marwan Burlle的理解、翻译和补充,缺失了一些细节。但读了张洋的文章后,再读《A Malloc Turorial》会快很多。

#A Malloc Tutorial

讲了什么

  1. 什么是malloc
  2. 堆的内存模型
  3. 如何通过系统调用操纵堆
  4. 什么是块、块的数据结构
  5. 结构体的本质(虽然变量data属于结构体,但只是想获取数据区的指针,而数据区不属于meta结构体)
  6. 如何实现内存对齐
  7. 基本的堆管理需要哪些功能/函数
  8. 如何创建、选择、分割块
  9. 碎片整理(融合块)
  10. free要做什么,如何实现
  11. 如何实现calloc
  12. 何时把块“还给系统”
  13. realloc的原理,及优化
阅读全文 »

动态规划一直以来,算是一个弱点,前几腾讯的实习生笔试有道区间DP的题目,当时只能暴力的使用了递归,存在大量的重复计算,时间复杂度会达到O(N^2)。所以今日,查资料,从基础学习DP。

阅读全文 »

特征决定了机器学习的上限,而算法只不过是在逼近这个上限而已。

阅读全文 »

本博文中的所有内容,可以在MySQL 5.6.21中运行。

MySQL 5.1在线参考手册:时光机

查询

限制行号和偏倚量。

从第OFFSET+1开始,共获取LIMIT个结果。可以用来求某列,第OFFSET+1大或小的行。

1
2
3
4
5
6
7
8
SELECT *
FROM products
LIMIT 3
OFFSET 2;

SELECT *
FROM products
LIMIT 2,3;
阅读全文 »

需求驱动学习。

前言

这篇文章是包和单元测试的姊妹篇,内容是如何在自己的工程中导入自定义包,而不出现导入错误。

在文章:包和单元测试中,已经叙述了如何单元测试的导入问题,本质上讲,只要导入的模块在搜索路径中,python就可以发现该模块。也验证了python命令会将运行文件所在目录加到sys.path中,而python -m unittest命令,将运行命令所在目录加入到sys.path中。

阅读全文 »

需求驱动学习。

前言

嗯,很绕口的标题

最近的项目需要把编写的工具放到tools目录,把单元测试放到test目录,造成了不同目录下导入(import)的错误。基础原因很简单,Python无法找到要导入的文件,而解决这个问题的根本方法,是向sys.path中添加搜索路径,如果手动添加,太俗了不是么。

阅读全文 »

学无止境,莫限制。

在当初学习Python的时候,对于模块,包并没有细看,当然,书籍上写的也不多,它教会了我:

  • 如何使用别人的包、模块。
  • 如何写一个模块,然后在相同的目录下,使用这个模块中的类与函数。
  • 如果不在同目录下,需要将模块在的目录添加到sys.path中。
阅读全文 »

总会有些疑问,也总有原因,也必然有解决方案。

提交者显示unknown

明明都是我提交的,怎么显示unkonw commit呢?

unknown commit

原因:本地Git配置的邮箱与Github上面配置的邮箱不一致,具体原因是大小写导致的,本地中有大写字母,而Github上面全为小写。

无法commit或add已经modified的文件(夹)

明明显示修改了,但就是提交不上去,原因是那个目录是子模块,有自己的git信息。

参考资料:时光机1号时光机2号

http代理带来的问题

在push操作的时候出现了这个问题:error: RPC failed; result=56, HTTP code = 0

1
2
3
4
5
git push ...
error: RPC failed; result=56, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

原因:git设置的http的缓冲区太小了。

调大即可解决:git config http.postBuffer 524288000

参考资料

本文主要记录使用Python单元测试时,遇到的问题及解决办法。随着使用的增多,将会遇到更多的问题,与更多的单元测试方法。

常用的有:

1
2
assertTrue, assertFalse
assertEqual
阅读全文 »

从时间管理与记录,周计划、日计划,对理想、目标的渴望,每天告诉自己,我设定的目标。一路走来,至今,我突然开始问自己,今天的计划有助于达成我的目标吗?

阅读全文 »