<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/afaqd86682</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; afaqd86682]]></copyright><item><title><![CDATA[对分布式一些理解]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137634</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137634</guid><author>afaqd86682</author><pubDate>Fri, 27 Jul 2018 09:11:00 +0800</pubDate><description><![CDATA[1，微服务的优缺点
微服务的解决的问题，
　　吞吐量，易扩展，小模块的快速开发，解决单点故障多。
缺点，
　　单个请求的反应时间变长，需要通过rpc调取多个下游服务。
　　部署整条链路复杂，排错，定位问题复杂。
　　架构逻辑复杂。
2，分布式一些难点
　　1，容易出错，所以需要把错误当成正常逻辑，写在代码里。能处理的，不能处理的抛给调用方，可以忽略的忽略掉。具体情况，具体...]]></description><category></category></item><item><title><![CDATA[观察者模式]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137633</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137633</guid><author>afaqd86682</author><pubDate>Fri, 13 Apr 2018 14:51:00 +0800</pubDate><description><![CDATA[//观察者模式

/**
 *
 * 大概意思就是，当一个事件的状态发生改变之后，通知其他依赖的事务。
 *
 * 一般的做法是代码下面直接撸代码, 这样的不好的地方就是，没增加一个依赖都需要对下面增加，接着更改。
 * 逻辑多了，就会很长很长。当然大部分会每个依赖业务封装到一个方法中。如果模块太大可能就拆分做队列了。
 * 其他依赖直接消费队列就可以了。
 * 现...]]></description><category></category></item><item><title><![CDATA[用redis实现悲观锁（后端语言以php为例）]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137630</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137630</guid><author>afaqd86682</author><pubDate>Tue, 30 Jan 2018 22:07:00 +0800</pubDate><description><![CDATA[1479




锁机制
通常使用的锁分为乐观锁，悲观锁这两种，简单介绍下这两种锁，作为本文的背景知识，对这类知识已经有足够了解的同学可以跳过这部分。
乐观锁

先来看下百度百科上的解释：大多是基于数据版本（ Version ）记录机制实现。何谓数据版本？即为数据增加一个版本标识，在基于数据库表的版本解决方案中，一般是通过为数据库表增加一个 “versio...]]></description><category></category></item><item><title><![CDATA[只用200行Go代码写一个自己的区块链！（转）]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137638</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137638</guid><author>afaqd86682</author><pubDate>Tue, 30 Jan 2018 15:19:00 +0800</pubDate><description><![CDATA[区块链是目前最热门的话题，广大读者都听说过比特币，或许还有智能合约，相信大家都非常想了解这一切是如何工作的。这篇文章就是帮助你使用 Go 语言来实现一个简单的区块链，用不到 200 行代码来揭示区块链的原理！高可用架构也会持续推出更多区块链方面文章，欢迎点击上方蓝色『高可用架构』关注。


“用不到200行 Go 代码就能实现一个自己的区块链！” 听起来有意思吗？有什么能比开...]]></description><category></category></item><item><title><![CDATA[php的生命周期的概述]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137635</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137635</guid><author>afaqd86682</author><pubDate>Sat, 27 May 2017 16:11:00 +0800</pubDate><description><![CDATA[　1. PHP是随着WEB服务器(apache)的启动而运行的；
  2. PHP通过mod_php5.so()模块和服务器(apache)相连
  3. PHP总共有三个模块：内核、Zend引擎、以及扩展层；
  4. PHP内核用来处理请求、文件流、错误处理等相关操作；
  5. Zend引擎（ZE）用以将源文件转换成机器语言，然后在虚拟机上运行它；
  6. 扩展层是一组...]]></description><category></category></item><item><title><![CDATA[linux网络编程1  最简单的socket编程]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137614</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137614</guid><author>afaqd86682</author><pubDate>Thu, 09 Mar 2017 11:29:00 +0800</pubDate><description><![CDATA[下面是socket编程的服务器端
先看一个图，1


 1 #include&lt;stdio.h&gt;
 2 #include&lt;stdlib.h&gt;
 3 #include&lt;string.h&gt;
 4 #include&lt;unistd.h&gt;   //针对系统调用的封装    fork,pipe 各种i/o原语 read write 等
...]]></description><category></category></item><item><title><![CDATA[mysql 慢查询]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137631</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137631</guid><author>afaqd86682</author><pubDate>Fri, 10 Feb 2017 16:34:00 +0800</pubDate><description><![CDATA[一，为什么要开启这个查询呢？
数据库是很容易产生瓶颈的地方，现在Nosql大家讨论这么热，估计都被数据库搞郁闷了。mysql中最影响速度的就是那些查询非常慢的语句，这些慢的语句，可能是写的不够合理或者是大数据下多表的联合查询等等，所以我们要找出这些语句，分析原因，加以优化。这也是发这篇博文的原因
二，开启mysql的慢查询
方法1，用命令开启慢查询


查看复制打印?

...]]></description><category></category></item><item><title><![CDATA[2016年终总结。。。六年从创业到技术的历程]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137613</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137613</guid><author>afaqd86682</author><pubDate>Tue, 03 Jan 2017 17:19:00 +0800</pubDate><description><![CDATA[我最早接触编程是高中了，那时候对黑客极为感兴趣，然后自学了c语言。
大学就有优势啊，有底子啊，然后开办网络协会社团，自学了网页编程，给社员讲课。哈哈。
然后在上学的时候就开始和朋友做网站赚钱了，然后做电子商务，网站，运营，服务器运维都是我自己来，还兼职推广。找货源。这样一直做了四年。每况愈下。就从新拾起编程。

现在北京一家电子商务公司，技术负责人吧，有app，有网站，有移动网...]]></description><category></category></item><item><title><![CDATA[Linux下chkconfig命令详解  这个简单明了啊]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137611</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137611</guid><author>afaqd86682</author><pubDate>Thu, 15 Dec 2016 14:34:00 +0800</pubDate><description><![CDATA[chkconfig命令主要用来更新（启动或停止）和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务，它只是简单的改变了符号连接。

使用语法：chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level &lt;等级代号&gt;][系统服务][on/off/reset]
chkconfig...]]></description><category></category></item><item><title><![CDATA[JS的prototype和__proto__ Constructor]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137726</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137726</guid><author>afaqd86682</author><pubDate>Thu, 01 Dec 2016 11:46:00 +0800</pubDate><description><![CDATA[一、prototype和__proto__的概念prototype是    注意是  只有函数的一个属性才有的（每个函数都有一个prototype属性），这个属性是一个指针，指向一个普通对象并且不是原型对象.注意不是原型对象。这个对象有个constructor还有一个—__proto__两个属性. 它是显示修改对象的原型的属性。__proto__     每个对象(注意是对象)都有一个名...]]></description><category></category></item><item><title><![CDATA[vagrant homestead laravel 编程环境搭建]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137725</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137725</guid><author>afaqd86682</author><pubDate>Thu, 24 Nov 2016 12:01:00 +0800</pubDate><description><![CDATA[这里面其实坑不少的，首先介绍
VirtualBox 虚拟机，windows下安装linux必须用的一个工具
vagrant 封装虚拟机的一个软件，可以设置好系统，安装好软件，什么时候用，直接导入就行了。
homestead 分装vagrant的一个软件 专门给laravel设计的。
不重复的造论的就得一层层的封装啊，哪天来个comoser 直接都ok了多好啊。哈哈。
...]]></description><category></category></item><item><title><![CDATA[发现一个百度的密码。。。记最近一段时间的php感想]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137720</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137720</guid><author>afaqd86682</author><pubDate>Thu, 25 Aug 2016 12:05:00 +0800</pubDate><description><![CDATA[请看图。

突然想看一下百度的cookie。
最近百度一年真是多攒多难，我一直挺百度啊。百度文化就是程序员文化，但是收到中国其他文化的侵蚀，不得不变，
任何人重构系统，都会有大概百分三十左右的性能提升。不是之前的人很垃圾，现在的你很牛。原因是之前写的时候，没有整体计划，或业务加进来的时候，对业务理解不是很清晰，或者时间很紧，用最快的方式写的。

laravel优雅应该是体现...]]></description><category></category></item><item><title><![CDATA[mysql 的简单优化]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137718</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137718</guid><author>afaqd86682</author><pubDate>Wed, 09 Mar 2016 20:13:00 +0800</pubDate><description><![CDATA[合理的建立索引的建议：
(1) 越小的数据类型通常更好：越小的数据类型通常在磁盘、内存和CPU缓存中都需要更少的空间，处理起来更快。
(2) 简单的数据类型更好：整型数据比起字符，处理开销更小，因为字符串的比较更复杂。在MySQL中，应该用内置的日期和时间数据类型，而不是用字符串来存储时间；以及用整型数据类型存储IP地址。
(3) 尽量避免NULL：应该指定列为NOT NU...]]></description><category></category></item><item><title><![CDATA[百度面试题 字符串相似度 算法 similar_text 和页面相似度算法]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137717</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137717</guid><author>afaqd86682</author><pubDate>Thu, 03 Mar 2016 11:19:00 +0800</pubDate><description><![CDATA[在百度的面试，简直就是花样求虐。
首先在面试官看简历的期间，除了一个自己定义字符串相似度，并且写出求相似度的算法。
。。。这个确实没听说过，php的similar_text函数也是闻所未闻的。之前看seo的时候，到简单了解了一下页面的相似度，百度算法中很常见的需要判断页面是否是重复的，重复的肯定就不收录了，做seo很重的一个工作就是写原创文章，以保持网站的更新，吸引百度的收录，以增加...]]></description><category></category></item><item><title><![CDATA[百度的面试题  合并两个有序的数组]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137715</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137715</guid><author>afaqd86682</author><pubDate>Thu, 03 Mar 2016 10:52:00 +0800</pubDate><description><![CDATA[1 $a = array(1,3,6,10,29,37,44);
 2 $b = array(2,5,14,19,28,55,73);
 3 $c = array();
 4 
 5 $countA = count($a);
 6 $countB = count($b);
 7 
 8 $pointA = 0;
 9 $pointB = 0;
10 
11 wh...]]></description><category></category></item><item><title><![CDATA[PHP性能优化工具–xhprof安装]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137724</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137724</guid><author>afaqd86682</author><pubDate>Tue, 02 Feb 2016 16:19:00 +0800</pubDate><description><![CDATA[PHP性能优化工具–xhprof安装，这里我先贴出大致的步骤：
1.获取xhprof
2.编译前预处理
3.编译安装
4.配置php.ini
5.查看运行结果
那么下面我们开始安装xhprof工具吧：
1.获取xhprof
可以输入网址直接下载，或者wget








1
2
3
4





#wget http://p...]]></description><category></category></item><item><title><![CDATA[Ecshop ：后台添加新功能 菜单及 管理权限 配置]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137713</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137713</guid><author>afaqd86682</author><pubDate>Tue, 02 Feb 2016 11:31:00 +0800</pubDate><description><![CDATA[需求：在《商品管理》下增加一项【商品推广管理】功能
一、 添加菜单项
打开 /admin/includes/inc_menu.php 文件(后台框架左边菜单)，在最后添加一行如下：
$modules['02_cat_and_goods']['19_goods_promotion'] = 'goods_promotion.php?act=list';
二、配置菜单语言
打开...]]></description><category></category></item><item><title><![CDATA[ecshop2.72文件结构说明]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137712</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137712</guid><author>afaqd86682</author><pubDate>Mon, 14 Dec 2015 15:37:00 +0800</pubDate><description><![CDATA[ECShop 2.7.2 的结构图及各文件相应功能介绍ECShop 2.7.2 upload 的目录┣ activity.php 活动列表┣ affiche.php 广告处理文件┣ affiliate.php 生成商品列表┣ article.php 文章内容┣ article_cat.php文章分类┣ auction.php 拍卖前台文件┣ brand.php 品牌列表┣ captcha...]]></description><category></category></item><item><title><![CDATA[配置nginx 高并发 php]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137710</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137710</guid><author>afaqd86682</author><pubDate>Tue, 10 Nov 2015 21:28:00 +0800</pubDate><description><![CDATA[user www www; // nginx在运行时使用哪个账号的权限,每一个服务都以一个普通的账号的权限来运行，不要以root来运行
worker_processes 2; // 开启进程数,CPU核数的1~2倍
error_log /data0/logs/nginx_error.log crit;pid        /usr/local/nginx/nginx.pid;
#S...]]></description><category></category></item><item><title><![CDATA[ubuntu上安装mysql 编译安装]]></title><link>https://blog.youkuaiyun.com/afaqd86682/article/details/101137652</link><guid>https://blog.youkuaiyun.com/afaqd86682/article/details/101137652</guid><author>afaqd86682</author><pubDate>Mon, 09 Nov 2015 17:27:00 +0800</pubDate><description><![CDATA[为什么要折腾？首先说明的是ubuntu上安装mysql等软件是非常容易简单的，其简单的程度盖过windows上的安装，一句sudo apt-get install就可以搞定。如果想用最简便的方法安装mysql，那么本文不适合你;如果你喜欢“折腾”，有兴趣了解这一条sudo apt-get install帮你做了什么，有兴趣了解internal linux的细节并想尝试自己编译软件，那么你...]]></description><category></category></item></channel></rss>