宅Max教学计划——php视频教程教案

一、基础编程

1.逻辑

a.条件if…else

b.分支switch…case

c.循环while

2.数据结构

a.布尔bool

b.数字number

c.字符串string

3.关系

a.与&&

b.或||

c.非^

d.等于==

二、常用函数

1.数组

a.array_pop

b.array_shift

c.count

d.in_array

e.sort

2.数学

a.rand

b.abs

c.round

d.ceil

e.floor

3.加密

a.bcrapt

b.aes

c.md5

4.字符串

a.slice

b.implode

c.explode

d.strstr

e.strpos

5.文件

a.fwrite

b.fopen

三、mysql

1.常用语法

a.select

b.delete…from

c.insert into

d.update

e.limit

f.order by

g.union

h.join…on

j.where

2.函数

a.fromunix

b.strtotime

c.concat

d.sum

e.count

3.高级应用

a.slow query

b.view

c.index

d.key

e.log

4.引擎

a.innodb

b.mysiam

c.csv

五、组件

a.phpword

b.phpexcel

c.tcpdf

d.phpmailer

e.ffmpeg

f.gd

g.imagick

四、js

1.库

a.vue.js

b.react

c.cordova

d.jquery

e.bootstrap

f.easyui

g.zepto

h.angular

j.electron

2.插件

a.echarts

b.ckplayer

c.uploadify

e.kindeditor

f.ueditor

g.chopper

h.datepicker

i.validation

3.高级应用

1.闭包

2.settimeout

3.dom

4.jquery.conflect

五、框架

1.thinkphp

2.laravel

3.yii

4.ci

六、linux

1.常用命令

a.rm

b.mkdir

c.cron

d.ifconfig

e.ps

f.ls

g.ll

h.uplink

i.pwd

j.cp

k.mv

l.top

j.cat

k.find

l.grep

m.yum

n.rpm

o.wget

p.help

q.rz

r.sz

2.vim

a.q

b.!

c.i

d.?

e./

七、常用工具

1.filezilla

2.xshell

3.navicat

4.netbeans

5.notepad++

6.sublime text

7.phpmyadmin

8.ab

9.phpstudy

10.宝塔

11.composer

12.zend guard

八、常用网址

1.开源中国

2.csdn

3.51cto

4.php.net

5.w3school

6.mozilla社区

7.活动行

php自定义函数之二维数组去重&分组

二维数组去重

function assoc_unique($arr, $key) {
            $tmp_arr = array();
            foreach ($arr as $k => $v) {
                if (in_array($v[$key], $tmp_arr)) {//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
                    unset($arr[$k]);
                } else {
                    $tmp_arr[] = $v[$key];
                }
            }
            sort($arr); //sort函数对数组进行排序
            return $arr;
        }
二维数组分组
function array_group_by($arr, $key){
            $grouped = array();
            foreach ($arr as $value) {
                $grouped[$value[$key]][] = $value;
            }
            if (func_num_args() > 2) {
                $args = func_get_args();
                foreach ($grouped as $key => $value) {
                    $parms = array_merge($value, array_slice($args, 2, func_num_args()));
                    $grouped[$key] = call_user_func_array(‘array_group_by’, $parms);
                }
            }
            return $grouped;
        }

一句话AI之人工智能十大算法

1.决策树
将数据以树形进行分类
2.随机森林
多个随机的决策树
3.逻辑回归
取出最大概率对应的类别
4.Adaboost
迭代分类
5.朴素贝叶斯
根据特征进行分类
6.K近邻
根据K个最近似数据的最大概率进行分类
7.K均值
两个对象距离越近,相似度越大
8.支持向量机
用核函数建立超平面找出最优数据分类
9.神经网络
模拟人脑处理信息
10.马尔科夫
预测未来概率的随机过程

一句话AI之人工智能十大关键词

1.分类
给定一组数据和类别,将其分类为不同类别
2.聚类
给定一组数据,依照相似度归类
3.降维
将复杂的计算简单化
4.机器学习
通过计算机进行神经网络学习
5.深度学习
多层的神经网络
6.增强学习
自己和自己博弈
7.迁移学习
将学习到的数据复刻到另一个模型中
8.CNN
卷积神经网络,将数据分卷,共享信息
9.RNN
循环神经网络,在时间维度上进行递归神经网络
10.GAN
生成对抗模型,根据生成器和判别器对新生成的数据进行归类

网站开发常用工具

ftp

FileZilla

ssh

Xshell,putty

数据库管理

navicatphpmyadmin

开发环境

phpstudy,lnmp

服务器

Apache,ngnix

数据库

mysqlsql serverredismongodb

控制面板

宝塔,wdcp

编辑器

sublime text,notepad++

集成环境

netbeansphpstorm

api文档

apidoc

持续集成

jenkins

项目管理

禅道

缓存

memcachedopcacheyac

后端框架

thinkphplaravel

前端框架

reactvusjs

前端库

jqueryzepto

css reset

yui

包管理

