二分查找

二分查找算法,也叫折半查找算法。时间复杂度为 O(logn),只适用于有序表。 #include <stdio.h> // 循环实现方式 int binary_search(int *a, int n, int key) { int low, high, m…

Nginx 热升级

编译 Nginx // 下载 Nginx 源码安装包 wget https://nginx.org/download/nginx-1.14.2.tar.gz // 解压压缩包 tar -xzf nginx-1.14.2.tar.gz // 进入源码目录 cd nginx-1.14.2 // 编译之…

差错控制

数据通信中不加任何差错控制措施,直接用信道来传输数据是不可靠的。而且,无线通信正在普及,它的错误率比光纤干线要高出几个数量级,因而必须知道如何来处理传输错误。 差错控制的首…

组件

现代的 PHP 较少使用庞大的框架,而是更多地使用具有互操作性的专门组件制定解决方案。开发新 PHP 应用时,我很少直接使用 Laravel 或 Symfony,而是思考能把哪些现有的 PHP 组件结合…

递归

栈有一个很重要的应用:在程序设计语言中实现了递归。我们先来看一个经典的递归例子:斐波那契数列。 斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 特点:前面相邻两…

区块链入门

区块链的概念 从技术的角度来讲,区块链就是一种特殊的分布式数据库。 区块链的分类 公有链:比特币、以太坊、EOS。 私有链:公司内部搭建的开发节点、测试节点等。 联盟链:Fabric、R3…

网络精选题

Q:某用户的计算机通过以太网连入互联网,该用户在浏览器的地址栏中输入了某网站的地址,并按下回车键,随后看到了该网站的主页。请依据 TCP/IP 参考模型列出该通信过程所涉及的网络协…

依赖注入

出自维基百科 Wikipedia 中的 依赖注入 依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。 我们可以用一个简单的例子来说明依赖注入的…

一个面向对象留言本的实例

用面向对象的思想完成一个简单的留言本模型,这个模型不涉及实际的数据库操作以及界面显示,只是一个 demo,用来演示面向对象的一些思维。 在面向过程的思维里,要设计一个留言本,一…

Crontab 定时任务命令

检查 crontab 工具是否安装:crontab -l 检查 crond 服务是否启动:service crond status 命令基本形式:分 小时 日 月 星期 命令 // 每晚的 21:30 重启 apache 30 21 * * * service ht…