工作日和节假日api

2022-01-06
阅读 1 分钟
3.5k
介绍节假日api核心服务托管在阿里云与腾讯云之上,API天然分布式、高可用。起步如果您需要知道某个日期N个工作日之后是什么日子,您可以使用 GET 或者 POST 向下面的入口发起一个请求。 {代码...} 如果您需要知道某两个日期之前的工作日分布情况,您可以使用 GET 或者 POST 向下面的入口发起一个请求。 {代码...} 例子如...

PHP实现网页截图?

2021-02-26
阅读 1 分钟
5.5k
PHP实现网页截图是一个在日常开发中不常见的需求,但是如果实现还是非常有意思的。目前业界有很多成熟的方案,下面我推荐使用一个很稳定的第三方服务来直接实现,该服务有如下特点:

Redis必知必会之持久化

2020-02-08
阅读 2 分钟
2.6k
1.Redis所有的数据保存在内存中,对数据的更新将异步的保存到磁盘上。 2.持久化的方式:快照(MySQL Dump和Redis RDB)、写日志(MySQL Binlog和Redis AOF) 3.Redis RDB触发方式 save(同步命令,替换老文件) bgsave (异步命令,fork() 一个进程处理 一般情况会很快) 自动 命令 save bgsave IO类型 同步 异步 是否阻...

Redis慢查询、Pipeline、发布订阅、Bitmap、HyperLogLog、GEO快速了解

2020-01-16
阅读 2 分钟
3.7k
Redis慢查询 1.用于查看Redis慢日志。 Redis pipeline 1.用于批量操作 发布订阅 1.角色:发布者和订阅者、频道。2.模型:类似生产者和消费者。3.API publish: publish channel message subscribe: subscribe channel unsubscribe: unsubscribe channel psubscribe: 模式订阅。 punsubscribe: 退订指定的模式。 pubsub ch...

Redis必知必会之API

2020-01-06
阅读 3 分钟
3.1k
1.Redis是一个开源、基于键值的存储系统、多种数据结构、功能丰富。2.Redis支持持久化,断电不丢数据,对数据的更新异步保存到磁盘上。3.Redis支持字符串、哈希、列表、集合、有序集合、位图、超小内存唯一计数、地理信息定位。4.Redis支持多语言客户端,支持发布订阅,Lua脚本,事物,不依赖外部库,单线程模型,支持主...

LeetCode 对称二叉树

2019-12-12
阅读 2 分钟
3k
描述 这是一道LC上简单程度的题目,我这里是利用BFS+迭代实现的。思路参考自我之前学习的数据结构和算法。 {代码...} 解答 {代码...}

PHPer如何进阶?

2019-12-10
阅读 1 分钟
2.6k
在我们这个行业,职业初期的投入ROI极高,很多人在前几年都能保持平均每年20%的涨幅。乍看好像不高,难就难在平均每年20%的收益,试问现实社会中还有几个如此高收益又低风险的投资渠道,就算有也很难轮到你。前期是打下根基的关键时期,需全力以赴,完成第一波积累,未来才有可能守正出奇。 这个阶段的战术相对简单,做...

当我们讨论TCP的连接运输管理时,我们在说什么

2019-01-02
阅读 2 分钟
2.3k
TCP是面向连接的协议。运输连接是用来传送TCP报文的。TCP的连接和释放是每一次面向连接的通信中必不可少的过程。因此,运输连接就有三个阶段,即:连接建立,数据传输和连接释放。运输连接的管理就是使运输连接的建立和释放都可以正常的进行。

MySQL实验: 实践索引对全列匹配、最左前缀匹配、范围查询等条件的影响以及了解脏读、幻读等

2018-10-14
阅读 8 分钟
6.6k
索引实验 实验目的:了解索引对于全列匹配,最左前缀匹配、范围查询的影响。实验所用数据库见文章最底部连接。 实验软件版本:5.7.19-0ubuntu0.16.04.1-log (Ubuntu)实验存储引擎:InnoDB {代码...} 实验一、全列匹配 {代码...} 很明显,当按照索引中所有列进行精确匹配(这里精确匹配指“=”或“IN”匹配)时,索引可以被用...

PHP面试:常见查找算法一篇说透

2018-10-02
阅读 9 分钟
5.6k
在本篇文章中,将为各位老铁介绍不同的搜索算法以及它们的复杂度。因为力求通俗易懂,所以篇幅可能较长,大伙可以先Mark下来,每天抽时间看一点理解一点。本文配套的Github Repo,欢迎各位老铁star,会一直更新的。

