自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 理解laravel---1.3 控制反转3

一段和标准略有不同的写法,有助于大家更好的理解服务器容器的概念!<?phpclass A{ protected $iocaaa; public function __construct(Ioc $ioc) { $this->iocaaa = $ioc; } public function getB() { return $this->iocaaa->make('b')->abc();

2020-06-12 15:27:15 717

原创 理解laravel---1.2 控制反转2

     在php运行时,扩展分析程序,导出或提出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取信息以及动态调用方法的功能称为反射API.<?php/** * @author zhuxinlei * @date 2020-06-12 * @desc 我是类A的注释 */class A{ //我是构造函数的注释 public function __construct(B $b) {

2020-06-12 15:25:40 1059

原创 遇到的奇奇怪怪的问题

1 无法生成静态文件问题描述:本地环境可以生成静态文件,而测试环境只能生成90%左右,可以确保代码层面没有问题 产生原因:测试服务器硬盘用尽 2 无法使用post提交表单,同样也无法使用ajax中的post方法解决问题思路:看程序入口处是否可以接受post值,如果可以说明是后续代码问题,如果不可以说明是服务器将post禁用。后查询得知是csrf验证过程中有参数不合法...

2018-07-29 17:12:52 1507

原创 每周一个linux command

1 crontab分钟 小时 日期 月份 周几*代表所有可能的值,表示一个列表范围。如(1,2,5,7,9) -表示一个整数范围。如(2-5)表示(2,3,4,5)/表示指定时间内的频率如每五分钟执行一次 */5 * * * *每天凌晨4点执行 0 4 * * *每周六日的凌晨4点执行 0 4 * * 6,7...

2018-07-29 16:10:21 221

原创 mysql 锁机制

innodb的锁分为共享锁和排它锁。这跟myisam中的读锁和写锁有很多不同,也是大多数人容易混淆的地方。myisam中的两种锁默认都是存储引擎自己加上去的(当然自己手动加也可以),查询时即(加了读锁之后),可以对该表进行读,但不能写。更新删除插入(加了写锁之后),不能读写。但innodb的锁很大不同,查询时默认是不加任何锁的。添加删除修改时默认会加排它锁。共享锁:即给锁定的行加锁,别的事物也...

2018-06-11 20:05:00 252

原创 设计模式

类与类之间的6中关系: 1 继承 2 实现关系(implementation)。 主要说明接口(包括抽象类)和实现类的关系。接口(包括抽象类)是方法(没有主题,只有定义)的集合,类实现了其中所有的方法。 3 组合关系(composition)。整体与部分的关系,但整体与部分不能分离。有一致的生存周期,是同生共死的关系。比如人的头部和身体的关系,没想到太实际的代码中的例子 4 聚合...

2018-05-31 07:39:40 232

原创 cookie session sso单点登录 session共享 跨主站/不跨主站

关于cookie和session其实原理非常简单,但长久以来不知道什么原因总是感觉没有完全搞明白其中的原理,甚至是基本原理,终于找到了答案,原来是一直就没有真正搞懂过,试想你会不知道&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;999+999=1998&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;而每次都去重新学加减运算计算吗?基础不牢,地动山摇

2018-05-24 00:45:47 816

原创 mysql分库分表

先说问题,分表以后的查询问题 先脑补一个订单表, 主键 创建时间 购买商品id 商品分类 所属商铺 用户id 当前状态 平时会有各种各样的查询要求, 有每天的统计订单数量的查询、 每个用户某个时间段的订单查询、 某个商品某段时间的购买数量统计、 某个商铺的销售情况统计 …….. 总之就是每个维度的查询都很多 那么问题来了,如果我们按照某个维度,比如i...

2018-05-22 00:43:58 217

原创 mysql基本操作

之前当然包括现在经常想学一些高大上的关于mysql的操作或优化管理技巧,其实有这些想法是好的,但往往忽略一些问题,那些基本的操作都熟练掌握了吗?如果这些都办不到,基本可以确定是无法在更高层次有所进步的,这不是有绝对关系,只是说明一个人连基础都没有打好怎么能有更好的进步??就像看到这篇文章总觉得自己对mysql基本语句都很熟悉了,却发现有些东西仍然不熟悉,比如创建一个表,你能不借助工具直接写出sql...

2018-05-19 20:30:45 189

原创 数据结构

我是开始的分割线20180516 1 什么是数据机构??? 数据结构能解决的问题或者牵扯到的问题:关于图书馆的书籍的排列问题 要考虑的问题很多,比如如何存放(新书怎么插入)、查找 问题: 1 插入(随便放)但查找的时候很恐怖,全表扫描(不可接受) 2 按照书名的拼音插入(二分查找),很好的解决的查找的问题,但新书来了怎么插入呢(移位的问题)? 3 先分类,在按照书名的拼音插入。好处:...

2018-05-17 00:27:02 155

原创 高性能mysql优化---索引优化

1 建表原则 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;1&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;动静分离:定长和变长相分离。也就是说占用字节相同的字段尽量放在同一个表中,这样的好处是在查找的时候效率会非常非常高,不仅仅是索引的原因,甚至可以通过计算占用空间大小来进行快速检索。 &amp;amp;amp;amp;amp;amp;amp;amp;amp;am

2018-05-11 00:20:05 265

原创 关于lua+nginx的一点小感悟(nginx php的工作原理)

为了解决项目高并发问题(已经确定瓶颈不在数据库),先介绍下总体架构吧。一台mysql、一台memcache、三台nginx, 在php代码已经做了适当优化之后,况且nginx服务器的分发能力毋庸置疑,说明现在只有两条出路,要么加机器,要么换语言,加硬件是不可能的,连买个内存都费老大劲,而换语言又是不可能的(难道让我们离职重新找别的开发语言的人或者让我们都转其他语言?),这时候在尽我利索能力的想压...

2018-04-24 00:14:02 3343

原创 实用的linux命令

1 find / -type f -name “.” |xargs grep -ri “字符串” 全局搜索指定字符串,如果知道指定文件的后缀可以这样:find / -type f -name “*.txt” |xargs grep -ri “字符串”...

2018-04-16 10:38:21 133

原创 每日一点--php-mysql-linux

1 关于mysql数据类型 varchar()最多可以存多少个字符,多少个字节 varchar(100)和varchar(10)的区别varchar最多可以存储65535个字节,因为在utf8下一个汉字占3个字节,所以可以存储20000多个字符,varchar后面的括号里指的是字符(在mysql4.0之前指的是字节),也就是说现在varchar(21835) 那varchar(100)可...

2018-03-22 18:45:45 166

原创 redis-cluster集群配置和主从

写在前面的问题:1 集群中的副本是不是只有在主服务器出问题的时候才会提供服务,那这样是不是会太浪费了,我试了一下设置为副本之后是无法在设置为slave的,如果是我说的这样,那配置集群的时候直接不设置副本,而直接将副本设置成主从的从服务器岂不是更好,那问题又来了,如果保证主服务器在出问题之后,从服务器能顶上去呢?以为集群中可以直接切换,但设置成主从模式之后没找到方法,因为主从是为了负载均衡而集群才

2018-01-21 23:15:56 1661

原创 ci框架中数据库对象的加载过程及使用方法

——————–写在2018-01-10,这又是一个比较沉重的话题,本是为了解脱另一个问题,有踏入新的泥潭—————– 首先,先掌握使用方式在去了解为什么会有这些个使用方法!!在实际的工作生活中,一定是你有了解决问题的能力体现了自己的价值,然后才会有时间去丰富自己羽翼,甚至再去夯实基础的,不可能任何东西一上来就能让你明白原理,拿出大把时间去学习了之后再去运用的,除了上学时候。 写在前面,

2018-01-17 21:34:19 627

原创 ci框架中数据库对象的加载过程及使用方法

——————–写在2018-01-10,这又是一个比较沉重的话题,本是为了解脱另一个问题,有踏入新的泥潭—————– 首先,先掌握使用方式在去了解为什么会有这些个使用方法!!在实际的工作生活中,一定是你有了解决问题的能力体现了自己的价值,然后才会有时间去丰富自己羽翼,甚至再去夯实基础的,不可能任何东西一上来就能让你明白原理,拿出大把时间去学习了之后再去运用的,除了上学时候。 写在前面,

2018-01-10 22:49:36 709

原创 php中的常用函数

常用函数且很有用的函数 <1> isset/empty isset检测是否设置变量,如果未定义变量或者定义了但值为null,则返回false.否则返回true empty检测变量是否为空,当变量未定义或者存在,但值为false,null,0,”,’0’,array()或者空对象时,返回true。否则返回true <2>_autoload 自动加载类 当你用不存在的类时,该方法会被触发

2017-12-25 21:10:14 197

原创 ci框架&框架设计思路

先来说一下ci的基础用法防止以后忘记,也为了更好的适用到工作中去,我这里用的版本是3.1.6 this−>load−>library();加载自定义类库2>this->load->library();加载自定义类库 this->load->helper();加载辅助函数 创建核心系统类,ci启动时会加载很多的核心类文件,如果我们想修改这些文件或是扩展他们的话,可以这样做,在appli

2017-12-14 22:05:54 1021

原创 数据库开发规范

数据库开发规范一、 表设计二、 索引三、 SQL语句四、 散表五、 线上数据库维护操作一、 表设计库名、表名、字段名必须使用小写字母或者“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意。建议使用InnoDB存储引擎。存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。建议使用UNSIGNED存储非负数值。整形定义中不添加长度,比如使用INT,

2017-10-23 17:12:01 369

原创 php程序员应该掌握的技能包

作为一名web开发者来说,不论是php还是java web,就我目前掌握的知识来说,个人认为应该掌握以下几个方面的内容 1 基础的编程语言,这个好像是废话 2 软件设计的思想,如面向对象、mvc、各种设计模式等等 3 web服务器的配置、优化,如apache、nginx 4 关系型数据库,现在mysql比较流行 5 非关系型数据库,如memcache、redis、MongoDB 6 h

2017-10-08 22:08:46 361

原创 mysql 索引优化、使用原则及注意事项

先介绍下索引建立及使用过程中应该初步需要注意的点 就像大部分文章和视频中所介绍的那样,刚开始的浅的东西都是大同小异 1 尽量给where条件和排序的字段建立索引 2 where条件中使用字段的顺序尽量和联合索引中的字段顺序一致(即最左前缀原则),其实不一致也可以,但一定要使用第一个字段作为条件才能使用到该索引,否则无法使用 3 索引除了能用于where条件搜索,还可以用于order by排序

2017-09-08 18:10:08 445

原创 Mysql 基础应用之group by/ having 用法

《1》 关于group by/having/count和where的联合使用 group by是分组用的这一点毋庸置疑,最简单的使用。这里有一个关于产品(project)和产品留言(t_message)的表,用户可以给每一个产品留言 <1.1>根据产品分类,并统计每个产品下的留言数量 select target_id,count(*) from t_message group by targe

2017-08-08 14:32:31 413

原创 php编程规范

1 类名、接口名称都必须以首字母大写的驼峰法命名 2 注释的规范 detail author params date 3 常量的命名必须全部大写,且不用驼峰,用下划线分割单词 4 类和接口中的方法必须用首字母小写的驼峰法命名,普通函数方法,必须遵守snake_case 式的下划线式命名规范。 5 类中私有的方法和属性必须按照_camelCase的方式命名,在驼峰法的基础上前面加一个下划线

2017-07-19 16:29:32 408

原创 linux 常用实用命令

ls cd 之类太基础的不说,useradd logname之类的不常用的不说 1 find 感觉这应该是非常基本且非常常用的一个命令了,简单且强大 find 参数 选项 常用命令例子 find ./ -name ‘php’ 查找当前目录下名称包含php的文件(包括连接 文件和目录) 参数

2017-07-19 15:46:58 265

原创 cgi fastcgi php-cgi php-fpm的概念及关系

cgi 是web服务器与应用程序处理(比如php解析器也就是php-cgi)之间通信的一种协议 fastcgi 是用来提高cgi程序性能的 标准的cgi请求的步骤:web服务器调用php解析器处理php程序,php解析器会加载php.ini配置文件,初始化执行环境。耗时较长 php-fpm 是一个实现了fastcgi的程序,已被php官方收录。

2017-07-13 14:51:36 292

原创 PHP 设计模式

首先什么是设计模式呢?我们知道,程序是为了解决实际问题应运而生的,刚开始肯定也只是简单的面向过程拿来即用,但随着业务逻辑的复杂和管理难度的增加,原来单纯的调用方法走天下的道路走不通了,(或者说增加了开发成本和后期维护成本,怎么可能走不通呢!!只能说不合适了),这时候就产生了设计模式,就是说人们按照一些约定俗成的用法(程序本身没有要求)去完成一些功能和逻辑的方法叫做设计模式。----这是我个人的定义啊

2017-05-29 18:29:39 286

原创 关于学习新框架

需要的接口: 1 判断用户是否登录的接口1,登录 返回1,未登录返回0并且进行下列操作—给该手机号发送验证码 2 留言接口2 插入t_message project_message 给企业发送短信 返回留言动态内容 3 对比验证码是否正确的接口3,如果验证码正确,同时该手机号没有注册过,注册用户。如果验证码正确但手机号注册过,不注册用户。如果验证码不争取,返回错误代码。 用户操作流程:

2017-05-26 00:00:14 422

原创 php---面试题---更新中

尽量涵盖,这里只写关于PHP的,基础肯定是各种字符串操作,数组操作,然后面向对象的理解。其实这里面好多好多东西都是平时用不到的,但这就是基础,面试官问到的东西只是你知道的很少很少一部分,但这就是你们交涉的全部所以还你是得让自己尽可能知道的多。写这些东西没有应试教育的意思,虽然有的东西平时不会用,但对你绝对都是有帮助的1 PHP是用什么语言编写的php是用c写的扩展:php3 php4 php5的主要

2017-05-19 09:40:57 1915

原创 关于排序算法的思想及实现

1 冒泡排序 这应该是排序算法中最简单的一种算法了,实现思路:将相邻两个值进行比较,大的值向后移位,然后继续向下对比,一个循环之后可以确定的是最大的值一定在最后一位,然后继续循环,因为最后一位已经是最大的了,所以这一次的循环我们不在对比最后一位,往下同理,实现代码如下$array = array(4,5,67,2,1,35,8);for($i = 1;$i<count($array);$i++)

2017-05-09 23:36:41 349

原创 编程算法

1 排序 2 取质数 3 取中位数

2017-05-05 15:39:05 422

原创 关于海量数据和高并发网站的解决方案

首先,我认为解决问题之前首先要有清晰的思路,如果只是用来别人的解决方案那也只能是拿来主义,没有真正理解,没有做到举一反三。海量数据和高并发经常被连在一块说事儿,虽然他们完全是两回事儿。海量数据纯指的是数据库的海量数据,而并发指的却包括数据库和服务器的高访问量。那么问题来了,既然是数据库的数据量大,那怎么办呢?要想解决问题,首先要知道问题是什么!!!那么海量数据会给我带来什么样的问题呢?

2017-05-04 22:20:01 889

原创 php基础函数

基础不牢,地动山摇 字符串函数1 计算字符串长度 strlen 2 翻转字符串 strrev 3 拆分字符串

2017-05-04 12:32:16 258

原创 不常见的问题的处理方法

1 慢sql的定位查找,在不熟悉业务逻辑的情况下的查找2 生成静态时,无法完全生成页面3 代码在电脑上可以运行,在手机上无法运行js方法中假如需要两个参数时(第二个参数不使用),第二个参数不传的情况下,在电脑上可以运行,在手机上无法运行。4 线上运行程序和测试环境运行程序代码不同

2017-05-02 09:39:32 391

原创 扛得住mysql 性能优化

1 对数据库性能产生影响的几个方面 1.1 硬件 1.2 服务器的操作系统 1.3 数据库存储引擎的选择 1.4 数据库配置参数 1.5 数据库的设计和sql语句1.1 硬件 CPU资源和可用内存大小 mysql 体系结构 MyISAM 5.5.8 之前默认的存储引擎 有myd和myi组成,前者存储数据,后者存储索引信息 还有所有存储引擎都有的frm 存储表结构 特性:

2017-04-20 18:06:15 1052

原创 js 地区级联信息数据

var PRO =[‘安徽’,’澳门’,’北京’,’福建’,’甘肃’,’广东’,’广西’,’贵州’,’海南’,’河北’,’河南’,’黑龙江’,’湖北’,’湖南’,’吉林’,’江苏’,’江西’,’辽宁’,’内蒙古’,’宁夏’,’青海’,’山东’,’山西’,’陕西’,’上海’,’四川’,’台湾’,’天津’,’西藏’,’香港’,’新疆’,’云南’,’浙江’,’重庆’,’海外’]; /** 市级数据 **

2017-04-19 15:00:12 1013

原创 php 常用函数

字符串操作函数1 abs() 求绝对值 2 ceil() 四舍五入 3 floor() 舍去取整法 4 max()/min() 取多个数组或数字的最大最小值 5 rand() mt_rand()都是获取随机数,但后者貌似更好 6 trim()删除字符串两端的空格或其他预定义字符 7 dirname() 返回路径中的目录部分 8 str_pad() 把字符串填充为指定的长度,默认用空格填

2017-04-18 13:42:06 277

原创 web 高并发解决方案---理论版

1 页面静态化 2 图片服务器分离 3 负载均衡 4 数据库集群 5 缓存–有四个层级的缓存 6 异步请求

2017-04-13 15:13:42 461

原创 php中接口和抽象类的区别

抽象类和接口的概念不同。接口是对动作的抽象,抽象类是对根源的抽象 这里先说一下抽象方法和抽象类的概念: 抽象方法:没有方法实体的方法即为抽象方法,用abstract来修饰 abstract function fun1(); 抽象类 :凡是包含抽象方法的类即为抽象类,抽象类也要用abstract来修饰。但抽象类中可以包含非抽象方法 再来看一下接口的概念: 接口:没有主体代码的方法定义组

2017-04-13 11:51:45 1613

原创 MySQL 优化实例--查询优化 索引优化 逻辑优化

优化实例:1 查找与用户同一地区性别为女的信息,按照最后登录时间排序前提是:数据库有百万数据,而且用户访问很频繁查询SQL:select * from user where area = '$area' and sex = '$sex' order by lastlogin desc limit 0 ,30;需要注意的是,数据库中有百万条数据,但这里只要求检索出30条数据就可以如果

2017-04-13 11:35:09 443

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除