npmcomposer

数据同步

Rsync

ftp架设

pure-ftpd

网站监控

Zabbix

版本控制

Svn server,gitlab

云存储

七牛云,又拍云

云主机

阿里云,腾讯云

容器

k8sdocker

虚拟机

vmwarevitrulbox

人工智能

Tensorflow,torch

大数据

Openstack,lvs

java框架

Spring boot, ssh,ssm,spring cloud

多线程

Swoole,workman

h5app

codova

操作系统

centosubuntu

cdn

加速乐,cloudflare

智能dns

dnspod

whois

站长之家

全球ping

站长工具

抓取数据库

wireshark

改cookie,post调试

postman,crapapi

ssl

宝塔,腾讯云

网站优化指南20招

1.升级环境到最新版本

比如你的php、Apache、nginx、mysql等。据悉,php7.0的速度是php5.6的2倍

2.开启服务器的缓存扩展

包括opcache(缓存字节码),memcached(缓存sql结果集),yac(无锁共享内存)

3.开启swap

swap是linux的虚拟内存,一般设为内存的1.5~2倍

4.升级服务器

包括cpu,内存,硬盘(提升io,或者换成ssd的)

5.定期释放内存

当内存快要达到极限时,往往是因为php-fpm进程等占用过多,可以定期释放内存

6.防盗链&反爬虫

限制http referer来源和后缀,可以防止盗链和爬虫

7.使用cdn

例如知道创宇的加速乐,是免费的cdn,可以根据线路和区域分配访问缓存了静态数据的节点

8.使用https

可以使用宝塔或者腾讯云的免费ssl证书,更安全,更权威

9.使用控制面板

例如wdcp、cpanel、宝塔等

10.使用nosql存储临时数据

类似session,临时数值等,可以使用redis

11.使用nosql持久化存储

基于key-value的存储结构,速度更快,例如存储类似json串的mongodb

12.使用newsql

如收费的巨杉数据库和开源的TiDB,结合关系型数据库和nosql的优点

13.负载均衡

使用ngnix做负载均衡,当一台电脑负载过大,自动访问备用电脑

14.读写分离

一台服务器负责写入数据,另一台服务器负责读取数据,内网中同步数据,降低负载

15.数据库加索引

可以给经常查询的数据加索引,加速访问

16.分区分表

将数据库放在不同的主机上或者将一个表拆分成多个表

17.雪碧图

将网站上的小图片拼凑成一张图片,访问时减小请求

18.合并js,css

使用工具将单页面的js或者css合并成一个js或者css,减小请求

19.压缩js,css

使用工具压缩js,css

20.压缩图片

使用webp格式,或者工具压缩图片,减小尺寸

PHP笔记 增强版

1.last_insert_id
在mysql数据库中,显示上一次插入的自增数据,一般
用于获取上次插入的id

2.rawurlencode
将字符编码成url格式,可提高适配性

3.array_map
对数组中所有值进行回调函数处理后生成新数组

4.mysql_real_escape_string
转义 SQL 语句中使用的字符串中的特殊字符,避免sql
注入

5.strip_tags
函数剥去 HTML、XML 以及 PHP 的标签,多用于显示文

6.strtotime
将任何英文文本的日期时间描述解析为 Unix 时间戳

7.2038.1.19
由于Unix时间戳的限制,将会产生下一波的千年虫

8.date_format
mysql函数,根据format 字符串安排date 值的格式,
多用于日期查询

9.feof
检测流上的文件结束符,多用于检测是否到文件末尾

10.highlight_string highlight_file
多用于高亮显示源代码

11.parse_ini_file
解析一个配置文件,并以数组的形式返回其中的设置

12.mcrypt
PHP加解密库

13.exif_read_data
从图片文件中读取EXIF头信息

14.imagestring imagecopymerge
GD库函数。给图片添加水印

15.jpGraph
PHP图表生成扩展,可用于生成验证码

16.保留字
mysql中默认有特殊意义的单词,一般在定义字段和库
名时应避免使用

17.加花括号
在sql语句或者echo时,常给变量加花括号,用于直接
获取变量值

18.单双引号混合
当语句中需要嵌套引用时,应使用单双引号混合的嵌套
方式

19.短标签
<?=?>,开启后可以简写,但移植性差

20.magic_quotes
自动转义开关,一些老版本的PHP默认开启,有一定的
检测必要

21.session_set_save_handler
可将session保存于数据库中

22.explain
调试Mysql语句时使用

23.var_dump
调试数组时使用,可查看数组值及结构

24.ob_start
打开输出缓冲,多用于优化PHP,添加缓存

25.cache_lite
PHP缓存扩展

26.xpath
XML查询语言

27.rest
用于web服务的含状态传输机制

28.phpDocumentor
PHP API文档生成工具

29.PHPUnit
PHP单元测试工具

30.CLI
php命令行模式,可使用php脚本直接运行命令行

MySQL笔记

1.字符串连接
concat()

2.子查询
where xx in ()

