------------------------------------------------------------------------------
* 绝对路径转化为相对路径
<?php
/**
* $path相对于$base的相对路径
* @param string $base
* @param string $path
*/
function abs2rel(string $base, string $path) {
if (is_dir($base)) {
$base = rtrim($base, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . ".";
} $a = explode(DIRECTORY_SEPARATOR, $base);
$b = explode(DIRECTORY_SEPARATOR, $path); $d = []; // $path push
$i = count($a)-1; $sliceEquals = function($a, $b, $j) {
if ($j >= count($a) || $j >= count($b)) {
throw new Exception('$j out of range');
}
for ($i = $j; $i >= 0; $i--) {
if (strcmp($b[$i], $a[$i])!==0) {
return false;
}
}
return true;
};
// 找到a,b数组元素相同的下标
while (array_pop($a)) {
$i = count($a)-1;
if (isset($b[$i])) {
if ($sliceEquals($a, $b, $i)) {
break;
}
}
array_push($d, "..");
}
// 从首个不同元素开始
for ($i+=1; $i < count($b); $i++) {
array_push($d, $b[$i]);
}
return ".".DIRECTORY_SEPARATOR.implode(DIRECTORY_SEPARATOR, $d);
}

  

* 联合索引哪些有效
* 链表逆顺序 包含头节点
* 数组合并哪几种方式 

------------------------------------------------------------------------------

1. 负载均衡    [TO BE DONE]

https://blog.csdn.net/qq_28602957/article/details/61615876

2. 索引的建立 和查询 以及索引场景建立

3. thinkphp的路由    [ONGOING]

https://www.kancloud.cn/manual/thinkphp5/118030

./application/route.php

4.PHP中一些常用的spl函数   [TO BE DONE]

http://php.net/manual/en/book.spl.php

5.mysql的主从分离 对id进行hash 理解hash

6.linux的一些常用命令 熟悉linux  [DONE]

7. 递归 n!   [DONE]

8. php单例模式

9. mysql 分表

10. CAS认证, ucenter认证

  

---------------------------------------------爬虫相关的问题---------------------------------------------------

* php程序发送http请求

- curl

$ch = curl_init();

curl_setopt_array($ch, [
CURLOPT_URL => 'https://www.baidu.com',
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1
]); $data = curl_exec($ch);
curl_close($ch); echo $data.PHP_EOL;

-socket

* mysql存储引擎 myisam / innodb  select count(*) ... 用哪个存储引擎快

MyISAM会保存表的总行数,select count(*)在MyISAM存储引擎中执行,MyISAM只要简单地读出保存好的行数即可。

InnoDB存储引擎不会保存表的具体行数,因此,在InnoDB存储引擎中执行这段代码,InnoDB要扫描一遍整个表来计算有多少行。

* mysql 函数pconnect/connect

mysql_pconnect — Open a persistent connection to a MySQL server

* linux shell 定时器 脚本

crontab

* 投票限制 每人每分钟3次,每人每小时10次; 每个IP每分钟30次,每天100次

* 爬虫架构

* php实现一个跨请求的队列 (redis?)

* 上传文件安全限制

* "Hello world Blog Control" 字符串按空格分隔,分成数组,全部转化为小写,按字母顺序排

(php sort 和javascript的sort方法不同 不传回调用SORT_STRING )

<?php
class TestArrayObject {
private $s = ""; public function __construct($s) {
$this->s = $s;
} public function run() { $ao = new ArrayObject(array_map(function($word) {
return strtolower($word);
}, explode(' ', $this->s))); $ao->uasort(function($a, $b) {
return strcmp($a, $b);
}); return $ao->getArrayCopy();
} } $o = new TestArrayObject("Hello world Blog Controll Hola Hi Shalom");
$a = $o->run();
var_dump($a);

TestArrayObject.php  

  

---------------------------------------------/爬虫相关的问题---------------------------------------------------

随机推荐

  1. NOIP 模拟 6 宝藏

    题目 题解 这道题是 \(NOIP\;\;2017\) 的原题 ,让我见识到了什么是真正的 \(dfs\) 考场上想出来要状压了,\(n\) 那么小,肯定是压 \(n\) 那一位,然后层第转移,但是想 ...

  2. Object 类中的主要结构

    == 操作符与equals 方法 == 操作符  equals 方法  重写equals() 方法的 toString()  方法

  3. Java知识图谱(附:阿里Java学习计划)

    摘要:     本文主要描绘了Java基础学习过程,给出Java知识结构图,以及阿里Java岗学习计划,对Java学习爱好者.准备及将要从事Java开发方面的同学大有裨益. 温馨提示:     由于C ...

  4. Go与接口:接口即约定

    接口 接口类型是对其他类型行为的概括与抽象.我们可以通过接口来约定某一类通用行为.Go语言的接口是隐式的:只要实现接口A的所有方法就代表实现了接口A. 接口即约定 接口是什么样的? package i ...

  5. C++类和对象笔记

    笔记参考C++视频课程 黑马C++ C++ 面向对象的三大特性:封装.继承.多态 目录 目录 目录 一.封装 1.1 封装的意义-属性和行为 1.2 struct和class的区别 1.3 成员属性设 ...

  6. java一些工具类

    import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java. ...

  7. 【WPF】 OxyPlot图表控件学习

    最近在学习OxyPlot图表控件,一些基本的学习心得,在这里记录一下,方便以后进行查找.   一.引用 OxyPlot控件可以直接在VS的 " Nuget " 里面下载   选择: ...

  8. android http get

    Executors.newSingleThreadExecutor().execute{ val uri = "https://www.cnblogs.com/hangj" val ...

  9. bat 使用ftp进行文件上传

    实例 @echo off rem 打开远程ftp echo open 172.16.137.23 > ftpconfig.txt rem 使用匿名用户登录 echo user anonymuou ...

  10. 洛谷P1083 借教室 题解

    题目 [NOIP2012 提高组] 借教室 题解 这道题是几周之前做到的一道题,本来不想讲的,因为这道题也是用到了二分答案的方法,这类题目之前已经发布过两篇题解了.但这道题还运用了差分数组这个思想,所 ...