------------------------------------------------------------------------------
* 绝对路径转化为相对路径
<?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. Linux提权手法整理

    之前写过了windows提权小结,这下一篇水什么就有了嘛,于是有了这篇水文,整理一下Linux提权 前篇windows提权小结 ,链接送上 https://www.cnblogs.com/lcxblo ...

  2. mysql如何查看是32位还是64位?

    mysql如何查看是32位还是64位? 1. mysql -V或mysql --version 或者 2. 进入mysql,输入命令:show variables like '%version_%';

  3. Java-线程池专题 (美团)

    实现多线程的三种方式,继承Thread,实现Runnable 和 实现 Executor接口 ,具体参考:Java 多线程 三种实现方式 去美团,问到了什么是线程池,如何使用,为什么要用,以下做个总结 ...

  4. 编写一个简单的COM组件

    参考网站:编写一个简单的COM组件_a ray of sunshine-CSDN博客 (1) 用MIDL编写.idl文件 //将以下代码保存成 IXIYIZ.idl 文件 //在命令行上进行编译,编译 ...

  5. C# Unity容器的使用

    最简单的使用方式(记得安装Unity NuGet包呀) Console.WriteLine("***************Unity容器的初步应用***************" ...

  6. LeetCoded第20题题解--有效的括号

    有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空 ...

  7. 【VLC开发】libvlc_new函数参数

    项目中有视频监控的需求,找了vlc这个开源视频工具,在获取实例参数时遇到了问题, 要得到VLC的全部参数有两种方法, 1 只要在创建时加上"--longhelp"和"-- ...

  8. Spark Core核心----RDD常用算子编程

    1.RDD常用操作2.Transformations算子3.Actions算子4.SparkRDD案例实战 1.Transformations算子(lazy) 含义:create a new data ...

  9. Struts中整合的强大Ognl学习(一)

    测试使用了一个JavaBean的User,User中的Address单独封装再形成了一个JavaBean: 为了测试静态方法和静态变量调用,写了一个Util方法: 因为测试Ognl功能过多所以直接使用 ...

  10. ArrayPool 源码解读之 byte[] 也能池化?

    一:背景 1. 讲故事 最近在分析一个 dump 的过程中发现其在 gen2 和 LOH 上有不少size较大的free,仔细看了下,这些free生前大多都是模板引擎生成的html片段的byte[]数 ...