3.正则表达式
regexp

4.限制
limit

5.排序
order by

6.两者内
between xx and xx

7.去空格
trim()

8.别名
as

9.当前日期
now()

10.日期
data()

11.时间
time()

12.行数
count()

13.不同行
distinct

14.增
insert into 表名 values ()

15.删
delete from

16.查
select 列名 from 表名

17.改
update 表名 set 列名 = 值

18.空值
is null

19.分组数据
group by xx having xx(having类似where)

20.命令顺序
where,group by,having,order by,limit

21.数据库和数据库管理系统区别
数据库是保存在硬盘的文件,而DBMS如MYSQL,ORACLE等

22.子查询构建
两个不同的表相同的字段

23.内部联结
inner join xx on xx(也称等值联结)

24.外部联结
left outer join xx on xx (包含其余的行,从左边表选择所有行)

25.创建组合查询
union(使用union all不取消重复行)

26.MyISAM和InnoDB引擎区别
前者支持全文检索,速度快
后者支持事务处理

27.模糊匹配
LIKE

28.匹配符
* 0个或多个字符
_ 任意一个字符

29.主键与外键的区别
前者是一个表中唯一的
后者是另外一个表中为了与前者相匹配的

30.全文本搜索
fulltext(需要对表进行索引)
match()(指定被搜索的列)
against()(指定要使用的搜索表达式)

31.使表达式区别大小写
binary

32.视图
虚拟的表

33.存储过程
mysql语句集合

34.游标
cursor(功能类似指针,针对存储过程的结果集)

35.触发器
create trigger(在某个语句事件发生时自动执行)

36.事务处理
保证成批的MySQL操作完全执行或完全不执行

PHP手册笔记 续

1.自动加载类
function __autoload($classname)
{
}
自动加载与实例化类同名的文件
2.重载
改写继承后类的属性和方法
3.Traits
trait myTrait
{
}
use myTrait;
被不同的类都能调用到的方法集合,代替多重继承
4.回调函数
callback
当特定的事件或条件发生的时候,被作为参数调用的函数
5.类型约束
规定函数的参数类型
6.后期静态绑定
static::who();
用于在继承范围内引用静态调用的类
7.对象复制与赋值的区别
$a = $b;
$a = clone $b;
指向的内存空间不同
8.序列化
serialize()
unserialize()
使变量、数组、对象便于在网络中传输(如URL、POST、cookies、数据库等),url中还需调用urlencode()
9.命名空间
namespace
解决重名问题,调用公共空间的方式是直接在元素名称前加 \

 

PHP手册笔记

1.静态变量
static
多次调用只初始化一次
2.全局变量
global
可以全局调用
3.可变变量
$$
变量的值变为新变量名
4.输出类型和数组
var_dump()
可以完整输出数组的key和value
5.判断类型
is_type()
type为类型名,判断是否为此类型
6.新建数组
arr[] = value;
新建一个数组,如已存在,则顺延
7.引用
$a = &$b
改变a值同时改变b值
8.新建数组2
$arr = array(“a” => “aa”,”b” => “bb”,);
使用=>符号赋值
9.赋值cookies
setcookie()
多个值赋给同一个cookie可以是数组
10.魔术引用
magic_quotes_gpc
老版本php默认打开,会给提交的特殊字符加反斜杠,建议关闭
11.常量
define(“FOO”,”something”);
传统上常量标识符都为大写,常量不加$,5.3后新增的const定义常量必须在顶端
12.魔术常量
__FILE__
双下划线开头和结尾
13.对象
$object = new class();
对象是类的实例化
14.执行运算符
$output =`ls -al`;
反引号,执行命令,效果同shell_exec()
15.数组联合
$a + $b
把右边的数组加到左边后面,如果键名一致,则只取左边
16.类型运算符
instanceof
用于确定一个PHP变量是否属于某一类class的实例
17.流程控制的替代语法
if ($a==5):
echo ‘a is equal to 5’;
endif;
把左边的{改为:,把右边的}改为endxx;
18.函数调用
函数无需在调用之前被定义,除非函数是有条件被定义时
19.双冒号
::
访问父类的成员或者访问静态属性
20.对象运算符
->
访问类的成员对象,有别于数组运算符=>
21.特殊的字符串表达方式
heredoc
<<<EOF
EOF
nowdoc
<<<‘EOF’
EOF
两个EOF之间的值不转义
22.抽象类
abstract
只能被子类继承,不能被对象实例化,且抽象方法不能有具体实现
23.构造函数和析构函数
__construct()
__destruct()
前者新建类时初始化属性,后者销毁类时执行命令
24.php中抽象类和接口的概念和区别
不同点:
抽象类中可以有非抽象的方法而接口中只能够有抽象的方法!
一个类可以继承多个接口,而一个类只能继承一个抽象类!
接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行!
共同点:
都类似于模版
25.final关键字
final
如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。
26.对象复制
clone object
复制对象
27.命名空间
namespace
只可用于常量、类、函数。类似目录