Posts by Categories

Journal

返回顶部 ↑

LeetCode

返回顶部 ↑

Programming Skills

Vim quickfix 模式的妙用

公司里有一批祖传脚本,代码写得又长又臭,领导让你重构。既然要重构,就难免要修改代码中的变量和函数,但是Shell语言目前并没有IDE之类的工具,没办法进行代码智能重构,所以我们在重构变量/函数的时候不能自动地把相关的引用代码一起修改掉,怎么办呢?

Vim精粹

Vim基础 Vim是一个通过命令进行交互并且区分模式的编辑器,理解这一点是用好Vim的基础。

File System

什么是文件 文件(file) 是一个有名字的源(source),可以从中读取数据 又或者是一个有名字的目标(target),可以向其中写入数据

SQL基础教程

基本概念 数据库(Database): 经过组织的数据集合 数据库管理系统(Database Management System, DBMS): 用于管理数据库的软件 关系数据库(Relational Database): 直观上来说,就是以表格结构管理数据的数据库 结构化查询语言(Struct...

SQL中级教程

事务 事务(transaction),指作为一个整体执行的数据库操作序列。

返回顶部 ↑

Computer Science

Introduction to Operating System

操作系统简介 操作系统是什么:操作硬件,并为其他所有软件提供运行环境的软件。操作系统运行在裸机上。

进程与线程

进程 由于对操作系统多任务处理的需求,出现了进程的抽象概念 进程是对运行中的程序的抽象 线程 由于进程的粒度太大,为了进行更细粒度的控制,出现了线程的概念 线程指程序中的一个指令执行序列,此时进程退化为线程和硬件资源的容器 线程的出现实际上是代码执行(线程)与资源分配(进程)相分离的体现

算法分析预备知识

为什么需要算法分析? 在求解问题时,我们既需要得到正确的答案(正确性),也需要尽可能快地完成求解(性能)。一个正确的但运行时间极长的程序是不切实际的,我们真正需要的是正确且高效的程序。通过算法分析,我们可以找到程序的性能瓶颈并对程序进行性能优化。

算法分析基础

算法(algorithm)是由定义清晰的计算步骤所组成的操作序列。一旦我们确认了某个算法的正确性,接下来极其重要的一步就是分析它的运行时间和需要使用的空间资源。

算法分析例子:MaxSubSum问题

问题 给定整数\(A_1, A_2, ..., A_N,\)求\(\sum_{k=i}^{j}A_k\)的最大值,其中\(A_i\)有可能是负数。这里把使得\(\sum_{k=i}^{j}A_k\)最大的序列称为最大连续子序列。

返回顶部 ↑

Data Structures and Algorithms

算法分析预备知识

为什么需要算法分析? 在求解问题时,我们既需要得到正确的答案(正确性),也需要尽可能快地完成求解(性能)。一个正确的但运行时间极长的程序是不切实际的,我们真正需要的是正确且高效的程序。通过算法分析,我们可以找到程序的性能瓶颈并对程序进行性能优化。

算法分析基础

算法(algorithm)是由定义清晰的计算步骤所组成的操作序列。一旦我们确认了某个算法的正确性,接下来极其重要的一步就是分析它的运行时间和需要使用的空间资源。

算法分析例子:MaxSubSum问题

问题 给定整数\(A_1, A_2, ..., A_N,\)求\(\sum_{k=i}^{j}A_k\)的最大值,其中\(A_i\)有可能是负数。这里把使得\(\sum_{k=i}^{j}A_k\)最大的序列称为最大连续子序列。

返回顶部 ↑

Vim

Vim quickfix 模式的妙用

公司里有一批祖传脚本,代码写得又长又臭,领导让你重构。既然要重构,就难免要修改代码中的变量和函数,但是Shell语言目前并没有IDE之类的工具,没办法进行代码智能重构,所以我们在重构变量/函数的时候不能自动地把相关的引用代码一起修改掉,怎么办呢?

Vim精粹

Vim基础 Vim是一个通过命令进行交互并且区分模式的编辑器,理解这一点是用好Vim的基础。

返回顶部 ↑

Operating System

Introduction to Operating System

操作系统简介 操作系统是什么:操作硬件,并为其他所有软件提供运行环境的软件。操作系统运行在裸机上。

进程与线程

进程 由于对操作系统多任务处理的需求,出现了进程的抽象概念 进程是对运行中的程序的抽象 线程 由于进程的粒度太大,为了进行更细粒度的控制,出现了线程的概念 线程指程序中的一个指令执行序列,此时进程退化为线程和硬件资源的容器 线程的出现实际上是代码执行(线程)与资源分配(进程)相分离的体现

返回顶部 ↑

SQL

SQL基础教程

基本概念 数据库(Database): 经过组织的数据集合 数据库管理系统(Database Management System, DBMS): 用于管理数据库的软件 关系数据库(Relational Database): 直观上来说,就是以表格结构管理数据的数据库 结构化查询语言(Struct...

SQL中级教程

事务 事务(transaction),指作为一个整体执行的数据库操作序列。

返回顶部 ↑

Unix

File System

什么是文件 文件(file) 是一个有名字的源(source),可以从中读取数据 又或者是一个有名字的目标(target),可以向其中写入数据

返回顶部 ↑

Command Line Programs

返回顶部 ↑

Debugging

返回顶部 ↑