<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dennis211的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dennis211</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dennis211]]></copyright><item><title><![CDATA[网站访问流程及原理分析]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/106151112</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/106151112</guid><author>dennis211</author><pubDate>Mon, 18 May 2020 00:13:09 +0800</pubDate><description><![CDATA[前言:

  (1).当用户在浏览器中输入www.baidu.com.

  (2).点击回车.

  (3).网页跳转到百度首页.



   说到这个步骤.大部分人都会.  但是这后面究竟经历了哪些流程呢？

   尝试思考一下.你会有正确的答案吗？

正文:

  1.浏览器输入www.baidu.com

  2.由DNS服务器解析出相应的IP地址xxx.xxx.xxx.xx

  这里衍生出一个问题.就是DNS劫持的问题.

  D...]]></description><category></category></item><item><title><![CDATA[php性能优化]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/101756251</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/101756251</guid><author>dennis211</author><pubDate>Mon, 30 Sep 2019 11:43:34 +0800</pubDate><description><![CDATA[前言:

  在经历2-3年的时间,php程序员可以完成基本的功能性开发。但是这时候会有一个小瓶颈。就是不知道怎么去优化自己的代码。

  优化代码主要有两方面.

  1.php代码规范的优化。让自己代码变的更具可维护性，可读性更强.便于团队开发协作.

  这里就不作详细介绍。大家可以参考https://github.com/jupeter/clean-code-php

...]]></description><category></category></item><item><title><![CDATA[关于docker]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/86295429</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/86295429</guid><author>dennis211</author><pubDate>Fri, 11 Jan 2019 12:31:44 +0800</pubDate><description><![CDATA[其实docker已经出了不少时间了，但是最近才有接机会接触到docker。

  首先,docker非常火。那么为什么那么火呢？

            1.部署开发和测试环境,需要复制2个相同的环境和代码,这时候docker优势就体现出来了. 方便快速准确.

            2.复杂环境的配置,直接利用docker生成配置文件,方便别人直接利用配置文件,去实现一键复用环境.

   ...]]></description><category></category></item><item><title><![CDATA[抽象类和接口]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/82924882</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/82924882</guid><author>dennis211</author><pubDate>Tue, 02 Oct 2018 12:50:30 +0800</pubDate><description><![CDATA[同:抽象类和接口都是定义了父类,然后子类去继承。

下面讲讲不同的地方:

 

对于抽象类而言.

首先抽象类不能实例化.父类定义了一些抽象方法.在子类中,首先必须要继承这个抽象方法,然后可以选择性去扩展其他方法.

对于接口而言.父类定义的接口方法,在子类中必须全部继承父类中的接口方法.并且子类中可以继承多个父类的接口类.



/**
 * 抽象类.父类至少有一个抽象方法,并且子类必须继承....]]></description><category></category></item><item><title><![CDATA[组合索引]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/81450829</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/81450829</guid><author>dennis211</author><pubDate>Mon, 06 Aug 2018 11:15:50 +0800</pubDate><description><![CDATA[组合索引.顾名思义.既不同于单列索引。

            它是组合一个多列的索引。也可以称为多列索引。

 

   以下会讲到几个关键点:(1).组合索引的顺序      (2).组合索引的生效(左前缀原则)

    1.先生成一张没有索引的表

     

    2.增加一个组合索引

    

    3.测试该索引的生效顺序

    

    

     发现第二条语...]]></description><category></category></item><item><title><![CDATA[redis的性能评测]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/81059667</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/81059667</guid><author>dennis211</author><pubDate>Mon, 16 Jul 2018 09:56:57 +0800</pubDate><description><![CDATA[前言:

        redis作为主流的非关系型数据库之一，其性能上的优势保证其在技术选型上占据很强大的优势。

        相比较mysql而言.redis就是快.为什么redis比mysql快？

        因为redis是直接存储在内存中,而mysql是存储在机械硬盘中.

        redis的安装，配置及php-redis扩展(这里不重点介绍,具体可以百度,很多教程...]]></description><category></category></item><item><title><![CDATA[原型模式]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/80342175</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/80342175</guid><author>dennis211</author><pubDate>Wed, 16 May 2018 20:06:06 +0800</pubDate><description><![CDATA[&amp;lt;?php
interface Prototype{
    public function copy();
}
class Student implements Prototype{
    public $name;
    public $age;
    public $sex;
    public function __construct($name,$age,$sex){
  ...]]></description><category></category></item><item><title><![CDATA[抽象工厂模式]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/80301326</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/80301326</guid><author>dennis211</author><pubDate>Sun, 13 May 2018 18:16:41 +0800</pubDate><description><![CDATA[前言:    抽象工厂模式。    1.多条抽象产品类,每个产品类线衍生多条具体产品。    2.一个抽象工厂类衍生多条具体的工厂类。    3.每个具体的工厂类下可以生产多种产品.  &amp;lt;?php
//多个抽象产品类
//产品a线
interface ProductLineFirst
{
    public function show();
}
//具体产品
class ProductFi...]]></description><category></category></item><item><title><![CDATA[简单工厂模式]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/80297824</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/80297824</guid><author>dennis211</author><pubDate>Sun, 13 May 2018 12:11:24 +0800</pubDate><description><![CDATA[前言:    工厂模式分为3种，简单工厂，工厂方法，抽象工厂.    这里先介绍简单工厂模式.    适用条件:比较适合业务比较简单，模块极少扩展的情况.    该方法由3大部分组成.     抽象产品角色:定义了一些接口方法,供具体的产品去实现.     具体产品角色:实现具体的产品及相关方法.     工厂角色:处于核心位置.根据工厂内定义的方法,去实现不同的加工方式.     &amp;lt;?ph...]]></description><category></category></item><item><title><![CDATA[http常见状态码(13种)]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/79827306</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/79827306</guid><author>dennis211</author><pubDate>Thu, 05 Apr 2018 16:45:01 +0800</pubDate><description><![CDATA[前提:
  对于web开发而言,我们平时接触比较多的协议有http协议。而http协议中比较常用的则为http的状态码。
  接下来分享14种最为常见的http状态码.
  
  (1)200 OK
   这是最为常见的http状态码之一,代表了服务器端已经处理完了客户端发送的请求,并且已经正常处理完毕,返回响应的资源信息。
 
   (2)]]></description><category></category></item><item><title><![CDATA[mysql插入大量数据,时间的优化。]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/79498514</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/79498514</guid><author>dennis211</author><pubDate>Fri, 09 Mar 2018 16:01:40 +0800</pubDate><description><![CDATA[背景:

  业务场景假设,公司原有excel记录了千万级客户的相关数据，公司业务结构实现了信息化的布局，需要在新开发的CRM系统中导入千万级的客户数据。此时需要用到mysql的insert操作来插入用户的海量数据。

  普通情况下,会使用for循环一条一条的插入数据。

  假设客户的数据量为10万条数据。


&lt;?php
$connect=@mysql_connect(...]]></description><category></category></item><item><title><![CDATA[php常见的函数（约100个左右）]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/79463354</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/79463354</guid><author>dennis211</author><pubDate>Tue, 06 Mar 2018 20:39:23 +0800</pubDate><description><![CDATA[引言:

对于php这门特殊的脚本语言，语言本身包含了大量的内置函数,假设记住了大部分函数，其实放到其他语言可复用价值并不高。

假设偏技术走向,如果真的想深入去理解编程，应该从函数本身的实现原理,从函数实现的算法入手去更深入研究。

假设只是为了开发的需要,那么只需要记住常用的函数即可，其他的非常用函数可以查阅相关的手册。



以下为我自己总结的常用的相关函数(持续更新):

&amp;lt;?php...]]></description><category></category></item><item><title><![CDATA[工厂模式]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/79351284</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/79351284</guid><author>dennis211</author><pubDate>Fri, 23 Feb 2018 10:21:22 +0800</pubDate><description><![CDATA[前言:在大量需要实例化的需求中，我们为了更为方便的去生产对象，可以采用工厂模式。     好处:降耦合,避免出错造成相关的错误，增加代码的可维护性.    1.定义父类的接口及方法interface Parent{
     public function show();
}2.调用子类去生产该方法&amp;lt;?php
class ChildrenA implements Parent{
    pu...]]></description><category></category></item><item><title><![CDATA[基于PHP的微型框架dennisFramework]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/79217109</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/79217109</guid><author>dennis211</author><pubDate>Wed, 31 Jan 2018 17:07:13 +0800</pubDate><description><![CDATA[本文背景前提，针对php入门新手，对于大部分主流php框架，其框架代码过于繁杂，不易于理解，为了更好便于的理解PHP框架中MVC的运行原理和流程。
       写下了dennisFramework框架，框架的代码地址    https://github.com/dennishao/dennisFramework 。
       警告:此框架千万不可用于线上环境，仅供初学者理解使用.]]></description><category></category></item><item><title><![CDATA[php的单例模式]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/78759515</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/78759515</guid><author>dennis211</author><pubDate>Sat, 09 Dec 2017 15:41:54 +0800</pubDate><description><![CDATA[前言:
             直入主题，为什么有php的单例模式?它存在有什么意义?
             原因:
                  php作为一门解释性的脚本语言，每次运行以后资源就被系统收回。没有办法让某个对象常驻在内存中，比如数据库连接这种重复性比较高的操作.如果每次都去实例化，那么则会造成大量的内存资源和系统资源的浪费。
               所以]]></description><category></category></item><item><title><![CDATA[例行性工作任务(crontab)]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/78572982</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/78572982</guid><author>dennis211</author><pubDate>Sun, 19 Nov 2017 10:25:34 +0800</pubDate><description><![CDATA[背景介绍:
             在生活中，我们总会遇到一些需要去做，但是付出的成本又很高的事情。
             比如，每天晚上凌晨4点更新数据库。
             又比如，每天每小时导出服务器日志。
             面对这些，很繁琐又棘手的例行性问题。你有什么办法来解决呢？
             当然,linux有自己的解决之道。at和cront]]></description><category></category></item><item><title><![CDATA[php的命名空间]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/78427263</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/78427263</guid><author>dennis211</author><pubDate>Thu, 02 Nov 2017 17:28:04 +0800</pubDate><description><![CDATA[背景:
                 如果在平时中我们去require一个一个的php文件，不会存在多大的问题。
                但是设想这样一个场景:如果有两个php文件中存在一样的class名字，那么同时调用的时候，就会出现报错信息.因为根本不知道你调用的是哪一个具体的class名字.
               下面有具体的demo.
             ]]></description><category></category></item><item><title><![CDATA[mysql的数据类型]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/78308308</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/78308308</guid><author>dennis211</author><pubDate>Sun, 22 Oct 2017 10:10:37 +0800</pubDate><description><![CDATA[前言:

       引用&amp;lt;&amp;lt;高性能mysql&amp;gt;&amp;gt;中的一段话，良好的物理设计和逻辑设计是高性能的基石。

       数据库中字段的选择对于mysql性能影响非常之大。具体的大家可以去做下测试。

   

     1.字段避免NULL，如果查询中存在NULL，对于mysql很难优化。

    

     2.char(10)和varchar(10)区别。char...]]></description><category></category></item><item><title><![CDATA[在web领域的技术之争]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/78232478</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/78232478</guid><author>dennis211</author><pubDate>Sat, 14 Oct 2017 10:27:21 +0800</pubDate><description><![CDATA[前言:
     在互联网中,总会看到一些语言之争,如JAVA,PHP,PYTHON..等等.
     因为自身能力不足,对互联网中一些信息缺乏一定的辨别能力,本人也曾一度纠结于什么语言好,.
     后来看到知乎上的一个回答.个人感觉想法及理解是达到一定的深度.下面是主要内容,推荐大家阅读及自己思考.
   






做web的，在语言层面有很大的区别么？在框架层面]]></description><category></category></item><item><title><![CDATA[mysql中explain的type的解释]]></title><link>https://blog.youkuaiyun.com/dennis211/article/details/78170079</link><guid>https://blog.youkuaiyun.com/dennis211/article/details/78170079</guid><author>dennis211</author><pubDate>Sat, 07 Oct 2017 16:07:07 +0800</pubDate><description><![CDATA[连接操作的类型

（1）SYSTEM

CONST的特例，当表上只有一条元组匹配




（2）CONST

WHERE条件筛选后表上至多有一条元组匹配时，比如WHERE ID = 2 （ID是主键，值为2的要么有一条要么没有）




（3）EQ_REF

参与连接运算的表是内表（在代码实现的算法中，两表连接时作为循环中的内循环遍历的对象，这样的表称为内表）。]]></description><category></category></item></channel></rss>