调试代码比新编写代码更困难。 因此, 如果你尽自己所能写出了最复杂的代码, 你将没有更大的智慧去调试它。

使用Node.js构建RESTful Service

本系列文章主要是讨论用Node.js设计一套可用于生产环境的RESTful Service框架。不包括前端实现。它不是一个介绍JavaScript语法的入门文章。适合之前熟悉JavaScript但没有太多后端开发经验的读者。读者可能还需要具备一些 HTTP协议相关基础知识。主要讨论的内容有Node.js常用Module(如Express.js)和结合Mongoose使用MongodDB。其中会穿插…阅读全文

花10分钟开始使用Git

假如你刚加入一个项目组,该项目使用Git作为源代码管理,但你之前没有用过Git,你该怎么办? 刚开始你不用系统去学习Git,只要了解5条命令就足以胜任:首先用git clone下载代码,每当你修改一个文件或者新添加了一个文件你用git add暂存修改,修改好之后用git commit提交代码变更记录,最后用git push提交到服务器上。如果你随时想查看提交记录用git log。我们来看看具体该怎…阅读全文

Git实用手册

其实网上各种Git教程和文章已经有很多了,但在浏览了这些教程之后,我还是决定用不同的方式再来造这个轮子:本教程计划从实际项目必备技能出发,包涵一系列文章,从最可能用到的基本操作开始,一直到分支管理和Git的历史和核心理念等等。这一系列文章中,每篇文章的宗旨是:刚好够用就好,不做全面系统介绍。一开始也确实没太多必要去系统学习,因为 作为开发人员,一开始掌握些简单基本操作就足以胜任工作了。等你熟悉了基…阅读全文

通过代码理解C++虚函数表和多态的实现

我们来看一段简单的C++程序。该程序只能在64位机器上正常运行,如果你是32位机器,请自行将main函数内的int64_t都改成int。 如果你能理解全部内容,并且能得出正确的运行结果,说明你对下面这些内容有充分的了解: C语言指针本质; C语言函数以及函数指针的运用; C++对象基本内存模型; C++虚函数以及虚函数实现多态原理。 上面代码编译运行结果如下: 关于上述代码的几点解释说明: 在C+…阅读全文

GCC内联汇编基础

英文原文作者 Sandeep.S 英文原文来自 https://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html 本文将介绍GCC编译环境下,在C语言代码中嵌入汇编代码的基本方法。阅读本文需要您具备80X86汇编语言和C语言的基础知识。为了使中文描述更加清楚自然,翻译过程中加入了稍许解释和意译部分。 简介 版权/反馈/勘误/感谢等信息…阅读全文

80386保护模式本质

本文试图用有限的篇幅来阐述80386保护模式重要知识点。本文不是一个系统全面的知识介绍,您可能需要了解相关的80386汇编,微型计算机原理和C语言知识。 适合读者:需要了解8386 CPU工作模式,适合正在学习微机原理的同学和准备阅读Linux内核代码的码农。想自己做一个操作系统的同学也可以从本文中获得一些知识储备。 关于80386寻址 什么是寻址 这里说的寻址(addressing)是指CPU内…阅读全文