Jiajun Yao

Stay hungry, Stay foolish.

阅读·实践·思考

阅读,实践和思考这三个独立的词在我眼中有着千丝万缕的关系。这三者对个人的成长和发展起到了重要的作用,我们需要阅读,需要实践也需要思考。在我眼中阅读为我们提供了实践不到或者思考不到的知识,实践则让我们获得最真切最深刻的属于自己的知识,而思考则是获得知识的一个很重要的前提。下面我想谈谈我对这三者的理解和思考,也欢迎大家提出自己的观点。而我之所以选择把它写成文章贴出来是希望通过文字可以使我思考得更深、更清晰。

Insert One Million Rows Into Database

数据库课的一次作业,要求是尽可能快的插入一百万条数据到数据库。这也是第一次和数据库性能接触,在做作业的过程中也有所感受所以决定写下来。这次作业我选择的是用C和MySQL来完成,并使用MySQL的C API。程序的逻辑很简单就是随机生成一百万条数据然后插入数据库,关键是如何能快速的插入。我进行了多次尝试,每次尝试都在插入数据上有所提升。

Why We Should Use Library

库(Library)在wikipeida的定义如下:

In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications.

在我们写程序的过程中几乎每时每刻使用着库。我们在编码的过程中享受着库带给我们的便利和好处。现在的编程语言都会提供丰富的库给开发者调用,比如C++的库有STL、Boost, Java的库有Swing。像PHP,Python等更是提供了强大的库来帮助程序员开发网站(当然这些语言不仅能用来开发网站),这些库针对网站开发中遇到的常见问题提供了解决方案。举个例子来说,假设我们要将一个PHP数组用json的格式传到客户端,在没有库的情况下我们可能要遍历整个数组然后按照json的格式构建一个string,这样至少需要四五行代码,可是现在一个json_enode就可以搞定了。并且无论数组是几维的,json_encode都能正确返回json格式的string。

在我看来,使用库函数有如下三个好处:
  1. 代码复用
  2. 保证质量
  3. 提高效率