Supervisor 是 Linux 下一个进程管理的工具,主要的功能包括让程序自动启动、程序奔溃后自动重启,指定进程的数目等。本文主要讲述 Supervisor 在 Linux 下的安装与使用。

阅读全文 »

在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。

本文主要以 MySQL 为例,讲述几个锁的概念 (行级锁、页级锁、表级锁、共享锁、排它锁等),这些概念的范畴不限于 MySQL,在并发系统上均有应用。

阅读全文 »

爬虫一般通过获取网页的源码,然后通过正则表达式或 html 解释器获取所需的信息,但是有的网页,不能直接通过 linux 下的 wget 命令、或者使用 Python 中的 requests.get 这样的函数库来直接获取其真正展现给用户的信息,因为里面包含有 JavaScript 脚本,而该 JS 和页面数据的生成相关,需要通过 Firefox、Chrome 等浏览器渲染后才能得到想要看的结果。

阅读全文 »

简介

本文主要通过实际例子介绍 segment tree 这种数据结构及其应用。以 LeetCode 上的一道题目 307. Range Sum Query - Mutable 为例说明。

阅读全文 »

排序是非常常见的操作,常见的排序算法的时间复杂度一般为 \(O(n^2)\)(冒泡、选择、插入)或 \(O(nlogn)\)(快排、归并等)。虽然这些算法对于编程人员来说是基础,但是在实际工程中往往会使用语言内置的排序函数,主要是考虑到编程效率和自己编写排序函数时涵盖情况不全的问题。因此本文主要讲述 python 中的内置函数。

阅读全文 »
0%