• 欢迎访问IT乐园(o゚▽゚)o
  • 推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
一些算法及实现

一些算法及实现

1.反转函数的实现 /** * 反转数组 * @param array $arr * @return array */ function reverse($arr) { $n = count($arr); $left = 0; $right = $n - 1; while ($left < $right……

Python3 切片详解

Python3 切片详解

先构造一个 list 列表 a: a = list(range(1,8)) # [1, 2, 3, 4, 5, 6, 7] 切片的使用可以看做 [start:end:interval],三者的取值可正可负。其中,start、end、interval 有时候可以省略。 列表 a 中每个数字对应正、负两个索引,如 a[2] = a[-5] = 3,这是因为……

yii2 中根据用户 ip 限制访问接口频率

yii2 中根据用户 ip 限制访问接口频率

将如下代码加入控制器中 public function init() { # 限制每个用户 ip 访问抽奖接口频率 if (in_array(Yii::$app->requestedRoute, [ 'index/riddle/test','index/riddle/draw-lo……

mysql 索引类型以及适用场景

mysql 索引类型以及适用场景

一、索引类型 1.普通索引 最基本的索引,没有任何限制 2.唯一索引 索引列的值必须唯一,但允许有空值 3.主键索引 主键索引属于一种特殊的唯一索引,不允许有空值 4.单列索引 单个多列索引(组合索引)效率高于多个单列索引 5.最左前缀(Leftmost Prefixing):多列索引 多列索引只有在 where 条件中含有索引中的首列字段时才有效 例如:f……

mysql 优化之伪哈希索引

mysql 优化之伪哈希索引

想法非常简单,在标准的 B-Tree 索引上创建一个伪哈希索引。它和真正的哈希索引不是一回事,因为它还是使用 B-Tree 索引进行查找。然而,它将会使用键的哈希值进行查找,而不是键自身。你所要做的事情就是在 where 子句中手动地定义哈希函数。 例子:URL 查找。 URL 通常会导致 B-Tree 索引变大,因为它们非常长。通常会按照下面的方式来查找 ……

Composer install 和 update 命令

Composer install 和 update 命令

官方定义: Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 传送门:Composer 中文文档 。 Composer 的全局安装和配置等文档中讲解详细,本文不再赘述。 Composer 不是一个包管理器。是的,它涉及 “packages” 和 “li……

Golang 的 md5 hash 计算

Golang 的 md5 hash 计算

Golang 计算 md5 值的方法都是接收 byte 型 slice([]byte)。而且使用习惯上也觉得略奇怪。 感觉 Golang 标准库在设计这些模块的时候,都会考虑使用带 New 关键字工厂生成一个该类型的结构体对象。然后再使用改对象的方法进行操作。 md5 包就是这样,来看例子: s := "api_key" + ApiKey + "param"……

用 Python 处理 HTML 转义字符的几种方式

用 Python 处理 HTML 转义字符的几种方式

写爬虫是一个发送请求,提取数据,清洗数据,存储数据的过程。在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XML 文档,不过大部分还是 HTML 文档,HTML 经常会混杂有转移字符,这些字符我们需要把它转义成真正的字符。 什么是转义字符 在 HTML 中 <、>、& 等字符有特殊含义(<,> 用于标……

Redis 常用命令

Redis 常用命令

Redis 提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些 command 可以在 Linux 终端使用。在编程时,比如使用 Redis 的 Java 语言包,这些命令都有对应的方法。下面将 Redis 提供的命令做一总结。 官网命令列表:http://redis.io/commands (英文) 1、连接操作相关的命令 quit:关……

php 类型约束

php 类型约束

PHP 5 可以使用类型约束。函数的参数可以指定必须为对象(在函数原型里面指定类的名字),接口,数组(PHP 5.1 起)或者 callable(PHP 5.4 起)。不过如果使用 NULL 作为参数的默认值,那么在调用函数的时候依然可以使用 NULL 作为实参。 如果一个类或接口指定了类型约束,则其所有的子类或实现也都如此。 类型约束不能用于标量类型如 i……

golang interface

golang interface

2.6 interface interface Go 语言里面设计最精妙的应该算 interface,它让面向对象,内容组织实现非常的方便,当你看完这一章,你就会被 interface 的巧妙设计所折服。 什么是 interface 简单的说,interface 是一组 method 签名的组合,我们通过 interface 来定义对象的一组行为。 我们前面……

python 中的迭代器与生成器

python 中的迭代器与生成器

迭代器与生成器 迭代器(iterator)与生成器(generator)是 Python 中比较常用又很容易混淆的两个概念,今天就把它们梳理一遍,并举一些常用的例子。 for 语句与可迭代对象(iterable object): for i in [1, 2, 3]: print(i) 1 2 3 obj = {"a": 123, "b": 45……