------------------------------------------------------------------------------
* 绝对路径转化为相对路径
<?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. ASP.NET Core导入导出Excel文件

    ASP.NET Core导入导出Excel文件 希望在ASP.NET Core中导入导出Excel文件,在网上搜了一遍,基本都是使用EPPlus插件,EPPlus挺好用,但商用需要授权,各位码友若有好 ...

  2. DVWA-sql注入(盲注)

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  3. DVWA-全等级跨站请求伪造

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  4. Docker入门第九章

    Commit镜像 docker commit 提交容器成为一个新的副本 # 命令和git原理类似 docker commit -m="提交的描述信息" -a="作者&qu ...

  5. 分布式redis自增

    redis+springboot RedisUtil.java package com.meeno.chemical.common.redis; import java.util.Date; impo ...

  6. spring boot , spring security 安全的认证

    pom 文件 ------------------------------------------------------------------- <dependencies> < ...

  7. openssl生成RSA密钥证书

    1.openssl的安装 2.RSA密钥证书的生成 3.openssl的常用命令 1.openssl的安装 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备的工具套 ...

  8. mfc HackerTools监控键盘按键

    string GetKey(int Key) { string KeyString = ""; //判断符号输入 const int KeyPressMask = 0x800000 ...

  9. Java第一阶段项目实训

    时间:2016-3-27 17:09 银行综合业务平台业务需求 1.首页  ---------------银行综合业务平台------------------- 1开户     2登录    3.退出 ...

  10. tree命令出现乱码

    alias tree='tree --charset ASCII'就可以了