PHP面试:尽可能多的说出你知道的排序算法

2018-09-09
阅读 12 分钟
6.3k
本文适合对于排序算法不太了解的新手同学观看,大佬直接忽略即可。因为考虑到连贯性,所以篇幅较长。老铁们看完需要大概一个小时,但是从入门到完全理解可能需要10个小时(哈哈哈,以我自己的经历来计算的),所以各位老铁可以先收藏下来,同步更新在Github,本文引用到的所有算法的实现在这个地址,每天抽点时间理解一个...

PHP面试:说下什么是堆和堆排序?

2018-08-19
阅读 6 分钟
6.9k
堆是基于树抽象数据类型的一种特殊的数据结构,用于许多算法和数据结构中。一个常见的例子就是优先队列,还有排序算法之一的堆排序。这篇文章我们将讨论堆的属性、不同类型的堆以及堆的常见操作。另外我们还将学习堆排序,并将使用SPL实现堆。

PHPer面试必看:分门别类带你撸《剑指Offer》之二叉树

2018-08-05
阅读 12 分钟
2.7k
开篇 以下内容可能偏应试但很好理解,所以大家一定要坚持看下去,因为我们变强的过程注定孤独的,坚持下来就会看到明天的太阳。 回顾 我们接着说说你理解的二叉树吧这篇文章来的。下面我们来快速复习下二叉树相关的概念: 度:特定父节点的子节点的总数被称为它的度数。 路径:从源节点到目标节点的节点和边的序列称为两...

PHP面试:说说你理解的二叉树吧

2018-07-14
阅读 4 分钟
11.5k
迄今为止,我们对数据结构的探索仅触及线性部分。无论我们使用数组、链表、栈还是队列,都是线性数据结构。我们已经看到了线性数据结构操作的复杂性,大多数时候,插入和删除的复杂度可以用O(1)来表示。搜索有点复杂,需要O(n)复杂度。唯一的例外是PHP数组,它实际上是哈希表,如果索引或键在这样的以这样的方式管理,则...

PHP中的无限级分类、无限嵌套评论

2018-07-06
阅读 3 分钟
5.1k
无限级的分类在平常的开发中是常见的需求,并且在不少面试题中都会碰到。不管你做什么项目,应该都碰到过类似的问题。下面,我们就使用递归的思想,实战一把。

PHPer也刷《剑指Offer》之链表

2018-06-22
阅读 3 分钟
1.7k
温故知新 链表由一个一个的作为节点的对象构成的,每一个节点都有指向下一个节点的指针,最后一个节点的指针域指向空。每个节点可以存储任何数据类型。 根据类型可以分为单链表、双链表、环形链表、复杂链表等等结构,这些结构又可以相互组合。 对这部分基础内容不太熟悉的同学可以看我之前写的实战PHP数据结构基础之单...

实战PHP数据结构基础之队列

2018-06-16
阅读 7 分钟
3.2k
队列是另外一种遵循先进先出原则的线性数据结构。队列有两端可供操作,一端出队,一端入队。这个特点和栈不同,栈只有一端可以用来操作。入队总是在后端,出队在前端。

实战PHP数据结构基础之栈

2018-06-15
阅读 4 分钟
2.3k
栈遵循后进先出的原则(LIFO)。这意味着栈只有一个出口用来压入元素和弹出元素,当我们执行压入或者弹出操作的时候要注意栈是否已满或者栈是否是空的。

实战PHP数据结构基础之双链表

2018-06-12
阅读 3 分钟
4.1k
什么是双链表? 上一篇实战PHP数据结构基础之单链表说到 单链表由一个一个的作为节点的对象构成的,每一个节点都有指向下一个节点的指针,最后一个节点的指针域指向空。每个节点可以存储任何数据类型。 而双链表每个节点有两个指针域,分别指向前驱和后继节点。单链表是单向的,而双链表是双向的。 常见操作 对双链表我...

实战PHP数据结构基础之单链表

2018-06-11
阅读 2 分钟
4k
什么是链表? 链表由一个一个的作为节点的对象构成的,每一个节点都有指向下一个节点的指针,最后一个节点的指针域指向空。每个节点可以存储任何数据类型。 常见操作 对单链表我们常见的操作有如下: insert insertBefore insertAfter insertAtFirst search deleteFirst deleteLast delete reverse getNthNode ... PHP语...

PHP最佳实践之上线准备

