------------------------------------------------------------------------------
* 绝对路径转化为相对路径
<?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. 51Node 1065----最小正子段和
  2. 《统计推断(Statistical Inference)》读书笔记——第2章 变换与期望
  3. UVALive 6125 I’ve Got Your Back(gammon) 题解
  4. 查看.netframeword版本
  5. F5 会话保持
  6. 自定义TreeList单元格 z
  7. (转)关于redis、memcache、mongoDB 的对比
  8. 电商ERP常见功能模块
  9. dhtmlx之dhtmlXGrid显示数据 --大数据
  10. Linux驱动编写(块设备驱动代码)
  11. Selenium2 WebDriver环境搭建
  12. centos6.7下安装mysql5.6.22同时解决中文乱码问题
  13. 网站开发进阶(四)Tomcat Server处理一个http请求的过程
  14. [Swift]LeetCode890. 查找和替换模式 | Find and Replace Pattern
  15. MVC基本登陆与验证码功能实现
  16. node基础—概述与安装
  17. XML学习入门
  18. xpath获取带注释的text
  19. redhat 7.2更新yum源时踩的坑
  20. MAC之find与grep

热门文章

  1. 常见web中间件漏洞(二)Apache漏洞
  2. Nginx 真实的 IP
  3. MVVMLight学习笔记(一)---MVVMLight概述
  4. 关于windows下 python3安装 cython的说明
  5. vmware 配置不同网段双网卡。
  6. HCNP Routing&amp;Switching之OSPF LSA类型
  7. Ansible部署及配置介绍
  8. linux centos7 获取开机时间
  9. MySQL之连接查询和子查询
  10. tomcat配置启动不了