• 最新文章
  • 基础必修
  • 编程语言

深入c语言和程序运行原理(23)生产加速:如何使用结构化编译加速 C 项目构建?

  在之前的课程中,我们曾遇到过很多段示例代码。而这些代码有一个共性,就是它们都十分短小,以至于可以被整理在一个单独的 .c 文件中。并且,通过简短的一行命令,我们就可以同时完成对代码的编译和程序的运行。 但现实情况中的 C 项目却往往没这么简单,动辄成百上千的源文件、各种各样的外部依赖与配置项,这些都让事情变得复杂了起来。因此,当 C 项目的体量由小变大时,如何组织其源代码的目录结构与
深入c语言和程序运行原理(23)生产加速:如何使用结构化编译加速 C 项目构建?

深入c语言和程序运行原理(22)生产加速:如何使用自动化测试确保 C 项目质量?

  “测试”是每个软件在其开发生命周期(SDLC)中都不可或缺的一个重要阶段。通过对软件进行各种不同类型的测试,我们能够从多个维度验证软件的功能表现,并在出现偏差时及时修正,以确保它们可以按照预期工作。根据实施方式、深入粒度、应用场景及目的等因素的不同,测试可以被分为多种类型。其中,有些测试较为基础和通用,甚至被作为软件开发流程中的必备一环;而有些测试则仅适用于某些特定情况。 因此,为了
深入c语言和程序运行原理(22)生产加速:如何使用自动化测试确保 C 项目质量?

MySQL 必知必会(16)视图:如何简化查询?

举个小例子,在学校的信息系统里面,为了减少冗余数据,学生档案(包括姓名、年龄等)和考试成绩(包括考试时间、科目、分数等)是分别存放在不同的数据表里面的,但是,我们经常需要查询学生的考试成绩(包括学生姓名、科目、分数)。这个时候,我们就可以把查询学生考试成绩的这个关联查询,用视图的形式保存起来。这样一来,我们不仅可以从视图中直接查询学生考试成绩,让查询变得简单,而且,视图没有实际存储数据,还避免了数
MySQL 必知必会(16)视图:如何简化查询?

MySQL 必知必会(15)临时表:复杂查询,如何保存中间结果?

  当我们遇到一些复杂查询的时候,经常无法一步到位,或者是一步到位会导致查询语句太过复杂,开发和维护的成本过高。这个时候,就可以使用临时表。 下面,我就结合实际的项目来讲解一下,怎么拆解一个复杂的查询,通过临时表来保存中间结果,从而把一个复杂查询变得简单而且容易实现。 临时表是什么? 临时表是一种特殊的表,用来存储查询的中间结果,并且会随着当前连接的结束而自动删除。MySQL 中有 2
MySQL 必知必会(15)临时表:复杂查询,如何保存中间结果?

MySQL 必知必会(14)事务:怎么确保关联操作正确执行?

我们经常会遇到这样的场景:几个相互关联的数据操作,必须是全部执行,或者全部不执行,不可以出现部分执行的情况。比如说,你从微信账号里提现 100 元到银行卡上,这个动作就包括了相互关联的 2 个步骤,首先是微信账号减 100 元,然后是银行卡账号加 100 元(这里假设没有手续费)。假如因为某种异常,这 2 个操作只执行了一个,另外一个没有执行,就会出现你的钱少了 100 元,或者你的钱多了 100
MySQL 必知必会(14)事务:怎么确保关联操作正确执行?

MySQL 必知必会(13)索引:如何提高查询的速度?

在我们的超市信息系统刚刚开始运营的时候,因为数据量很少,每一次的查询都能很快拿到结果。但是,系统运转时间长了以后,数据量不断地累积,变得越来越庞大,很多查询的速度就变得特别慢。这个时候,我们就采用了 MySQL 提供的高效访问数据的方法——索引,有效地解决了这个问题,甚至之前的一个需要 8 秒钟才能完成的查询,现在只用 0.3 秒就搞定了,速度提升了 20 多倍。 那么,索引到底是啥呢?该怎么使用
MySQL 必知必会(13)索引:如何提高查询的速度?

MySQL 必知必会(12)如何进行数学计算、字符串处理和条件判断?

MySQL 提供了很多功能强大,而且使用起来非常方便的函数,包括数学函数、字符串处理函数和条件判断函数等。 在很多场景中 ,我们都会用到这些函数,比如说,在超市项目的实际开发过程中,会有这样的需求: 会员积分的规则是一元积一分,不满一元不积分,这就要用到向下取整的数学函数 FLOOR(); 在打印小票的时候,收银纸的宽度是固定的,怎么才能让打印的结果清晰而整齐呢?这个时候,就要用到 CONCAT(
MySQL 必知必会(12)如何进行数学计算、字符串处理和条件判断?

从0开始学大数据(18)如何自己开发一个大数据 SQL 引擎?

从今天开始我们就进入了专栏的第三个模块,一起来看看大数据开发实践过程中的门道。学习一样技术,如果只是作为学习者,被动接受总是困难的。但如果从开发者的视角看,很多东西就豁然开朗了,明白了原理,有时甚至不需要学习,顺着原理就可以推导出各种实现细节。 各种知识从表象上看,总是杂乱无章的,如果只是学习这些繁杂的知识点,固然自己的知识面是有限的,并且遇到问题的应变能力也很难提高。所以有些高手看起来似乎无所不
从0开始学大数据(18)如何自己开发一个大数据 SQL 引擎?