2017-08-01
阅读 3 分钟
1.8k
1).如果你使用的不是Pass,那么先配置VPS或者专用的服务器才能运行PHP应用。本文假设你会使用vim或者nano编辑器。2).我们选择nginx服务器来作为我们的web服务器。

PHP最佳实践之异常和错误

2017-07-26
阅读 3 分钟
3k
1).异常是Exception类的对象,在遇到无法修复的状况时抛出,例如远程API没有响应或者数据库查询失败再或者是无法满足程序运行的前置条件。出现问题的时候异常用于主动出击,委托职责;异常还可以用于防守,预测潜在的问题来减轻影响。2).Exception对象和其他的PHP对象一样,使用new关键字实例化。

PHP最佳实践之多字节字符串、字符编码

2017-07-26
阅读 1 分钟
2.5k
1).PHP假设字符串中的每一个字符都是八位字符,占用一个字节的内存。但是,你有可能会遇到多字节字符串。2).这里所说的多字节字符串是指不在传统的128个ASCII字符集中的字符。如果使用PHP原生的字符串函数处理这些多字节Unicode字符串,会得到意外的错误。3).安装mbstring扩展来处理这些问题。例如使用处理多字节的字符...

PHP最佳实践之日期、时间和时区

2017-07-25
阅读 2 分钟
3.6k
1).自己处理很容易出错,建议使用从PHP5.2之后新增的DateTime、DateInterval和DateTimeZone类。2).使用date_default_timezone_set('Asia/Shanghai');设置默认时区为中国时区,或者你也可以在php.ini文件中配置。3).使用DateTime管理时间和日期:

PHP最佳实践之过滤、验证、转义和密码

2017-07-23
阅读 3 分钟
2.7k
过滤、验证和转义 1).不要相信任何来自不受自己直接控制的数据源中的数据。包括但不限于: $_GET $_POST $_REQUEST $_COOKIE $argv php://stdin php://input file_get_contents() 远程数据库 远程API 来自客户端的数据 2).解决办法:过滤输入。删除不安全的字符,在数据到达应用的存储层之前,必须过滤数据。需要过滤的...

PHP最佳实践系列之标准

2017-07-22
阅读 2 分钟
2.1k
1).即PHP Framework Interop Group。这个组织发布推荐的规范,而不是强制规范。2).PHP-FIG的使命是实现框架的互操作性。框架的互操作性指的是通过自动加载机制、接口和标准的风格,让框架互相合作。3).框架之间通过接口、自动加载和标准的编码风格进行合作。

PHP新特性之字节码缓存和内置服务器

2017-07-21
阅读 2 分钟
2.9k
1).从PHP5.0开始,内置了字节码缓存功能,名为Zend OPcache。因为PHP是解释性语言,PHP解释器执行PHP脚本时会解析PHP脚本代码,生成一系列的Zend操作码,然后执行字节码,每次的HTTP请求都是这样,会消耗很多资源,使用字节码缓存可以缓存预先编译的字节码,减少响应时间,降低系统资源的压力。

PHP新特性之闭包、匿名函数

2017-07-21
阅读 3 分钟
3.8k
1).闭包和匿名函数在PHP5.3中被引入。2).闭包是指在创建时封装函数周围状态的函数,即使闭包所在的环境不存在了,闭包封装的状态依然存在,这一点和Javascript的闭包特性很相似。3).匿名函数就是没有名称的函数,匿名函数可以赋值给变量,还可以像其他任何PHP对象一样传递。可以将匿名函数和闭包视作相同的概念。4).需要...

PHP最佳实践之数据库

2017-07-18
阅读 3 分钟
2.9k
PDO扩展 PHP原生提供了PDO扩展,意思是PHP数据对象。 数据库链接和DSN DSN是指数据源名称,提供数据库链接的详细信息。一般包含以下信息: 主机名或者IP地址 端口号 数据库名 字符集 以上信息构成的DSN可以用于PDO类构造函数的第一个参数,第二个和第三个参数分别是数据库的用户名和密码。如果数据库需要认证,则需要提...

PHP新特性之命名空间、性状和生成器

2017-07-17
阅读 3 分钟
1.6k
1).命名空间在PHP 5.3中被引入,类似于文件夹的功能。例如Symfony框架中的Request和Response,位于Symfony的命名空间下。2).命名空间始终应该在<?php标签的下面一行。3).PHP文件的命名空间和操作系统的物理文件系统不同,这是一个虚拟的概念,没有必要和文件系统的目录结构完全对应。虽然如此,绝大多数PHP组件为了兼...